function stats_get_html() { // Get webtag $webtag = get_webtag(); // Current active user UID $uid = session::get_value('UID'); // Number of active users $session_count = stats_get_active_session_count(); // Number of recent posts. $recent_post_count = stats_get_recent_post_count(); // Update the stats records. stats_update($session_count, $recent_post_count); // User Profile link $user_profile_link = '%s<a href="user_profile.php?webtag=%s&uid=%s" target="_blank" class="popup 650x500"><span class="%s" title="%s">%s</span></a>'; // Newest ser Profile link $new_user_profile_link = '<a href="user_profile.php?webtag=%s&uid=%s" target="_blank" class="popup 650x500">%s</a>'; // Search Engine Bot link $search_engine_bot_link = '<a href="%s" target="_blank"><span class="user_stats_normal">%s</span></a>'; // Output the HTML. if ($user_stats = stats_get_active_user_list()) { $active_user_list_array = array(); $html = "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td> </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= " <tr>\n"; $html .= " <td> </td>\n"; $html .= " <td>"; if (forum_get_setting('guest_show_recent', 'Y') && user_guest_enabled()) { if ($user_stats['GUESTS'] != 1) { $active_user_list_array[] = sprintf(gettext("<b>%s</b> guests"), $user_stats['GUESTS']); } else { $active_user_list_array[] = gettext("<b>1</b> guest"); } } if ($user_stats['USER_COUNT'] != 1) { $active_user_list_array[] = sprintf(gettext("<b>%s</b> members"), $user_stats['USER_COUNT']); } else { $active_user_list_array[] = gettext("<b>1</b> member"); } if ($user_stats['ANON_USERS'] != 1) { $active_user_list_array[] = sprintf(gettext("<b>%s</b> anonymous members"), $user_stats['ANON_USERS']); } else { $active_user_list_array[] = gettext("<b>1</b> anonymous member"); } $active_user_list = implode(", ", $active_user_list_array); $active_user_time = format_time_display(ini_get('session.gc_maxlifetime'), false); $html .= sprintf(gettext("%s active in the past %s."), $active_user_list, $active_user_time); $html .= " [ <a href=\"start.php?webtag={$webtag}&show=visitors\" target=\"" . html_get_frame_name('main') . "\">" . gettext("View Complete List") . "</a> ]\n"; $html .= " </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; if (sizeof($user_stats['USERS']) > 0) { $active_users_array = array(); foreach ($user_stats['USERS'] as $user) { $active_user_title = ''; $active_user_class = ''; $active_user_avatar = ''; if (isset($user['BOT_NAME']) && isset($user['BOT_URL'])) { $active_user_display = word_filter_add_ob_tags($user['BOT_NAME'], true); $active_user_display = sprintf($search_engine_bot_link, $user['BOT_URL'], $active_user_display); $active_users_array[] = $active_user_display; } else { $active_user_logon = format_user_name($user['LOGON'], $user['NICKNAME']); $active_user_display = str_replace(" ", " ", word_filter_add_ob_tags($active_user_logon, true)); if ($user['UID'] == $uid) { if (isset($user['ANON_LOGON']) && $user['ANON_LOGON'] > USER_ANON_DISABLED) { $active_user_title = gettext("You (Invisible)"); $active_user_class = 'user_stats_curuser'; } else { $active_user_title = gettext("You"); $active_user_class = 'user_stats_curuser'; } } else { if (($user['RELATIONSHIP'] & USER_FRIEND) > 0) { $active_user_title = gettext("Friend"); $active_user_class = 'user_stats_friend'; } else { $active_user_class = 'user_stats_normal'; } } if (isset($user['AVATAR_URL']) && strlen($user['AVATAR_URL']) > 0) { $active_user_avatar = sprintf('<a href="user_profile.php?webtag=%s&uid=%s" target="_blank" class="popup 650x500"> <img src="%s" title="%s" alt="" border="0" width="16" height="16" /> </a>', $webtag, $user['UID'], $user['AVATAR_URL'], htmlentities_array($active_user_title)); } else { if (isset($user['AVATAR_AID']) && is_md5($user['AVATAR_AID'])) { $attachment = attachments_get_by_hash($user['AVATAR_AID']); if (!($user_avatar_picture = attachments_make_link($attachment, false, false, false, false))) { $active_user_avatar = sprintf('<a href="user_profile.php?webtag=%s&uid=%s" target="_blank" class="popup 650x500"> <img src="%s&avatar_picture" title="%s" alt="" border="0" width="16" height="16" /> </a>', $webtag, $user['UID'], $user_avatar_picture, htmlentities_array($active_user_title)); } } } $active_users_array[] = sprintf($user_profile_link, $active_user_avatar, $webtag, $user['UID'], $active_user_class, $active_user_title, $active_user_display); } } $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td> </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= " <tr>"; $html .= " <td> </td>\n"; $html .= " <td class=\"activeusers\">\n"; $html .= " " . implode(", ", $active_users_array) . "\n"; $html .= " </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; } $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; } $thread_count = stats_get_thread_count(); $post_count = stats_get_post_count(); $html .= "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td>"; if ($thread_count != 1) { $num_threads_display = sprintf(gettext("<b>%s</b> threads"), number_format($thread_count, 0, ".", ",")); } else { $num_threads_display = gettext("<b>1</b> thread"); } if ($post_count != 1) { $num_posts_display = sprintf(gettext("<b>%s</b> posts"), number_format($post_count, 0, ".", ",")); } else { $num_posts_display = gettext("<b>1</b> post"); } $html .= sprintf(gettext("Our members have made a total of %s and %s."), $num_threads_display, $num_posts_display) . '<br />'; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; if ($longest_thread = stats_get_longest_thread()) { $html .= "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td>"; $longest_thread_title = word_filter_add_ob_tags($longest_thread['TITLE'], true); $longest_thread_link = sprintf("<a href=\"./index.php?webtag={$webtag}&msg=%d.1\">%s</a>", $longest_thread['TID'], $longest_thread_title); $longest_thread_post_count = $longest_thread['LENGTH'] != 1 ? sprintf(gettext("<b>%s</b> posts"), $longest_thread['LENGTH']) : gettext("<b>1</b> post"); $html .= sprintf(gettext("Longest thread is <b>%s</b> with %s."), $longest_thread_link, $longest_thread_post_count); $html .= " </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; } $html .= "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td> </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; $html .= "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td>"; if ($recent_post_count != 1) { $recent_post_count = number_format($recent_post_count, 0, ",", ","); $html .= sprintf(gettext("There have been <b>%s</b> posts made in the last 60 minutes."), $recent_post_count); } else { $html .= gettext("There has been <b>1</b> post made in the last 60 minutes."); } $html .= " </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; if ($most_posts = stats_get_most_posts()) { if ($most_posts['MOST_POSTS_COUNT'] > 0 && $most_posts['MOST_POSTS_DATE'] > 0) { $html .= "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td>"; $post_stats_record_date = format_time($most_posts['MOST_POSTS_DATE']); $html .= sprintf(gettext("Most posts ever made in a single 60 minute period is <b>%s</b> on %s."), $most_posts['MOST_POSTS_COUNT'], $post_stats_record_date); $html .= " </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; } } if ($user_count = user_count()) { $html .= "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td> </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td>"; if ($user_count != 1) { if ($newest_member = stats_get_newest_user()) { $user_newest_display = word_filter_add_ob_tags(format_user_name($newest_member['LOGON'], $newest_member['NICKNAME']), true); $user_newest_profile_link = sprintf($new_user_profile_link, $webtag, $newest_member['UID'], $user_newest_display); $html .= sprintf(gettext("We have <b>%s</b> registered members and the newest member is <b>%s</b>."), $user_count, $user_newest_profile_link); } else { $html .= sprintf(gettext("We have %s registered members."), $user_count); } } else { $html .= gettext("We have one registered member."); } $html .= " </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; } if ($most_users = stats_get_most_users()) { if ($most_users['MOST_USERS_COUNT'] > 0 && $most_users['MOST_USERS_DATE'] > 0) { $html .= "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td>"; $most_users_count = number_format($most_users['MOST_USERS_COUNT'], 0, ",", ","); $most_users_date = format_time($most_users['MOST_USERS_DATE']); $html .= sprintf(gettext("Most users ever online was <b>%s</b> on %s."), $most_users_count, $most_users_date); $html .= " </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; } } $html .= "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td> </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; $html .= "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"posthead\">\n"; $html .= " <tr>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " <td> </td>\n"; $html .= " <td width=\"35\"> </td>\n"; $html .= " </tr>\n"; $html .= "</table>\n"; // Return the output buffer contents. return $html; }
echo " <td align=\"center\">\n"; echo " <table class=\"posthead\" width=\"100%\">\n"; // Get recent visitors if ($recent_visitors_array = visitor_log_get_recent()) { echo " <tr>\n"; echo " <td align=\"center\">\n"; echo " <table class=\"posthead\" border=\"0\" width=\"100%\" cellpadding=\"2\" cellspacing=\"0\">\n"; foreach ($recent_visitors_array as $recent_visitor) { if (isset($recent_visitor['LAST_LOGON']) && $recent_visitor['LAST_LOGON'] > 0) { echo " <tr>\n"; if (session::get_value('SHOW_AVATARS') == 'Y') { if (isset($recent_visitor['AVATAR_URL']) && strlen($recent_visitor['AVATAR_URL']) > 0) { echo " <td valign=\"top\" class=\"postbody\" align=\"left\" width=\"25\"><img src=\"{$recent_visitor['AVATAR_URL']}\" alt=\"\" title=\"", word_filter_add_ob_tags(htmlentities_array(format_user_name($recent_visitor['LOGON'], $recent_visitor['NICKNAME']))), "\" border=\"0\" width=\"16\" height=\"16\" /></td>\n"; } else { if (isset($recent_visitor['AVATAR_AID']) && is_md5($recent_visitor['AVATAR_AID'])) { $attachment = attachments_get_by_hash($recent_visitor['AVATAR_AID']); if ($profile_picture_href = attachments_make_link($attachment, false, false, false, false)) { echo " <td valign=\"top\" class=\"postbody\" align=\"left\" width=\"25\"><img src=\"{$profile_picture_href}&avatar_picture\" alt=\"\" title=\"", word_filter_add_ob_tags(htmlentities_array(format_user_name($recent_visitor['LOGON'], $recent_visitor['NICKNAME']))), "\" border=\"0\" width=\"16\" height=\"16\" /></td>\n"; } else { echo " <td valign=\"top\" align=\"left\" class=\"postbody\" width=\"25\"><img src=\"", html_style_image('bullet.png'), "\" alt=\"", gettext('User'), "\" title=\"", gettext('User'), "\" /></td>\n"; } } else { echo " <td valign=\"top\" align=\"left\" class=\"postbody\" width=\"25\"><img src=\"", html_style_image('bullet.png'), "\" alt=\"", gettext('User'), "\" title=\"", gettext('User'), "\" /></td>\n"; } } } else { echo " <td valign=\"top\" align=\"left\" class=\"postbody\" width=\"25\"><img src=\"", html_style_image('bullet.png'), "\" alt=\"", gettext('User'), "\" title=\"", gettext('User'), "\" /></td>\n"; } if (isset($recent_visitor['SID']) && !is_null($recent_visitor['SID']) && forum_get_setting('searchbots_show_recent', 'Y')) { echo " <td valign=\"top\" align=\"left\"><a href=\"{$recent_visitor['URL']}\" target=\"_blank\">", word_filter_add_ob_tags(htmlentities_array($recent_visitor['NAME'])), "</a></td>\n"; } else {
function message_display($tid, $message, $msg_count, $first_msg, $folder_fid, $in_list = true, $closed = false, $limit_text = true, $is_poll = false, $show_sigs = true, $is_preview = false, $highlight_array = array()) { $perm_is_moderator = session::check_perm(USER_PERM_FOLDER_MODERATE, $folder_fid); $post_edit_time = forum_get_setting('post_edit_time', null, 0); $post_edit_grace_period = forum_get_setting('post_edit_grace_period', null, 0); $webtag = get_webtag(); if (($uid = session::get_value('UID')) === false) { return; } if ($posts_per_page = session::get_value('POSTS_PER_PAGE')) { if ($posts_per_page < 10) { $posts_per_page = 10; } if ($posts_per_page > 30) { $posts_per_page = 30; } } else { $posts_per_page = 20; } if (($quick_reply = session::get_value('REPLY_QUICK')) === false) { $quick_reply = 'N'; } if ((!isset($message['CONTENT']) || $message['CONTENT'] == "") && !$is_preview) { message_display_deleted($tid, isset($message['PID']) ? $message['PID'] : 0, $message, $in_list, $is_preview, $first_msg, $msg_count, $posts_per_page); return; } $from_user_permissions = perm_get_user_permissions($message['FROM_UID']); if ($uid != $message['FROM_UID']) { if ($from_user_permissions & USER_PERM_WORMED && !$perm_is_moderator) { message_display_deleted($tid, $message['PID'], $message, $in_list, $is_preview, $first_msg, $msg_count, $posts_per_page); return; } } if (!isset($message['FROM_RELATIONSHIP'])) { $message['FROM_RELATIONSHIP'] = 0; } if (!isset($message['TO_RELATIONSHIP'])) { $message['TO_RELATIONSHIP'] = 0; } if ($message['TO_RELATIONSHIP'] & USER_IGNORED_COMPLETELY || $message['FROM_RELATIONSHIP'] & USER_IGNORED_COMPLETELY) { message_display_deleted($tid, $message['PID'], $message, $in_list, $is_preview, $first_msg, $msg_count, $posts_per_page); return; } // Add emoticons/WikiLinks and ignore signature ---------------------------- if (session::get_value('IMAGES_TO_LINKS') == 'Y') { $message['CONTENT'] = preg_replace('/<a([^>]*)href="([^"]*)"([^\\>]*)><img[^>]*src="([^"]*)"[^>]*><\\/a>/iu', '[href: <a\\1href="\\2"\\3>\\2</a>][img: <a\\1href="\\4"\\3>\\4</a>]', $message['CONTENT']); $message['CONTENT'] = preg_replace('/<img[^>]*src="([^"]*)"[^>]*>/iu', '[img: <a href="\\1">\\1</a>]', $message['CONTENT']); $message['CONTENT'] = preg_replace('/<embed[^>]*src="([^"]*)"[^>]*>/iu', '[object: <a href="\\1">\\1</a>]', $message['CONTENT']); } if (!$is_poll || $is_poll && isset($message['PID']) && $message['PID'] > 1) { $message['CONTENT'] = message_apply_formatting($message['CONTENT'], $message['FROM_RELATIONSHIP'] & USER_IGNORED_SIG || !$show_sigs); } // Check length of post to see if we should truncate it for display -------- if (mb_strlen(strip_tags($message['CONTENT'])) > intval(forum_get_setting('maximum_post_length', null, 6226)) && $limit_text) { $cut_msg = mb_substr($message['CONTENT'], 0, intval(forum_get_setting('maximum_post_length', null, 6226))); $cut_msg = preg_replace("/(<[^>]+)?\$/Du", "", $cut_msg); $message['CONTENT'] = fix_html($cut_msg); $message['CONTENT'] .= "…[" . gettext("Message Truncated") . "]\n<p align=\"center\"><a href=\"display.php?webtag={$webtag}&msg={$tid}.{$message['PID']}\" target=\"_self\">" . gettext("View full message") . "</a>"; } // Check for words that should be filtered --------------------------------- if (!$is_poll || $is_poll && isset($message['PID']) && $message['PID'] > 1) { $message['CONTENT'] = word_filter_add_ob_tags($message['CONTENT'], false); } if ($in_list && isset($message['PID'])) { echo "<a name=\"a{$tid}_{$message['PID']}\"></a>\n"; } // Check for search words to highlight ------------------------------------- if (is_array($highlight_array) && sizeof($highlight_array) > 0) { $highlight_pattern = array(); $highlight_replace = array(); foreach ($highlight_array as $key => $word) { $highlight_word = preg_quote($word, "/"); $highlight_pattern[$key] = "/({$highlight_word})/iu"; $highlight_replace[$key] = "<span class=\"highlight\">\\1</span>"; } $message_parts = preg_split('/([<|>])/u', $message['CONTENT'], -1, PREG_SPLIT_DELIM_CAPTURE); for ($i = 0; $i < sizeof($message_parts); $i++) { if (!($i % 4)) { $message_parts[$i] = preg_replace($highlight_pattern, $highlight_replace, $message_parts[$i], 1); } } $message['CONTENT'] = implode("", $message_parts); } // Little up/down arrows to the left of each message ----------------------- if (forum_get_setting('require_post_approval', 'Y') && $message['FROM_UID'] != $uid) { if (isset($message['APPROVED']) && $message['APPROVED'] == 0 && !$perm_is_moderator) { message_display_approval_req($tid, $message['PID'], $in_list, $is_preview, $first_msg, $msg_count, $posts_per_page); return; } } // OUTPUT MESSAGE ---------------------------------------------------------- if (!$is_preview && $message['MOVED_TID'] > 0 && $message['MOVED_PID'] > 0) { $post_link = "<a href=\"messages.php?webtag={$webtag}&msg=%s.%s\" target=\"_self\">%s</a>"; $post_link = sprintf($post_link, $message['MOVED_TID'], $message['MOVED_PID'], gettext("here")); echo "<div align=\"center\">\n"; echo "<table class=\"thread_track_notice\" width=\"96%\">\n"; echo " <tr>\n"; echo " <td align=\"left\">", sprintf(gettext("<b>Thread Split:</b> This post has been moved %s"), $post_link), "</td>\n"; echo " </tr>\n"; echo "</table>\n"; echo "</div>\n"; echo $in_list ? "<br />\n" : ''; return; } echo "<div align=\"center\">\n"; echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">\n"; echo " <tr>\n"; if ($in_list && !$is_preview) { message_display_navigation($tid, $message['PID'], $first_msg, $msg_count, $posts_per_page); } echo " <td align=\"center\">\n"; echo " <table width=\"100%\" class=\"box\" cellpadding=\"0\">\n"; echo " <tr>\n"; echo " <td align=\"left\">\n"; echo " <table class=\"posthead\" width=\"100%\">\n"; echo " <tr>\n"; echo " <td width=\"1%\" align=\"right\" style=\"white-space: nowrap\"><span class=\"posttofromlabel\"> ", gettext("From"), ": </span></td>\n"; echo " <td style=\"white-space: nowrap\" width=\"98%\" align=\"left\"><span class=\"posttofrom\">"; if ($message['FROM_UID'] > -1) { echo "<a href=\"user_profile.php?webtag={$webtag}&uid={$message['FROM_UID']}\" target=\"_blank\" class=\"popup 650x500\">"; echo word_filter_add_ob_tags(format_user_name($message['FLOGON'], $message['FNICK']), true), "</a></span>"; } else { echo word_filter_add_ob_tags(format_user_name($message['FLOGON'], $message['FNICK']), true), "</span>"; } if (session::get_value('SHOW_AVATARS') == 'Y') { if (isset($message['AVATAR_URL']) && strlen($message['AVATAR_URL']) > 0) { echo " <img src=\"{$message['AVATAR_URL']}\" alt=\"\" title=\"", word_filter_add_ob_tags(format_user_name($message['FLOGON'], $message['FNICK']), true), "\" border=\"0\" width=\"16\" height=\"16\" />"; } else { if (isset($message['AVATAR_AID']) && is_md5($message['AVATAR_AID'])) { $attachment = attachments_get_by_hash($message['AVATAR_AID']); if ($profile_picture_href = attachments_make_link($attachment, false, false, false, false)) { echo " <img src=\"{$profile_picture_href}&avatar_picture\" alt=\"\" title=\"", word_filter_add_ob_tags(format_user_name($message['FLOGON'], $message['FNICK']), true), "\" border=\"0\" width=\"16\" height=\"16\" />\n"; } } } } $temp_ignore = false; // If the user posting a poll is ignored, remove ignored status for this message only so the poll can be seen if ($is_poll && isset($message['PID']) && $message['PID'] == 1 && $message['FROM_RELATIONSHIP'] & USER_IGNORED) { $message['FROM_RELATIONSHIP'] -= USER_IGNORED; $temp_ignore = true; } if ($message['FROM_RELATIONSHIP'] & USER_FRIEND) { echo " <img src=\"", html_style_image('friend.png'), "\" alt=\"", gettext("Friend"), "\" title=\"", gettext("Friend"), "\" />"; } else { if ($message['FROM_RELATIONSHIP'] & USER_IGNORED || $temp_ignore) { echo " <img src=\"", html_style_image('enemy.png'), "\" alt=\"", gettext("Ignored user"), "\" title=\"", gettext("Ignored user"), "\" />"; } } echo "</td>\n"; echo " <td width=\"1%\" align=\"right\" style=\"white-space: nowrap\"><span class=\"postinfo\">"; if ($message['FROM_RELATIONSHIP'] & USER_IGNORED && $limit_text && $uid != 0) { echo "<b>", gettext("Ignored message"), "</b>"; } else { if ($in_list) { if ($from_user_permissions & USER_PERM_WORMED) { echo "<b>", gettext("Wormed user"), "</b> "; } if ($message['FROM_RELATIONSHIP'] & USER_IGNORED_SIG) { echo "<b>", gettext("Ignored signature"), "</b> "; } if (forum_get_setting('require_post_approval', 'Y') && isset($message['APPROVED']) && $message['APPROVED'] == 0) { echo "<b>", gettext("Approval Required"), "</b> "; } echo format_time($message['CREATED']); } } echo " </span></td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td width=\"1%\" align=\"right\" style=\"white-space: nowrap\"><span class=\"posttofromlabel\"> ", gettext("To"), ": </span></td>\n"; echo " <td style=\"white-space: nowrap\" width=\"98%\" align=\"left\"><span class=\"posttofrom\">"; if ($message['TLOGON'] != gettext("ALL") && $message['TO_UID'] != 0) { echo "<a href=\"user_profile.php?webtag={$webtag}&uid={$message['TO_UID']}\" target=\"_blank\" class=\"popup 650x500\">"; echo word_filter_add_ob_tags(format_user_name($message['TLOGON'], $message['TNICK']), true), "</a></span>"; if ($message['TO_RELATIONSHIP'] & USER_FRIEND) { echo " <img src=\"", html_style_image('friend.png'), "\" alt=\"", gettext("Friend"), "\" title=\"", gettext("Friend"), "\" />"; } else { if ($message['TO_RELATIONSHIP'] & USER_IGNORED) { echo " <img src=\"", html_style_image('enemy.png'), "\" alt=\"", gettext("Ignored user"), "\" title=\"", gettext("Ignored user"), "\" />"; } } if (isset($message['VIEWED']) && $message['VIEWED'] > 0) { echo " <span class=\"smalltext\"><img src=\"", html_style_image('post_read.png'), "\" alt=\"\" title=\"", sprintf(gettext("Read: %s"), format_time($message['VIEWED'])), "\" /></span>"; } else { if ($is_preview == false) { echo " <span class=\"smalltext\"><img src=\"", html_style_image('post_unread.png'), "\" alt=\"\" title=\"", gettext("Unread Message"), "\" /></span>"; } } } else { echo "", gettext("ALL"), "</span>"; } echo "</td>\n"; echo " <td align=\"right\" style=\"white-space: nowrap\"><span class=\"postinfo\">"; if ($message['FROM_RELATIONSHIP'] & USER_IGNORED && $limit_text && $in_list && $uid != 0) { echo "<a href=\"user_rel.php?webtag={$webtag}&uid={$message['FROM_UID']}&msg={$tid}.{$message['PID']}\" target=\"_self\">", gettext("Stop ignoring this user"), "</a> "; echo "<a href=\"display.php?webtag={$webtag}&msg={$tid}.{$message['PID']}\" target=\"_self\">", gettext("View Message"), "</a>"; } else { if ($in_list && $msg_count > 0) { if ($is_poll) { echo "<a href=\"poll_results.php?webtag={$webtag}&tid={$tid}\" target=\"_blank\" class=\"popup 800x600\"><img src=\"", html_style_image('poll.png'), "\" border=\"0\" alt=\"", gettext("This is a poll. Click to view results."), "\" title=\"", gettext("This is a poll. Click to view results."), "\" /></a> ", gettext("Poll"), " "; } echo sprintf(gettext("%s of %s"), $message['PID'], $msg_count); } } echo " </span></td>\n"; echo " </tr>\n"; echo " </table>\n"; echo " </td>\n"; echo " </tr>\n"; if (!($message['FROM_RELATIONSHIP'] & USER_IGNORED) || !$limit_text) { echo " <tr>\n"; echo " <td align=\"left\">\n"; echo " <table width=\"100%\">\n"; echo " <tr>\n"; echo " <td colspan=\"3\" align=\"right\"><span class=\"postnumber\">"; if ($in_list && $msg_count > 0) { $title = $message['PID'] == 1 ? "" . gettext("Permanent link to this thread") . " ({$tid}.1)" : "" . gettext("Link to this post"); if ($is_preview) { echo "<a href=\"messages.php?webtag={$webtag}&msg={$tid}.{$message['PID']}\" target=\"_blank\" title=\"{$title}\">{$tid}.{$message['PID']}</a>"; } else { echo "<a href=\"index.php?webtag={$webtag}&msg={$tid}.{$message['PID']}\" target=\"", html_get_top_frame_name(), "\" title=\"{$title}\">{$tid}.{$message['PID']}</a>"; } if ($message['REPLY_TO_PID'] > 0) { $title = "" . gettext("Link to post") . " #{$message['REPLY_TO_PID']}"; echo " ", gettext("In reply to"), " "; if (intval($message['REPLY_TO_PID']) >= intval($first_msg)) { echo "<a href=\"#a{$tid}_{$message['REPLY_TO_PID']}\" target=\"_self\" title=\"{$title}\">"; echo "{$tid}.{$message['REPLY_TO_PID']}</a>"; } else { if ($is_preview) { echo "<a href=\"messages.php?webtag={$webtag}&msg={$tid}.{$message['REPLY_TO_PID']}\" target=\"_blank\" title=\"{$title}\">"; echo "{$tid}.{$message['REPLY_TO_PID']}</a>"; } else { echo "<a href=\"messages.php?webtag={$webtag}&msg={$tid}.{$message['REPLY_TO_PID']}\" target=\"_self\" title=\"{$title}\">"; echo "{$tid}.{$message['REPLY_TO_PID']}</a>"; } } } } echo " </span></td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td class=\"postbody postcontent\" align=\"left\">{$message['CONTENT']}</td>\n"; echo " </tr>\n"; if (isset($message['EDITED']) && $message['EDITED'] > 0) { if ($post_edit_grace_period == 0 || $message['EDITED'] - $message['CREATED'] > $post_edit_grace_period * MINUTE_IN_SECONDS) { if ($edit_user = user_get_logon($message['EDITED_BY'])) { echo " <tr>\n"; echo " <td class=\"postbody\" align=\"left\"><p class=\"edit_text\">", sprintf(gettext("EDITED: %s by %s"), format_time($message['EDITED']), $edit_user), "</p></td>\n"; echo " </tr>\n"; } } } if (forum_get_setting('require_post_approval', 'Y') && isset($message['APPROVED']) && $message['APPROVED'] > 0 && $perm_is_moderator) { if (isset($message['APPROVED_BY']) && $message['APPROVED_BY'] > 0 && $message['APPROVED_BY'] != $message['FROM_UID']) { if ($approved_user = user_get_logon($message['APPROVED_BY'])) { echo " <tr>\n"; echo " <td class=\"postbody\" align=\"left\"><p class=\"approved_text\">", sprintf(gettext("APPROVED: %s by %s"), format_time($message['APPROVED']), $approved_user), "</p></td>\n"; echo " </tr>\n"; } } } if ($tid != 0 && isset($message['PID']) || isset($message['AID'])) { $aid = isset($message['AID']) ? $message['AID'] : attachments_get_id($tid, $message['PID']); $attachments_array = array(); $image_attachments_array = array(); if (attachments_get($message['FROM_UID'], $aid, $attachments_array, $image_attachments_array)) { echo " <tr>\n"; echo " <td class=\"postbody\" align=\"left\">\n"; if (is_array($attachments_array) && sizeof($attachments_array) > 0) { echo " <p><b>", gettext("Attachments"), ":</b><br />\n"; foreach ($attachments_array as $attachment) { echo " ", attachments_make_link($attachment), "<br />\n"; } echo " </p>\n"; } if (is_array($image_attachments_array) && sizeof($image_attachments_array) > 0) { echo " <p><b>", gettext("Image Attachments"), ":</b><br />\n"; foreach ($image_attachments_array as $key => $attachment) { echo " ", attachments_make_link($attachment), "\n"; } echo " </p>\n"; } echo " </td>\n"; echo " </tr>\n"; } } echo " </table>\n"; if (!$is_preview) { echo " <table width=\"100%\" class=\"postresponse\" cellspacing=\"1\" cellpadding=\"0\">\n"; echo " <tr>\n"; if (isset($message['ANON_LOGON']) && $message['ANON_LOGON'] > USER_ANON_DISABLED || !isset($message['USER_ACTIVE']) || is_null($message['USER_ACTIVE'])) { echo " <td width=\"25%\" align=\"left\">"; echo " <img src=\"", html_style_image('status_offline.png'), "\" alt=\"\" title=\"", gettext("Inactive / Offline"), "\" />"; echo " </td>\n"; } else { echo " <td width=\"25%\" align=\"left\">"; echo " <img src=\"", html_style_image('status_online.png'), "\" alt=\"\" title=\"", gettext("Online"), "\" />"; echo " </td>\n"; } echo " <td width=\"50%\" style=\"white-space: nowrap\">"; if ($msg_count > 0) { if (!$closed && session::check_perm(USER_PERM_POST_CREATE, $folder_fid) || $perm_is_moderator) { if ($quick_reply == 'Y') { echo "<img src=\"", html_style_image('quickreply.png'), "\" border=\"0\" alt=\"", gettext("Quick Reply"), "\" title=\"", gettext("Quick Reply"), "\" />\n"; echo "<a href=\"Javascript:void(0)\" rel=\"{$tid}.{$message['PID']}\" target=\"_self\" class=\"quick_reply_link\">", gettext("Quick Reply"), "</a>\n"; } else { echo "<img src=\"", html_style_image('post.png'), "\" border=\"0\" alt=\"", gettext("Reply"), "\" title=\"", gettext("Reply"), "\" />"; echo " <a href=\"post.php?webtag={$webtag}&replyto={$tid}.{$message['PID']}\" target=\"_parent\" id=\"reply_{$message['PID']}\">", gettext("Reply"), "</a>"; } echo " <img src=\"", html_style_image('quote_disabled.png'), "\" border=\"0\" alt=\"", gettext("Quote"), "\" title=\"", gettext("Quote"), "\" id=\"quote_img_{$message['PID']}\" />"; echo " <a href=\"post.php?webtag={$webtag}&replyto={$tid}.{$message['PID']}&quote_list={$message['PID']}\" target=\"_parent\" title=\"", gettext("Quote"), "\" id=\"quote_{$message['PID']}\" rel=\"{$message['PID']}\">", gettext("Quote"), "</a>"; if (!session::check_perm(USER_PERM_PILLORIED, 0) && ($uid != $message['FROM_UID'] && $from_user_permissions & USER_PERM_PILLORIED || $uid == $message['FROM_UID']) && session::check_perm(USER_PERM_POST_EDIT, $folder_fid) && ($post_edit_time == 0 || time() - $message['CREATED'] < $post_edit_time * HOUR_IN_SECONDS) && forum_get_setting('allow_post_editing', 'Y') || $perm_is_moderator) { if ($is_poll && $message['PID'] == 1) { if (!poll_is_closed($tid) || $perm_is_moderator) { echo " <img src=\"", html_style_image('edit.png'), "\" border=\"0\" alt=\"", gettext("Edit Poll"), "\" title=\"", gettext("Edit Poll"), "\" />"; echo " <a href=\"edit_poll.php?webtag={$webtag}&msg={$tid}.{$message['PID']}\" target=\"_parent\">", gettext("Edit Poll"), "</a>\n"; } } else { echo " <img src=\"", html_style_image('edit.png'), "\" border=\"0\" alt=\"", gettext("Edit"), "\" title=\"", gettext("Edit"), "\" />"; echo " <a href=\"edit.php?webtag={$webtag}&msg={$tid}.{$message['PID']}\" target=\"_parent\">", gettext("Edit"), "</a>"; } } } } else { echo " "; } echo "</td>\n"; echo " <td width=\"25%\" align=\"right\" style=\"white-space: nowrap\">\n"; echo " <span class=\"post_options\" id=\"post_options_{$tid}.{$message['PID']}\"></span>\n"; echo " </td>\n"; echo " </tr>"; echo " </table>\n"; } else { echo " <table width=\"100%\" class=\"postresponse\" cellspacing=\"1\" cellpadding=\"0\">\n"; echo " <tr>\n"; echo " <td> </td>\n"; echo " </tr>\n"; echo " </table>\n"; } } echo " </td>\n"; echo " </tr>\n"; echo " </table>\n"; echo " </td>\n"; if ($in_list && !$is_preview) { message_display_navigation($tid, $message['PID'], $first_msg, $msg_count, $posts_per_page); } echo " </tr>\n"; echo " </table>\n"; if ($in_list && isset($message['PID'])) { echo " <div id=\"quick_reply_{$message['PID']}\"></div>\n"; } echo "</div>\n"; echo $in_list ? "<br />\n" : ''; }
unlink($temp_file); } $upload_failure[] = $filename; } } } } } } } } else { if (isset($_POST['delete_confirm'])) { $valid = true; if (isset($_POST['attachments_delete_confirm']) && is_array($_POST['attachments_delete_confirm'])) { foreach ($_POST['attachments_delete_confirm'] as $hash => $del_attachment) { if ($del_attachment == "Y" && attachments_get_by_hash($hash)) { if (!attachments_delete($hash)) { $valid = false; $error_msg_array[] = gettext("Failed to delete all of the selected attachments"); } } } if ($valid) { header_redirect("attachments.php?webtag={$webtag}&aid={$aid}"); exit; } } } else { if (isset($_POST['delete'])) { $hash_array = array(); if (isset($_POST['attachments_delete']) && is_array($_POST['attachments_delete'])) {
echo " <td> </td>\n"; echo " </tr>\n"; echo " </table>\n"; echo " </td>\n"; echo " <td valign=\"top\">\n"; echo " <table width=\"95%\">\n"; if (isset($user_profile['PIC_URL'])) { echo " <tr>\n"; echo " <td align=\"right\" class=\"subhead\">\n"; echo " <div class=\"profile_image\">\n"; echo " <img src=\"{$user_profile['PIC_URL']}\" width=\"95\" height=\"95\" alt=\"\" />\n"; echo " </div>\n"; echo " </td>\n"; echo " </tr>\n"; } else { if (isset($user_profile['PIC_AID']) && ($attachment = attachments_get_by_hash($user_profile['PIC_AID']))) { if ($profile_picture_href = attachments_make_link($attachment, false, false, false, false)) { echo " <tr>\n"; echo " <td align=\"right\" class=\"subhead\">\n"; echo " <div class=\"profile_image\">\n"; echo " <img src=\"{$profile_picture_href}&profile_picture\" width=\"95\" height=\"95\" alt=\"\" />\n"; echo " </div>\n"; echo " </td>\n"; echo " </tr>\n"; } else { echo " <tr>\n"; echo " <td align=\"right\" class=\"subhead\">\n"; echo " <div class=\"profile_image_none\"></div>\n"; echo " </td>\n"; echo " </tr>\n"; }
html_guest_error(); } // If the attachments directory is undefined we can't go any further if (!($attachment_dir = attachments_check_dir())) { html_draw_error(gettext("Attachments have been disabled by the forum owner.")); } // Check we have a valid attachment hash. if (!isset($_GET['hash']) || !is_md5($_GET['hash'])) { html_draw_error(gettext('Missing or invalid attachment hash')); } // Get the hash from the URL query. $hash = $_GET['hash']; // Get the array of allowed attachment mime-types $attachment_mime_types = attachments_get_mime_types(); // Get the attachment details. if (!($attachment_details = attachments_get_by_hash($hash))) { html_draw_error(gettext('Missing or invalid attachment hash')); } // If we're requesting an image attachment thumbnail then // we need to append .thumb to the filepath. If we're getting // the full image we increase the view count by one. if (isset($_GET['thumb'])) { // Check the forum has attachment thumbnails enabled. // If it doesn't simply send a 404 error and stop here. if (!forum_get_setting('attachment_thumbnails', 'Y')) { header_status('404', 'File Not Found'); exit; } $file_path = "{$attachment_dir}/{$attachment_details['hash']}.thumb"; } else { // Construct the attachment filepath.
} else { echo " <td class=\"subhead\" align=\"left\" valign=\"top\" width=\"20%\">", form_submit_image('close.png', "remove_column[{$key}]", gettext("Close"), sprintf('title="%s"', gettext("Close")), "profile_browse_close button_image"), " <a href=\"visitor_log.php?webtag={$webtag}&sort_by={$key}&sort_dir=DESC&page={$page}&profile_selection={$profile_items_selected_encoded_string}&user_search=", htmlentities_array($user_search), "&hide_empty={$hide_empty}&hide_guests={$hide_guests}\">{$profile_item_selected}</a></td>\n"; } } } } echo " </tr>\n"; if (sizeof($user_profile_array['user_array']) > 0) { foreach ($user_profile_array['user_array'] as $user_array) { echo " <tr>\n"; if (session::get_value('SHOW_AVATARS') == 'Y') { if (isset($user_array['AVATAR_URL']) && strlen($user_array['AVATAR_URL']) > 0) { echo " <td class=\"postbody\" align=\"left\" valign=\"top\"><img src=\"{$user_array['AVATAR_URL']}\" alt=\"", word_filter_add_ob_tags(format_user_name($user_array['LOGON'], $user_array['NICKNAME']), true), "\" title=\"", word_filter_add_ob_tags(format_user_name($user_array['LOGON'], $user_array['NICKNAME']), true), "\" border=\"0\" width=\"16\" height=\"16\" /></td>\n"; } else { if (isset($user_array['AVATAR_AID']) && is_md5($user_array['AVATAR_AID'])) { $attachment = attachments_get_by_hash($user_array['AVATAR_AID']); if ($profile_picture_href = attachments_make_link($attachment, false, false, false, false)) { echo " <td class=\"postbody\" align=\"left\" valign=\"top\"><img src=\"{$profile_picture_href}&avatar_picture\" alt=\"", word_filter_add_ob_tags(format_user_name($user_array['LOGON'], $user_array['NICKNAME']), true), "\" title=\"", word_filter_add_ob_tags(format_user_name($user_array['LOGON'], $user_array['NICKNAME']), true), "\" border=\"0\" width=\"16\" height=\"16\" /></td>\n"; } else { echo " <td align=\"left\" valign=\"top\" class=\"postbody\"><img src=\"", html_style_image('bullet.png'), "\" alt=\"", gettext("User"), "\" title=\"", gettext("User"), "\" /></td>\n"; } } else { echo " <td align=\"left\" valign=\"top\" class=\"postbody\"><img src=\"", html_style_image('bullet.png'), "\" alt=\"", gettext("User"), "\" title=\"", gettext("User"), "\" /></td>\n"; } } } else { echo " <td align=\"left\" valign=\"top\" class=\"postbody\"><img src=\"", html_style_image('bullet.png'), "\" alt=\"", gettext("User"), "\" title=\"", gettext("User"), "\" /></td>\n"; } if (isset($user_array['SID']) && !is_null($user_array['SID'])) { echo " <td class=\"postbody\" align=\"left\" valign=\"top\"><a href=\"{$user_array['URL']}\" target=\"_blank\">", word_filter_add_ob_tags($user_array['NAME'], true), "</a></td>\n"; } else {
} } if (isset($_POST['avatar_aid'])) { $user_prefs['AVATAR_AID'] = $_POST['avatar_aid']; $user_prefs_global['AVATAR_AID'] = isset($_POST['avatar_url_global']) ? $_POST['avatar_url_global'] == "Y" : true; if (strlen(trim($user_prefs['AVATAR_AID'])) > 0) { if (!is_md5($user_prefs['AVATAR_AID'])) { $error_msg_array[] = gettext("Invalid Attachment. Check that is hasn't been deleted."); $valid = false; } else { if (isset($user_prefs['AVATAR_URL']) && strlen(trim($user_prefs['AVATAR_URL'])) > 0) { $error_msg_array[] = gettext("To use an attachment for your avatar picture the Avatar URL field must be blank."); $valid = false; } else { if ($attachment_dir = attachments_check_dir()) { if (!($attachment_details = attachments_get_by_hash($user_prefs['AVATAR_AID']))) { $error_msg_array[] = gettext("Unsupported image attachment. You can only use jpg, gif and png image attachments for your avatar and profile picture."); $valid = false; } $path_parts = pathinfo($attachment_details['filename']); if (!isset($path_parts['extension']) || !in_array($path_parts['extension'], $allowed_image_types_array)) { $error_msg_array[] = gettext("Unsupported image attachment. You can only use jpg, gif and png image attachments for your avatar and profile picture."); $valid = false; } if (!($image_info = getimagesize("{$attachment_dir}/{$user_prefs['AVATAR_AID']}"))) { $error_msg_array[] = gettext("Unsupported image attachment. You can only use jpg, gif and png image attachments for your avatar and profile picture."); $valid = false; } if ($image_info[0] > 95 || $image_info[1] > 95) { $error_msg_array[] = gettext("Selected attachment is too large for avatar picture. Maximum dimensions are 15x15px"); $valid = false;