Вход Регистрация
Файл: apwa/includes/acp/acp_recent_topics.php
Строк: 145
<?php
/** 
*
* @package acp
* @version $Id: acp_recent_topics.php,v 1.00 2008/09/29 04:18:43 Rayden $
* @copyright (c) 2005 phpBB Group 
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

/**
* @package acp
*/
class acp_recent_topics
{
    var 
$u_action;
    var 
$new_config;

    function 
main($id$mode)
    {
        global 
$db$user$auth$template;
        global 
$config$phpbb_root_path$phpbb_admin_path$phpEx;

        
$submit = (isset($_POST['submit'])) ? true false;
        
        
$display_vars = array(
            
'title'    => 'ACP_RECENT_TOPICS',
            
'lang'    => 'mods/recent_topics',
            
'vars'    => array(
                
'recent_enable'            => array('lang' => 'RECENT_ENABLE',            'validate' => 'bool',    'type' => 'radio:yes_no','explain' => true),
                
'recent_anno_post'        => array('lang' => 'RECENT_ANNO_POST',        'validate' => 'int',    'type' => 'text:6:6',    'explain' => true),
                
'recent_max_topics'        => array('lang' => 'RECENT_MAX_TOPIC',        'validate' => 'int',    'type' => 'text:3:3',    'explain' => true),
                
'recent_title_limit'    => array('lang' => 'RECENT_TITLE_LIMIT',    'validate' => 'int','type' => 'text:3:3',     'explain' => true),
                
'recent_exclude_forums'    => array('lang' => 'RECENT_EXCLUDE_FORUM',    'validate' => 'string',    'type' => 'text:40:200''explain' => true),
                )
        );
        
        if (isset(
$display_vars['lang']))
        {
            
$user->add_lang($display_vars['lang']);
        }
        
        
$this->new_config $config;
        
$cfg_array = (isset($_REQUEST['config'])) ? utf8_normalize_nfc(request_var('config', array('' => ''), true)) : $this->new_config;
        
$error = array();

        
// We validate the complete config if whished
        
validate_config_vars($display_vars['vars'], $cfg_array$error);

        
// Do not write values if there is an error
        
if (sizeof($error))
        {
            
$submit false;
        }

    
// We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
        
foreach ($display_vars['vars'] as $config_name => $null)
        {
            if (!isset(
$cfg_array[$config_name]) || strpos($config_name'legend') !== false)
            {
                continue;
            }

            
$this->new_config[$config_name] = $config_value $cfg_array[$config_name];

        
            if (
$submit)
            {
                
set_config($config_name$config_value);
            }
        }
        if (
$submit)
        {
            
add_log('admin''LOG_CONFIG_' strtoupper($mode));

            
trigger_error($user->lang['CONFIG_UPDATED'] . adm_back_link($this->u_action));
        }



        
$this->tpl_name 'acp_recent_topics';
        
$this->page_title $display_vars['title'];

        
$template->assign_vars(array(
            
'L_TITLE'            => $user->lang[$display_vars['title']],
            
'L_TITLE_EXPLAIN'    => $user->lang[$display_vars['title'] . '_EXPLAIN'],

            
'S_ERROR'            => (sizeof($error)) ? true false,
            
'ERROR_MSG'            => implode('<br />'$error),

            
'U_ACTION'            => $this->u_action)
        );

        
// Output relevant page
        
foreach ($display_vars['vars'] as $config_key => $vars)
        {
            if (!
is_array($vars) && strpos($config_key'legend') === false)
            {
                continue;
            }

            if (
strpos($config_key'legend') !== false)
            {
                
$template->assign_block_vars('options', array(
                    
'S_LEGEND'        => true,
                    
'LEGEND'        => (isset($user->lang[$vars])) ? $user->lang[$vars] : $vars)
                );

                continue;
            }

            
$type explode(':'$vars['type']);

            
$l_explain '';
            if (
$vars['explain'] && isset($vars['lang_explain']))
            {
                
$l_explain = (isset($user->lang[$vars['lang_explain']])) ? $user->lang[$vars['lang_explain']] : $vars['lang_explain'];
            }
            else if (
$vars['explain'])
            {
                
$l_explain = (isset($user->lang[$vars['lang'] . '_EXPLAIN'])) ? $user->lang[$vars['lang'] . '_EXPLAIN'] : '';
            }

            
$template->assign_block_vars('options', array(
                
'KEY'            => $config_key,
                
'TITLE'            => (isset($user->lang[$vars['lang']])) ? $user->lang[$vars['lang']] : $vars['lang'],
                
'S_EXPLAIN'        => $vars['explain'],
                
'TITLE_EXPLAIN'    => $l_explain,
                
'CONTENT'        => build_cfg_template($type$config_key$this->new_config$config_key$vars),
                )
            );
        
            unset(
$display_vars['vars'][$config_key]);
        }




    }
    
}

?>
Онлайн: 1
Реклама