Просмотр файла WEB-Pack_LIGHT_version_3/pages/raiting.php

Размер файла: 17.78Kb
<?php

############################################################	
##          ********* WAP-MOTORS *******    ##                  ********* Sky CMS ********                 ##
##             Made by   :  VANTUZ                          ##                 Modification   :  LondoN                            ##
##               E-mail  :  [email protected]             ##               E-mail  :  [email protected]                      ##
##                 Site  :  http://pizdec.ru                  ##                 Site  :  http://inter-sky.net                        ##
##             WAP-Site  :  http://visavi.net           ##                                                                                       ##
##                  ICQ  :  36-44-66                           ##                  ICQ  :  355-98-00-79                                ##
##                                                                          ##                                                                                         ## 
##                        ВЫ НЕ ИМЕЕТЕ ПРАВА ВНОСИТЬ ИЗМЕНЕНИЯ В КОД СКРИПТА                            ##
#############################################################
##   СКРИПТЫ, ДИЗАЙН ПОД ЗАКАЗ !!!  ICQ :  355-98-00-79   http://inter-sky.net Дмитрий LONDON
#############################################################

/*
 ВЫПОЛНЯЮ  ЗАКАЗЫ  НА  ЭКСКЛЮЗИВНЫЕ СКРИПТЫ ДЛЯ ВАШЕГО САЙТА !!!
 
 Возникли проблемы или найдены баги?   ICQ  :  355-98-00-79   http://inter-sky.net Дмитрий LONDON
 
 Всегда рад вашим отзывам, пожеланиям, предложениям или простой благодарности!
 
 Если не жалко, то прошу помочь развитию проекта и на оплату Интернета: 
 
Webmoney Wmid: 	180910508615
Webmoney WMZ: 	257351459957
Webmoney WMR: 	183110384655
Webmoney WME: 	681446621238

 Искренне, Ваш LONDON !!!
 */
################################################################
	
require_once"../template/start.php";
require_once"../template/regglobals.php";
require_once"../template/config.php";
require_once"../template/functions.php";
require_once"../template/antidos.php";
require_once"../template/cookies.php";
require_once"../template/gzip.php";
require_once"../template/header.php";
require_once"../template/referer.php";
include_once"../themes/$config_themes/index.php";
include_once"../template/isset.php";

$uz=check($uz);

echo'<table cellpadding="8" cellspacing="0" width="100%" border="0"><tr><td valign="top">';
echo '<img src="../images/img/partners.gif" alt=""> <b>Изменение авторитета</b><br><br>';
echo'</td></tr></table>';

if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!="") {
if($uz!=""){
if($udata[36]>=1){
if($log!=$uz){	
if($udata[48]<$sitetime){
	

$liness=file(BASEDIR."local/dataraiting/$log.dat");
foreach($liness as $values){
if ($uz==trim($values)) {$userclear="ok"; break;}
}

	
$uz_prof = file("../local/profil/$uz.prof"); 
$uz_udata = explode(":||:",$uz_prof[0]);	
if($uz_udata[0]!=""){
if($uz_udata[36]>=1){	

//------------------ Объяснение измеения авторитета ---------------------//
if($action==""){

if($rating=="plus"){ // Если ставим плюс
echo'<br>Вы меняете авторитет пользователя <b>'.$uz.'</b> в положительную сторону.<br>';
echo'Объясните, пожалуйста, причину, по которой Вы это делаете!<br><br>';
echo'<small>(запрещены спецсимволы и перенос строки)</small><br>';


echo'<form action="raiting.php?uz='.$uz.'&amp;action=plus&amp;'.SID.'" method="post"">';
echo'<textarea cols="25" rows="10" name="msg"></textarea><br>';

if($config_translit=="1"){
echo'Транслит: <input name="trans" type="checkbox" value="y" /><br>';}
echo'<input type="submit" value="Поставить +" /></form><br><br>';

}

if($rating=="minus"){ // Если ставим минус
echo'<br>Вы меняете авторитет пользователя <b>'.$uz.'</b> в отрицательную сторону.<br>';
echo'Объясните, пожалуйста, причину, по которой Вы это делаете!<br><br>';
echo'<small>(запрещены спецсимволы и перенос строки)</small><br>';

echo'<form action="raiting.php?uz='.$uz.'&amp;action=minus&amp;'.SID.'" method="post"">';
echo'<textarea cols="25" rows="10" name="msg"></textarea><br>';

if($config_translit=="1"){
echo'Транслит: <input name="trans" type="checkbox" value="y" /><br>';}
echo'<input type="submit" value="Поставить -" /></form><br><br>';

}
}	
//---------------------- Увеличение авторитета ------------------------------//	
if($action=="plus"){

if (preg_match('|^[0-9a-zA-Zа-яёіїєґ,А-ЯЁІЇЄҐ_\.\!\?\)\[\]\;\"\=\+\@\/\(\:\-\s]+$|u', $msg)){ // Фильтруем объяснение от "лишних" знаков
if (strlen(utf_to_win($msg))<201 && strlen(utf_to_win(trim($msg))) > 9) { // Диапазон от 10 до 200 символов

//------------------------------ Запись в профиль ----------------------------//
$ufile = file(BASEDIR."local/profil/$log.prof"); 
$udata = explode(":||:",$ufile[0]);

$udata[48]=$sitetime+10800; // на 3-часа лишаем права отзыва

for ($u=0; $u<$config_userprofkey; $u++){
$utext.=$udata[$u].':||:';}

if($udata[0]!="" && $udata[1]!="" && $udata[4]!="" && $utext!=""){
$fp=fopen(BASEDIR."local/profil/$log.prof","a+");
flock($fp,LOCK_EX);   
ftruncate($fp,0);
fputs($fp,$utext);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);  
unset($utext);
}

//---------------------------Запись всех ников в файл----------------------------//

$fprat=fopen(BASEDIR."local/dataraiting/$log.dat","a+");
flock ($fprat,LOCK_EX);
fputs($fprat,"$uz\r\n");
flock ($fprat,LOCK_UN);
fclose($fprat);
chmod ($fprat, 0666);
chmod (BASEDIR."local/dataraiting/$log.dat", 0666);


$filerat=file(BASEDIR."local/dataraiting/$log.dat");
$irat = count($filerat);
if ($irat>=20) {
$fprat=fopen(BASEDIR."local/dataraiting/$log.dat","w");
flock ($fprat,LOCK_EX);
unset($filerat[0],$filerat[1]);
fputs($fprat, implode("",$filerat));
flock ($fprat,LOCK_UN);
fclose($fprat);
}

//------------------------------Уведомление по привату------------------------//
if($config_notificraiting==1){
$filesize= filesize(BASEDIR."local/privat/$uz.$config_priv");
$filesize=round($filesize/1024,2);
$pers=round($filesize*100/$config_limitsmail);
if($pers<100){

$msg=no_br($msg);
$msg=check($msg);

$mess=base64_encode('<img src="../images/img/plus.gif" alt="plus"> Пользователь '.$log.' поставил вам [b]плюс[/b]. <br>Он объяснил это такой причиной:<br><br> "[i]'.$msg.'[/i]"<br><br>Это системное сообщение, на него не обязательно отвечать.');
$tex=$log.'|'.$mess.'|'.$sitetime.'|'; 
$tex=antimat($tex);

$fp=fopen(BASEDIR."local/privat/$uz.$config_priv","a+");  
flock ($fp,LOCK_EX);                                                              
fputs($fp,"$tex\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);  
}}

//------------------------------ Запись в чужой профиль  ----------------------------//
$uzer_file = file(BASEDIR."local/profil/$uz.prof"); 
$uzer_data = explode(":||:",$uzer_file[0]);

if($config_notificraiting==1){$uzer_data[10]++;}
$uzer_data[49]++;
$uzer_data[50]++;

for ($u2=0; $u2<$config_userprofkey; $u2++){
$uzer_text.=$uzer_data[$u2].':||:';}

if($uzer_data[0]!="" && $uzer_data[1]!="" && $uzer_data[4]!="" && $uzer_text!=""){
$fp2=fopen(BASEDIR."local/profil/$uz.prof","a+");
flock($fp2,LOCK_EX);   
ftruncate($fp2,0);                                                                 
fputs($fp2,$uzer_text);
fflush($fp2);
flock($fp2,LOCK_UN);
fclose($fp2);  
unset($uzer_text);
}

//----------------------- Запись в лог событий сайта  --------------------------//
$msg=no_br($msg);
$msg=check($msg);

$text=$log.'|'.$udata[29].'|'.$udata[100].'|'.$udata[15].'|'.$uz.'|'.$uzer_data[29].'|'.$uzer_data[100].'|'.$sitetime.'|'.$msg.'|PLUS|';	
$text=antimat($text);

$fp=fopen("../local/sobytia.dat","a+");
flock ($fp,LOCK_EX);
fputs ($fp,"$text\r\n");
fflush($fp);
flock ($fp,LOCK_UN);
fclose($fp);


/////////////////////////////////////
$file=file(BASEDIR."local/sobytia.dat"); $i = count($file);
if ($i>=$config_maxpostbook) {
$fp=fopen(BASEDIR."local/sobytia.dat","w");
flock ($fp,LOCK_EX);
unset($file[0],$file[1]);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
}


echo 'Спасибо <b>'.$log.'</b>, Ваш положительный голос за пользователя '.$uz.' успешно оставлен!<br>';
echo 'В данный момент его авторитет: '.(int)($uz_udata[49]+1).'<br>';
echo 'Всего положительных голосов: '.(int)($uz_udata[50]+1).'<br>';
echo 'Всего отрицательных голосов: '.(int)$uz_udata[51].'<br><br>';

echo 'От общего числа положительных и отрицательных голосов строится рейтинг самых авторитетных<br>';
echo 'Внимание, следующий голос вы сможете оставить не менее чем через 3 часа!<br><br>';

echo'<script language="Javascript">function reload() {location = "../pages/anketa.php?uz='.$uz.'&isset=rating_plus&"}; setTimeout("reload()", 1500);</script>
<BR><BR><BR><center><table border=1 cellpadding=7 cellspacing=0 bordercolor=#224488 width=350><tr><td><center>
Через несколько секунд Вы будете перемещены в анкету пользователя '.$uz.'.<BR>
Если этого не происходит, то для возврата нажмите <B><a href="../pages/anketa.php?uz='.$uz.'&isset=rating_plus&"> здесь</a></B> </td></tr></table></center><BR><BR><BR>';
include_once"../themes/$config_themes/foot.php"; exit;

} else {echo '<br><center><big> В вашем объяснении нарушен лимит количества символов! </big></center><br><br>Диапазон количества символов - от 10 до 200! ';}
} else {echo '<br><center><big> Ваше объяснение пустое или содержит недопустимые символы! </big></center><br><br>Будьте немного проще! ';}
}

//---------------------- Уменьшение авторитета ------------------------------//	
if($action=="minus"){

if (preg_match('|^[0-9a-zA-Zа-яёіїєґ,А-ЯЁІЇЄҐ_\.\!\?\)\[\]\;\"\=\+\@\/\(\:\-\s]+$|u', $msg)){ // Фильтруем объяснение от "лишних" знаков
if (strlen(utf_to_win($msg))<201 && strlen(utf_to_win(trim($msg))) > 9) { // Диапазон от 10 до 200 символов

//------------------------------ Запись в профиль ----------------------------//
$ufile = file(BASEDIR."local/profil/$log.prof"); 
$udata = explode(":||:",$ufile[0]);

$udata[48]=$sitetime+10800; // на 3-часа лишаем права отзыва

for ($u=0; $u<$config_userprofkey; $u++){
$utext.=$udata[$u].':||:';}

if($udata[0]!="" && $udata[1]!="" && $udata[4]!="" && $utext!=""){
$fp=fopen(BASEDIR."local/profil/$log.prof","a+");
flock($fp,LOCK_EX);   
ftruncate($fp,0);                                                                 
fputs($fp,$utext);
fflush($fp);
flock($fp,LOCK_UN);
fclose($fp);  
unset($utext);
}


//---------------------------Запись всех ников в файл----------------------------//

$fprat=fopen(BASEDIR."local/dataraiting/$log.dat","a+");
flock ($fprat,LOCK_EX);
fputs($fprat,"$uz\r\n");
flock ($fprat,LOCK_UN);
fclose($fprat);
chmod ($fprat, 0666);
chmod (BASEDIR."local/dataraiting/$log.dat", 0666);


$filerat=file(BASEDIR."local/dataraiting/$log.dat");
$irat = count($filerat);
if ($irat>=20) {
$fprat=fopen(BASEDIR."local/dataraiting/$log.dat","w");
flock ($fprat,LOCK_EX);
unset($filerat[0],$filerat[1]);
fputs($fprat, implode("",$filerat));
flock ($fprat,LOCK_UN);
fclose($fprat);
}

//------------------------------Уведомление по привату------------------------//
if($config_notificraiting==1){
$filesize= filesize(BASEDIR."local/privat/$uz.$config_priv");
$filesize=round($filesize/1024,2);
$pers=round($filesize*100/$config_limitsmail);
if($pers<100){

$msg=no_br($msg);
$msg=check($msg);

$mess=base64_encode('<img src="../images/img/minus.gif" alt="minus"> Пользователь '.$log.' поставил вам [b]минус[/b]. <br>Он объяснил это такой причиной:<br><br> "[i]'.$msg.'[/i]" <br><br>Это системное сообщение, на него не обязательно отвечать.');
$tex=$log.'|'.$mess.'|'.$sitetime.'|'; 
$tex=antimat($tex);
	
$fp=fopen(BASEDIR."local/privat/$uz.$config_priv","a+");  
flock ($fp,LOCK_EX);                                                              
fputs($fp,"$tex\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);  
}}

//------------------------------ Запись в чужой профиль  ----------------------------//
$uzer_file = file(BASEDIR."local/profil/$uz.prof"); 
$uzer_data = explode(":||:",$uzer_file[0]);

if($config_notificraiting==1){$uzer_data[10]++;}
$uzer_data[49]--;
$uzer_data[51]++;

for ($u2=0; $u2<$config_userprofkey; $u2++){
$uzer_text.=$uzer_data[$u2].':||:';}

if($uzer_data[0]!="" && $uzer_data[1]!="" && $uzer_data[4]!="" && $uzer_text!=""){
$fp2=fopen(BASEDIR."local/profil/$uz.prof","a+");
flock($fp2,LOCK_EX);   
ftruncate($fp2,0);                                                                 
fputs($fp2,$uzer_text);
fflush($fp2);
flock($fp2,LOCK_UN);
fclose($fp2);  
unset($uzer_text); 
}

//----------------------- Запись в лог событий сайта  --------------------------//
$msg=no_br($msg);
$msg=check($msg);

$text=$log.'|'.$udata[29].'|'.$udata[100].'|'.$udata[15].'|'.$uz.'|'.$uzer_data[29].'|'.$uzer_data[100].'|'.$sitetime.'|'.$msg.'|MINUS|';	
$text=antimat($text);

$fp=fopen("../local/sobytia.dat","a+");
flock ($fp,LOCK_EX);
fputs ($fp,"$text\r\n");
fflush($fp);
flock ($fp,LOCK_UN);
fclose($fp);


/////////////////////////////////////
$file=file(BASEDIR."local/sobytia.dat"); $i = count($file);
if ($i>=$config_maxpostbook) {
$fp=fopen(BASEDIR."local/sobytia.dat","w");
flock ($fp,LOCK_EX);
unset($file[0],$file[1]);
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
}



echo 'Спасибо <b>'.$log.'</b>, Ваш отрицательный голос за пользователя '.$uz.' успешно оставлен!<br>';
echo 'В данный момент его авторитет: '.(int)($uz_udata[49]-1).'<br>';
echo 'Всего положительных голосов: '.(int)$uz_udata[50].'<br>';
echo 'Всего отрицательных голосов: '.(int)($uz_udata[51]+1).'<br><br>';

echo 'От общего числа положительных и отрицательных голосов строится рейтинг самых авторитетных<br>';
echo 'Внимание, следующий голос вы сможете оставить не менее чем через 3 часа!<br>';


echo'<script language="Javascript">function reload() {location = "../pages/anketa.php?uz='.$uz.'&isset=rating_minus&"}; setTimeout("reload()", 1500);</script>
<BR><BR><BR><center><table border=1 cellpadding=7 cellspacing=0 bordercolor=#224488 width=350><tr><td><center>
Через несколько секунд Вы будете перемещены в анкету пользователя '.$uz.'.<BR>
Если этого не происходит, то для возврата нажмите <B><a href="../pages/anketa.php?uz='.$uz.'&isset=rating_minus&"> здесь</a></B> </td></tr></table></center><BR><BR><BR>';
include_once"../themes/$config_themes/foot.php"; exit;

} else {echo '<br><center><big> В вашем объяснении нарушен лимит количества символов! </big></center><br><br>Диапазон количества символов - от 10 до 200! ';}
} else {echo '<br><center><big> Ваше объяснение пустое или содержит недопустимые символы! </big></center><br><br>Будьте немного проще! ';}
}


}else{echo 'Cтатус пользователя '.$uz.' недостаточен для изменения авторитета!<br>';}
}else{echo 'Ошибка, не удалось найти профиль пользователя '.$uz.'!<br>';}
}else{echo 'Ошибка, разрешается оставлять голос только раз в 3 часа!<br>';}
}else{echo 'Ошибка, нельзя изменять авторитет у самого себя<br>';}
}else{echo 'Ошибка, ваш статус не позволяет вам изменять авторитет<br>';}
}else{echo 'Ошибка, отсутствует логин пользователя!<br>';}
}else{echo 'Для того, чтобы изменять авторитет, вы должны быть авторизованы!<br>';}

echo'<br><br>'.$back.'<br>';
echo'<hr>';
include_once"../themes/$config_themes/foot.php";
?>