View file panel/votes.php

File size: 13.8Kb
<?php
// mod by Golem http://veplog.ru

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";

if ($provlog==$_SESSION['log'] && $provpar==md5($_SESSION['par']) && $_SESSION['log']!="" && md5($_SESSION['par'])!="") {
if ($dostup==101 || $dostup==102 || $dostup==103){
##########################################################################
##                      Форма редактирования голосования
##########################################################################
if(!isset($action)){
echo'<div class="tp">Управление голосованием</div>';

$poll = file(BASEDIR."local/datavotes/votes.dat");
$vv = explode("|",$poll[0]);
if($poll){

$vopros = check($vv[0]);
$o1 = check($vv[1]);
$o2 = check($vv[2]);
$o3 = check($vv[3]);
$o4 = check($vv[4]);
$o5 = check($vv[5]);
$o6 = check($vv[6]);
$o7 = check($vv[7]);
$o8 = check($vv[8]);
$o9 = check($vv[9]);
$o10 = check($vv[10]);


echo '<div class="tpanel">Внимание! При редактировании опроса подсчет результатов остается неизменным<br>';
echo 'Также при редактировании нельзя оставлять пустые поля.</div>';

if($config_themes!="wml"){
echo '<form action="votes.php?action=edit&amp;'.SID.'" method="post">';
echo 'Вопрос:<br><input type="text" name="vopros" maxlength="100"  value="'.$vopros.'" /><br>';
echo 'Ответ 1:<br><input type="text" name="o1" value="'.$o1.'" /><br>';
echo 'Ответ 2:<br><input type="text" name="o2" value="'.$o2.'" /><br>';
echo 'Ответ 3:<br><input type="text" name="o3" value="'.$o3.'" /><br>';

if ($o4!=="") {echo 'Ответ 4:<br><input type="text" name="o4" value="'.$o4.'" /><br>';
if ($o5!=="") {echo 'Ответ 5:<br><input type="text" name="o5" value="'.$o5.'" /><br>';}
if ($o6!=="") {echo 'Ответ 6:<br><input type="text" name="o6" value="'.$o6.'" /><br>';}
if ($o7!=="") {echo 'Ответ 7:<br><input type="text" name="o7" value="'.$o7.'" /><br>';}
if ($o8!=="") {echo 'Ответ 8:<br><input type="text" name="o8" value="'.$o8.'" /><br>';}
if ($o9!=="") {echo 'Ответ 9:<br><input type="text" name="o9" value="'.$o9.'" /><br>';}
if ($o10!=="") {echo 'Ответ 10:<br><input type="text" name="o10" value="'.$o10.'" /><br>';}
}
echo'<input type="submit" value="Изменить" /></form>';

}else{
	
echo'Вопрос*:<br>';
echo'<input name="vopros" maxlength="100"  value="'.$vopros.'" /><br>';
echo 'Ответ 1*:<br><input type="text" name="o1" value="'.$o1.'" /><br>';
echo 'Ответ 2*:<br><input type="text" name="o2" value="'.$o2.'" /><br>';
echo 'Ответ 3*:<br><input type="text" name="o3" value="'.$o3.'" /><br>';
if ($o4!=="") {echo 'Ответ 4:<br><input type="text" name="o4" value="'.$o4.'" /><br>';}
if ($o5!=="") {echo 'Ответ 5:<br><input type="text" name="o5" value="'.$o5.'" /><br>';}
if ($o6!=="") {echo 'Ответ 6:<br><input type="text" name="o6" value="'.$o6.'" /><br>';}
if ($o7!=="") {echo 'Ответ 7:<br><input type="text" name="o7" value="'.$o7.'" /><br>';}
if ($o8!=="") {echo 'Ответ 8:<br><input type="text" name="o8" value="'.$o8.'" /><br>';}
if ($o9!=="") {echo 'Ответ 9:<br><input type="text" name="o9" value="'.$o9.'" /><br>';}
if ($o10!=="") {echo 'Ответ 10:<br><input type="text" name="o10" value="'.$o10.'" /><br>';}

echo'<anchor>Изменить';
echo'<go href="votes.php?action=edit&amp;'.SID.'" method="post">';
echo'<postfield name="vopros" value="$(vopros)"/>';
echo'<postfield name="o1" value="$(o1)"/>';
echo'<postfield name="o2" value="$(o2)"/>';
echo'<postfield name="o3" value="$(o3)"/>';
if ($o4!=="") {echo'<postfield name="o4" value="$(o4)"/>';}
if ($o5!=="") {echo'<postfield name="o5" value="$(o5)"/>';}
if ($o6!=="") {echo'<postfield name="o6" value="$(o6)"/>';}
if ($o7!=="") {echo'<postfield name="o7" value="$(o7)"/>';}
if ($o8!=="") {echo'<postfield name="o8" value="$(o8)"/>';}
if ($o9!=="") {echo'<postfield name="o9" value="$(o9)"/>';}
if ($o10!=="") {echo'<postfield name="o10" value="$(o10)"/>';}
echo'</go></anchor><br>--------------------<br>';	
	
}


}else{echo'<div class="tpanel">Голосование еще не создано</div>';}

echo'<div class="btm">[<a href="votes.php?action=new&amp;'.SID.'">Создать голосование</a>]<br>';
echo'[<a href="votes.php?action=all&amp;'.SID.'">Архив голосований</a>]';

}


##########################################################################
##                      Редактирование голосований
##########################################################################
if($action=="edit"){
if($vopros!="" && $o1!=="" && $o2!=="" && $o3!==""){
	
$ostr=$vopros.'|'.$o1.'|'.$o2.'|'.$o3.'|'.$o4.'|'.$o5.'|'.$o6.'|'.$o7.'|'.$o8.'|'.$o9.'|'.$o10.'|';	
	
if($ostr){
$ofile = fopen (BASEDIR."local/datavotes/votes.dat", "a+");
flock ($ofile,LOCK_EX);
ftruncate ($ofile,0);
fputs ($ofile, $ostr);
fflush($ofile);
flock ($ofile,LOCK_UN);
fclose($ofile);
chmod ($ofile, 0666);
chmod (BASEDIR."local/datavotes/votes.dat", 0666);
}

header ("Location: votes.php?isset=mp_votesyes&".SID); 
}else{header ("Location: votes.php?isset=mp_votesno&".SID);}
exit;
}


##########################################################################
##                  Форма создания нового голосования
##########################################################################
if($action=="new"){
echo'<div class="tp">Создание нового голосования</div>';

echo 'Опрос может состоять от 3 до 10 вариантов ответа.<br>';
echo 'Для создания нового опроса заполните обязательные поля: Вопрос, ответ 1, ответ 2, ответ 3.<br>';
echo 'Нажмите кнопку Создать.<br><br>';
echo 'При нажатии на кнопку Создать - предыдущий вопрос и ответы,<br>';
echo 'а также подсчёт результатов будут АНУЛИРОВАНЫ и отправлены в архив голосований<br><br>';

if($config_themes!="wml"){
echo '<form action="votes.php?action=add&amp;'.SID.'" method="post">';
echo 'Вопрос*:<br><input type="text" name="vopros" maxlength="100" /><br>';
echo 'Ответ 1*:<br><input type="text" name="o1" /><br>';
echo 'Ответ 2*:<br><input type="text" name="o2" /><br>';
echo 'Ответ 3*:<br><input type="text" name="o3" /><br>';
echo 'Ответ 4:<br><input type="text" name="o4" /><br>';
echo 'Ответ 5:<br><input type="text" name="o5" /><br>';
echo 'Ответ 6:<br><input type="text" name="o6" /><br>';
echo 'Ответ 7:<br><input type="text" name="o7" /><br>';
echo 'Ответ 8:<br><input type="text" name="o8" /><br>';
echo 'Ответ 9:<br><input type="text" name="o9" /><br>';
echo 'Ответ 10:<br><input type="text" name="o10" /><br>';
echo '<input type="submit" value="Создать" /></form>';

}else{

echo'<br>--------------------<br>Вопрос*:<br>';
echo'<input name="vopros" maxlength="100" /><br>';
echo 'Ответ 1*:<br><input type="text" name="o1" /><br>';
echo 'Ответ 2*:<br><input type="text" name="o2" /><br>';
echo 'Ответ 3*:<br><input type="text" name="o3" /><br>';
echo 'Ответ 4:<br><input type="text" name="o4" /><br>';
echo 'Ответ 5:<br><input type="text" name="o5" /><br>';
echo 'Ответ 6:<br><input type="text" name="o6" /><br>';
echo 'Ответ 7:<br><input type="text" name="o7" /><br>';
echo 'Ответ 8:<br><input type="text" name="o8" /><br>';
echo 'Ответ 9:<br><input type="text" name="o9" /><br>';
echo 'Ответ 10:<br><input type="text" name="o10" /><br>';

echo'<anchor>Создать';
echo'<go href="votes.php?action=add&amp;'.SID.'" method="post">';
echo'<postfield name="vopros" value="$(vopros)"/>';
echo'<postfield name="o1" value="$(o1)"/>';
echo'<postfield name="o2" value="$(o2)"/>';
echo'<postfield name="o3" value="$(o3)"/>';
echo'<postfield name="o4" value="$(o4)"/>';
echo'<postfield name="o5" value="$(o5)"/>';
echo'<postfield name="o6" value="$(o6)"/>';
echo'<postfield name="o7" value="$(o7)"/>';
echo'<postfield name="o8" value="$(o8)"/>';
echo'<postfield name="o9" value="$(o9)"/>';
echo'<postfield name="o10" value="$(o10)"/>';
echo'</go></anchor><br>--------------------<br>';

}

echo '* - Поля обязательны для заполнения<br>';
echo '<div class="btm">[<a href="votes.php?'.SID.'">Вернуться</a>]';
}


##########################################################################
##                      Создание нового голосования
##########################################################################
if($action=="add"){
if($vopros!="" && $o1!=="" && $o2!=="" && $o3!==""){	
	
$datavo = file(BASEDIR."local/datavotes/votes.dat");
$vv = explode("|",$datavo[0]);
if($datavo){
	
$datares = file(BASEDIR."local/datavotes/result.dat");
$vr = explode("|",$datares[0]);
$sum=array_sum($vr);

if($vv[4]!==""){$datavo4=$vv[4].' - '.(int)$vr[4];}
if($vv[5]!==""){$datavo5=$vv[5].' - '.(int)$vr[5];}
if($vv[6]!==""){$datavo6=$vv[6].' - '.(int)$vr[6];}
if($vv[7]!==""){$datavo7=$vv[7].' - '.(int)$vr[7];}
if($vv[8]!==""){$datavo8=$vv[8].' - '.(int)$vr[8];}
if($vv[9]!==""){$datavo9=$vv[9].' - '.(int)$vr[9];}
if($vv[10]!==""){$datavo10=$vv[10].' - '.(int)$vr[10];}



$allstr = $vv[0].'|'.$vv[1].' - '.$vr[1].'|'.$vv[2].' - '.$vr[2].'|'.$vv[3].' - '.$vr[3].'|'.$datavo4.'|'.$datavo5.'|'.$datavo6.'|'.$datavo7.'|'.$datavo8.'|'.$datavo9.'|'.$datavo10.'|'.$sum.'|';
$allstr=htmlspecialchars(stripslashes(trim($allstr)));
$allstr=preg_replace ("|[\r\n]+|si","",$allstr);

$allfile = fopen(BASEDIR."local/datavotes/allvotes.dat", "a+");
flock ($allfile,LOCK_EX);
fputs ($allfile, "$allstr\r\n");
fflush($allfile);
flock($allfile,LOCK_UN);
fclose($allfile); 
chmod ($allfile, 0666);
chmod (BASEDIR."local/datavotes/allvotes.dat", 0666);
}

$vopros=check($vopros);
$o1=check($o1);
$o2=check($o2);
$o3=check($o3);
$o4=check($o4);
$o5=check($o5);
$o6=check($o6);
$o7=check($o7);
$o8=check($o8);
$o9=check($o9);
$o10=check($o10);

$istr=$vopros.'|'.$o1.'|'.$o2.'|'.$o3.'|'.$o4.'|'.$o5.'|'.$o6.'|'.$o7.'|'.$o8.'|'.$o9.'|'.$o10.'|';	

if($istr){
$ifile = fopen (BASEDIR."local/datavotes/votes.dat", "w");
flock ($ifile,LOCK_EX);
fputs ($ifile, $istr);
fflush($ifile);
flock($ifile,LOCK_UN);
fclose($ifile); 
chmod ($ifile, 0666);
chmod (BASEDIR."local/datavotes/votes.dat", 0666);
}
 
clear_files(BASEDIR."local/datavotes/result.dat"); 

//Новое голосование успешно создано!
header ("Location: votes.php?isset=mp_addvotes".SID);
}else{
header ("Location: votes.php?action=new&isset=mp_noaddvotes".SID);}
}

##########################################################################
##                           Архив голосований
##########################################################################
if($action=="all"){
echo'<div class="tp">Архив голосований</div><div class="forum">';

$file = file(BASEDIR."local/datavotes/allvotes.dat");
if($file){
$file = array_reverse($file);
$total = count($file);    
if (empty($_GET['start'])) $start = 0;
else $start = $_GET['start'];
if ($total < $start + $config_allvotes){ $end = $total; }
else {$end = $start + $config_allvotes; }
for ($i = $start; $i < $end; $i++){

$data = explode("|",$file[$i]);
$sumtotal+=$data[11];
$str=$total-$i-1;
echo '<div class="r0">Вопрос: <b>'.$data[0].'</b> [<a href="votes.php?action=del&amp;str='.$str.'&amp;'.SID.'">Удалить</a>] <br>';
echo'Было опрошено: '.(int)$data[11];
echo'</div>';

}
echo'</div>';
if ($start != 0) {echo '<a href="votes.php?action=all&amp;start='.($start - $config_allvotes).'&amp;'.SID.'">&lt;пред.</a>';}else{echo'&lt;пред.';}
echo' | '; 
if ($total > $start + $config_allvotes) {echo '<a href="votes.php?action=all&amp;start='.($start + $config_allvotes).'&amp;'.SID.'">след.&gt;</a>';}else{echo 'след.&gt;';}

echo'<div class="panel">Всего голосований: '.(int)$total;
echo'<br>Всего опрошено: '.(int)$sumtotal;
echo'</div>';

}else{echo '<div class="tpanel">Архив голосований еще не создан</div>';}
echo'<div class="btm">[<a href="votes.php?'.SID.'">Вернуться</a>]';
}

##########################################################################
##                    Удаление из архива голосований
##########################################################################
if($action=="del"){
if($str!=""){	
$file = file(BASEDIR."local/datavotes/allvotes.dat");
$fp=fopen(BASEDIR."local/datavotes/allvotes.dat","w");
flock ($fp,LOCK_EX);
for ($i=0;$i< sizeof($file);$i++) { if ($i==$str) {unset($file[$i]);} }
fputs($fp, implode("",$file));
flock ($fp,LOCK_UN);
fclose($fp);
}
//Голосование успешно удалено из архива
header ("Location: votes.php?action=all&isset=mp_delvotes".SID);
}




echo'<br>[<a href="index.php?'.SID.'">В админку</a>]<br>';
echo'[<a href="../index.php?'.SID.'">На главную</a>]</div>';

} else {header ("Location: ../index.php?isset=404&".SID);}
} else {header ("Location: ../index.php?isset=404&".SID);}

include_once"../themes/$config_themes/foot.php";
?>