Вход Регистрация
Файл: 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:' '/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');
Онлайн: 2
Реклама