function _initialize() { $log_id = $this->writeControllerLog(); // 先写入日志表中 if (true !== C("DISABLE_ACTION_AUTH_CHECK")) { // 进行验证 $this->cacheControllerList = DxFunction::getModuleControllerForMe(); //用户的所有权限列表菜单 if (!DxFunction::checkNotAuth(C('NOT_AUTH_ACTION'), C('REQUIST_AUTH_ACTION'))) { //dump(session()); //dump(session(C("USER_AUTH_KEY")));die; if (0 == intval(session(C("USER_AUTH_KEY")))) { $url = C("LOGIN_URL"); if ($url[0] != "/") { //$url = U($url); $url = '/Home/' . $url; } else { $url = '/Home' . $url; } redirect($url, 0, ""); } // 判断用户是否有当前动作操作权限 $privilege = $this->check_controller_privilege(); if (!$privilege) { //无权限 if ($log_id) { $this->updateActionLog($log_id); } if (C('LOG_RECORD')) { Log::save(); } $this->success("您无权访问此页面!", "showmsg"); exit; } } } //自定义皮肤 if (cookie('RESTHOME_SKIN_ROOT')) { $SKIN_ROOT = $_COOKIE['RESTHOME_SKIN_ROOT']; } else { //这里虽然__PUBLIC__ 是一个字符串 但是加载到模板里面 就会自动解析了 // 要记得在配置文件里面 定义一下 DEFAULT_SKIN $SKIN_ROOT = "__PUBLIC__/project/Skin/" . C("DEFAULT_SKIN") . "/"; } $this->assign('SKIN_ROOT', $SKIN_ROOT); //将系统变量加载到config中,供系统使用。 $sysSetData = S("Cache_Global_SysSeting"); if (empty($sysSetData)) { $sysSet = D("SysSetting"); $sysSetData = $sysSet->select(); S("Cache_Global_SysSeting", $sysSetData); //dump(M()->query($sql='show tables'));die; } //dump($sysSetData);exit; //放到系统配置里面了 foreach ($sysSetData as $set) { C("SysSet." . $set["name"], $set["val"]); } }
/** * 将新上传的文件移动到实际目录中,并将旧的无效的文件删除 * @param $key 字段名 * @param $modelName model名称作为存放文件的目录名 * @param $returnJson 是否返回的数据格式化为json格式 * 注意: * Linux下,ls /home/a/../c/p.php 可以用,但是cp /home/a/../c/p.php /tmp/则会提示p.php文件不存在,所以需要将路径中..移除掉。 * 原设计:为了将文件存储路径 (./ORGA/Runtime) 和 图片显示的Url(http://xxx/Uploads/../ORGA/Runtime)统一处理,所以数据库存储路径中包含 ../ * */ protected function moveAndDelFile($key, $modelName, $returnJson = true) { $value = array(); foreach ($_REQUEST[$key] as $one) { $value[] = json_decode($one, true); } //旧文件被删除的,在这里要进行删除,,,全新的文件,要移动到实际存放路径。 $old_val = json_decode($_REQUEST["old_" . $key], true); if (sizeof($old_val) > 0) { foreach ($old_val as $ov_key => $v) { $cunzai = false; foreach ($value as $nv_key => $nv) { if ($nv["url"] == $v["url"]) { //"real_name":"1411270.png","name":"13565930481411270.png","file_path":"20121227\/13565930481411270.png","size":109886,"type":"image\/png","url":".\/ORGA\/Runtime\/TMMP_IMG\/20121227\/13565930481411270.png","thumbnail_url":".\/ORGA\/Runtime\/TMMP_IMG\/thumbnail\/20121227\/13565930481411270.png","delete_url":"http:\/\/job\/yanglaoyuan2\/?file=13565930481411270.png","delete_type":"DELETE" $cunzai = true; $value[$nv_key]["cunzai"] = true; break; } } $old_val[$ov_key]["cunzai"] = $cunzai; } } foreach ($old_val as $ov_key => $ov) { if ($ov["cunzai"] !== true) { unlink(C("UPLOAD_BASE_PATH") . dirname($ov["url"]) . "/" . $ov["name"]); if (!empty($ov["thumbnail_url"])) { unlink(C("UPLOAD_BASE_PATH") . dirname($ov["thumbnail_url"]) . "/thumbnail_" . $ov["name"]); } } } foreach ($value as $tkey => $tval) { if ($tval["cunzai"] !== true) { $value[$tkey]["url"] = DxFunction::move_file(substr(dirname($tval["url"]), 2) . "/" . $tval["name"], "/" . $modelName, "dateY_m"); if (!empty($tval["thumbnail_url"])) { $value[$tkey]["thumbnail_url"] = DxFunction::move_file(substr(dirname($tval["thumbnail_url"]), 2) . "/" . $tval["name"], "/" . $modelName, "dateY_m", "thumbnail_" . $tval["name"]); } } } if ($returnJson) { return json_encode($value); } else { return $value; } }
protected function setSession($user) { //dump($user);die; session(C('USER_AUTH_KEY'), $user['account_id']); session('login_name', $user['login_username']); session('true_name', $user['true_name']); session('role_id', $user['role_id']); session('canton_id', $user['canton_id']); session('canton_fdn', $user['canton_fdn']); session('user_type', $user['user_type']); session(C("LOGIN_USER_NICK_NAME"), $user[C("LOGIN_USER_NICK_NAME")]); if ($user['user_type'] == "admin") { session('DP_ADMIN', true); } session("main_url", $user["main_url"]); //dump(session());die; DxFunction::getModuleControllerForMe(); //数据权限功能。 foreach (C('DP_PWOER_FIELDS') as $dp_fields) { if (array_key_exists("session_field", $dp_fields)) { $field_name = $dp_fields["session_field"]; } else { $field_name = $dp_fields["name"]; } if ($dp_fields["isWhere"] && array_key_exists($field_name, $user)) { session($field_name, $user[$field_name]); } } }