|
|
<?php |
|
|
|
|
|
namespace Kanboard\Core\ExternalTask; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ExternalTaskManager |
|
|
{ |
|
|
protected $providers = array(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function register(ExternalTaskProviderInterface $externalTaskProvider) |
|
|
{ |
|
|
$this->providers[$externalTaskProvider->getName()] = $externalTaskProvider; |
|
|
return $this; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getProvider($name) |
|
|
{ |
|
|
if (isset($this->providers[$name])) { |
|
|
return $this->providers[$name]; |
|
|
} |
|
|
|
|
|
throw new ProviderNotFoundException('Unable to load this provider: '.$name); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getProvidersList() |
|
|
{ |
|
|
$providers = array_keys($this->providers); |
|
|
|
|
|
if (count($providers)) { |
|
|
return array_combine($providers, $providers); |
|
|
} |
|
|
|
|
|
return array(); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getProviders() |
|
|
{ |
|
|
return $this->providers; |
|
|
} |
|
|
} |
|
|
|