コード例 #1
0
 /**
  * Remove given user from project members
  *
  * Error codes:
  * * 3000, Invalid project id
  * * 3201, Permission denied: need to be project admin
  * * 3202, Invalid user login
  * * 3203, User not member of project
  * 
  * @param String  $sessionKey The project admin session hash
  * @param Integer $groupId Project ID
  * @param String  $userLogin User login name
  *
  * @return Boolean
  */
 public function removeProjectMember($sessionKey, $groupId, $userLogin)
 {
     $project = $this->getProjectIfUserIsAdmin($groupId, $sessionKey);
     $userToAdd = $this->getProjectMember($project, $userLogin);
     $result = account_remove_user_from_group($groupId, $userToAdd->getId());
     return $this->returnFeedbackToSoapFault($result);
 }
コード例 #2
0
 /**
  * Object oriented wrapper for account_remove_user_from_group
  *
  * @param Integer $groupId Project id
  * @param Integer $userId  User id
  * 
  * @return Boolean
  */
 function removeUserFromGroup($groupId, $userId)
 {
     include_once 'account.php';
     return account_remove_user_from_group($groupId, $userId);
 }
コード例 #3
0
 private function removeUserFromUserGroup(ProjectUGroup $user_group, PFUser $user)
 {
     if ($user_group->getId() == ProjectUGroup::PROJECT_MEMBERS) {
         return account_remove_user_from_group($user_group->getProjectId(), $user->getId());
     }
     return $user_group->removeUser($user);
 }
コード例 #4
0
ファイル: index.php プロジェクト: pombredanne/tuleap
$vFunc = new Valid_WhiteList('func', array('adduser', 'rmuser', 'change_group_type', 'member_req_notif_group', 'member_req_notif_message'));
$vFunc->required();
if ($request->isPost() && $request->valid($vFunc)) {
    /*
      updating the database
    */
    switch ($request->get('func')) {
        case 'adduser':
            // add user to this project
            $form_unix_name = $request->get('form_unix_name');
            $res = account_add_user_to_group($group_id, $form_unix_name);
            break;
        case 'rmuser':
            // remove a user from this portal
            $rm_id = $request->getValidated('rm_id', 'uint', 0);
            account_remove_user_from_group($group_id, $rm_id);
            break;
        case 'change_group_type':
            $form_project_type = $request->getValidated('form_project_type', 'uint', 0);
            if (user_is_super_user() && $group->getType() != $form_project_type) {
                group_add_history('group_type', $group->getType(), $group_id);
                $template = TemplateSingleton::instance();
                $group->setType($form_project_type);
                //set also flag on trackers to be copied or not on project instanciation
                if ($template->isTemplate($form_project_type)) {
                    db_query("UPDATE artifact_group_list SET instantiate_for_new_projects='1' WHERE group_id='{$group_id}'");
                } else {
                    db_query("UPDATE artifact_group_list SET instantiate_for_new_projects='0' WHERE group_id='{$group_id}'");
                }
                // get current information, force update on group and project objects
                $group = $pm->getProject($group_id, true);
コード例 #5
0
ファイル: rmproject.php プロジェクト: pombredanne/tuleap
//
require_once 'pre.php';
require_once 'common/mail/Mail.class.php';
require_once 'www/include/account.php';
require_once 'www/project/admin/ugroup_utils.php';
if (user_isloggedin()) {
    $user_id = user_getid();
    $vGroupId = new Valid_GroupId();
    $vGroupId->required();
    if ($request->valid($vGroupId)) {
        $group_id = $request->get('group_id');
    } else {
        exit_no_group();
    }
    //Process MEMBERSHIP_DELETE event
    account_remove_user_from_group($group_id, $user_id, false);
    /********* mail the changes so the admins know what happened *********/
    $res_admin = db_query("SELECT user.user_id AS user_id, user.email AS email, user.user_name AS user_name FROM user,user_group " . "WHERE user_group.user_id=user.user_id AND user_group.group_id=" . db_ei($group_id) . " AND " . "user_group.admin_flags = 'A'");
    $to = '';
    while ($row_admin = db_fetch_array($res_admin)) {
        $to .= "{$row_admin['email']},";
    }
    if (strlen($to) > 0) {
        $to = substr($to, 0, -1);
        $project = new Project($group_id);
        $project_name = $project->getPublicName();
        list($host, $port) = explode(':', $GLOBALS['sys_default_domain']);
        $link_members = get_server_url() . "/project/memberlist.php?group_id={$group_id}";
        $subject = $Language->getText('bookmark_rmproject', 'mail_subject', array($GLOBALS['sys_name'], user_getname($user_id), $project_name));
        $body = stripcslashes($Language->getText('bookmark_rmproject', 'mail_body', array($project_name, user_getname($user_id), $link_members)));
        $mail = new Mail();