/**
  * 显示验证码
  * @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~ 抱歉,暂无记录!');
 }
Esempio n. 3
0
 /**
  * 获取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;
 }