Beispiel #1
0
 /**
  * 添加用户
  *
  * @param unknown_type $sets
  * @param unknown_type $groupid 如果设置了这个值则表示把用户加到对应的组中
  */
 public function adduser($sets, $groupid = 0)
 {
     // 判断用户名是否已存在
     if ($this->db->count($this->userTable, array('username' => $sets['username']))) {
         return false;
     }
     if (!isset($sets['dateline'])) {
         $sets['dateline'] = time();
     }
     // 密码加密
     $sets['passwd'] = md5($sets['passwd']);
     $this->db->insert($this->userTable, $sets);
     $userid = $this->db->lastInsertId();
     // 加到用户组
     if ($groupid > 0) {
         $this->addGroupUser($groupid, $userid);
     }
     // 如果是添加的"项目管理员"则自动为他创建两个用户组和一个默认的项目
     if (isset($sets['priv']) && $sets['priv'] == 2) {
         $groupset = array('createuid' => $userid);
         // 创建开发组
         $groupset['groupname'] = $groupset['info'] = L('user.dev_group');
         $groupset['grouptype'] = 1;
         $this->adduserGroup($groupset);
         // 创建测试组
         $groupset['groupname'] = $groupset['info'] = L('user.test_group');
         $groupset['grouptype'] = 2;
         $this->adduserGroup($groupset);
         // 创建项目
         $project = new Model_Project();
         $project->addProject(L('user.default_project'), L('user.default_project_info'), $userid);
     }
     // 如果是添加的普通用户并且是RTX用户的话则设置为自动登录
     if ((!isset($sets['priv']) || $sets['priv'] == 1) && $sets['usertype'] == 2) {
         $this->saveSet('rtxAutoLogin', 1, $userid);
     }
     return $userid;
 }