aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/StudipLink.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/classes/StudipLink.php')
-rw-r--r--lib/classes/StudipLink.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/lib/classes/StudipLink.php b/lib/classes/StudipLink.php
new file mode 100644
index 0000000..b4e80ba
--- /dev/null
+++ b/lib/classes/StudipLink.php
@@ -0,0 +1,47 @@
+<?php
+
+
+/**
+ * The StudipLink class abstracts Links so that they can be displayed in a
+ * uniform manner more easily.
+ */
+class StudipLink
+{
+ /**
+ * The title that shall be displayed.
+ */
+ public $title = "";
+
+
+ /**
+ * The icon for the link.
+ */
+ public $icon = null;
+
+
+ /**
+ * The link itself.
+ */
+ public $link = "";
+
+
+ /**
+ * Attributes for the link.
+ */
+ public $attributes = [];
+
+
+ public function __construct(string $link, string $title, Icon $icon)
+ {
+ $this->link = $link;
+ $this->title = $title;
+ $this->icon = $icon;
+ }
+
+
+ public function __toString()
+ {
+ $template = '<a href="%1$s">%2$s %3$s</a>';
+ return sprintf($template, $this->link, $this->title, $this->icon);
+ }
+}