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&sfnonce=' . wp_create_nonce('forum-ahah') . '&action=sort-forum&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&sfnonce=' . wp_create_nonce('forum-ahah') . '&action=properties&group=' . $forum['group_id'] . '&forum=' . $forum['forum_id'] . '&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; } }