0 ? $user_id : (isset($user_id) ? 0 : is_session_login('user'));
// if ($user_id == 1) {
// return 'debug';
// }
//插入日志
$data['title'] = $title;
$data['user_id'] = $user_id;
$data['ip'] = $request->ip();
$data['url'] = $request->url(true);
$data['module'] = $request->module();
$data['controller'] = $request->controller();
$data['action'] = $request->action();
$data['param'] = empty($param) ? serialize($request->param()) : serialize($param);
$data['content'] = is_array($content) ? serialize($content) : $content;
$data['addtime'] = time();
Loader::model('ActionLog')->data($data)->save();
}
//获取指定模块中的控制器名
function get_ctrl_names($module, $retrun = 'string') {
$ctrlPath = APP_PATH . ltrim($module, '/') . '/controller';
$ctrlOption = '';
$ctrlArray = [];
if (is_dir($ctrlPath)) {
$dirResource = opendir($ctrlPath);
while ($dir = readdir($dirResource)) {
if (!in_array($dir, array('.', '..', '.svn'))) {
$ctrlArray[] = $val = basename($dir, '.php');
$ctrlOption .= "";
}
}
closedir($dirResource);
}
if ($retrun == 'string') {
return $ctrlOption;
} else {
return $ctrlArray;
}
}
//获取指定控制器中的动作名
function get_action_names($controller, $namespace = '', $retrun = 'string') {
$class_name = is_object($controller) ? $controller : $namespace . str_replace('.php', '', $controller);
$current_actions = get_class_methods($class_name);
if (!isset($current_actions)) {
return '指定的控制器无效';
}
$parent_class_name = get_parent_class($class_name);
$parent_actions = $parent_class_name ? get_class_methods($parent_class_name) : ['__construct', '_initialize'];
$actionArray = array_diff($current_actions, $parent_actions);
$actionOption = '';
foreach ($actionArray as $val) {
$actionOption .= "";
}
if ($retrun == 'string') {
return $actionOption;
} else {
return $actionArray;
}
}
if (!function_exists('is_administrator')) {
/**
* 检测当前用户是否为管理员
* @param null $uid
* @return bool true-管理员,false-非管理员
*/
function is_administrator($uid = null) {
$user_id = !empty($uid) ? $uid : is_session_login('user');
return is_int($user_id) && ((int) $user_id === (int) config('user_administrator'));
}
}
/**
* 分析枚举类型配置值
* 格式 a:名称1,b:名称2
* @param $string 配置值
* @return array
*/
function parse_config_attr($string) {
$array = preg_split('/[,;\r\n]+/', trim($string, ",;\r\n"));
if (strpos($string, ':')) {
$value = [];
foreach ($array as $val) {
list($k, $v) = explode(':', $val);
$value[$k] = $v;
}
} else {
$value = $array;
}
return $value;
}
function editor($selector = '#content', $type = 'string') {
$rootDir = request()->root();
if (is_array($selector)) {
$KindEditor = "\n";
foreach ($selector as $s) {
$KindEditor .="KindEditor.ready(function(K) {K.create('{$s}', {allowFileManager: true});});\n";
}
} else {
$KindEditor = "KindEditor.ready(function(K) {K.create('{$selector}', {allowFileManager: true});});";
}
$editor = <<
EDITOR;
return $editor;
}
/**
* 国家选择
* @cit $string 国家
* @view $string 表
* */
function city($cit = '',$view = ''){
$cit = strtolower($cit);
switch ($cit){
case '':
return Loader::model($view);
break;
case 'zh':
return Loader::model($view);
break;
case 'en':
return Loader::model($view.'En');
break;
case 'us':
return Loader::model($view.'Us');
break;
case 'id':
return Loader::model($view.'Id');
break;
case 'th':
return Loader::model($view.'Th');
break;
case 'vn':
return Loader::model($view.'Vn');
break;
default:
}
}