// Look for the action in the "fixed" drivers : AjxpClient, Auth & Conf $ajxpDriver = new AJXP_ClientDriver(ConfService::getRepository()); $ajxpDriver->applyIfExistsAndExit($action, array_merge($_GET, $_POST), $_FILES); $authDriver = ConfService::getAuthDriverImpl(); $authDriver->applyIfExistsAndExit($action, array_merge($_GET, $_POST), $_FILES); $confDriver = ConfService::getConfStorageImpl(); $confDriver->applyIfExistsAndExit($action, array_merge($_GET, $_POST), $_FILES); // TRYING TO GET A DRIVER WHEN NO USER IS LOGGED if (AuthService::usersEnabled() && AuthService::getLoggedUser() == null && !ALLOW_GUEST_BROWSING) { AJXP_XMLWriter::header(); AJXP_XMLWriter::requireAuth(true); AJXP_XMLWriter::close(); exit(1); } // INIT DRIVER $Driver = ConfService::getRepositoryDriver(); if ($Driver == null || !is_a($Driver, "AbstractDriver")) { AJXP_XMLWriter::header(); if (is_a($Driver, "AJXP_Exception")) { AJXP_XMLWriter::sendMessage(null, "Cannot initialize driver : " . $Driver->getMessage()); } else { AJXP_XMLWriter::sendMessage(null, "Cannot find driver!"); } AJXP_XMLWriter::close(); exit(1); } if ($Driver->hasAction($action)) { // CHECK RIGHTS if (AuthService::usersEnabled()) { $loggedUser = AuthService::getLoggedUser(); if ($Driver->actionNeedsRight($action, "r") && ($loggedUser == null || !$loggedUser->canRead(ConfService::getCurrentRootDirIndex() . ""))) {