Пример #1
0
 /**
  * Get a generic user
  *
  * @param String  $sessionKey The project admin session hash
  * @param Integer $groupId    The Project id where the User Group is defined
  *
  * @return UserInfo
  */
 public function getProjectGenericUser($sessionKey, $groupId)
 {
     if (!$this->isRequesterAdmin($sessionKey, $groupId)) {
         throw new SoapFault('3201', 'Permission denied: need to be project admin.');
     }
     $user = $this->generic_user_factory->fetch($groupId);
     if (!$user) {
         throw new SoapFault('3106', "Generic User does not exist");
     }
     return user_to_soap($user->getId(), $user, $this->userManager->getCurrentUser());
 }
Пример #2
0
 */
require_once 'pre.php';
require_once 'common/user/GenericUserFactory.class.php';
require_once 'common/include/CSRFSynchronizerToken.class.php';
// Valid group id
$valid_groupid = new Valid_GroupId();
$valid_groupid->required();
if (!$request->valid($valid_groupid)) {
    exit_error($Language->getText('project_admin_index', 'invalid_p'), $Language->getText('project_admin_index', 'p_not_found'));
}
$group_id = $request->get('group_id');
//must be a project admin
session_require(array('group' => $group_id, 'admin_flags' => 'A'));
$user_manager = UserManager::instance();
$generic_user_factory = new GenericUserFactory($user_manager, ProjectManager::instance(), new GenericUserDao());
$generic_user = $generic_user_factory->fetch($group_id);
$redirect_url = '/project/admin/editgenericmember.php?group_id=' . (int) $group_id;
$token = new CSRFSynchronizerToken($redirect_url);
if ($request->get('update_generic_user')) {
    $token->check();
    $password = $request->getValidated('password');
    $email = $request->getValidated('email');
    if ($password) {
        $generic_user->setPassword($password);
    }
    $generic_user->setEmail($email);
    if ($user_manager->updateDb($generic_user)) {
        $GLOBALS['Response']->addFeedback('info', $Language->getText('project_admin', 'generic_member_updated'));
    } else {
        $GLOBALS['Response']->addFeedback('warning', $Language->getText('project_admin', 'generic_member_not_changed'));
    }