summaryrefslogtreecommitdiff
path: root/app/ExternalLink/WebLink.php
diff options
context:
space:
mode:
author85pando <85pando@googlemail.com>2016-02-05 10:28:40 +0100
committer85pando <85pando@googlemail.com>2016-02-05 10:28:40 +0100
commit791d13c87bf510d913973b77a5f6d152311a1d87 (patch)
tree81412e8dbd3ac4fa0047030a6068afafd975687e /app/ExternalLink/WebLink.php
parent2074aaaa9a75455097e4e77ca09f4fba3e567052 (diff)
parent12aaec03b19a07635f59b00f532c92c37ac1df5f (diff)
Merge remote-tracking branch 'refs/remotes/upstream/master'
Conflicts: app/Locale/de_DE/translations.php
Diffstat (limited to 'app/ExternalLink/WebLink.php')
-rw-r--r--app/ExternalLink/WebLink.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/app/ExternalLink/WebLink.php b/app/ExternalLink/WebLink.php
new file mode 100644
index 00000000..9338ca42
--- /dev/null
+++ b/app/ExternalLink/WebLink.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Kanboard\ExternalLink;
+
+use Kanboard\Core\ExternalLink\ExternalLinkInterface;
+
+/**
+ * Web Link
+ *
+ * @package externalLink
+ * @author Frederic Guillot
+ */
+class WebLink extends BaseLink implements ExternalLinkInterface
+{
+ /**
+ * Get link title
+ *
+ * @access public
+ * @return string
+ */
+ public function getTitle()
+ {
+ $html = $this->httpClient->get($this->url);
+
+ if (preg_match('/<title>(.*)<\/title>/siU', $html, $matches)) {
+ return trim($matches[1]);
+ }
+
+ $components = parse_url($this->url);
+
+ if (! empty($components['host']) && ! empty($components['path'])) {
+ return $components['host'].$components['path'];
+ }
+
+ return t('Title not found');
+ }
+}