Beispiel #1
0
 /**
  * 检测用户是否对URI有访问权限的
  *
  * @param unknown_type $userid
  * @return boolean
  */
 public static function check($userid, $controller, $action)
 {
     // 非普通用户不查检权限
     if (QP_Session_Session::get('login_priv') != 1) {
         return true;
     }
     // 得到配置
     $privcfg = QP_Sys::config('privconfig');
     // 如果不使用权限则永远返回 true
     if (!$privcfg['enable']) {
         return true;
     }
     // 判断是否在全局访问的资源中
     $allRes = strtolower($controller . '_*');
     $currentRes = strtolower($controller . '_' . $action);
     if (in_array($currentRes, $privcfg['allow']) || in_array($allRes, $privcfg['allow'])) {
         return true;
     }
     // 得到用户所在的组的所有权限
     $userModel = new Model_User();
     $userInfo = $userModel->userinfo($userid);
     $privModel = new Model_Priv();
     $resourceArr = $privModel->getResource($userInfo['groupid']);
     // 判断是否在权限组中
     return in_array($currentRes, $resourceArr) || in_array($allRes, $resourceArr);
 }
Beispiel #2
0
 /**
  * 得到用户信息
  *
  * @param unknown_type $userid
  * @param unknown_type $key 属性,如果为空则返回所有
  * @param unknown_type $idtype 0:根据用户ID查询 1:根据用户名查询
  */
 public static function getInfo($userid, $key = '', $idtype = 0)
 {
     static $model = null;
     if (null === $model) {
         $model = new Model_User();
     }
     $info = $model->userinfo($userid, $idtype);
     return $key != '' ? isset($info[$key]) ? $info[$key] : null : $info;
 }
Beispiel #3
0
 /**
  * 我的资料设置
  */
 public function indexAction()
 {
     $userModel = new Model_User();
     if ($this->request->isPost()) {
         // 更新资料
         $post = $this->request->getPost();
         $sets = array('passwd' => xss($post['password']), 'truename' => xss($post['truename']), 'email' => xss($post['email']));
         $userModel->updateuser($sets, $this->userid);
         $userModel->saveSet('rtxAutoLogin', $post['rtxAutoLogin']);
         $this->outputJson(0);
     }
     // 得到用户信息
     $this->view->userInfo = $userModel->userinfo($this->userid);
     $this->view->rtxAutoLogin = $userModel->getSet('rtxAutoLogin');
 }
Beispiel #4
0
 /**
  * 检测用户是否为 RTX 用户,并且设置了自动登录
  *
  */
 public function checkuserAction()
 {
     $username = $this->request->getGet('username');
     $userModel = new Model_User();
     $userInfo = $userModel->userinfo($username, 1);
     $ret = -1;
     // 0:成功 其它值失败
     // 如果是RTX用户
     if ($userInfo && $userInfo['usertype'] == 2) {
         // 是否设置了自动登录
         $isAutoLogin = $userModel->getSet('rtxAutoLogin', $userInfo['userid']);
         if ($isAutoLogin) {
             $ret = $userModel->login($userInfo['username'], $userInfo['passwd'], 1);
         }
     }
     $this->outputJson($ret);
 }
Beispiel #5
0
 /**
  * 添加邀请
  *
  * @param unknown_type $bugid BUGid
  * @param unknown_type $userid 当前操作用户ID
  * @param unknown_type $ivtUsers 邀请用户名或用户ID,如:"name1,name2" 或 "123,456"
  * @param unknown_type $opt 操作选择对应`quickbug_bug_invite`表中的 `opt` 字段 
  * @param unknown_type $ivtUserType 参数 $ivtUsers 的类型 0:用户名 1:用户ID
  */
 public function addInvite($bugid, $userid, $ivtUsers, $opt, $ivtUserType = 0)
 {
     $nameArr = explode(';', $ivtUsers);
     if ($ivtUserType == 0) {
         // 用户名要选查询对应的UID
         $user = new Model_User();
         foreach ($nameArr as $name) {
             $uinfo = $user->userinfo($name, 1);
             if ($uinfo) {
                 // 插入到邀请表
                 $sets = array('bugid' => $bugid, 'userid' => $userid, 'ivtuserid' => $uinfo['userid'], 'opt' => $opt, 'dateline' => time());
                 $this->db->insert($this->inviteTable, $sets);
             }
         }
     } else {
         // id则直接插入
         foreach ($nameArr as $ivtUid) {
             // 插入到邀请表
             $sets = array('bugid' => $bugid, 'userid' => $userid, 'ivtuserid' => $ivtUid, 'opt' => $opt, 'dateline' => time());
             $this->db->insert($this->inviteTable, $sets);
         }
     }
     return true;
 }