Вход Регистрация
Файл: pages/my.invitations.php
Строк: 118
<?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->sitename);
            
$t->assign('url', 'http://' . $_SERVER['HTTP_HOST'] . '/reg.php?invite=' . $inv['code']);

            if (
mail::send($email, __('Приглашение'), $t->fetch('file:' . H . '/sys/templates/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 = __("Пригласительный #%s", $inv['id']);
    
$doc->ret(__('К пригласительным'), '?');

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

        if (
$inv['time_reg'] < TIME - 86400) {
            if (isset(
$_GET['delete'])) {
                
$form = new form("?id=$inv[id]");
                
$form->bbcode(__('Подтвердите удаление пригласительного'));
                
$form->bbcode(__('Его место займет новый пригласительный'));
                
$form->button(__('Удалить'), 'delete');
                
$form->display();
            }

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

$k_inv = (int)($user->balls / $dcms->balls_for_invite); // количество пригласительных
$doc->msg(__("У Вас %s пригласительны" . misc::number($k_inv, 'й', 'x', 'х'), $k_inv), '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));
}


$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->limit);

$listing = new listing();
while (
$inv = mysql_fetch_assoc($q)) {
    
$post = $listing->post();
    
$post->icon('invite');
    if (
$inv['id_invite']) {
        
$ank = new user($inv['id_invite']);
        
$post->time = misc::when($inv['time_reg']);
        
$post->content = __('Использован');
        
$post->title = $ank->nick();
        
$post->url = '/profile.view.php?id=' . $ank->id;
    } elseif (
$inv['email']) {
        
$post->url = '?id=' . $inv['id'];
        
$post->title = __('Пригласительный #%s', $inv['id']);
        
$post->content = __('Отправлен на email: %s', $inv['email']) . '<br />';
        if (!
$inv['code']) {
            
$post->content .= __('Активирован');
        }
        if (
$inv['time_reg'] < TIME - 86400) {
            
// 86400 секунд = 1 сутки - вчемя, через которое можно деактивировать неиспользованный пригласительный
            
$post->action('delete', "?id={$inv['id']}&amp;delete");
        }
    } else {
        
$post->title = "<a href='?id=$inv[id]'>" . __('Пригласительный #%s', $inv['id']) . "</a>";
        
$post->content = __('Не использован');
    }
}
$listing->display(__('Список пригласительных пуст'));

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

$doc->ret(__('Личное меню'), '/menu.user.php');
Онлайн: 1
Реклама