<?php $folder_guid = (int) get_input('bmfolder_guid'); $container_guid = elgg_extract("container_guid", $vars, elgg_get_page_owner_guid()); $current_folder = elgg_extract("bmfolder", $vars, $folder_guid); $type = elgg_extract("type", $vars); unset($vars["bmfolder"]); unset($vars["type"]); unset($vars["container_guid"]); if ($type == 'bmfolder') { if (!elgg_extract("value", $vars)) { if (!empty($current_folder)) { $vars["value"] = get_entity($current_folder)->parent_guid; } } } elseif (!elgg_extract("value", $vars)) { $vars["value"] = $current_folder; } $folders = bookmark_tools_get_folders($container_guid); $options = array(0 => elgg_echo("bookmark_tools:input:folder_select:main")); if (!empty($folders)) { $options = $options + bookmark_tools_build_select_options($folders, 1); } $vars["options_values"] = $options; echo elgg_view("input/dropdown", $vars);
$bookmarks_options["relationship"] = BOOKMARK_TOOLS_RELATIONSHIP; $bookmarks_options["relationship_guid"] = $folder_guid; $bookmarks_options["inverse_relationship"] = false; $bookmarks = elgg_get_entities_from_relationship($bookmarks_options); } } if (!$draw_page) { echo elgg_view("bookmark_tools/list/bookmarks", array("bmfolder" => $folder, "bookmarks" => $bookmarks, 'sort_by' => $sort_by, 'direction' => $direction)); } else { // build breadcrumb elgg_push_breadcrumb(elgg_echo('bookmarks'), "bookmarks/all"); elgg_push_breadcrumb($page_owner->name); // register title button to add a new bookmark elgg_register_title_button(); // get data for tree $folders = bookmark_tools_get_folders($page_owner_guid); // build page elements $title_text = elgg_echo("bookmarks:owner", array($page_owner->name)); $body = elgg_view("bookmark_tools/list/bookmarks", array("bmfolder" => $folder, "bookmarks" => $bookmarks, 'sort_by' => $sort_by, 'direction' => $direction)); //$body = "<div id='bookmark_tools_list_bookmarks_container'>" . elgg_view("graphics/ajax_loader", array("hidden" => false)) . "</div>"; //$body = "<div id='bookmark_tools_list_bookmarks_container'>" . elgg_view("bookmark_tools/list/bookmarks", array("bmfolder" => $folder, "bookmarks" => $bookmarks, 'sort_by' => $sort_by, 'direction' => $direction)) . "</div>"; if (elgg_get_viewtype() == 'default') { $body = "<div id='bookmark_tools_list_bookmarks_container'>" . $body . "</div>"; } // make sidebar $sidebar = elgg_view("bookmark_tools/list/tree", array("bmfolder" => $folder, "bmfolders" => $folders)); $sidebar .= elgg_view("bookmark_tools/sidebar/sort_options"); $sidebar .= elgg_view("bookmark_tools/sidebar/info"); $sidebar .= elgg_view('page/elements/tagcloud_block', array('subtypes' => 'bookmarks', 'owner_guid' => elgg_get_page_owner_guid())); // build page params $params = array('title' => $title_text, 'content' => $body, 'sidebar' => $sidebar);
function bookmark_tools_folder_sidebar_tree_hook($hook, $type, $returnvalue, $params) { $result = $returnvalue; if (!empty($params) && is_array($params)) { $container = elgg_extract("container", $params); if (!empty($container) && (elgg_instanceof($container, "user") || elgg_instanceof($container, "group"))) { $main_menu_item = ElggMenuItem::factory(array("name" => "root", "text" => elgg_echo("bookmark_tools:list:folder:main"), "href" => "#", "id" => "0", "rel" => "root", "priority" => 0)); if ($folders = bookmark_tools_get_folders($container->getGUID())) { $main_menu_item->setChildren(bookmark_tools_make_menu_items($folders)); } $result[] = $main_menu_item; } } return $result; }