Вход Регистрация
Файл: system/controllers/auth/backend/forms/form_options.php
Строк: 109
<?php

class formAuthOptions extends cmsForm {

    public 
$is_tabbed true;

    public function 
init() {

        
$auth_redirect_items = array(
            
'none'        => LANG_REG_CFG_AUTH_REDIRECT_NONE,
            
'index'       => LANG_REG_CFG_AUTH_REDIRECT_INDEX,
            
'profile'     => LANG_REG_CFG_AUTH_REDIRECT_PROFILE,
            
'profileedit' => LANG_REG_CFG_AUTH_REDIRECT_PROFILEEDIT
        
);

        
$model = new cmsModel();

        
$show_notify_old_auth_options $model->filterIsNull('password_hash')->getCount('{users}');

        return array(

            array(
                
'type' => 'fieldset',
                
'title' => LANG_REGISTRATION,
                
'childs' => array(

                    new 
fieldCheckbox('is_reg_enabled', array(
                        
'title' => LANG_REG_CFG_IS_ENABLED,
                    )),

                    new 
fieldString('reg_reason', array(
                        
'title' => LANG_REG_CFG_DISABLED_NOTICE,
                        
'visible_depend' => array('is_reg_enabled' => array('show' => array('0')))
                    )),

                    new 
fieldCheckbox('is_reg_invites', array(
                        
'title' => LANG_REG_CFG_IS_INVITES,
                    )),

                    new 
fieldCheckbox('reg_captcha', array(
                        
'title' => LANG_REG_CFG_REG_CAPTCHA,
                    )),

                    new 
fieldCheckbox('reg_auto_auth', array(
                        
'title'   => LANG_REG_CFG_REG_AUTO_AUTH,
                        
'default' => 1
                    
)),

                    new 
fieldListGroups('def_groups', array(
                        
'title' => LANG_REG_CFG_DEF_GROUP_ID,
                        
'show_all' => false,
                        
'default' => array(3),
                        
'rules' => array(
                            array(function(
$controller$data$value) {
                                if(
$value){
                                    return 
true;
                                }
                                
$public_groups cmsCore::getModel('users')->getPublicGroups();
                                if(!
$public_groups){
                                    return 
ERR_VALIDATE_REQUIRED;
                                }
                                return 
true;
                            })
                        )
                    )),

                    new 
fieldCheckbox('verify_email', array(
                        
'title' => LANG_REG_CFG_VERIFY_EMAIL,
                        
'hint' => LANG_REG_CFG_VERIFY_EMAIL_HINT,
                    )),

                    new 
fieldNumber('verify_exp', array(
                        
'title'   => LANG_REG_CFG_VERIFY_EXPIRATION,
                        
'default' => 48,
                        
'rules' => array(
                            array(
'required'),
                            array(
'min'1)
                        )
                    ))

                )
            ),

            array(
                
'type' => 'fieldset',
                
'title' => LANG_AUTHORIZATION,
                
'childs' => array(

                    new 
fieldCheckbox('notify_old_auth', array(
                        
'title' => LANG_REG_CFG_NOTIFY_OLD_AUTH,
                        
'hint' => LANG_REG_CFG_NOTIFY_OLD_AUTH_HINT,
                        
'is_visible' => $show_notify_old_auth_options
                    
)),

                    new 
fieldCheckbox('auth_captcha', array(
                        
'title' => LANG_REG_CFG_AUTH_CAPTCHA,
                    )),

                    new 
fieldList('first_auth_redirect', array(
                        
'title'   => LANG_REG_CFG_FIRST_AUTH_REDIRECT,
                        
'default' => 'profileedit',
                        
'items'   => $auth_redirect_items
                    
)),

                    new 
fieldList('auth_redirect', array(
                        
'title'   => LANG_REG_CFG_AUTH_REDIRECT,
                        
'default' => 'none',
                        
'items'   => $auth_redirect_items
                    
)),

                    new 
fieldList('2fa', array(
                        
'title' => LANG_REG_CFG_AUTH_2FA,
                        
'is_chosen_multiple' => true,
                        
'generator' => function(){

                            
$providers cmsEventsManager::hookAll('auth_twofactor_list');

                            
$items = [];

                            if (
is_array($providers)){
                                foreach(
$providers as $provider){
                                    foreach(
$provider['types'] as $name => $title){
                                        
$items[$name] = $title;
                                    }
                                }
                            }

                            return 
$items;

                        }
                    ))

                )
            ),

            array(
                
'type' => 'fieldset',
                
'title' => LANG_AUTH_RESTRICTIONS,
                
'childs' => array(

                    new 
fieldCheckbox('is_site_only_auth_users', array(
                        
'title' => LANG_CP_SETTINGS_SITE_ONLY_TO_USERS,
                    )),

                    new 
fieldList('guests_allow_controllers', array(
                        
'title'     => LANG_REG_CFG_GUESTS_ALLOW_CONTROLLERS,
                        
'default'   => array('auth''geo'),
                        
'is_chosen_multiple' => true,
                        
'generator' => function ($item){
                            
$admin_model cmsCore::getModel('admin');
                            
$controllers $admin_model->getInstalledControllers();
                            
$items = array('' => '');
                            foreach(
$controllers as $controller){
                                
$items[$controller['name']] = $controller['title'];
                            }
                            return 
$items;
                        },
                        
'visible_depend' => array('is_site_only_auth_users' => array('show' => array('1')))
                    )),

                    new 
fieldText('restricted_emails', array(
                        
'title' => LANG_AUTH_RESTRICTED_EMAILS,
                        
'hint' => LANG_AUTH_RESTRICTED_EMAILS_HINT,
                    )),

                    new 
fieldText('restricted_names', array(
                        
'title' => LANG_AUTH_RESTRICTED_NAMES,
                        
'hint' => LANG_AUTH_RESTRICTED_NAMES_HINT,
                    )),

                    new 
fieldText('restricted_ips', array(
                        
'title' => LANG_AUTH_RESTRICTED_IPS,
                        
'hint' => LANG_AUTH_RESTRICTED_IPS_HINT,
                    )),

                )
            ),

            array(
                
'type' => 'fieldset',
                
'title' => LANG_AUTH_INVITES,
                
'childs' => array(

                    new 
fieldCheckbox('is_invites', array(
                        
'title' => LANG_AUTH_INVITES_AUTO,
                        
'hint' => LANG_AUTH_INVITES_AUTO_HINT

                    
)),

                    new 
fieldCheckbox('is_invites_strict', array(
                        
'title' => LANG_AUTH_INVITES_STRICT,
                        
'hint' => LANG_AUTH_INVITES_STRICT_HINT

                    
)),

                    new 
fieldNumber('invites_period', array(
                        
'title' => LANG_AUTH_INVITES_PERIOD,
                        
'units' => LANG_DAY10,
                        
'default' => 7,
                        
'rules' => array(
                            array(
'min'1)
                        )
                    )),

                    new 
fieldNumber('invites_qty', array(
                        
'title' => LANG_AUTH_INVITES_QTY,
                        
'rules' => array(
                            array(
'min'1)
                        )
                    )),

                    new 
fieldNumber('invites_min_karma', array(
                        
'title' => LANG_AUTH_INVITES_KARMA,
                    )),

                    new 
fieldNumber('invites_min_rating', array(
                        
'title' => LANG_AUTH_INVITES_RATING,
                    )),

                    new 
fieldNumber('invites_min_days', array(
                        
'title' => LANG_AUTH_INVITES_DATE,
                        
'units' => LANG_DAY10
                    
))

                )
            )

        );

    }

}
Онлайн: 2
Реклама