function sp_render_topic_tools($topic, $forum, $page)
{
    global $spThisUser;
    $br = current_theme_supports('sp-theme-responsive') ? '<br />' : '';
    $topicname = urlencode(sp_filter_title_display($topic['topic_name']));
    $out = '';
    $out .= '<div id="spMainContainer" class="spForumToolsPopup">';
    $out .= '<div class="spAdminLinksPopup">';
    $out .= '<div class="spForumToolsHeader">';
    $out .= '<div class="spForumToolsHeaderTitle">' . sp_filter_title_display($topic['topic_name']) . '</div>';
    $out .= '</div>';
    $out .= sp_open_grid();
    $out .= sp_render_common_tools($forum, $topic, '', $page, $br);
    if ($spThisUser->admin) {
        $out .= sp_open_grid_cell();
        $out .= '<div class="spForumToolsOrder">';
        $site = SFHOMEURL . 'index.php?sp_ahah=admintools&amp;sfnonce=' . wp_create_nonce('forum-ahah') . '&amp;action=sort-forum&amp;forumid=' . $forum['forum_id'];
        $out .= '<a href="javascript:void(null)" onclick="spjLoadTool(\'' . $site . '\', \'spMainContainer\', \'\');">';
        $out .= sp_paint_icon('spIcon', SPTHEMEICONSURL, 'sp_ToolsSort.png') . $br;
        $out .= sp_text('Reverse sort this forum') . '</a>';
        $out .= '</div>';
        $out .= sp_close_grid_cell();
    }
    # add filter now so that propeties is always the bottom tool
    $out = apply_filters('sph_add_topic_tool', $out, $topic, $forum, $page, $br);
    if ($spThisUser->admin || $spThisUser->moderator) {
        $out .= sp_open_grid_cell();
        $title = sp_text('View properties');
        $site = SFHOMEURL . 'index.php?sp_ahah=admintools&amp;sfnonce=' . wp_create_nonce('forum-ahah') . '&amp;action=properties&amp;group=' . $forum['group_id'] . '&amp;forum=' . $forum['forum_id'] . '&amp;topic=' . $topic['topic_id'];
        $out .= '<div class="spForumToolsProperties">';
        $out .= '<a rel="nofollow" href="javascript:void(null)" onclick="spjDialogAjax(this, \'' . $site . '\', \'' . esc_js($title) . '\', 400, 0, \'center\');">';
        $out .= sp_paint_icon('spIcon', SPTHEMEICONSURL, 'sp_ToolsProperties.png') . $br;
        $out .= $title . '</a>';
        $out .= '</div>';
        $out .= sp_close_grid_cell();
    }
    $out .= sp_close_grid();
    $out .= '</div></div>';
    $out = apply_filters('sph_topic_tools', $out, $topic, $forum, $page, $br);
    return $out;
}
function sp_MobileMenuStart($args = '', $header = '')
{
    $defs = array('tagId' => 'spMobileMenuId', 'tagClass' => '', 'context' => '', 'linkClass' => 'spButton', 'icon' => 'sp_MobileMenu.png', 'iconClass' => 'spIcon', 'echo' => 1);
    $a = wp_parse_args($args, $defs);
    $a = apply_filters('sph_MobileMenu_args', $a);
    extract($a, EXTR_SKIP);
    # sanitize before use
    $tagId = esc_attr($tagId);
    $tagClass = esc_attr($tagClass);
    $context = esc_attr($context);
    $linkClass = esc_attr($linkClass);
    $icon = sanitize_file_name($icon);
    $iconClass = esc_attr($iconClass);
    $echo = (int) $echo;
    # check for context. At this stage only 'postLoop' is active
    if ($context == 'postLoop') {
        global $spThisPost;
        $tagId = $tagId . $spThisPost->post_id;
    }
    $out = '';
    $source = '#' . $tagId;
    $out = "<a class='{$tagClass}' title='{$header}' href='#' onclick='spjDialogPanelHTML(this, \"{$source}\");'>";
    if (!empty($icon)) {
        $out .= sp_paint_icon($iconClass, SPTHEMEICONSURL, $icon);
    }
    if (!empty($header)) {
        $out .= $header;
    }
    $out .= "</a>\n";
    $out .= "<div id='{$tagId}' class='spAdminLinksPopup' style='display:none;'>";
    $out .= "<div class='spAdminLinksPopup'>";
    $out .= '<div class="spForumToolsHeader">';
    $out .= '<div class="spForumToolsHeaderTitle">' . $header . '</div>';
    $out .= '</div>';
    $out .= sp_open_grid();
    $out = apply_filters('sph_MobileMenuStart', $out, $a);
    if ($echo) {
        echo $out;
    } else {
        return $out;
    }
}