Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/croogo/croogo/Extensions/src/Event/ExtensionsEventHandler.php
<?php

namespace Croogo\Extensions\Event;

use
Cake\Core\Plugin;
use
Cake\Event\EventListenerInterface;
use
Croogo\Core\PluginManager;

/**
 * ExtensionsEventHandler
 *
 * @package  Croogo.Extensions.Event
 * @author   Rachman Chavik <rchavik@gmail.com>
 * @license  http://www.opensource.org/licenses/mit-license.php The MIT License
 * @link     http://www.croogo.org
 */
class ExtensionsEventHandler implements EventListenerInterface
{

   
/**
     * implementedEvents
     */
   
public function implementedEvents()
    {
        return [
           
'Croogo.bootstrapComplete' => [
               
'callable' => 'onBootstrapComplete',
            ],
           
'Croogo.beforeSetupAdminData' => [
               
'callable' => 'onBeforeSetupAdminData',
            ],
           
'Croogo.setupAdminData' => [
               
'callable' => 'onSetupAdminData',
            ],
        ];
    }

   
/**
     * Before Setup admin data
     */
   
public function onBeforeSetupAdminData($event)
    {
       
$plugins = Plugin::loaded();
       
$config = 'config' . DS . 'admin.php';
        foreach (
$plugins as $plugin) {
           
$file = Plugin::path($plugin) . $config;
            if (
file_exists($file)) {
                require
$file;
            }
        }
    }

   
/**
     * Setup admin data
     */
   
public function onSetupAdminData($event)
    {
       
$plugins = Plugin::loaded();
       
$config = 'config' . DS . 'admin_menu.php';
        foreach (
$plugins as $plugin) {
           
$file = Plugin::path($plugin) . $config;
            if (
file_exists($file)) {
                require
$file;
            }
        }
       
$file = sprintf('%s/%s', ROOT, $config);
        if (
file_exists($file)){
            require
$file;
        }
    }

   
/**
     * onBootstrapComplete
     */
   
public function onBootstrapComplete($event)
    {
       
PluginManager::cacheDependencies();
    }
}