View file mdmxduel/#inc/main.php

File size: 9.79Kb
<?php
$setup_duel=parse_ini_file(H.'mdmxduel/#inc/setup.ini',true);
$set_duel=$setup_duel['DEFAULT'];//$set_duel['victory_balls']   $set_duel['vote_balls']
unset($setup_duel);
/*/
foreach($set_duel as $key=>$val)
{
echo  $key." - ".$val."<br />";
}
/*/
// Незавершенные и заявки без ответа

$old_duel=mysql_fetch_array(mysql_query("SELECT * FROM `md_duel` WHERE (`status`='created' OR `status`='submit') AND `submit`<('$time'-86400) LIMIT 1"),MYSQL_ASSOC);
if($old_duel)
{
include_once H.'mdmxduel/#inc/deleted.md';
}
#echo mysql_error()."<br />";
// Проверка завершенных дуэлей
$duel=mysql_fetch_array(mysql_query("SELECT * FROM `md_duel` WHERE `status`='active' AND `stop_time`<'$time' LIMIT 1"),MYSQL_ASSOC);
if($duel) //Если найдена
{
//
#echo "Просроченная дуэль<br />";
// Определить победителя
if($duel['vote_a']>$duel['vote_b']){$d_victory_id=$duel['a'];$d_victory_l='a';$d_novic_l='b';}else{$d_victory_id=$duel['b'];$d_victory_l='b';$d_novic_l='a';}
if($duel['vote_a']==$duel['vote_b']){$d_victory_id=0;}  //Нет победителя
// Начислить победителю баллов
$priz=false;
//$duel_lid=0;
if($d_victory_id>0)
  {
  mysql_query("UPDATE `user` SET `balls`=(`balls`+$set_duel[victory_balls]) WHERE `id`='$d_victory_id' LIMIT 1");
  if(mysql_affected_rows()>0){$priz=true;}
  
  // Отослать победителю уведомление
  $novic=$duel['nick_'.$d_novic_l];
  $hotpost="Поздравляем!\nВы выиграли в поединке против [url=".M."info.php?id=$duel[$d_novic_l]]$novic [/url]";   //     
  if($priz){$hotpost.="\nВам начислено $set_duel[victory_balls] баллов за победу!";}
      mysql_query("INSERT INTO `mail` SET 
         `id_user`='',
         `id_kont`='$d_victory_id',
         `time`='$time',
         `msg`='$hotpost',
         `read`='0' 
         ");
         #echo mysql_error()."<br />";
  // Отослать проигравшему уведомление
  $novic=$duel['nick_'.$d_victory_l];
  $d_novictory_id=$duel[$d_novic_l];
  $hotpost="К сожалению Вы проиграли в поединке против [url=".M."info.php?id=$duel[$d_victory_l]]$novic [/url]. \n Не отчаивайтесь, в следующий раз Вам обязательно повезет!";   //     
  #if($priz){$hotpost.="\nВам начислено 1000 баллов за победу!";}
      mysql_query("INSERT INTO `mail` SET 
         `id_user`='',
         `id_kont`='$d_novictory_id',
         `time`='$time',
         `msg`='$hotpost',
         `read`='0' 
         ");
  }
if($duel['vote_a']==$duel['vote_b'])  //Если нет победителя
{
$hotpost="Дуэль между [url=".M."info.php?id=$duel[a]]$duel[nick_a] [/url] и [url=".M."info.php?id=$duel[b]]$duel[nick_b] [/url] закончилась в ничью!";
        //
        mysql_query("INSERT INTO `mail` SET 
         `id_user`='',
         `id_kont`='$duel[a]',
         `time`='$time',
         `msg`='$hotpost',
         `read`='0' 
         ");
         //
         mysql_query("INSERT INTO `mail` SET 
         `id_user`='',
         `id_kont`='$duel[b]',
         `time`='$time',
         `msg`='$hotpost',
         `read`='0' 
         ");
}
// Очистить таблицу голосований
mysql_query("DELETE FROM `md_duel_vote` WHERE `duel_id` = '$duel[id]'");
//Удалить фото из временной папки
@unlink(H."mdmxduel/photos/$duel[a_photos]");
@unlink(H."mdmxduel/photos/$duel[b_photos]");
// Обновить статус дуэлей
mysql_query("UPDATE `md_duel` SET `status`='stop', `lider`='$d_victory_id' WHERE `id`='$duel[id]' LIMIT 1");
// Оптимизировать обе таблицы
mysql_query("OPTIMIZE TABLE `md_duel_vote`,`md_duel`");
}
// Обработчик голосований
if($user and isset($_POST['duel']) and isset($_POST['group']))
{
$duel_id=intval(abs($_POST['duel']));
if($_POST['group']!='a'){$group_l='b';}else{$group_l='a';}
#echo $group_l."<br />";
$err="";
$duel=mysql_fetch_array(mysql_query("SELECT * FROM `md_duel` WHERE `status`='active' AND `stop_time`>'$time' AND `id`='$duel_id'"),MYSQL_ASSOC);
if(!$duel){$err.="Дуэль не найдена!<br />";}
// Проверка голосования
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `md_duel_vote` WHERE `duel_id` = '$duel[id]' AND `uid` = '$user[id]'"),0)>0)
{
$err.="Вы уже проголосовали в этой дуэли!<br />";
}
//
  if($err=="")
    {
       $n_id_vote=intval($duel[$group_l]);
       #echo $duel[$group_l]."<br />";
       //Вставка голоса
       mysql_query("INSERT INTO `md_duel_vote` SET 
       `duel_id`='$duel[id]',
       `nick`='$user[nick]',
       `uid`='$user[id]',
       `id_vote`='$n_id_vote',
       `time_vote`='$time' 
       ");
       if(mysql_affected_rows()>0)
       {
          //Обновление данных дуэли
          $group="vote_$group_l";
          #echo $group."<br />";
          mysql_query("UPDATE `md_duel` SET `$group`=(`$group`+'1') WHERE `id`='$duel[id]' LIMIT 1");
          $nick_vote=$duel['nick_'.$group_l];
          if(mysql_affected_rows()>0){$_SESSION['msg'].="Вы успешно проголосовали за $nick_vote<br />";}
          //Обновление баланса пользователя
          mysql_query("UPDATE `user` SET `balls`=(`balls`+$set_duel[vote_balls]) WHERE `id`='$user[id]' LIMIT 1");
          if(mysql_affected_rows()>0){$_SESSION['msg'].="На Ваш баланс начислено $set_duel[vote_balls] баллов!<br />";}
          $log_file=H."mdmxduel/#d_log/$duel[id].log";
          $nick_vote=$duel['nick_'.$group_l];
          $log_text="\n".date("G:i")." Пользователь [url=".M."info.php?id=$user[id]][b]$user[nick] [/b][/url] голосует в пользу [url=".M."info.php?id=$duel[$group_l]][b]$nick_vote [/b][/url]";
          addToLog($log_file,$log_text);
       }
    }
#echo $err."<br />";
$_SESSION['err'].=$err;
if(!isset($_GET['page'])){$_GET['page']=1;}
header("Location: ?page=".my_esc($_GET['page']));
exit;
}
//
$all=mysql_result(mysql_query("SELECT count(*) FROM `md_duel` WHERE `status`='active' AND `stop_time`>'$time'"),0);
$pnumber=1; //Элементов на страницу
    if(!isset($_GET['page'])){$_GET['page']=1;}
		//$n=new Navigator($all,$pnumber);
    $n=k_page($all,$pnumber);
    if($_GET['page']=='end'){$page=$n;}
    else{$page=intval($_GET['page']);}
    if($page<1){$page=1;}
    $start=$page*$pnumber-$pnumber;
    if($start<1){$start=0;}
$active_duels=mysql_query("SELECT * FROM `md_duel` WHERE `status`='active' AND `stop_time`>'$time' ORDER BY `stop_time` ASC LIMIT $start,$pnumber");
if(mysql_num_rows($active_duels)>0)
{
echo "<div class='main_menu'>Активных дуэлей $all</div>";   //      
$star_img=M."style/icons/rekl.png";
   echo "<table width='100%' border='0'>";  // alignt='center'
   while($data_duel=mysql_fetch_array($active_duels, MYSQL_ASSOC))
    {
       echo "<tr class='msg'><td width='45%'>"; 
       echo "<img src='".M."mdmxduel/photos/$data_duel[a_photos]' width='50' /><br />";
       if($user)
       {
       echo "<form action='' method='post'>
       <input type='hidden' name='duel' value='$data_duel[id]' />
       <input type='hidden' name='group' value='a' />
       <input type='submit' name='vote' value='ЗА!' />
       </form>";
       }
       if($data_duel['vote_a']>$data_duel['vote_b']){echo "<img src='$star_img' alt='' /> ";}
       echo "<a href='".M."info.php?id=$data_duel[a]'>$data_duel[nick_a]</a> [$data_duel[vote_a]]<br />";
       echo "</td>";
        
       echo "<td>";
       echo "<a href='?a=dviews&amp;d=$data_duel[id]'>- VS -</a>";
       echo "</td>";
       
       echo "<td width='45%'>";
       echo "<img src='".M."mdmxduel/photos/$data_duel[b_photos]' width='50' /><br />";
       if($user)
       {
       echo "<form action='' method='post'>
       <input type='hidden' name='duel' value='$data_duel[id]' />
       <input type='hidden' name='group' value='b' />
       <input type='submit' name='vote' value='ЗА!' />
       </form>";
       }
       if($data_duel['vote_b']>$data_duel['vote_a']){echo "<img src='$star_img' alt='' /> ";}
       echo "<a href='".M."info.php?id=$data_duel[b]'>$data_duel[nick_b]</a> [$data_duel[vote_b]]<br />";
       echo "</td></tr>";
       echo "<tr><td class='p_m' colspan='3'>";
       #echo "Информация о дуэли";
       if($n>1){echo str($link="?",$n,$page);}
         //Здесь вывод лог файла
         $log_file=H."mdmxduel/#d_log/$data_duel[id].log";
         #echo $log_file."<br />";
         if(file_exists($log_file))
         {
         $log=file($log_file);
         $log=array_reverse($log,false);
         //
         $all=(count($log)-1);
         
          $pnumber=$user['set_p_str']; //Элементов на страницу
          if(!isset($_GET['pgl'])){$_GET['pgl']=1;}
      		//
          $n=k_page($all,$pnumber);
          if($_GET['pgl']=='end'){$pgl=$n;}
          else{$pgl=intval($_GET['pgl']);}
          if($pgl<1){$pgl=1;}
          $start=$pgl*$pnumber-$pnumber;
          if($start<1){$start=0;}
         //
           for($i=$start;$i<=($start+$pnumber);$i++)
           {
            if(isset($log[$i]))echo output_text($log[$i]."\r");
           }
        if($n>1){echo str2($link="?page=$page&amp;",$n,$pgl,'pgl');}
         }else{echo "Нет лог файла!<br />";}
       echo "</td></tr>";
    }
   echo "</table>";   
}else{echo "<div class='err'>Нет активных дуэлей!</div>";} 
?>