xntx
хнотик-багоискатель | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Цитата: Хак первого поста (№ 1) умудряется убирать энтеры, то есть многоабзацные сообщения собираются в 1 строку (но кажется это было и в исходном коде). Еще смайлики не показываются в подписи юзера, создавшего первое сообщение. | Код: // Show First Post on Start of Every Page // Written by: Robbie Marsh // // Start Hack // Get First Post Information $sql = "SELECT u.username, u.user_id, u.user_from, u.user_viewemail, u.user_sig, u.user_sig_bbcode_uid, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt WHERE p.topic_id = $topic_id $limit_posts_time AND pt.post_id = p.post_id AND u.user_id = p.poster_id ORDER BY p.post_time $post_time_order LIMIT 0, 1"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Could not obtain post/user information.", '', __LINE__, __FILE__, $sql); } if ( $row = $db->sql_fetchrow($result) ) { $postrow1 = array(); $postrow1[] = $row; $db->sql_freeresult($result); } else { message_die(GENERAL_MESSAGE, $lang['No_posts_topic']); } // Get Poster Name, ID and Post Date $poster_id1 = $postrow1[0]['user_id']; $poster1 = ( $poster_id1 == ANONYMOUS ) ? $lang['Guest'] : $postrow1[0]['username']; $post_date1 = create_date($board_config['default_dateformat'], $postrow1[0]['post_time'], $board_config['board_timezone']); // Define the little post icon for the first message if ( $userdata['session_logged_in'] && $postrow1[0]['post_time'] > $userdata['user_lastvisit'] && $postrow1[0]['post_time'] > $topic_last_read ) { $mini_post_img1 = $images['icon_minipost_new']; $mini_post_alt1 = $lang['New_post']; } else { $mini_post_img1 = $images['icon_minipost']; $mini_post_alt1 = $lang['Post']; } $mini_post_url1 = append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $postrow1[0]['post_id']) . '#' . $postrow1[0]['post_id']; // Set the Quote URL $temp_url = append_sid("posting.$phpEx?mode=quote&" . POST_POST_URL . "=" . $postrow1[0]['post_id']); $quote1 = '<a href="' . $temp_url . '"><img src="' . $images['icon_quote'] . '" alt="' . $lang['Reply_with_quote'] . '" title="' . $lang['Reply_with_quote'] . '" border="0" /></a>'; // Get the User Signature $user_sig1 = ( $postrow1[0]['enable_sig'] && $postrow1[0]['user_sig'] != '' && $board_config['allow_sig'] ) ? $postrow1[0]['user_sig'] : ''; // BBCode in text: $message1 = $postrow1[0]['post_text']; if ( $board_config['allow_bbcode'] ) { if ( $user_sig1 != '' && $postrow1[0]['user_sig_bbcode_uid'] != '' ) { $user_sig1 = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig1, $postrow1[0]['user_sig_bbcode_uid']) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig1); } if ( $postrow1[0]['bbcode_uid'] != '' ) { $message1 = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message1, $postrow1[0]['bbcode_uid']) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message1); } } if ( $user_sig != '' ) { $user_sig1 = make_clickable($user_sig1); $user_sig1 = smilies_pass($user_sig1); $user_sig1 = str_replace("\n", "\n<br />\n", $user_sig1); } $message1 = make_clickable($message1); $message1 = smilies_pass($message1); $message1 = str_replace("\n", "\n<br />\n", $message1); // Get the Page Number - if it is the first page // don't show the first post preview if (floor( $start / $board_config['posts_per_page'] ) + 1 == 1 OR $userdata['user_allowfirstmsg'] == 0) { $startfm = "<!--"; $endfm = "-->"; } else { $startfm = ""; $endfm = ""; } // Assign Template variables $template->assign_vars(array( 'POSTER_NAME' => $poster1, 'POST_DATE' => $post_date1, 'POST_SUBJECT' => $postrow1[0]['post_subject'], 'FIRST_MESSAGE' => $message1, 'SIGNATURE' => $user_sig1, 'MINI_POST_IMG' => $mini_post_img1, 'QUOTE' => $quote1, 'L_MINI_POST_ALT' => $mini_post_alt1, 'U_MINI_POST' => $mini_post_url1, 'STARTFM' => $startfm, 'ENDFM' => $endfm ) ); // End Hack | Цитата: Еще заметил, что хаке соединения сообщений (№ 2) происходит увеличение счетчика сообщений у юзера. Но это наверное неважно, хотя интересно, чтобы при сцеплении тем количество ответов юзера не увеличивалось. | она технически не может добавлять это наверное просто ты просчитался...
| Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 09:24 30-01-2004 | Исправлено: xntx, 00:03 01-02-2004 |
|