Beispiel #1
0
function forums_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, "group") || elgg_instanceof($container, "object", "hjforum") || elgg_instanceof($container, "object", "hjforumtopic"))) {
            $main_menu_item = ElggMenuItem::factory(array("name" => "root", "text" => elgg_echo("hj:forum:main"), "href" => "#", "id" => "0", "rel" => "root", "priority" => 0));
            if ($sub_forums = hj_forums_get_forums($container->getGUID())) {
                $main_menu_item->setChildren(hj_forums_make_menu_items($sub_forums));
            }
            $result[] = $main_menu_item;
        }
    }
    return $result;
}
Beispiel #2
0
function hj_forums_make_menu_items($forums)
{
    $result = false;
    if (!empty($forums) && is_array($forums)) {
        $result = array();
        foreach ($forums as $index => $level) {
            if ($forum = elgg_extract("forum", $level)) {
                $options = array("name" => "forum_" . $forum->getGUID(), "text" => $forum->title, "href" => elgg_get_site_url() . "forum/view/" . $forum->getGUID(), "priority" => $forum->order);
                $forum_menu = ElggMenuItem::factory($options);
                if ($children = elgg_extract("children", $level)) {
                    $forum_menu->setChildren(hj_forums_make_menu_items($children));
                }
                $result[] = $forum_menu;
            }
        }
    }
    return $result;
}