| <?php | 
|   | 
| class Util{ | 
|   | 
|     public function selectItem($id){ | 
|         $module_service = new Service_Module(); | 
|         $modules = $module_service->getModuleList(); | 
|         return "<select class='form-control' id='".$id."' name='".$id."'>".self::getModules($modules)."</select>"; | 
|     } | 
|   | 
|     public function getModules($modules, $parent = 0, $deep = 0){ | 
|         static $html = "<option value='0'>顶级栏目</option>"; | 
|         foreach ($modules as $key => $module) { | 
|             if($module['parent'] == $parent){             | 
|                 if($deep == 0 || $parent == 0){ | 
|                     $html .="<option value='".$module['_id']."'>".$module['name']."</option>"; | 
|                 } | 
|                 else{ | 
|                     $html .="<option value='".$module['_id']."'>".str_repeat('  ', $deep)."└".$module['name']."</option>"; | 
|                 } | 
|                 $deep ++; | 
|                 unset($modules[$key]); | 
|                 self::getModules($modules, $module['_id'], $deep); | 
|             } | 
|              | 
|         } | 
|         return $html; | 
|     } | 
|     /** | 
|      * 随机字符串 | 
|      * @param int $length 长度 | 
|      * @param int $numeric 类型(0:混合;1:纯数字) | 
|      * @return string | 
|      */ | 
|     public function random($length, $numeric = 0) { | 
|          $seed = base_convert(md5(microtime().$_SERVER['DOCUMENT_ROOT']), 16, $numeric ? 10 : 35); | 
|          $seed = $numeric ? (str_replace('0', '', $seed).'012340567890') : ($seed.'zZ'.strtoupper($seed)); | 
|          if($numeric) { | 
|               $hash = ''; | 
|          } else { | 
|               $hash = chr(rand(1, 26) + rand(0, 1) * 32 + 64); | 
|               $length--; | 
|          } | 
|          $max = strlen($seed) - 1; | 
|          for($i = 0; $i < $length; $i++) { | 
|               $hash .= $seed{mt_rand(0, $max)}; | 
|          } | 
|          return $hash; | 
|     } | 
|   | 
|     /** | 
|      * 更新角色权限 | 
|      * @return [type] [description] | 
|      */ | 
|     public function updateRoleAuth(){ | 
|         $role_service = new Service_Role(); | 
|         $roles = $role_service->getRoleList(); | 
|         $role_auths = array(); | 
|         foreach ($roles as $role) { | 
|             $role_auth[$role['_id']] = explode(',', $role['modules']); | 
|         } | 
|         //初始化redis | 
|         $redis = System_Service_Locator::getInstance()->get('redis'); | 
|         $redis->set('role_auth', $role_auth); | 
|     } | 
|   | 
|   | 
| } |