/** * 显示验证码 * @param HttpRequest $request */ public function show(HttpRequest $request) { $size = $request->getParameter('size', 'trim'); $ext = $request->getParameter('ext', 'trim'); $charNum = $request->getParameter('charnum', 'intval'); if (!$charNum) { $charNum = 4; } if (!$ext) { $ext = 'gif'; } $config = array('x' => 10, 'y' => 20, 'w' => 24 * $charNum, 'h' => 30, 'f' => 18); if ($size == 'big') { $config = array('x' => 15, 'y' => 30, 'w' => 26 * $charNum, 'h' => 45, 'f' => 22); } $_verify = VerifyCode::getInstance(); $_vcode = $_verify->configure($config)->generate($charNum); Session::start(); $_SESSION['scode'] = strtoupper($_vcode); $_verify->show($ext); exit; }
/** * 初始化方法 */ public function C_start() { parent::C_start(); $webApp = WebApplication::getInstance(); $request = $webApp->getHttpRequest(); //验证登录 $adminService = Beans::get('admin.admin.service'); $this->loginUser = $adminService->getLoginUser(); if (!$this->loginUser) { $this->location(url("/admin_login_index")); } else { $this->assign('loginUser', $this->loginUser); } //获取菜单分组 $groupService = Beans::get('admin.menuGroup.service'); $menuService = Beans::get('admin.menu.service'); $__menuGroups = ArrayUtils::changeArrayKey($groupService->getGroupCache(), 'id'); //初始化左侧菜单的选中状态 $currentOpt = '/' . $request->getModule() . '_' . $request->getAction() . '_' . $request->getMethod(); Session::start(); $mid = $request->getParameter('m', 'intval'); if ($mid > 0) { $_SESSION['m'] = $mid; $menu = $menuService->getItem($mid); $mpid = $menu['pid']; $mgroup = $menu['groupkey']; $_SESSION['mpid'] = $mpid; $_SESSION['mgroup'] = $mgroup; } else { $mpid = $_SESSION['mpid']; $mgroup = $_SESSION['mgroup']; $mid = $_SESSION['m']; } //获取菜单数据 $permissions = $adminService->getPermissions(); $systemMenu = $menuService->getMenuByUser($this->loginUser); //__print($systemMenu);die(); $this->assign('__menuGroups', $__menuGroups); $this->assign('systemMenu', $systemMenu); $this->assign('mpid', $mpid); $this->assign('mgroup', $mgroup); $this->assign('mid', $mid); $this->assign('currentOpt', $currentOpt); //权限认证 $opt = $request->getAction() . '@' . $request->getMethod(); if (!$adminService->hasPermission($opt, $permissions)) { //判断请求的类型,如果是ajax请求则使用ajax返回 if (strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { AjaxResult::ajaxResult('error', "您没有权限进行该操作,请联系管理员添加权限!"); } else { $this->showMessage('danger', '您没有权限进行该操作,请联系管理员添加权限!'); } } //初始化url $insert_url = '/' . $request->getModule() . '_' . $request->getAction() . '_' . 'insert'; $update_url = '/' . $request->getModule() . '_' . $request->getAction() . '_' . 'update'; $add_url = '/' . $request->getModule() . '_' . $request->getAction() . '_' . 'add'; $index_url = '/' . $request->getModule() . '_' . $request->getAction() . '_' . 'index'; $quicksave_url = '/' . $request->getModule() . '_' . $request->getAction() . '_' . 'quicksave'; $this->assign('insert_url', url($insert_url)); $this->assign('update_url', url($update_url)); $this->assign('add_url', url($add_url)); $this->assign('index_url', url($index_url)); $this->assign('quicksave_url', url($quicksave_url)); //$this->assign('permissions', $permissions); $this->assign('emptyRecord', 'O(∩_∩)O~ 抱歉,暂无记录!'); }
/** * 获取session * @param HttpRequest $request */ public function get(HttpRequest $request) { Session::start(); __print($_SESSION); die; }
/** * @see \media\service\interfaces\IMediaService::setLoginMedia */ public function setLoginMedia($media) { Session::start(); $_SESSION[IMediaService::SESSION_MEDIA_USER] = $media; }
/** * 获取文件列表 * @param $request * @param $configs * @return string */ public function getFileList($request, $configs) { //参数处理 $pagesize = $request->getParameter('size', 'intval'); if ($pagesize <= 0) { $pagesize = isset($configs['fileManagerListSize']) ? $configs['fileManagerListSize'] : 20; } $start = $request->getParameter('start', 'intval'); if ($start <= 0) { $page = 1; } else { $page = ceil($start / $pagesize) + 1; } //获取数据 $service = Beans::get('image.image.service'); $userid = intval($this->loginUser['id']); //如果是通过后台修改用户的数据,则将注前台册用户的id if (!$userid) { Session::start(); $userid = intval($_SESSION['front_userid']); } $conditions = "userid={$userid} AND type='file'"; $items = $service->getItems($conditions, "url", "id desc", $page, $pagesize); $total = $service->count($conditions); if (!$items) { return json_encode(array("state" => "no match file", "list" => array(), "start" => $start, "total" => $total)); } //返回数据 return json_encode(array("state" => "SUCCESS", "list" => $items, "start" => $start, "total" => $total)); }
public function getPermissions() { Session::start(); return $_SESSION[IAdminService::ADMIN_SESSION_PERMISSION]; }
/** * 邮件注册操作 * @param HttpRequest $request */ public function emailReg(HttpRequest $request) { $scode = $request->getParameter('scode', 'trim'); $data = $request->getParameter('data'); $repass = $request->getParameter('repass', 'trim'); //邀请注册的用户的授权码 $authcode = $request->getParameter('authcode', 'trim'); if ($repass != trim($data['password'])) { AjaxResult::ajaxResult('error', '两次输入密码不一致!'); } if (strlen($data['password']) > 20 || strlen($data['password']) < 6) { AjaxResult::ajaxResult('error', '密码的长度必须在6-20位之间!'); } //验证码验证 Session::start(); if ($_SESSION['scode'] != strtoupper($scode)) { AjaxResult::ajaxResult('error', '验证码错误!'); } $userService = Beans::get('user.user.service'); //验证邮箱 if ($userService->checkField('email', trim($data['email']))) { AjaxResult::ajaxResult('error', '注册邮箱已经存在,请更换注册邮箱!'); } //验证用户名 if ($userService->checkField('username', trim($data['username']))) { AjaxResult::ajaxResult('error', '用户名已经存在,请更换用户名!'); } //授权码验证 if ($authcode != '') { $__authcode = getEmailCode($data['email']); if ($__authcode != $authcode) { AjaxResult::ajaxResult('error', '授权不正确,请查看邮件重新输入!'); } else { //邮箱验证通过 $data['email_check'] = 1; } } //初始化信息 $data['password'] = md5(md5($data['password'])); $data['nickname'] = $data['username']; $data['ischeck'] = 1; //分配默认头像 $data['head'] = '/res/global/images/default_face.jpg'; $data['add_time'] = time(); $data['update_time'] = time(); $data['group_id'] = 1; $success = $userService->register($data); if ($success) { //1. 如果是邀请的管理员,则激活管理员 if ($authcode != '') { $managerService = Beans::get('media.manager.service'); //接收管理员ID $mid = $request->getParameter('mid', 'intval'); $data = array('status' => 1, 'userid' => $success); $managerService->update($data, $mid); AjaxResult::ajaxResult('ok', url('/user_login_index')); } else { AjaxResult::ajaxResult('ok', url('/user_register_emailActive/?email=' . $data['email'])); } } else { AjaxResult::ajaxResult('error', '注册失败'); } }
/** * @see \user\service\interfaces\IUserService::setLoginUser */ public function setLoginUser($user) { Session::start(); $_SESSION[IUserService::SESSION_FRONT_USER] = $user; }