예제 #1
0
 /**
  * 模块的配置获取
  *
  * @param string|array $id 应用的ID,如:admin
  * @param string $key 键名称,如:name
  * @return mix
  */
 public function module($id = '', $key = '')
 {
     static $modules = array();
     //fetch config
     if (empty($modules)) {
         $modules = zotop::config('zotop.module');
     }
     //fetch default config
     if (empty($modules)) {
         $modules = (include ZOTOP_CONFIG . DS . 'module.php');
         //set config
         zotop::config('zotop.module', $modules);
     }
     //return modules
     if (empty($id)) {
         return $modules;
     }
     //set and return modules
     if (is_array($id)) {
         $modules = array_merge($modules, $id);
         zotop::config('zotop.module', $modules);
         return $modules;
     }
     //return module
     $module = array();
     if (isset($modules[strtolower($id)])) {
         $module = $modules[strtolower($id)];
     }
     if (empty($module['path'])) {
         $module['path'] = $module['id'];
     }
     if ($module['path'][0] !== '%') {
         $module['path'] = '%modules%/' . $module['path'];
     }
     $module['path'] = dir::decode($module['path']);
     if (empty($key)) {
         return $module;
     }
     return $module[strtolower($key)];
 }