/** * 添加用户 * * @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; }