コード例 #1
0
ファイル: Acl.php プロジェクト: dafik/dfi
 private function setResources()
 {
     //TODO from file
     $modules = SysModuleQuery::create()->filterByTreeLevel(0, Criteria::GREATER_THAN)->find();
     //$this->acl->add(new Zend_Acl_Resource('index'));
     foreach ($modules as $module) {
         /* @var $module SysModule */
         $this->acl->addResource(new Zend_Acl_Resource($module->getId()));
     }
 }
コード例 #2
0
ファイル: Resource.php プロジェクト: dafik/dfi
 public static function getControllers($filter = false, $module)
 {
     $notAllowed = array('AbstractController.php', 'LoginController.php', 'LogoutController.php', 'ErrorController.php');
     $path = _BASE_PATH . '/application/modules/' . $module . '/controllers';
     if ($filter) {
         $modules = SysModuleQuery::create()->filterByAction(null)->filterByController(null)->filterByModule(null, $module)->find();
         /** @var $module SysModule */
         foreach ($modules as $module) {
             $notAllowed[] = $module->getModule();
         }
     }
     return self::getFiles($path, $notAllowed, -14);
 }
コード例 #3
0
ファイル: Role.php プロジェクト: dafik/dfi
 public static function getResourcesTab()
 {
     $modules = array();
     $scopeModules = SysModuleQuery::create()->orderByTreeLeft()->find();
     /* @var $scopeModules PropelObjectCollection */
     // $stmt = Propel::getConnection()->query('SELECT max(LENGTH(`name`)) AS max FROM modules');
     // $max = $stmt->fetchColumn(0);
     $modules = array_merge_recursive($modules, $scopeModules->getArrayCopy());
     foreach ($modules as $module) {
         /* @var $module SysModule */
         $returnArray[strtolower($module->getId())] = array('name' => $module->getName(), 'module' => $module->getModule(), 'controller' => $module->getController(), 'action' => $module->getAction());
     }
     return $returnArray;
 }
コード例 #4
0
ファイル: Acl.php プロジェクト: dafik/dfi
 private static function generateModuleMap()
 {
     $modules = SysModuleQuery::create()->filterByModule(null, Criteria::ISNOTNULL)->filterByModule(null, Criteria::ISNOTNULL)->filterByModule(null, Criteria::ISNOTNULL)->find();
     $map = array();
     foreach ($modules as $module) {
         /* @var $module SysModule */
         if (!isset($map[$module->getModule()])) {
             $map[$module->getModule()] = array();
         }
         if (!isset($map[$module->getModule()][$module->getController()])) {
             $map[$module->getModule()][$module->getController()] = array();
         }
         $map[$module->getModule()][$module->getController()][$module->getAction()] = $module->getId();
     }
     self::write(self::FILE_MODULES, $map);
 }
コード例 #5
0
ファイル: Navigation.php プロジェクト: dafik/dfi
 private function createNavigation()
 {
     $this->moduleConf = Dfi_Auth_Acl::getMapModules();
     $nav = new Zend_Navigation();
     $modules = SysModuleQuery::create()->filterByTreeLevel(1)->orderByTreeLeft()->find();
     foreach ($modules as $module) {
         /* @var $module SysModule */
         $page = $this->createPage($module);
         $nav->addPage($page);
         if ($module->hasChildren()) {
             if ($module->countChildren() > 1) {
                 $this->addChildren($page, $module);
             } else {
                 $child = $module->getFirstChild();
                 //$page->set
             }
         }
     }
     $this->navigation = $nav;
 }