OK. Jak chcesz (IMG:
http://forum.php.pl/style_emoticons/default/smile.gif)
:arrow: <b>Modyfikacja bazy</b>
Tabela <prefix>_users.
Dodano:
special_rank mediumint(8) ALLOW NULL UNSIGNED
Tabela <prefix>_users.
Dodano:
post_marked enum('n','y') NULL
:arrow: <b>Modyfikacje plikow forum</b>
Dokladnych lini Ci nie podam bo unas wprowadzone sa juz pewne zmiany i nie beda sie pokrywac z tymi, ktore Ty masz.
<b>viewtopic.php</b>:
okolo lini 140 za:
Cytat
$order_sql = ( empty($post_id) ) ? '' : "GROUP BY p.post_id, t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments ORDER BY p.post_id ASC";
trzeba zmienic $sql na:
<?php
// Rank sql modyfictaion
$sql = \"SELECT t.*, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_r
e
d, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_
nnounce, f.auth_pollcreate, f.auth_vote, f.auth_attachments\" . $count_sql . \"
FROM \" . TOPICS_TABLE . \" t, \" . FORUMS_TABLE . \" f\" . $join_sql_table . \"
WHERE $join_sql
AND f.forum_id = t.forum_id
$order_sql\";
?>
Okolo 316 lini po:
Cytat
{
$can_watch_topic = 0;
$is_watching_topic = 0;
}
}
wstaw:
<?php
// Rank ////////////////////////////////////////////////////
$domena = 'forum.php.pl'; // zmien na odpowiednia wg. Twojego adresu.
$pathRef = 'http://'.$domena.'/viewtopic.php?t='.$topic_id;
if ( substr( $_SERVER['HTTP_REFERER'], 0
, strlen( $pathRef ) ) == $pathRef && $userdata['session_logged_in'] ) {
if ( !empty($_GET['p_add']) ) {
$p_add = intval($_GET['p_add']);
$sql = \"SELECT post_marked, poster_id FROM \".POSTS_TABLE.\" WHERE post_id = $p_add LIMIT 1\";
if ( $result = $db->sql_query($sql) )
{
$row = $db->sql_fetchrow($result);
if ( isset( $row['post_marked'] ) && $row['post_marked'] != 'y' && $row['poster_id'] != $userdata['user_id']) {
$sql = \"SELECT special_rank FROM \".USERS_TABLE.\" WHERE user_id = \".$row['poster_id'];
if ( $result = $db->sql_query($sql) )
{
$row2 = $db->sql_fetchrow($result);
$rank = intval($row2['special_rank']);
$sql = \"UPDATE \" . POSTS_TABLE . \" SET post_marked = 'y' WHERE post_id=\".$p_add;
$sql2 = \"UPDATE \" . USERS_TABLE . \" SET special_rank = \".(++$rank).\" WHERE user_id=\".$row['poster_id'];
if ( $db->sql_query($sql) && $db->sql_query($sql2) )
{
$template->assign_vars(array( 'META' => '<meta http-equiv=\"refresh\" content=\"3;url=' . append_sid(\"viewtopic.$phpEx?\" . POST_TOPIC_URL . \"=$topic_id\") . '\">')
);
$message .= sprintf($lang['special_point_added'], '<a href=\"' . append_sid
(\"viewtopic.$phpEx?\" . POST_TOPIC_URL . \"=$topic_id\") . '\">', '</a>'); $message .= '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href=\"' . append_sid
(\"viewtopic.$phpEx?\" . POST_TOPIC_URL . \"=$topic_id\") . '\">', '</a>'); message_die(GENERAL_MESSAGE, $message);
}
}
}
}
}
}
///////////////////////////////////////////////////////////////
?>
okolo lini 176 po:
Cytat
$select_post_order .= '</select>';
zmien $sql na:
<?php
// Rank /////////////////////////////////////////////////////////////////////////////////////////////////////
$sql = \"SELECT u.*, 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 $start, \".$board_config['posts_per_page'];
?>
okolo lini 1269 po:
Cytat
{
$l_edited_by = '';
}
wstaw:
<?php
// Rank /////////////////////////////////////////////////////
$helped_me_show = '';
// Wstaw odpowiednie wartosci for na ktorych maja byc oceny
$allowForumList = array( 1
, 4
, 10
, 11
, 13
, 14
, 16
, 27
);
if ( $postrow[0]['username'] == $userdata['username'] && in_array( $forum_id, $allowForumList ) ) {
if ( $poster_rank != $lang['Guest'] && $poster != $postrow[0]['username'] && $postrow[$i]['post_marked'] != 'y' )
{
$helped_me_show = '<a href=\"viewtopic.php?t='.$topic_id.'&p_add='.$postrow[$i]['post_id'].'\">Pomógł mi</a>';
}
}
if ( $postrow[$i]['post_marked'] == 'y' )
{
$row_color = 'BDD67A';
$row_class = 'row4';
}
else
{
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
}
////////////////////////////////////////////////////////////////////////
?>
okolo lini 1317 dodaj po:
Cytat
$template->assign_block_vars('postrow', array(
wstaw:
<?php
'SPECIAL_RANK' => ( $poster_rank != $lang['Guest'] ? $lang['special_rank'].\": \".$rank.\"<br/>\" : '' ), ///// Rank
'HELPED_ME' => $helped_me_show, ////////////////////////////////////////////////////////// Rank
?>
<b>Glowny plik CSS:</b>
dodaj:
Kod
td.row4 { background-color: #F0EDDE; } /* RANKING */
<b>viewtopic_body.tpl</b>
Musisz wstawic po {postrow.ICQ_IMG} a przed </td>:
<span class="nav">{postrow.HELPED_ME}</span>
po {postrow.POSTER_POSTS}<br /> wstaw:
<span style="font-weight: bold;">{postrow.SPECIAL_RANK}</span>
Nowy plik: <b>lang_special_rank.php</b>
Ten plik musi znajdowac sie wkatalogu gdzie masz lang_main.php
zawartosc:
<?php
$lang['special_rank'] = 'Pomógł';
$lang['special_point_added'] = 'Użytkownik otrzymał punkt.';
$lang['Sort_Top_Helped'] = '10 Najbardziej pomocnych';
?>
<b>lang_main.php</b>
na koniec wstaw:
<?php
include('lang_special_rank.php'); // Rank ///////////////////
?>
<b>memberlist_body.tpl</b>
Po:
Cytat
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.POSTS}</span></td>
wstaw:
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.HELPED}</span></td>
<b>memberlist.php</b>
w lini 65 w tablicy $mode_types_text na koncu dodaj:
, $lang['Sort_Top_Helped']
w lini 66 w tablicy $mode_types na koncu dodaj:
, 'top_helped'
W switchu od lini 119 dodaj:
<?php
case 'top_helped':
$order_by = \"special_rank $sort_order LIMIT 10\";
break;
?>
W lini 150 mien $sql na:
<?php
$sql = \"SELECT special_rank, username, user_id, user_viewemail, user_posts, user_re
g
ate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msn
, user_avatar, user_avatar_type, user_allowavatar
FROM \" . USERS_TABLE . \"
WHERE user_id <> \" . ANONYMOUS . \"
ORDER BY $order_by\";
?>