یکی از مشکلات همیشگی دیتالایف انجین در قسمت نظر سنجی این هست که اگر کاربری در یک نظر سنجی شرکت کرده باشد، هنگامی که صفحه را بارگزاری مجدد میکند، لیست نظر سنجی دوباره نمایش داده میشود. هرچند که کاربر نمیتواند دوباره رای دهد و رای آن محاسبه نمیشود، اما نشان دادن دوباره نظر سنجی زیاد مناسب نمیباشد. بوسیله هکی که برای شما آماده کردم، این مشکل برطرف میشود و هنگامی که کاربر در نظر سنجی شرکت کند، همیشه نتیجه نظر سنجی برای آن کاربر به نمایش گذاشته میشود.
آموزش نصب
۱. ابتدا فایل engine/modules/vote.php را باز کرده و کد زیر را پیدا کنید:
۲. به جای کد بالا، کد زیر را قرار دهید:
مراحل نصب در اینجا به اتمام رسید، اما دوستانی که هک نمایش نظر سنجی به صورت مدرن را نصب کرده اند، مرحله زیر را نیز انجام دهند تا ظاهر نظر سنجی آنها مثل گذشته باشد:
۱. در همان فایل vote.php کد زیر را پیدا کنید:
۲. کد زیر را به جای کد بالا قرار دهید:
if( $vote_action == "vote" ) {
$_IP = $db->safesql( $_SERVER['REMOTE_ADDR'] );
if( isset( $member_id['name'] ) ) $nick = $db->safesql($member_id['name']);
else $nick = '';
if ($user_group[$member_id['user_group']]['allow_vote']) {
if( $is_logged ) $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND name='$nick'" );
else $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND ip='$_IP'" );
if( !$row['count'] AND count( explode( ".", $_IP ) ) == 4 ) $is_voted = false;
else $is_voted = true;
} else $is_voted = true;
$flag = 1;
$_IP = $db->safesql( $_SERVER['REMOTE_ADDR'] );
if( isset( $member_id['name'] ) ) $nick = $db->safesql($member_id['name']);
else $nick = '';
if ($user_group[$member_id['user_group']]['allow_vote']) {
if( $is_logged ) $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND name='$nick'" );
else $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND ip='$_IP'" );
if( !$row['count'] AND count( explode( ".", $_IP ) ) == 4 ) $is_voted = false;
else $is_voted = true;
} else $is_voted = true;
$flag = 1;
۲. به جای کد بالا، کد زیر را قرار دهید:
$_IP = $db->safesql( $_SERVER['REMOTE_ADDR'] );
if( isset( $member_id['name'] ) ) $nick = $member_id['name'];
else $nick = '';
if( $is_logged ) $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND name='$nick'" );
else $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND ip='$_IP'" );
if( $row['count'] == 0 ) $is_voted = false;
else $is_voted = true;
if ($is_voted )
{
$flag = 1;
}
if( $vote_action == "vote" ) {
$flag = 1;
if( isset( $member_id['name'] ) ) $nick = $member_id['name'];
else $nick = '';
if( $is_logged ) $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND name='$nick'" );
else $row = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' AND ip='$_IP'" );
if( $row['count'] == 0 ) $is_voted = false;
else $is_voted = true;
if ($is_voted )
{
$flag = 1;
}
if( $vote_action == "vote" ) {
$flag = 1;
مراحل نصب در اینجا به اتمام رسید، اما دوستانی که هک نمایش نظر سنجی به صورت مدرن را نصب کرده اند، مرحله زیر را نیز انجام دهند تا ظاهر نظر سنجی آنها مثل گذشته باشد:
۱. در همان فایل vote.php کد زیر را پیدا کنید:
<div class=\"vote\" align=\"right\">$body[$i] - $num ($proc%)</div>
<div class=\"vote\" align=\"right\">
<img src=\"" . $config['http_home_url'] . "templates/" . $config['skin'] . "/dleimages/poll{$pn}.gif\" height=\"10\" width=\"".intval($proc)."%\" style=\"border:1px solid black\">
</div>\n
<div class=\"vote\" align=\"right\">
<img src=\"" . $config['http_home_url'] . "templates/" . $config['skin'] . "/dleimages/poll{$pn}.gif\" height=\"10\" width=\"".intval($proc)."%\" style=\"border:1px solid black\">
</div>\n
۲. کد زیر را به جای کد بالا قرار دهید:
<div class=\"vote\" align=\"right\">$body[$i] - $num</div>
<div class=\"progress voted progress_{$pn}\"><span style=\"width: ".intval($proc)."%;\"><b>{$proc}%</b></span></div>\n
<div class=\"progress voted progress_{$pn}\"><span style=\"width: ".intval($proc)."%;\"><b>{$proc}%</b></span></div>\n