diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-03-17 21:52:40 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-03-17 21:52:40 -0400 |
commit | e3e08d0e3436e3cf2f951321861e1a274cc2ebbd (patch) | |
tree | 1f9586d3fea3cb14a2ade8e5fc6da24df2f212f2 /app/ExternalLink/FileLinkProvider.php | |
parent | 18d203225ba31e51155055d406a811a9cfba599a (diff) |
Added local file link provider
Diffstat (limited to 'app/ExternalLink/FileLinkProvider.php')
-rw-r--r-- | app/ExternalLink/FileLinkProvider.php | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/app/ExternalLink/FileLinkProvider.php b/app/ExternalLink/FileLinkProvider.php new file mode 100644 index 00000000..901f78f8 --- /dev/null +++ b/app/ExternalLink/FileLinkProvider.php @@ -0,0 +1,74 @@ +<?php + +namespace Kanboard\ExternalLink; + +use Kanboard\Core\ExternalLink\ExternalLinkProviderInterface; + +/** + * File Link Provider + * + * @package externalLink + * @author Frederic Guillot + */ +class FileLinkProvider extends BaseLinkProvider implements ExternalLinkProviderInterface +{ + /** + * Get provider name + * + * @access public + * @return string + */ + public function getName() + { + return t('Local File'); + } + + /** + * Get link type + * + * @access public + * @return string + */ + public function getType() + { + return 'file'; + } + + /** + * Get a dictionary of supported dependency types by the provider + * + * @access public + * @return array + */ + public function getDependencies() + { + return array( + 'related' => t('Related'), + ); + } + + /** + * Return true if the provider can parse correctly the user input + * + * @access public + * @return boolean + */ + public function match() + { + return strpos($this->userInput, 'file://') === 0; + } + + /** + * Get the link found with the properties + * + * @access public + * @return \Kanboard\Core\ExternalLink\ExternalLinkInterface + */ + public function getLink() + { + $link = new FileLink($this->container); + $link->setUrl($this->userInput); + + return $link; + } +} |