コード例 #1
0
ファイル: Group.php プロジェクト: brunopbaffonso/ongonline
 /**
  * Load group for GM based on each module.ini configuration.
  * An example is: 
  * 
  * project.gm.group = project
  * project.gm.label = 'Projects'
  * project.module.enabled = on
  */
 public function loadGroup($groupName)
 {
     $this->setName($groupName);
     $modules = Agana_Util_Bootstrap::getModulesNames();
     $front = Zend_Controller_Front::getInstance();
     foreach ($modules as $module) {
         $boot = Agana_Util_Bootstrap::getBootstrap($module);
         if (isset($boot)) {
             if (count($boot->getOptions())) {
                 $options = $boot->getOptions();
                 if (isset($options['gm']['group'])) {
                     if (strtolower($options['gm']['group']) == strtolower($this->getName())) {
                         if (isset($options['gm']['label'])) {
                             $this->setLabel($options['gm']['label']);
                         }
                         $class = ucfirst($module) . '_Module_Gm';
                         //if (Zend_Loader_Autoloader::autoload($class)) {
                         $path = $front->getModuleDirectory($module) . DIRECTORY_SEPARATOR . 'module';
                         //if (Zend_Loader_Autoloader::autoload($class)) {
                         /**
                          * @var Agana_Module_Menu_Interface
                          */
                         $moduleGm = new $class();
                         $this->_modules[$moduleGm->getName()] = $moduleGm;
                     }
                 }
             }
         }
     }
 }
コード例 #2
0
 public function loadModulesWidgets()
 {
     $modules = Agana_Util_Bootstrap::getModulesNames();
     foreach ($modules as $mod) {
         $mod = ucfirst($mod);
         $class = $mod . '_Module_Dashboard';
         if (class_exists($class)) {
             $moduleDash = new $class();
             $this->widgets = array_merge($this->widgets, $moduleDash->getWidgets());
         }
     }
 }
コード例 #3
0
 public function loadMenu()
 {
     $modules = Agana_Util_Bootstrap::getModulesNames();
     $front = Zend_Controller_Front::getInstance();
     foreach ($modules as $module) {
         $boot = Agana_Util_Bootstrap::getBootstrap($module);
         if (isset($boot)) {
             if (count($boot->getOptions())) {
                 $menuOpt = $boot->getOptions();
                 if ($menuOpt['menu']['load']) {
                     if ($menuOpt['menu']['container'] == 'class') {
                         $class = ucfirst($module) . '_Module_Menu';
                         //if (Zend_Loader_Autoloader::autoload($class)) {
                         $path = $front->getModuleDirectory($module) . DIRECTORY_SEPARATOR . 'module';
                         //if (Zend_Loader_Autoloader::autoload($class)) {
                         /**
                          * @var Agana_Module_Menu_Interface
                          */
                         $moduleMenu = new $class();
                         $menuArray = $moduleMenu->getMenu();
                         foreach ($menuArray as $key => $m) {
                             if (is_numeric($key)) {
                                 $m = $menuArray[$key];
                                 if (isset($m['parent']) && trim($m['parent']) != '') {
                                     $parent = $this->findBy('id', $m['parent']);
                                     // if did not find a parent then create it
                                     unset($m['parent']);
                                     $parent->addPage($m);
                                 } else {
                                     $page = $this->findBy('id', $m['id']);
                                     if (!$page) {
                                         $this->addPage($m);
                                     }
                                 }
                             }
                         }
                         //}
                     }
                 }
             }
         }
     }
 }
コード例 #4
0
ファイル: Service.php プロジェクト: brunopbaffonso/ongonline
 public static function getPrivileges()
 {
     // Resources
     $modules = Agana_Util_Bootstrap::getModulesNames();
     $privileges = array();
     foreach ($modules as $mod) {
         $mod = ucfirst($mod);
         $class = $mod . '_Module_Acl';
         if (class_exists($class)) {
             $moduleAcl = new $class();
             $privileges[$mod] = $moduleAcl->getPrivileges();
         }
     }
     return $privileges;
 }