function logoutCallback($actionName, $httpVars, $fileVars)
 {
     $safeCredentials = AJXP_Safe::loadCredentials();
     $crtUser = $safeCredentials["user"];
     if (isset($_SESSION["AJXP_DYNAMIC_FTP_DATA"])) {
         unset($_SESSION["AJXP_DYNAMIC_FTP_DATA"]);
     }
     AJXP_Safe::clearCredentials();
     $adminUser = $this->options["ADMIN_USER"];
     $subUsers = array();
     if ($crtUser != $adminUser && $crtUser != "") {
         AJXP_User::deleteUser($crtUser, $subUsers);
     }
     AuthService::disconnect();
     session_destroy();
     session_write_close();
     AJXP_XMLWriter::header();
     AJXP_XMLWriter::loggingResult(2);
     AJXP_XMLWriter::close();
 }
Ejemplo n.º 2
0
 function deleteUser($userId)
 {
     $authDriver = ConfService::getAuthDriverImpl();
     $confDriver = ConfService::getConfStorageImpl();
     $authDriver->deleteUser($userId);
     AJXP_User::deleteUser($userId);
     AJXP_Logger::logAction("Delete User", array("user_id" => $userId));
     return true;
 }
 /**
  * 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;
 }
 /**
  * Static function for deleting a user.
  * Also removes associated rights, preferences and bookmarks.
  * WARNING : must also delete the children!
  *
  * @param String $userId Login to delete.
  * @param Array $deletedSubUsers
  * @return null or -1 on error.
  */
 static function deleteUser($userId, &$deletedSubUsers)
 {
     $children = array();
     try {
         // FIND ALL CHILDREN FIRST
         $children_results = dibi::query('SELECT [login] FROM [ajxp_user_rights] WHERE [repo_uuid] = %s AND [rights] = %s', "ajxp.parent_user", $userId);
         $all = $children_results->fetchAll();
         foreach ($all as $item) {
             $children[] = $item["login"];
         }
         dibi::begin();
         //This one is done by AUTH_DRIVER, not CONF_DRIVER
         //dibi::query('DELETE FROM [ajxp_users] WHERE [login] = %s', $userId);
         dibi::query('DELETE FROM [ajxp_user_rights] WHERE [login] = %s', $userId);
         dibi::query('DELETE FROM [ajxp_user_prefs] WHERE [login] = %s', $userId);
         dibi::query('DELETE FROM [ajxp_user_bookmarks] WHERE [login] = %s', $userId);
         dibi::commit();
         foreach ($children as $childId) {
             AJXP_User::deleteUser($childId, $deletedSubUsers);
             $deletedSubUsers[] = $childId;
         }
     } catch (DibiException $e) {
         throw new Exception('Failed to delete user, Reason: ' . $e->getMessage());
     }
 }
Ejemplo n.º 5
0
 static function deleteUser($userId)
 {
     $authDriver = ConfService::getAuthDriverImpl();
     $confDriver = ConfService::getConfStorageImpl();
     $authDriver->deleteUser($userId);
     AJXP_User::deleteUser($userId);
     $users = $authDriver->listUsers();
     $subUsers = "";
     foreach (array_keys($users) as $id) {
         $object = $confDriver->createUserObject($id);
         if ($object->hasParent() && $object->getParent() == $userId) {
             $subUsers .= $id . ",";
             $authDriver->deleteUser($id);
             AJXP_User::deleteUser($id);
         }
     }
     AJXP_Logger::logAction("Delete User", array("user_id" => $userId, "sub_user" => $subUsers));
     return true;
 }
Ejemplo n.º 6
0
 function logoutCallback($actionName, $httpVars, $fileVars)
 {
     $crtUser = $_SESSION["AJXP_SESSION_REMOTE_USER"];
     if (isset($_SESSION["AJXP_DYNAMIC_FTP_DATA"])) {
         unset($_SESSION["AJXP_DYNAMIC_FTP_DATA"]);
     }
     unset($_SESSION["AJXP_SESSION_REMOTE_USER"]);
     unset($_SESSION["AJXP_SESSION_REMOTE_PASS"]);
     $adminUser = $this->options["ADMIN_USER"];
     if ($login != $adminUser && $crtUser != "") {
         AJXP_User::deleteUser($crtUser);
     }
     AuthService::disconnect();
     session_write_close();
     AJXP_XMLWriter::header();
     AJXP_XMLWriter::loggingResult(2);
     AJXP_XMLWriter::close();
 }
Ejemplo n.º 7
0
 static function deleteUser($userId)
 {
     $authDriver = ConfService::getAuthDriverImpl();
     $authDriver->deleteUser($userId);
     $subUsers = array();
     AJXP_User::deleteUser($userId, $subUsers);
     foreach ($subUsers as $deletedUser) {
         $authDriver->deleteUser($deletedUser);
     }
     AJXP_Logger::logAction("Delete User", array("user_id" => $userId, "sub_user" => implode(",", $subUsers)));
     return true;
 }
 /**
  * Static function for deleting a user
  * 
  * @param String $userId
  * @param Array $deletedSubUsers
  */
 static function deleteUser($userId, &$deletedSubUsers)
 {
     $storage = ConfService::getConfStorageImpl();
     $serialDir = AJXP_VarsFilter::filter($storage->getOption("USERS_DIRPATH"));
     $files = glob($serialDir . "/" . $userId . "/*.ser");
     if (is_array($files) && count($files)) {
         foreach ($files as $file) {
             unlink($file);
         }
     }
     if (is_dir($serialDir . "/" . $userId)) {
         rmdir($serialDir . "/" . $userId);
     }
     $authDriver = ConfService::getAuthDriverImpl();
     $confDriver = ConfService::getConfStorageImpl();
     $users = $authDriver->listUsers();
     foreach (array_keys($users) as $id) {
         $object = $confDriver->createUserObject($id);
         if ($object->hasParent() && $object->getParent() == $userId) {
             AJXP_User::deleteUser($id, $deletedSubUsers);
             $deletedSubUsers[] = $id;
         }
     }
 }