diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-10-09 21:17:14 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-10-09 21:17:14 -0400 |
commit | 26e901dfe69c29d56f5e2164d4683bab57663bb0 (patch) | |
tree | 17eed8a0a6fc4aaf3b1779ae0090426c35ed4db7 /app | |
parent | 9302ff82f3fbd2f8a257488b091ba2c0a0ce6289 (diff) |
Accept more file types for FileLinkProvider
Diffstat (limited to 'app')
-rw-r--r-- | app/ExternalLink/FileLinkProvider.php | 17 | ||||
-rw-r--r-- | app/Template/task_external_link/table.php | 10 |
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> |