<?php
include_once 'sys/inc/start.php';
$doc = new document(1);
$doc->title = 'Пригласительные';



if (isset($_GET['id']))
{
$id_inv=(int)$_GET['id'];
$q=mysql_query("SELECT * FROM `invations` WHERE `id` = '$id_inv' AND `id_user` = '$user->id' AND `id_invite` IS NULL LIMIT 1");

if (!mysql_num_rows($q))
{
header('Refresh: 1; url=?');
$design->err('Пригласительный не найден');
$design->ret('К пригласительным','?');
$design->head($title); // шапка страницы
$design->title($title); // заголовок страницы
$design->foot(); // ноги
exit;
}
$inv=mysql_fetch_assoc($q);

if (isset($_POST['delete']) && $inv['time_reg']<TIME-86400)
{
mysql_query("DELETE FROM `invations` WHERE `id` = '$inv[id]' LIMIT 1");
header('Refresh: 1; url=?');
$doc->msg('Пригласительный успешно удален');
$doc->ret('К пригласительным','?');
exit;
}


if (isset($_POST['email']) && !$inv['email'])
{
if(!is_valid::mail($_POST['email'])) $doc->err('Указан не корректный E-mail');
else
{
$email=$_POST['email'];
$inv['code']=passgen();
$t= new design();
$t->assign('title','Пригласительный');
$t->assign('login',$user->login);
$t->assign('site',$dcms->title);
$t->assign('url','http://'.$_SERVER['HTTP_HOST'].'/reg.php?invite='.$inv['code']);

if (mail::send($email,'Приглашение',$t->fetch('mail.invite.tpl')))
{

mysql_query("UPDATE `invations` SET `email` = '".my_esc($email)."', `time_reg` = '".TIME."', `code` = '$inv[code]' WHERE `id` = '$inv[id]' LIMIT 1");

header('Refresh: 1; url=?');
$doc->msg('Пригласительный успешно отправлен');
$doc->ret('К пригласительным','?');

exit;
}
else $doc->err('Ошибка при отправке email, попробуйте позже');



}
}


$doc->title="Пригласительный #$inv[id]";
$doc->ret('К пригласительным','?');


if ($inv['email'])
{
echo "Пригласительный отправлен на email: $inv[email]<br />";
echo "Отправлен: ".vremja($inv['time_reg'])."<br />";

if ($inv['time_reg']<TIME-86400)
{


if (isset($_GET['delete']))
{
$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action',"?id=$inv[id]");
$elements=array();
$elements[]=array('type'=>'text', 'br'=>1, 'value'=>'Подтвердите удаление пригласительного');
$elements[]=array('type'=>'text', 'br'=>1, 'value'=>'Его место займет новый пригласительный');
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('name'=>'delete', 'value'=>'Удалить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');
}

$doc->act('Удалить приглашение',"?id=$inv[id]&amp;delete");
}
else
{
echo "В случае ошибки или отказа от пригласительного его можно будет удалить по истечению суток с момента отправки.";
}

}
else
{

$smarty = new design();
$smarty->assign('method','post');
$smarty->assign('action',"?id=$inv[id]");
$elements=array();
$elements[]=array('type'=>'input_text', 'br'=>1, 'title'=>'Email', 'info'=>array('name'=>'email', 'value'=>''));
$elements[]=array('type'=>'submit', 'br'=>0, 'info'=>array('value'=>'Отправить')); // кнопка
$smarty->assign('el',$elements);
$smarty->display('input.form.tpl');

}
exit;
}











$k_inv=(int)($user->balls/100); // количество пригласительных
$doc->msg("У Вас $k_inv пригласительны".misc::number($k_inv,'й','x','х'),'invations');
$k=mysql_result(mysql_query("SELECT COUNT(*) FROM `invations` WHERE `id_user` = '$user->id'"),0);

if($k_inv>$k){
// пополняем список пригластельных
$k_add=$k_inv-$k;
$arr_ins=array();
for ($i=0;$i<$k_add;$i++)$arr_ins[]="('$user->id')";
mysql_query("INSERT INTO `invations` (`id_user`) VALUES ".implode(',', $arr_ins));
}



$posts = array();


$pages = new pages;
$pages->posts = mysql_result(mysql_query("SELECT COUNT(*) FROM `invations` WHERE `id_user` = '$user->id'"), 0); // количество пригласительных
$pages->this_page(); // получаем текущую страницу


$q = mysql_query("SELECT * FROM `invations` WHERE `id_user` = '$user->id' ORDER BY (`id_invite` IS NULL) DESC, (`email` IS NULL) ASC, `id` ASC LIMIT {$pages->my_start()}, {$pages->items_per_page}");
while ($inv=mysql_fetch_assoc($q)) {
$i=array('size'=>'small','src'=>"/sys/images/icons/invite.png");
$act=false;

if ($inv['id_invite'])
{
$p='Использован: '.vremja($inv['time_reg']);
$ank=new user($inv['id_invite']);
$t="<a href='/profile.view.php?id={$ank->id}'>{$ank->nick}</a>";
}
elseif($inv['email'])
{
$t="<a href='?id=$inv[id]'>Пригласительный #$inv[id]</a>";
$p='Отправлен на email: '.$inv['email'].'<br />';
if (!$inv['code'])$p.='Активирован';
// 86400 секунд = 1 сутки - вчемя, через которое можно деактивировать пригласительный
if ($inv['time_reg']<TIME-86400)
$act=array(array('delete',"?id={$inv['id']}&amp;delete"));
}
else
{
$t="<a href='?id=$inv[id]'>Пригласительный #$inv[id]</a>";
$p='Не использован';
}

$posts[]=array('title'=>$t,'icon'=>$i,'post'=>$p,'act'=>$act);
}
if (!$posts)$posts[]=array('icon'=>array('size'=>'small','src'=>'/sys/images/icons/empty.png'),'title'=>'Список пригласительных пуст');

$show = new design();
$show->assign('post',$posts);
$show->display('design.listing.tpl');

$pages->listing('?'); // вывод страниц



$doc->ret('Личное меню','/menu.user.php');

?>