Вход Регистрация
Файл: forsoc.ru/ext/sheer/delnotifications/ucp/notifications_module.php
Строк: 105
<?php
/**
*
* @package phpBB Extension - Delete unnecessary notifications
* @copyright (c) 2015 sheer
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/

namespace sheerdelnotificationsucp;

class 
notifications_module
{
    var 
$p_master;
    var 
$u_action;

    function 
__construct(&$p_master)
    {
        
$this->p_master = &$p_master;
    }

    function 
main($id$mode)
    {
        global 
$db$user$template$request$phpbb_container$config;

        
$start $request->variable('start'0);
        
$del_all $request->variable('del_all'false);
        
$this->u_action ''str_replace('-sheer-delnotifications-ucp-notifications_module&amp;mode=manage',''$this->u_action) . '&amp;mode=manage';

        
$phpbb_notifications $phpbb_container->get('notification_manager');
        
$pagination $phpbb_container->get('pagination');

        
$notifications $phpbb_notifications->load_notifications(array(
            
'start'            => $start,
            
'limit'            => $config['topics_per_page'],
            
'count_total'    => true,
        ));

        foreach (
$notifications['notifications'] as $notification)
        {
            
$template->assign_block_vars('notification_list'$notification->prepare_for_display());
        }
        
$start $pagination->validate_start($start$config['topics_per_page'], $notifications['total_count']);
        
$pagination->generate_template_pagination($this->u_action'pagination''start'$notifications['total_count'], $config['topics_per_page'], $start);

        
$template->assign_vars(array(
            
'TOTAL_COUNT'    => $notifications['total_count'],
            
'S_UCP_ACTION'    => $this->u_action,
        ));

        if (
$request->is_set_post('submit') || $del_all)
        {
            
$mark_delete $request->variable('mark', array(0));
            if (!empty(
$mark_delete) || $del_all)
            {
                if (
confirm_box(true))
                {
                    
$sql_where = ($del_all) ? '' ' ' $db->sql_in_set('notification_id'$mark_delete) . ' AND ';
                    
$sql 'DELETE
                        FROM ' 
NOTIFICATIONS_TABLE '
                        WHERE ' 
$sql_where ' user_id = ' $user->data['user_id'] . '';
                    
$db->sql_query($sql);
                    
$message = ($del_all) ? $user->lang['ALL_NOTIFICATIONS_DELETE_SUCCESS'] : $user->lang['NOTIFICATIONS_DELETE_SUCCESS'];
                    
$message .= '<br /><br />' $user->lang('RETURN_UCP''<a href="' $this->u_action '">''</a>');
                    
meta_refresh(3$this->u_action);
                    
trigger_error($message);
                }
                else
                {
                    
confirm_box(false$user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
                        
'mark'        => $mark_delete,
                        
'del_all'    => $del_all,
                        
'submit'    => true))
                    );
                }
            }
        }

        
$this->tpl_name 'ucp_delnotifications_body';
    }
}
Онлайн: 1
Реклама