function sp_TopicIndexIcon($args = '') { global $spThisForum, $spThisTopic; $defs = array('tagId' => 'spTopicIndexIcon%ID%', 'tagClass' => 'spRowIcon', 'icon' => 'sp_TopicIcon.png', 'iconUnread' => 'sp_TopicIconPosts.png', 'iconLocked' => 'sp_TopicIconLocked.png', 'iconPinned' => 'sp_TopicIconPinned.png', 'echo' => 1, 'get' => 0); $a = wp_parse_args($args, $defs); $a = apply_filters('sph_TopicIndexIcon_args', $a); extract($a, EXTR_SKIP); # sanitize before use $tagId = esc_attr($tagId); $tagClass = esc_attr($tagClass); $echo = (int) $echo; $get = (int) $get; $tagId = str_ireplace('%ID%', $spThisTopic->topic_id, $tagId); $path = SPTHEMEICONSDIR; $url = SPTHEMEICONSURL; if ($spThisTopic->topic_status || $spThisForum->forum_status) { $tIcon = sanitize_file_name($iconLocked); if (!empty($spThisForum->topic_icon_locked)) { $tIcon = sanitize_file_name($spThisForum->topic_icon_locked); $path = SFCUSTOMDIR; $url = SFCUSTOMURL; } } elseif ($spThisTopic->topic_pinned) { $tIcon = sanitize_file_name($iconPinned); if (!empty($spThisForum->topic_icon_pinned)) { $tIcon = sanitize_file_name($spThisForum->topic_icon_pinned); $path = SFCUSTOMDIR; $url = SFCUSTOMURL; } } elseif ($spThisTopic->unread) { $tIcon = sanitize_file_name($iconUnread); if (!empty($spThisForum->topic_icon_new)) { $tIcon = sanitize_file_name($spThisForum->topic_icon_new); $path = SFCUSTOMDIR; $url = SFCUSTOMURL; } } else { $tIcon = sanitize_file_name($icon); if (!empty($spThisForum->topic_icon)) { $tIcon = sanitize_file_name($spThisForum->topic_icon); $path = SFCUSTOMDIR; $url = SFCUSTOMURL; } } if (!file_exists($path . $tIcon)) { $tIcon = sp_paint_icon($tagClass, SPTHEMEICONSURL, $icon); } else { $tIcon = sp_paint_custom_icon($tagClass, $url . $tIcon); } if ($get) { return $tIcon; } $out = sp_paint_icon_id($tIcon, $tagId); $out = apply_filters('sph_TopicIndexIcon', $out, $a); if ($echo) { echo $out; } else { return $out; } }
function sp_ListTopicIcon($args = '') { global $spThisListTopic; $defs = array('tagId' => 'spListTopicIcon%ID%', 'tagClass' => 'spRowIconSmall', 'icon' => 'sp_TopicIconSmall.png', 'echo' => 1, 'get' => 0); $a = wp_parse_args($args, $defs); $a = apply_filters('sph_ListTopicIcon_args', $a); extract($a, EXTR_SKIP); # sanitize before use $tagId = esc_attr($tagId); $tagClass = esc_attr($tagClass); $echo = (int) $echo; $get = (int) $get; $tagId = str_ireplace('%ID%', $spThisListTopic->topic_id, $tagId); $path = SPTHEMEICONSDIR; $url = SPTHEMEICONSURL; if (isset($spThisListTopic->new_post_count) && $spThisListTopic->new_post_count > 0) { $tIcon = sanitize_file_name($icon); if (!empty($spThisListTopic->topic_icon_new)) { $tIcon = sanitize_file_name($spThisListTopic->topic_icon_new); $path = SFCUSTOMDIR; $url = SFCUSTOMURL; } } else { $tIcon = sanitize_file_name($icon); if (!empty($spThisListTopic->topic_icon)) { $tIcon = sanitize_file_name($spThisListTopic->topic_icon); $path = SFCUSTOMDIR; $url = SFCUSTOMURL; } } if (!file_exists($path . $tIcon)) { $tIcon = sp_paint_icon($tagClass, SPTHEMEICONSURL, sanitize_file_name($icon)); } else { $tIcon = sp_paint_custom_icon($tagClass, $url . $tIcon); } if ($get) { return $tIcon; } $out = sp_paint_icon_id($tIcon, $tagId); $out = apply_filters('sph_ListTopicIcon', $out, $a); if ($echo) { echo $out; } else { return $out; } }
function sp_PostNewButton($args = '', $label = '', $toolTip = '', $toolTipLock = '', $toolTipDenied = '') { global $spThisTopic, $spGlobals, $spThisUser; # can be empty if request is for a bogus topic slug if (empty($spThisTopic)) { return; } if ($spThisTopic->editmode) { return; } $allowed = $spThisTopic->reply_own_topics && $spThisTopic->topic_starter == $spThisUser->ID; if ($spThisTopic->reply_topics) { $allowed = true; } $defs = array('tagId' => 'spPostNewButton', 'tagClass' => 'spButton', 'icon' => 'sp_NewPost.png', 'iconLock' => 'sp_TopicStatusLock.png', 'iconDenied' => 'sp_WriteDenied.png', 'iconClass' => 'spIcon', 'iconStatusClass' => 'spIcon', 'echo' => 1); $a = wp_parse_args($args, $defs); $a = apply_filters('sph_PostNewButton_args', $a); extract($a, EXTR_SKIP); # sanitize before use $tagId = esc_attr($tagId); $tagClass = esc_attr($tagClass); $icon = sanitize_file_name($icon); $iconClass = esc_attr($iconClass); $iconStatusClass = esc_attr($iconStatusClass); $toolTip = esc_attr($toolTip); $toolTipLock = esc_attr($toolTipLock); $echo = (int) $echo; # is the forum locked? $out = ''; $lock = false; if ($spGlobals['lockdown'] || $spThisTopic->forum_status || $spThisTopic->topic_status) { if (!empty($iconLock)) { $iconLock = sp_paint_icon($tagClass . ' ' . $iconStatusClass, SPTHEMEICONSURL, sanitize_file_name($iconLock), $toolTipLock); $out .= sp_paint_icon_id($iconLock, $tagId); } if (!$spThisUser->admin) { $lock = true; } } if (!$lock && $allowed) { $out .= "<a href='javascript:void(null)' class='{$tagClass}' id='{$tagId}' title='{$toolTip}' onclick='spjOpenEditor(\"spPostForm\", \"post\");'>\n"; if (!empty($icon)) { $out .= sp_paint_icon($iconClass, SPTHEMEICONSURL, $icon); } if (!empty($label)) { $out .= sp_filter_title_display($label); } $out .= "</a>\n"; } # Display if user not allowed to start topics if (!$allowed && !empty($toolTipDenied)) { if (!empty($iconDenied)) { $out .= "<a href='#' class='{$tagClass}' id='{$tagId}' title='{$toolTipDenied}'>\n"; $out .= sp_paint_icon($iconStatusClass, SPTHEMEICONSURL, sanitize_file_name($iconDenied), $toolTipDenied); $out .= "</a>\n"; } } $out = apply_filters('sph_PostNewButton', $out, $a); if ($echo) { echo $out; } else { return $out; } }
function sp_MembersUsergroupIcon($args = '') { global $spThisMemberGroup; if (!sp_get_auth('view_members_list')) { return; } $defs = array('tagId' => 'spUsergroupIcon%ID%', 'tagClass' => 'spHeaderIcon', 'icon' => 'sp_MembersIcon.png', 'echo' => 1, 'get' => 0); $a = wp_parse_args($args, $defs); $a = apply_filters('sph_UsergroupIcon_args', $a); extract($a, EXTR_SKIP); # sanitize before use $tagId = esc_attr($tagId); $tagClass = esc_attr($tagClass); $icon = sanitize_file_name($icon); $echo = (int) $echo; $get = (int) $get; $tagId = str_ireplace('%ID%', $spThisMemberGroup->usergroup_id, $tagId); $icon = sp_paint_icon($tagClass, SPTHEMEICONSURL, sanitize_file_name($icon)); if ($get) { return $icon; } $out = sp_paint_icon_id($icon, $tagId); $out = apply_filters('sph_UsergroupIcon', $out, $a); if ($echo) { echo $out; } else { return $out; } }