/
PluginHandler.php
55 lines (44 loc) · 1.4 KB
/
PluginHandler.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
namespace app\PluginHandler;
use app\Authentication\model\Permission;
/**
* @Name Plugin Manager
* @Description Choose what plugins will be active
* @Author Erik Hamrin
* @Version v0.5
* @Icon fa-puzzle-piece
*/
class PluginHandler extends \app\AbstractPlugin
{
private $model;
protected $AdminController;
public function __construct(\Application $application){
parent::__construct($application);
$this->model = new model\PluginHandlerModel();
$this->AdminController = new controller\AdminController($application, $this->model);
}
public function Install(){
$this->model->Install();
}
public function UnInstall(){
$this->model->Uninstall();
}
public function IsInstalled(){
return $this->model->IsInstalled();
}
/*
* ------------------------------------------------------
* Hooks
* ------------------------------------------------------
*/
public function HookActivatedPlugins($availableitems){
$this->model->SetAvailablePlugins($availableitems);
return $this->model->InstalledPlugins();
}
public function HookAdminItems(){
return array(new \NavigationItem('Manage Plugins', 'plugin', array(), 'manage-plugin', 'fa-puzzle-piece'));
}
public function HookUserPermissions(){
return array(new Permission('Manage plugins', 'manage-plugin'));
}
}