Esempio n. 1
0
function bookmark_tools_init()
{
    // extend CSS
    elgg_extend_view("css/elgg", "bookmark_tools/css/site");
    if (bookmark_tools_use_folder_structure()) {
        elgg_extend_view("groups/edit", "bookmark_tools/group_settings");
    }
    // extend js
    elgg_extend_view("js/elgg", "bookmark_tools/js/site");
    // register JS libraries
    $vendors = elgg_get_site_url() . "mod/bookmark_tools/vendors/";
    elgg_register_js("jquery.tree", $vendors . "jstree/jquery.tree.min.js");
    elgg_register_css("jquery.tree", $vendors . "jstree/themes/default/style.css");
    elgg_register_js("jquery.hashchange", $vendors . "hashchange/jquery.hashchange.js");
    // register page handler for nice URL's
    elgg_register_page_handler("bookmark_tools", "bookmark_tools_page_handler");
    // make our own URLs for folders
    elgg_register_entity_url_handler("object", BOOKMARK_TOOLS_SUBTYPE, "bookmark_tools_folder_url_handler");
    // make our own URLs for folder icons
    elgg_register_plugin_hook_handler("entity:icon:url", "object", "bookmark_tools_folder_icon_hook");
    // register group option to allow management of bookmark tree structure
    add_group_tool_option("bookmark_tools_structure_management", elgg_echo("bookmark_tools:group_tool_option:structure_management"));
    // register events
    elgg_register_event_handler("create", "object", "bookmark_tools_object_handler");
    elgg_register_event_handler("update", "object", "bookmark_tools_object_handler");
    elgg_register_event_handler("delete", "object", "bookmark_tools_object_handler_delete");
    // register hooks
    elgg_register_plugin_hook_handler("register", "menu:entity", "bookmark_tools_entity_menu_hook");
    elgg_register_plugin_hook_handler("permissions_check:metadata", "object", "bookmark_tools_can_edit_metadata_hook");
    elgg_register_plugin_hook_handler("route", "bookmarks", "bookmark_tools_bookmark_route_hook");
    elgg_register_plugin_hook_handler("route", "bookmarks_tree", "bookmark_tools_forward_old_link");
    elgg_register_plugin_hook_handler("register", "menu:bookmark_tools_folder_breadcrumb", "bookmark_tools_folder_breadcrumb_hook");
    elgg_register_plugin_hook_handler("register", "menu:bookmark_tools_folder_sidebar_tree", "bookmark_tools_folder_sidebar_tree_hook");
    // register actions
    elgg_register_action("bookmark_tools/groups/save_sort", dirname(__FILE__) . "/actions/groups/save_sort.php");
    elgg_register_action("bookmark_tools/folder/edit", dirname(__FILE__) . "/actions/folder/edit.php");
    elgg_register_action("bookmark_tools/bmfolder/delete", dirname(__FILE__) . "/actions/folder/delete.php");
    elgg_register_action("bookmark_tools/folder/reorder", dirname(__FILE__) . "/actions/folder/reorder.php");
    elgg_register_action("bookmark_tools/bookmarks/hide", dirname(__FILE__) . "/actions/bookmarks/hide.php");
    elgg_register_action("bookmark/move", dirname(__FILE__) . "/actions/bookmarks/move.php");
    elgg_register_action("bookmark/bulk_delete", dirname(__FILE__) . "/actions/bookmarks/bulk_delete.php");
}
Esempio n. 2
0
function bookmark_tools_bookmark_route_hook($hook, $type, $returnvalue, $params)
{
    $result = $returnvalue;
    if (!empty($returnvalue) && is_array($returnvalue)) {
        $page = elgg_extract("segments", $returnvalue);
        switch ($page[0]) {
            case "view":
                if (!elgg_is_logged_in() && isset($page[1])) {
                    if (!get_entity($page[1])) {
                        gatekeeper();
                    }
                }
                break;
            case "owner":
                if (bookmark_tools_use_folder_structure()) {
                    $result = false;
                    include dirname(dirname(__FILE__)) . "/pages/list.php";
                }
                break;
            case "group":
                if (bookmark_tools_use_folder_structure()) {
                    $result = false;
                    include dirname(dirname(__FILE__)) . "/pages/list.php";
                }
                break;
            case "add":
                $user = get_user_by_username($page[1]);
                if ($user) {
                    $search = elgg_get_site_url() . 'bookmarks/add/' . $user->username;
                    $replace = elgg_get_site_url() . 'bookmarks/add/' . $user->guid;
                    $url = str_replace($search, $replace, current_page_url());
                    forward($url);
                }
                break;
        }
    }
    return $result;
}
Esempio n. 3
0
	<?php 
echo elgg_view('input/longtext', array('name' => 'description', 'value' => $desc));
?>
</div>
<div>
	<label><?php 
echo elgg_echo('tags');
?>
</label>
	<?php 
echo elgg_view('input/tags', array('name' => 'tags', 'value' => $tags));
?>
</div>
<?php 
if (elgg_is_active_plugin('bookmark_tools')) {
    if (bookmark_tools_use_folder_structure()) {
        $parent_guid = 0;
        if ($bookmark = elgg_extract("entity", $vars)) {
            if ($folders = $bookmark->getEntitiesFromRelationship(BOOKMARK_TOOLS_RELATIONSHIP, true, 1)) {
                $parent_guid = $folders[0]->getGUID();
            }
        }
        ?>
		<div>
			<label><?php 
        echo elgg_echo("bookmark_tools:forms:edit:parent");
        ?>
<br />
			<?php 
        echo elgg_view("input/bmfolder_select", array("name" => "bmfolder_guid", "value" => $parent_guid));
        ?>