Вход Регистрация
Файл: admin/admin_forumauth.php
Строк: 142
<?php
/***************************************************************************
 *                            admin_forumauth.php
 *                            -------------------
 *      Разработка: phpBB Group.
 *      Оптимизация под WAP: Гутник Игорь ( чел ).
 *          2009 год
 ***************************************************************************/

define('IN_PHPBB'1);

if( !empty(
$setmodules) )
{
    
$filename basename(__FILE__);
    
$module['Forums']['Permissions']   = $filename;

    return;
}

$no_page_header TRUE;
$phpbb_root_path './../';
require(
$phpbb_root_path 'extension.inc');
require(
'./pagestart.' $phpEx);

$simple_auth_ary = array(
    
0  => array(AUTH_ALLAUTH_ALLAUTH_ALLAUTH_ALLAUTH_REGAUTH_REGAUTH_MODAUTH_MODAUTH_REGAUTH_REG),
    
1  => array(AUTH_ALLAUTH_ALLAUTH_REGAUTH_REGAUTH_REGAUTH_REGAUTH_MODAUTH_MODAUTH_REGAUTH_REG),
    
2  => array(AUTH_REGAUTH_REGAUTH_REGAUTH_REGAUTH_REGAUTH_REGAUTH_MODAUTH_MODAUTH_REGAUTH_REG),
    
3  => array(AUTH_ALLAUTH_ACLAUTH_ACLAUTH_ACLAUTH_ACLAUTH_ACLAUTH_ACLAUTH_MODAUTH_ACLAUTH_ACL),
    
4  => array(AUTH_ACLAUTH_ACLAUTH_ACLAUTH_ACLAUTH_ACLAUTH_ACLAUTH_ACLAUTH_MODAUTH_ACLAUTH_ACL),
    
5  => array(AUTH_ALLAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MOD),
    
6  => array(AUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MODAUTH_MOD),
);

$simple_auth_types = array($lang['Public'], $lang['Registered'], $lang['Registered'] . ' [' $lang['Hidden'] . ']'$lang['Private'], $lang['Private'] . ' [' $lang['Hidden'] . ']'$lang['Moderators'], $lang['Moderators'] . ' [' $lang['Hidden'] . ']');

$forum_auth_fields = array('auth_view''auth_read''auth_post''auth_reply''auth_edit''auth_delete''auth_sticky''auth_announce''auth_vote''auth_pollcreate');

$field_names = array(
    
'auth_view' => $lang['View'],
    
'auth_read' => $lang['Read'],
    
'auth_post' => $lang['Post'],
    
'auth_reply' => $lang['Reply'],
    
'auth_edit' => $lang['Edit'],
    
'auth_delete' => $lang['Delete'],
    
'auth_sticky' => $lang['Sticky'],
    
'auth_announce' => $lang['Announce'], 
    
'auth_vote' => $lang['Vote'], 
    
'auth_pollcreate' => $lang['Pollcreate']);

$forum_auth_levels = array('ALL''REG''PRIVATE''MOD''ADMIN');
$forum_auth_const = array(AUTH_ALLAUTH_REGAUTH_ACLAUTH_MODAUTH_ADMIN);
attach_setup_forum_auth($simple_auth_ary$forum_auth_fields$field_names);

if(isset(
$HTTP_GET_VARS[POST_FORUM_URL]) || isset($HTTP_POST_VARS[POST_FORUM_URL]))
{
    
$forum_id = (isset($HTTP_POST_VARS[POST_FORUM_URL])) ? intval($HTTP_POST_VARS[POST_FORUM_URL]) : intval($HTTP_GET_VARS[POST_FORUM_URL]);
    
$forum_sql "AND forum_id = $forum_id";
}
else
{
    unset(
$forum_id);
    
$forum_sql '';
}

if( isset(
$HTTP_GET_VARS['adv']) )
{
    
$adv intval($HTTP_GET_VARS['adv']);
}
else
{
    unset(
$adv);
}

if( isset(
$HTTP_POST_VARS['submit']) )
{
    
$sql '';

    if(!empty(
$forum_id))
    {
        if(isset(
$HTTP_POST_VARS['simpleauth']))
        {
            
$simple_ary $simple_auth_ary[intval($HTTP_POST_VARS['simpleauth'])];

            for(
$i 0$i count($simple_ary); $i++)
            {
                
$sql .= ( ( $sql != '' ) ? ', ' '' ) . $forum_auth_fields[$i] . ' = ' $simple_ary[$i];
            }

            if (
is_array($simple_ary))
            {
                
$sql "UPDATE " FORUMS_TABLE " SET $sql WHERE forum_id = $forum_id";
            }
        }
        else
        {
            for(
$i 0$i count($forum_auth_fields); $i++)
            {
                
$value intval($HTTP_POST_VARS[$forum_auth_fields[$i]]);

                if ( 
$forum_auth_fields[$i] == 'auth_vote' )
                {
                    if ( 
$HTTP_POST_VARS['auth_vote'] == AUTH_ALL )
                    {
                        
$value AUTH_REG;
                    }
                }

                
$sql .= ( ( $sql != '' ) ? ', ' '' ) .$forum_auth_fields[$i] . ' = ' $value;
            }

            
$sql "UPDATE " FORUMS_TABLE " SET $sql WHERE forum_id = $forum_id";
        }

        if ( 
$sql != '' )
        {
            if ( !
$db->sql_query($sql) )
            {
                
message_die(GENERAL_ERROR'Could not update auth table'''__LINE____FILE__$sql);
            }
        }

        
$forum_sql '';
        
$adv 0;
    }

    
$template->assign_vars(array(
        
'META' => '<meta http-equiv="refresh" content="3;url=' append_sid("admin_forumauth.$phpEx?" POST_FORUM_URL "=$forum_id") . '">')
    );
    
$message $lang['Forum_auth_updated'] . '<br /><br />' sprintf($lang['Click_return_forumauth'],  '<a href="' append_sid("admin_forumauth.$phpEx") . '">'"</a>");
    
message_die(GENERAL_MESSAGE$message);



$sql "SELECT f.*
    FROM " 
FORUMS_TABLE " f, " CATEGORIES_TABLE " c
    WHERE c.cat_id = f.cat_id
    
$forum_sql
    ORDER BY c.cat_order ASC, f.forum_order ASC"
;
if ( !(
$result $db->sql_query($sql)) )
{
    
message_die(GENERAL_ERROR"Couldn't obtain forum list"""__LINE____FILE__$sql);
}

$forum_rows $db->sql_fetchrowset($result);
$db->sql_freeresult($result);

if( empty(
$forum_id) )
{

    
$template->set_filenames(array(
        
'body' => 'admin/auth_select_body.tpl')
    );

    
$select_list '<select name="' POST_FORUM_URL '">';
    for(
$i 0$i count($forum_rows); $i++)
    {
        
$select_list .= '<option value="' $forum_rows[$i]['forum_id'] . '">' $forum_rows[$i]['forum_name'] . '</option>';
    }
    
$select_list .= '</select>';

    
$template->assign_vars(array(
        
'L_AUTH_TITLE' => $lang['Auth_Control_Forum'],
        
'L_AUTH_EXPLAIN' => $lang['Forum_auth_explain'],
        
'L_AUTH_SELECT' => $lang['Select_a_Forum'],
        
'L_LOOK_UP' => $lang['Look_up_Forum'],

        
'S_AUTH_ACTION' => append_sid("admin_forumauth.$phpEx"),
        
'S_AUTH_SELECT' => $select_list)
    );

}
else
{

    
$template->set_filenames(array(
        
'body' => 'admin/auth_forum_body.tpl')
    );

    
$forum_name $forum_rows[0]['forum_name'];

    @
reset($simple_auth_ary);
    while( list(
$key$auth_levels) = each($simple_auth_ary))
    {
        
$matched 1;
        for(
$k 0$k count($auth_levels); $k++)
        {
            
$matched_type $key;

            if ( 
$forum_rows[0][$forum_auth_fields[$k]] != $auth_levels[$k] )
            {
                
$matched 0;
            }
        }

        if ( 
$matched )
        {
            break;
        }
    }

    if ( !isset(
$adv) && !$matched )
    {
        
$adv 1;
    }

    
$s_column_span == 0;

    if ( empty(
$adv) )
    {
        
$simple_auth '<select name="simpleauth">';

        for(
$j 0$j count($simple_auth_types); $j++)
        {
            
$selected = ( $matched_type == $j ) ? ' selected="selected"' '';
            
$simple_auth .= '<option value="' $j '"' $selected '>' $simple_auth_types[$j] . '</option>';
        }

        
$simple_auth .= '</select>';

        
$template->assign_block_vars('forum_auth_titles', array(
            
'CELL_TITLE' => $lang['Simple_mode'],
            
'S_AUTH_LEVELS_SELECT' => $simple_auth)
        );

        
$s_column_span++;
    }
    else
    {

        for(
$j 0$j count($forum_auth_fields); $j++)
        {
            
$custom_auth[$j] = '&nbsp;<select name="' $forum_auth_fields[$j] . '">';

            for(
$k 0$k count($forum_auth_levels); $k++)
            {
                
$selected = ( $forum_rows[0][$forum_auth_fields[$j]] == $forum_auth_const[$k] ) ? ' selected="selected"' '';
                
$custom_auth[$j] .= '<option value="' $forum_auth_const[$k] . '"' $selected '>' $lang['Forum_' $forum_auth_levels[$k]] . '</option>';
            }
            
$custom_auth[$j] .= '</select>&nbsp;';

            
$cell_title $field_names[$forum_auth_fields[$j]];

            
$template->assign_block_vars('forum_auth_titles', array(
                
'CELL_TITLE' => $cell_title,
                
'S_AUTH_LEVELS_SELECT' => $custom_auth[$j])
            );

            
$s_column_span++;
        }
    }

    
$adv_mode = ( empty($adv) ) ? '1' '0';
    
$switch_mode append_sid("admin_forumauth.$phpEx?" POST_FORUM_URL "=" $forum_id "&adv="$adv_mode);
    
$switch_mode_text = ( empty($adv) ) ? $lang['Advanced_mode'] : $lang['Simple_mode'];
    
$u_switch_mode '<a href="' $switch_mode '">' $switch_mode_text '</a>';

    
$s_hidden_fields '<input type="hidden" name="' POST_FORUM_URL '" value="' $forum_id '">';

    
$template->assign_vars(array(
        
'FORUM_NAME' => $forum_name,

        
'L_FORUM' => $lang['Forum'], 
        
'L_AUTH_TITLE' => $lang['Auth_Control_Forum'],
        
'L_AUTH_EXPLAIN' => $lang['Forum_auth_explain'],
        
'L_SUBMIT' => $lang['Submit'],
        
'L_RESET' => $lang['Reset'],

        
'U_SWITCH_MODE' => $u_switch_mode,

        
'S_FORUMAUTH_ACTION' => append_sid("admin_forumauth.$phpEx"),
        
'S_COLUMN_SPAN' => $s_column_span,
        
'S_HIDDEN_FIELDS' => $s_hidden_fields)
    );

}

include(
'./page_header_admin.'.$phpEx);

$template->pparse('body');

include(
'./page_footer_admin.'.$phpEx);

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