summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-10-09 21:17:14 -0400
committerFrederic Guillot <fred@kanboard.net>2016-10-09 21:17:14 -0400
commit26e901dfe69c29d56f5e2164d4683bab57663bb0 (patch)
tree17eed8a0a6fc4aaf3b1779ae0090426c35ed4db7 /app
parent9302ff82f3fbd2f8a257488b091ba2c0a0ce6289 (diff)
Accept more file types for FileLinkProvider
Diffstat (limited to 'app')
-rw-r--r--app/ExternalLink/FileLinkProvider.php17
-rw-r--r--app/Template/task_external_link/table.php10
2 files changed, 24 insertions, 3 deletions
diff --git a/app/ExternalLink/FileLinkProvider.php b/app/ExternalLink/FileLinkProvider.php
index 901f78f8..eb8c1084 100644
--- a/app/ExternalLink/FileLinkProvider.php
+++ b/app/ExternalLink/FileLinkProvider.php
@@ -12,6 +12,11 @@ use Kanboard\Core\ExternalLink\ExternalLinkProviderInterface;
*/
class FileLinkProvider extends BaseLinkProvider implements ExternalLinkProviderInterface
{
+ protected $excludedPrefixes= array(
+ 'http',
+ 'ftp',
+ );
+
/**
* Get provider name
*
@@ -55,7 +60,17 @@ class FileLinkProvider extends BaseLinkProvider implements ExternalLinkProviderI
*/
public function match()
{
- return strpos($this->userInput, 'file://') === 0;
+ if (strpos($this->userInput, '://') === false) {
+ return false;
+ }
+
+ foreach ($this->excludedPrefixes as $prefix) {
+ if (strpos($this->userInput, $prefix) === 0) {
+ return false;
+ }
+ }
+
+ return true;
}
/**
diff --git a/app/Template/task_external_link/table.php b/app/Template/task_external_link/table.php
index cdfe0028..a5fc7a33 100644
--- a/app/Template/task_external_link/table.php
+++ b/app/Template/task_external_link/table.php
@@ -32,8 +32,14 @@
<div class="dropdown">
<a href="#" class="dropdown-menu dropdown-menu-link-icon"><i class="fa fa-cog fa-fw"></i><i class="fa fa-caret-down"></i></a>
<ul>
- <li><?= $this->url->link(t('Edit'), 'TaskExternalLinkController', 'edit', array('link_id' => $link['id'], 'task_id' => $task['id'], 'project_id' => $task['project_id']), false, 'popover') ?></li>
- <li><?= $this->url->link(t('Remove'), 'TaskExternalLinkController', 'confirm', array('link_id' => $link['id'], 'task_id' => $task['id'], 'project_id' => $task['project_id']), false, 'popover') ?></li>
+ <li>
+ <i class="fa fa-edit fa-fw"></i>
+ <?= $this->url->link(t('Edit'), 'TaskExternalLinkController', 'edit', array('link_id' => $link['id'], 'task_id' => $task['id'], 'project_id' => $task['project_id']), false, 'popover') ?>
+ </li>
+ <li>
+ <i class="fa fa-trash-o fa-fw"></i>
+ <?= $this->url->link(t('Remove'), 'TaskExternalLinkController', 'confirm', array('link_id' => $link['id'], 'task_id' => $task['id'], 'project_id' => $task['project_id']), false, 'popover') ?>
+ </li>
</ul>
</div>
</td>