Beispiel #1
0
 protected function collect($sCollectFunctionName, $bCheckAccess = false)
 {
     global $oSecurity;
     //            echo '1';
     $sPath = PATH_MODULES;
     $aDirectories = CDir::getDirs($sPath, false, false, false);
     foreach ($aDirectories as $module) {
         if (file_exists($sPath . "{$module}/m.{$module}.class.php")) {
             require_once $sPath . "{$module}/m.{$module}.class.php";
             if (class_exists('M_' . $module) && method_exists('M_' . $module, $sCollectFunctionName)) {
                 if ($bCheckAccess && !$oSecurity->haveAccessToModuleToMethod($module)) {
                     continue;
                 }
                 call_user_func(array('M_' . $module, $sCollectFunctionName));
             }
         }
     }
     //core modules
     $sPath = PATH_CORE . 'modules' . DIRECTORY_SEPARATOR;
     $aDirectories = CDir::getDirs($sPath, false, false, false);
     foreach ($aDirectories as $module) {
         if (file_exists($sPath . "{$module}/m.{$module}.class.php")) {
             require_once $sPath . "{$module}/m.{$module}.class.php";
             if (class_exists('M_' . $module) && method_exists('M_' . $module, $sCollectFunctionName)) {
                 call_user_func(array('M_' . $module, $sCollectFunctionName));
             }
         }
     }
     //            $cache_lite->save( $oMenu->items, 'cmenu::getusercollection');
 }
Beispiel #2
0
 function mm_add()
 {
     if (!FORDEV || !$this->security->isSuperAdmin()) {
         return $this->showAccessDenied();
     }
     $aData = array('method' => '', 'title' => '', 'module' => '');
     if (Func::isPostMethod()) {
         $sMethod = Func::POST('method', true);
         $sTitle = Func::POST('title', true);
         $sModule = $this->db->str2sql(Func::POST('module'));
         Func::setSESSION('save_module', $sModule);
         if (!$sMethod) {
             $sMethod = $sModule;
         }
         if (!$sTitle) {
             $sTitle = ucwords($sModule . ' ' . $sMethod);
         }
         //get max module number
         $nNumber = (int) $this->db->one_data('SELECT max(number) FROM ' . TABLE_MODULE_METHODS . " \n                                            WHERE module={$sModule} AND method!={$sModule} ");
         $nNumber++;
         //insert module-method
         $this->db->execute('INSERT INTO ' . TABLE_MODULE_METHODS . " (module, method, title, number)\n                       VALUES ({$sModule}, " . $this->db->str2sql($sMethod) . ', ' . $this->db->str2sql($sTitle) . ", {$nNumber})");
         if ($this->errors->no()) {
             $this->adminRedirect(Errors::SUCCESSFULL, 'mm_listing');
         }
     }
     if (!$aData['module']) {
         $aData['module'] = Func::SESSION('save_module');
     }
     $aModules = CDir::getDirs(PATH_MODULES, false, false, false);
     foreach ($aModules as $k => $v) {
         if ($v[0] != '.' && $v[0] != '_') {
             $aModules[$v] = $v;
         }
         unset($aModules[$k]);
     }
     $this->tplAssign(array('aModules' => $aModules, 'aData' => $aData));
     return $this->tplFetch('admin.mm.create.tpl');
 }