نسخه جدید ماژول نمایش میزان فعالیت کاربران به صورت گرافیکی. بوسیله این ماژول میتوانید در قسمت پروفایل کاربران، میزان فعالیت آنها را با توجه به تعداد نظر های ارسالی، تعداد مطالب ارسال شده، کامل بودن مشخصات پروفایل و همچنین تعداد تشکر های ماژول تشکر به صورت گرافیکی به نمایش بگذارید. در نسخه جدید، کاربران نیز میتوانند به سایر کاربران سایت رتبه دهند.
دانلود
آموزش نصب
۱. فایل دانلود شده را از حالت فشرده خارج سازید، پوشه images را در داخل فولدر قالب خودتان آپلود کنید.
۲. فایل repa_install.php را داخل فولدر روت سایت خود آپلود کنید، سپس در مرورگر خود آدرس زیر را وارد کنید و بر روی نصب دیتابیس کلیک کنید:
۳. فایل engine/modules/profile.php را باز کرده و کد زیر را پیدا کنید:
قبل از کد بالا، کد زیر را قرار دهید:
۴. فایل userinfo.tpl را باز کرده و در بالاترین قسمت، کد زیر را قرار دهید:
۵. در فایل userinfo.tpl تگ های زیر را در جای مناسب قرار دهید:
مراحل نصب در اینجا به پایان رسید. اما اگر ماژول تشکر را بر روی سیستم خود نصب کرده اید، میتوانید ادامه مراحل نصب را انجام داده تا متوانید از این هک در قسمت نظرات ارسال شده توسط کاربر هم استفاده کنید.
۱. فایل engine/classes/comments.class.php را باز کرده و کد زیر را پیدا کنید:
۲. قبل از کد بالا، کد زیر را قرار دهید:
۳. فایل comments.tpl قالب خودتان را باز کرده و کد زیر را در جای مناسب قرار دهید:
۲. فایل repa_install.php را داخل فولدر روت سایت خود آپلود کنید، سپس در مرورگر خود آدرس زیر را وارد کنید و بر روی نصب دیتابیس کلیک کنید:
DOMAIN.com/repa_install.php
۳. فایل engine/modules/profile.php را باز کرده و کد زیر را پیدا کنید:
$xfieldsaction = "list";
قبل از کد بالا، کد زیر را قرار دهید:
$usrep = $db->super_query( "SELECT * FROM " . USERPREFIX . "_repa_log where who = '$member_id[name]' and whom = '$row[name]'" );
$user_rating2 = $row['repa'] + $row['news_num'] + $row['comm_num'] + $row['thx_num'] + $row['user_repa'];
$user_rating = round($user_rating2, 0);
if( $row['foto'] ) {
$user_rating = $user_rating + 25;}
if( $row['fullname'] ) {
$user_rating = $user_rating + 15;}
if( $row['icq'] ) {
$user_rating = $user_rating + 10;}
if( $row['name'] ) {
$user_rating = $user_rating + 10;}
if( $row['land'] ) {
$user_rating = $user_rating + 10;}
if( $row['info'] ) {
$user_rating = $user_rating + 10;}
$numr = 10;
while($user_rating >= $numr){
if ($user_rating >= $numr)
{$rating_progr = $user_rating - $numr + 10;$numr = $numr + 100;}
}
if ($user_rating < 100){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg1.png";}
if ($user_rating >= 100 && $user_rating < 200){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg2.png";}
if ($user_rating >= 200 && $user_rating < 300){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg3.png";}
if ($user_rating >= 300 && $user_rating < 400){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg4.png";}
if ($user_rating >= 400 && $user_rating < 500){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg5.png";}
if ($user_rating >= 500 && $user_rating < 600){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg6.png";}
if ($user_rating >= 600){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg6.png";}
$rating_bar = "<div class=\"u_rating\"><div style=\"width:180px;height:23px;\"><div style=\"float:left;height:15px;margin-top: 8px;width:$rating_progr%;max-width:180px;background:url('$rate_color') repeat-x;\"></div></div><div style=\"display: block;height: 20px;margin-right: 15px;width: 40px;float: right;\"><div style=\"color: #fff;text-align: center;z-index: 2;\">$user_rating</div></div></div>";
$tpl->set( '{rating_bar}', $rating_bar );
$error = false;
$log_repa = date( Ymd, $_TIME );
$repaifn = $member_id['user_repa'] + $member_id['news_num'] + $member_id['comm_num'] + $member_id['thx_num'];
if ($repaifn <= 100 and $_POST['repa_edit'] != "" and $_POST['repa_edit']) {
$error = "<li>برای شروع، شما باید حداقل ۱۰۰ امتیاز کسب کنید.</li>";
}
if ( $usrep['date_change'] > date( Ymd, $_TIME - 86400 ) and $_POST['repa_edit'] != "" and $_POST['repa_edit']) {
$error .= "<li>روزانه فقط یک بار میتوانید رتبه دهید.</li>";
}
if ($member_id['name'] != $row['name'] and $member_id['name'] != $row['name']){
$pluse = "<a href=\"\" onclick=\"repaeditum();return false;\">اضافه و حذف رتبه</a> ";
}
$tpl->set( '{pluse}', $pluse );
$rater = $row['user_repa'] + $_POST['repa_edit'];
if ( $error )
{
msgbox( $lang['all_err_1'], "<ul>".$error."</ul>" );
}else{
if ( $_POST['repa_edit'] != "" ) {
$db->query( "UPDATE " . USERPREFIX . "_users set user_repa='$rater' where name = '$user'" );
$db->query( "INSERT INTO " . USERPREFIX . "_repa_log VALUES ('$member_id[name]', '$row[name]', '$rater', '$log_repa') ");
}
}
$user_rating2 = $row['repa'] + $row['news_num'] + $row['comm_num'] + $row['thx_num'] + $row['user_repa'];
$user_rating = round($user_rating2, 0);
if( $row['foto'] ) {
$user_rating = $user_rating + 25;}
if( $row['fullname'] ) {
$user_rating = $user_rating + 15;}
if( $row['icq'] ) {
$user_rating = $user_rating + 10;}
if( $row['name'] ) {
$user_rating = $user_rating + 10;}
if( $row['land'] ) {
$user_rating = $user_rating + 10;}
if( $row['info'] ) {
$user_rating = $user_rating + 10;}
$numr = 10;
while($user_rating >= $numr){
if ($user_rating >= $numr)
{$rating_progr = $user_rating - $numr + 10;$numr = $numr + 100;}
}
if ($user_rating < 100){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg1.png";}
if ($user_rating >= 100 && $user_rating < 200){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg2.png";}
if ($user_rating >= 200 && $user_rating < 300){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg3.png";}
if ($user_rating >= 300 && $user_rating < 400){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg4.png";}
if ($user_rating >= 400 && $user_rating < 500){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg5.png";}
if ($user_rating >= 500 && $user_rating < 600){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg6.png";}
if ($user_rating >= 600){$rate_color = $config['http_home_url']."templates/".$config['skin']."/images/ratingav/rbg6.png";}
$rating_bar = "<div class=\"u_rating\"><div style=\"width:180px;height:23px;\"><div style=\"float:left;height:15px;margin-top: 8px;width:$rating_progr%;max-width:180px;background:url('$rate_color') repeat-x;\"></div></div><div style=\"display: block;height: 20px;margin-right: 15px;width: 40px;float: right;\"><div style=\"color: #fff;text-align: center;z-index: 2;\">$user_rating</div></div></div>";
$tpl->set( '{rating_bar}', $rating_bar );
$error = false;
$log_repa = date( Ymd, $_TIME );
$repaifn = $member_id['user_repa'] + $member_id['news_num'] + $member_id['comm_num'] + $member_id['thx_num'];
if ($repaifn <= 100 and $_POST['repa_edit'] != "" and $_POST['repa_edit']) {
$error = "<li>برای شروع، شما باید حداقل ۱۰۰ امتیاز کسب کنید.</li>";
}
if ( $usrep['date_change'] > date( Ymd, $_TIME - 86400 ) and $_POST['repa_edit'] != "" and $_POST['repa_edit']) {
$error .= "<li>روزانه فقط یک بار میتوانید رتبه دهید.</li>";
}
if ($member_id['name'] != $row['name'] and $member_id['name'] != $row['name']){
$pluse = "<a href=\"\" onclick=\"repaeditum();return false;\">اضافه و حذف رتبه</a> ";
}
$tpl->set( '{pluse}', $pluse );
$rater = $row['user_repa'] + $_POST['repa_edit'];
if ( $error )
{
msgbox( $lang['all_err_1'], "<ul>".$error."</ul>" );
}else{
if ( $_POST['repa_edit'] != "" ) {
$db->query( "UPDATE " . USERPREFIX . "_users set user_repa='$rater' where name = '$user'" );
$db->query( "INSERT INTO " . USERPREFIX . "_repa_log VALUES ('$member_id[name]', '$row[name]', '$rater', '$log_repa') ");
}
}
۴. فایل userinfo.tpl را باز کرده و در بالاترین قسمت، کد زیر را قرار دهید:
<script>
function repaeditum(){DLEalert("<form action=\"\" method=\"post\"><input type='radio' name='repa_edit' value='1' checked> +1<br><input type='radio' name='repa_edit' value='2'> +2 <br><input type='radio' name='repa_edit' value='3'> +3 <br><input type='radio' name='repa_edit' value='4'> +4 <br><input type='radio' name='repa_edit' value='5'> +5 <br><br><br><input type='radio' name='repa_edit' value='-1'> -1<br><input type='radio' name='repa_edit' value='-2'> -2 <br><input type='radio' name='repa_edit' value='-3'> -3 <br><input type='radio' name='repa_edit' value='-4'> -4 <br><input type='radio' name='repa_edit' value='-5'> -5 <br><input class=\"ui-button\" type=\"submit\" value=\"تائید\"></form>", "دادن رتبه به کاربر:");}
</script>
<style>
.u_rating {margin-top: -10px;border-radius: 3px;-moz-border-radius: 3px;-webkit-border-radius: 3px;text-align:center;height:40px;width:180px;background:url('{THEME}/images/ratingav/background.png') repeat-x;padding:0px;overflow:hidden;}
</style>
function repaeditum(){DLEalert("<form action=\"\" method=\"post\"><input type='radio' name='repa_edit' value='1' checked> +1<br><input type='radio' name='repa_edit' value='2'> +2 <br><input type='radio' name='repa_edit' value='3'> +3 <br><input type='radio' name='repa_edit' value='4'> +4 <br><input type='radio' name='repa_edit' value='5'> +5 <br><br><br><input type='radio' name='repa_edit' value='-1'> -1<br><input type='radio' name='repa_edit' value='-2'> -2 <br><input type='radio' name='repa_edit' value='-3'> -3 <br><input type='radio' name='repa_edit' value='-4'> -4 <br><input type='radio' name='repa_edit' value='-5'> -5 <br><input class=\"ui-button\" type=\"submit\" value=\"تائید\"></form>", "دادن رتبه به کاربر:");}
</script>
<style>
.u_rating {margin-top: -10px;border-radius: 3px;-moz-border-radius: 3px;-webkit-border-radius: 3px;text-align:center;height:40px;width:180px;background:url('{THEME}/images/ratingav/background.png') repeat-x;padding:0px;overflow:hidden;}
</style>
۵. در فایل userinfo.tpl تگ های زیر را در جای مناسب قرار دهید:
{rating_bar}
{pluse}
{pluse}
مراحل نصب در اینجا به پایان رسید. اما اگر ماژول تشکر را بر روی سیستم خود نصب کرده اید، میتوانید ادامه مراحل نصب را انجام داده تا متوانید از این هک در قسمت نظرات ارسال شده توسط کاربر هم استفاده کنید.
۱. فایل engine/classes/comments.class.php را باز کرده و کد زیر را پیدا کنید:
if( $row['is_register'] and $row['signature'] and $user_group[$row['user_group']]['allow_signature'] ) {
۲. قبل از کد بالا، کد زیر را قرار دهید:
$spsdb = $this->db->super_query("SELECT thx_num FROM dle_users WHERE user_id=".$member_id['user_id']);
$thx_num = $spsdb[thx_num];
$user_rating2 = $row['repa'] + $row['news_num'] + $row['comm_num'] + $thx_num + $row['user_repa'];
$user_rating = round($user_rating2, 0);
if( $row['foto'] ) {
$user_rating = $user_rating + 25;}
if( $row['fullname'] ) {
$user_rating = $user_rating + 15;}
if( $row['icq'] ) {
$user_rating = $user_rating + 10;}
if( $row['name'] ) {
$user_rating = $user_rating + 10;}
if( $row['land'] ) {
$user_rating = $user_rating + 10;}
if( $row['info'] ) {
$user_rating = $user_rating + 10;}
$rating_bar = "<div class=\"u_rating\"><div style=\"color: white;z-index: 2;padding: 0px 0px 0px 5px;text-align: center;position: relative;bottom: 1px;\">$user_rating</div></div>";
$tpl->set( '{rating_bar}', $rating_bar );
$thx_num = $spsdb[thx_num];
$user_rating2 = $row['repa'] + $row['news_num'] + $row['comm_num'] + $thx_num + $row['user_repa'];
$user_rating = round($user_rating2, 0);
if( $row['foto'] ) {
$user_rating = $user_rating + 25;}
if( $row['fullname'] ) {
$user_rating = $user_rating + 15;}
if( $row['icq'] ) {
$user_rating = $user_rating + 10;}
if( $row['name'] ) {
$user_rating = $user_rating + 10;}
if( $row['land'] ) {
$user_rating = $user_rating + 10;}
if( $row['info'] ) {
$user_rating = $user_rating + 10;}
$rating_bar = "<div class=\"u_rating\"><div style=\"color: white;z-index: 2;padding: 0px 0px 0px 5px;text-align: center;position: relative;bottom: 1px;\">$user_rating</div></div>";
$tpl->set( '{rating_bar}', $rating_bar );
۳. فایل comments.tpl قالب خودتان را باز کرده و کد زیر را در جای مناسب قرار دهید:
<style>
.u_rating {margin-top: 1px;text-align:center;height:15px;width:85px;background:url('{THEME}/images/ratingav/commbg.png') no-repeat;padding:0px;overflow:hidden;}
</style><br>
{rating_bar}
.u_rating {margin-top: 1px;text-align:center;height:15px;width:85px;background:url('{THEME}/images/ratingav/commbg.png') no-repeat;padding:0px;overflow:hidden;}
</style><br>
{rating_bar}