/** * @param AJXP_Node $ajxpNode * @return */ function nodeBookmarkMetadata(&$ajxpNode) { $user = AuthService::getLoggedUser(); if ($user == null) { return; } if (!isset(self::$loadedBookmarks)) { self::$loadedBookmarks = $user->getBookmarks(); } foreach (self::$loadedBookmarks as $bm) { if ($bm["PATH"] == $ajxpNode->getPath()) { $ajxpNode->mergeMetadata(array("ajxp_bookmarked" => "true", "overlay_icon" => "bookmark.png"), true); /* * TESTING MULTIPLE OVERLAYS $ajxpNode->mergeMetadata(array( "overlay_icon" => "shared.png" ), true); */ } } }
/** * @param AJXP_Node $fromNode * @param AJXP_Node $toNode * @param bool $copy */ public function nodeChangeBookmarkMetadata($fromNode = null, $toNode = null, $copy = false) { if ($copy || $fromNode == null) { return; } $user = AuthService::getLoggedUser(); if ($user == null) { return; } if (!isset(self::$loadedBookmarks)) { self::$loadedBookmarks = $user->getBookmarks(); } if ($toNode == null) { $fromNode->removeMetadata("ajxp_bookmarked", true, AJXP_METADATA_SCOPE_REPOSITORY, true); } else { $toNode->copyOrMoveMetadataFromNode($fromNode, "ajxp_bookmarked", "move", true, AJXP_METADATA_SCOPE_REPOSITORY, true); } AJXP_Controller::applyHook("msg.instant", array("<reload_bookmarks/>", $fromNode->getRepositoryId(), AuthService::getLoggedUser()->getId())); }
} if (isset($dest)) { $dest = SystemTextEncoding::fromUTF8($dest); } //------------------------------------------------------------ // SPECIAL HANDLING FOR FANCY UPLOADER RIGHTS FOR THIS ACTION //------------------------------------------------------------ if (AuthService::usersEnabled()) { $loggedUser = AuthService::getLoggedUser(); if ($action == "upload" && ($loggedUser == null || !$loggedUser->canWrite(ConfService::getCurrentRootDirIndex() . "")) && isset($_FILES['Filedata'])) { header('HTTP/1.0 ' . '410 Not authorized'); die('Error 410 Not authorized!'); } } // 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")) {
/** * @param AJXP_Node $ajxpNode * @return void */ public function nodeBookmarkMetadata(&$ajxpNode) { $user = AuthService::getLoggedUser(); if ($user == null) { return; } $metadata = $ajxpNode->retrieveMetadata("ajxp_bookmarked", true, AJXP_METADATA_SCOPE_REPOSITORY, true); if (is_array($metadata) && count($metadata)) { $ajxpNode->mergeMetadata(array("ajxp_bookmarked" => "true", "overlay_icon" => "bookmark.png", "overlay_class" => "icon-bookmark"), true); return; } if (!isset(self::$loadedBookmarks)) { self::$loadedBookmarks = $user->getBookmarks(); } foreach (self::$loadedBookmarks as $bm) { if ($bm["PATH"] == $ajxpNode->getPath()) { $ajxpNode->mergeMetadata(array("ajxp_bookmarked" => "true", "overlay_icon" => "bookmark.png", "overlay_class" => "icon-bookmark"), true); $ajxpNode->setMetadata("ajxp_bookmarked", array("ajxp_bookmarked" => "true"), true, AJXP_METADATA_SCOPE_REPOSITORY, true); } } }