Completed
Push — develop ( 3062c0...09456b )
by Mathias
07:45
created

AdminController::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
/**
3
 * YAWIK
4
 *
5
 * @filesource
6
 * @license MIT
7
 * @copyright  2013 - 2016 Cross Solution <http://cross-solution.de>
8
 */
9
  
10
/** */
11
namespace Core\Controller;
12
13
use Core\EventManager\EventManager;
14
use Zend\Mvc\Controller\AbstractActionController;
15
use Zend\View\Model\ViewModel;
16
17
/**
18
 * Admin Dashboard controller.
19
 * 
20
 * @author Mathias Gelhausen <[email protected]>
21
 * @author Anthonius Munthi <[email protected]>
22
 *
23
 * @since 0.25
24
 */
25
class AdminController extends AbstractActionController
26
{
27
	
28
    protected $adminControllerEvents;
29
    
30
    public function __construct(EventManager $eventManager)
31
    {
32
        $this->adminControllerEvents = $eventManager;
33
    }
34
    
35
    /**
36
     * Controls the admin dashboard page.
37
     *
38
     * @return ViewModel
39
     */
40
    public function indexAction()
41
    {
42
        /* @var \Core\EventManager\EventManager $events
43
         * @var AdminControllerEvent $event */
44
        $events = $this->adminControllerEvents;
45
        $event  = $events->getEvent(AdminControllerEvent::EVENT_DASHBOARD, $this);
46
        $events->trigger($event,$this);
47
48
        $model = new ViewModel();
49
        $widgets = [];
50
        foreach ($event->getViewModels() as $name => $child) {
51
            $model->addChild($child, $name);
52
            $widgets[] = $name;
53
        }
54
55
        $model->setVariable('widgets', $widgets);
56
        return $model;
57
    }
58
}
59