<?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]&selall&",$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';}
*/
?>