View file mdmxduel/#inc/challenge.php

File size: 12.36Kb
<?php
// Файл вызова на дуэль (создание заявки)
/*
Создаем запись дуэли
Выбрать изменить свою фотку для дуэли
Отправляем заявку оппоненту
ждем...

`submit` - устанавливается при готовой заявке, когда сторона а выбрала фото и отправила заявку оппоненту (изменить уже нельзя)
`accept_time` - время подтверждения стороной в (кого вызвали), устанавливается когда сторона в выбрала фото и согласилась на дуэль 
`stop_time` - время окончания дуэли, если установлено то никаких изменений сделать нельзя, если время окончания больше реального времени 
`a` - идентификатор вызвавшей стороны 
`b` - идентификатор вызванной стороны 
`a_photos` - фотография вызывающего 
`b_photos` - фотография вызванного

СТАТУСЫ ЗАЯВКИ
'created' - создание заявителем
'otkaz' -   отказ принять заявку
'submit' -  заявка ждет подтверждения
'active' -  дуэль активна
'stop' -    дуэль завершена 
*/
#######################################################################################
if(isset($_GET['acc']))
{
$accept=intval(abs($_GET['acc']));
$err="";
echo "Вход в процедуру оформления!<br />";
$active_d=mysql_fetch_array(mysql_query("SELECT * FROM `md_duel` WHERE `a`='$user[id]' AND `status`='created' AND `id`='$accept' LIMIT 1"),MYSQL_ASSOC);
if(!$active_d){$err.= "Заявка не найдена!<br />";}
if($active_d['a_photos']=="" and file_exists(H."mdmxduel/photos/$active_d[a_photos]") and is_file(H."mdmxduel/photos/$active_d[a_photos]")){$err.= "Фото для дуэли не установлено!<br />";}
// Проверить статусы
//
if($err=="")
{
    mysql_query("UPDATE `md_duel` SET 
         `submit`='$time',
         `status`='submit' 
         WHERE `id`='$active_d[id]' LIMIT 1");
         #$err.= mysql_error()."<br />";
    if(mysql_affected_rows()>0){$_SESSION['msg'].="Заявка успешно создана!<br />";}else{$_SESSION['err'].="Не удалось создать заявку!<br />";}
    // Отправка мыла для того, кого вызвали (здесь же вставляем отправку в журналы если у Вас они установлены)
    $hotpost="Пользователь [url=info.php?id=$user[id]]$user[nick][/url] вызывает Вас на фотодуэль!\nВы можете [url=".M."mdmxduel/?accept=$active_d[id]]принять[/url] предложение или [url=".M."mdmxduel/?accept=$active_d[id]]отказаться[/url] от него!";
    mysql_query("INSERT INTO `mail` SET 
       `id_user`='',
       `id_kont`='$active_d[b]',
       `time`='$time',
       `msg`='$hotpost',
       `read`='0' 
       ");
       #$err.= mysql_error()."<br />";
}   

$_SESSION['err'].=$err;
header("Location: ?");
exit;
}
#######################################################################################
#######################################################################################
$err=NULL;
$ank=mysql_fetch_array(mysql_query("SELECT * FROM `user` WHERE `id`='$challenge' LIMIT 1"),MYSQL_ASSOC);
if($ank['id']==$user['id']){$err.= "Нельзя вызвать на дуэль самого себя :)<br />";}
if(!$ank){$err.= "Оппонент не найден!<br />";}

// Выборка дуэли из таблицы
if($err=="")
{         /*/ DEBUG
          echo "\$ank<br />";
          foreach($ank as $key=>$val)
          {
          echo $key." - ".$val."<br />";
          }
          /*/ 
$active_d=mysql_fetch_array(mysql_query("SELECT * FROM `md_duel` WHERE ((`a`='$user[id]' AND `b`='$ank[id]') OR (`b`='$user[id]' AND `a`='$ank[id]')) AND `status`!='otkaz' AND `status`!='stop' LIMIT 1"),MYSQL_ASSOC);
          // Здесь проверка условий статуса дуэлей
          $stop_d=false;
          if($active_d and $active_d['a']!=$user['id']){$stop_d=true;$_SESSION['err'].="Сейчас Вы не можете вызвать пользователя $ank[nick] на дуэль!<br />";} // Создается заявка тем, кому данный пользователь хочет отправить
          if($active_d['status']=="submit"){$stop_d=true;$_SESSION['err'].="Заявка ждет подтверждения!<br />";} //
          if($active_d['status']=="active"){$stop_d=true;$_SESSION['err'].="Заявка уже активна!<br />";} //
          if($active_d['status']=="otkaz"){$stop_d=true;$_SESSION['err'].="Пользователь не желает принимать заявки сегодня!<br />";} //
          if($stop_d)
          {
          $_SESSION['err'].=$err;
          header("Location: ?");
          exit;
          }
          /*/ DEBUG
          echo "\$active_d<br />";
          foreach($active_d as $key=>$val)
          {
          echo $key." - ".$val."<br />";
          }
          /*/
}else{
$_SESSION['err'].=$err;
header("Location: ?");
exit;
}
//
$mras=NULL;
if(is_file(H."sys/avatar/$user[id].jpg")){$mras='jpg';}
elseif(is_file(H."sys/avatar/$user[id].gif")){$mras='gif';}
elseif(is_file(H."sys/avatar/$user[id].png")){$mras='png';}
//Если дуэль существует
if($active_d)
{
########################################################
  if(isset($_POST['photoid']))
  {
      $ipph=intval(abs($_POST['photoid']));
      $get_album=mysql_fetch_array(mysql_query("SELECT * FROM `gallery_foto` WHERE `id`='$ipph' LIMIT 1"),MYSQL_ASSOC);
      $check_ph=mysql_fetch_array(mysql_query("SELECT * FROM `gallery` WHERE `id`='$get_album[id_gallery]' AND `id_user`='$user[id]' LIMIT 1"),MYSQL_ASSOC);
      if(!$check_ph){$_SESSION['err'].="Это не Ваше фото!<br />";}else{
      // Проверка на соответствие данному пользователю
      unlink(H."mdmxduel/photos/$active_d[id]_a.$get_album[ras]");
      if(copy(H."sys/gallery/640/$get_album[id].$get_album[ras]",H."mdmxduel/photos/$active_d[id]_a.$get_album[ras]"))
        {
        echo "Вход в процедуру обновления данных<br />";
        mysql_query("UPDATE `md_duel` SET `a_photos`='$active_d[id]_a.$get_album[ras]' WHERE `id`='$active_d[id]' LIMIT 1");
        }
      }
header("Location: ?challenge=$ank[id]");
exit; 
  }
// Установка аватара
if(isset($_POST['set_m_ava_x']) or isset($_POST['set_m_ava']))
{     $err="";
      if($mras){$m_files="$active_d[id]_a.$mras";}else{$err.="Аватар не установлен!<br />";}
      // Проверка на соответствие данному пользователю
      if($err=="")
      {
      unlink(H."mdmxduel/photos/$active_d[a_photos]");
      if(copy(H."sys/avatar/$user[id].$mras",H."mdmxduel/photos/$m_files"))
        {
          echo "Вход в процедуру обновления данных<br />";
          mysql_query("UPDATE `md_duel` SET `a_photos`='$m_files' WHERE `id`='$active_d[id]' LIMIT 1");
        }
      }
$_SESSION['err'].=$err;
header("Location: ?challenge=$ank[id]");
exit;
}
//
########################################################
// Проверка статуса дуэли  $active_d['']
if($active_d['submit']==0){$err.= "Дуэль только что создана и не отправлена!<br />";}
if($active_d['status']!='created'){$err.= "Заявка для $ank[nick] уже существует!<br />";}
}else{
// Иначе создание записи
mysql_query("INSERT INTO `md_duel` SET 
        `submit`='$time',
        `accept_time`='',
        `stop_time`='',
        `a`='$user[id]',
        `b`='$ank[id]',
        `nick_a`='$user[nick]',
        `a_photos`='',
        `b_photos`='',
        `status`='created' 
         ");
$_SESSION['err'].=$err;
header("Location: ?challenge=$ank[id]");
exit;
}

/*/   DEBUG
echo $err;
foreach($_POST as $key=>$val)
{
echo $key." - ".$val."<br />";
}
/*/

echo "<div class='err'>Вызвать на дуэль <a href='".M."info.php?id=$ank[id]'>$ank[nick]</a><br />";
$ras=NULL; 
if(is_file(H."sys/avatar/$ank[id].jpg"))
{$ras='jpg';}
elseif(is_file(H."sys/avatar/$ank[id].gif")){$ras='gif';}
elseif(is_file(H."sys/avatar/$ank[id].png")){$ras='png';}

#echo $ras." - расширение аватара<br />";
if($ras){echo "<img src='".M."sys/avatar/$ank[id].$ras' />";}else{echo "У пользователя не установлен аватар!";}
echo "</div>";
echo "<div class='msg'>";
if($mras)
{
$m_ava=M."sys/avatar/$user[id].$mras";
echo "<form action='' method='post'>Выбрать этот аватар<br /><input type='image' name='set_m_ava' width='50' src='$m_ava' alt='Выбрать этот аватар' /></form>";
}else{
echo "У Вас не установлен аватар!<br /><a href='".M."avatar.php'>Установить</a>";
}
//
echo "<div class='p_m'>";
echo "<div class='msg'>Ваше фото к дуэли</div>";
if(is_file(H."mdmxduel/photos/$active_d[a_photos]"))
{
echo "<img src='".M."mdmxduel/photos/$active_d[a_photos]?".rand(1000,9999)."' width='125' alt='' />";
echo "<br /><a href='?acc=$active_d[id]&challenge=$ank[id]'>Отправить заявку!</a><br />";
}else{
echo "Фото не установлено!";
}
echo "</div>";
//
echo "<form action='?challenge=$ank[id]' method='post'>Выбрать фото из альбомов<br /><input type='image' src='".M."style/icons/users.png' name='selall' alt='Выбрать фото из альбомов' title='Выбрать фото из альбомов' />
</form>";
//
if(isset($_POST['selall_x']) or isset($_POST['selall']) or isset($_GET['selall']))
{
echo "<div class='msg'>Выбор фото!</div>";
// выбор всех галлерей
$albums=mysql_query("SELECT * FROM `gallery` WHERE `id_user`='$user[id]'");
$c_albums="";
if(mysql_num_rows($albums)>0)
{
$data_ld=mysql_fetch_array($albums, MYSQL_ASSOC);
$c_albums.=$data_ld['id'];
  while($data_ld=mysql_fetch_array($albums, MYSQL_ASSOC))
    {
    $c_albums.=','.$data_ld['id'];
    }
mysql_free_result($albums);
//
$all=mysql_result(mysql_query("SELECT count(*) FROM `gallery_foto` WHERE `id_gallery` IN ($c_albums)"),0);
$pnumber=$user['set_p_str']; //Элементов на страницу
    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;}
//

//
  $arr_phs=mysql_query("SELECT * FROM `gallery_foto` WHERE `id_gallery` IN ($c_albums) LIMIT $start,$pnumber");
  if(mysql_num_rows($arr_phs)>0)
  {
    while($data_ph=mysql_fetch_array($arr_phs, MYSQL_ASSOC))
      {
        echo "<form action='' method='post'>";
        $fotofile="foto/foto128/$data_ph[id].$data_ph[ras]";
        echo "<input type='image' src='";
        echo M.$fotofile;
        echo "' /> "; //$data_ph[id]
        echo "<input type='hidden' name='photoid' value='$data_ph[id]' />";
        echo "</form>";
      }
if($n>1){echo str($link="?challenge=$ank[id]&amp;selall&amp;",$n,$page);}
echo "<a href='?challenge=$ank[id]'>закрыть</a><br />";
  }else{echo "Фотографий в альбомах не найдено!<br /><a href='".M."/foto/$user[id]/'>Загрузить!</a>";}
}else{echo "<div class='err'>У Вас нет альбомов!<br /><a href='".M."/foto/$user[id]/?act=create'>Добавить альбом!</a></div>";}

}
echo "</div>";
//


//  Добавление заявки в БД
//



/*  DEBUG
foreach($ank as $key=>$val)
{
echo $key." - ".$val."<br />";
}

//
if(is_file(H."sys/avatar/$user[id].jpg"))
{$mras='jpg';}
elseif(is_file(H."sys/avatar/$user[id].gif")){$mras='gif';}
elseif(is_file(H."sys/avatar/$user[id].png")){$mras='png';}
*/
?>