/**
  * Delete a user in the auth driver impl
  * @static
  * @param $userId
  * @return bool
  */
 static function deleteUser($userId)
 {
     $userId = AuthService::filterUserSensitivity($userId);
     AJXP_Controller::applyHook("user.before_delete", array($userId));
     $authDriver = ConfService::getAuthDriverImpl();
     $authDriver->deleteUser($userId);
     $subUsers = array();
     AJXP_User::deleteUser($userId, $subUsers);
     foreach ($subUsers as $deletedUser) {
         $authDriver->deleteUser($deletedUser);
     }
     AJXP_Controller::applyHook("user.after_delete", array($userId));
     AJXP_Logger::logAction("Delete User", array("user_id" => $userId, "sub_user" => implode(",", $subUsers)));
     return true;
 }
 /**
  * Instantiate a new AbstractAjxpUser
  *
  * @param String $userId
  * @return AbstractAjxpUser
  */
 public function createUserObject($userId)
 {
     $userId = AuthService::filterUserSensitivity($userId);
     $abstractUser = $this->instantiateAbstractUserImpl($userId);
     if (!$abstractUser->storageExists()) {
         AuthService::updateDefaultRights($abstractUser);
     }
     AuthService::updateAutoApplyRole($abstractUser);
     AuthService::updateAuthProvidedData($abstractUser);
     return $abstractUser;
 }
 /**
  * Instantiate a new AbstractAjxpUser
  *
  * @param String $userId
  * @return AbstractAjxpUser
  */
 public function createUserObject($userId)
 {
     $kvCache = ConfService::getInstance()->getKeyValueCache();
     $test = $kvCache->fetch("pydio:user:"******"AbstractAjxpUser")) {
         if ($test->personalRole == null) {
             $test->personalRole = $test->roles["AJXP_USR_/" . $userId];
         }
         $test->recomputeMergedRole();
         return $test;
     }
     $userId = AuthService::filterUserSensitivity($userId);
     $abstractUser = $this->instantiateAbstractUserImpl($userId);
     if (!$abstractUser->storageExists()) {
         AuthService::updateDefaultRights($abstractUser);
     }
     AuthService::updateAutoApplyRole($abstractUser);
     AuthService::updateAuthProvidedData($abstractUser);
     $args = array(&$abstractUser);
     AJXP_Controller::applyIncludeHook("include.user.updateUserObject", $args);
     $kvCache->save("pydio:user:" . $userId, $abstractUser);
     return $abstractUser;
 }