admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'prps_front' ), 'i18n' => array( 'send' => __( 'Получить код', 'propusk' ), 'call' => __( 'Подтвердить звонком', 'propusk' ), 'sending' => __( 'Отправляю…', 'propusk' ), 'check' => __( 'Войти', 'propusk' ), 'wait' => __( 'Проверяю…', 'propusk' ), 'again' => __( 'Отправить код ещё раз', 'propusk' ), 'change' => __( 'Другой номер', 'propusk' ), 'error' => __( 'Ошибка связи с сайтом. Попробуйте ещё раз.', 'propusk' ), 'done' => __( 'Готово, входим…', 'propusk' ), 'or' => __( 'или по логину и паролю', 'propusk' ), 'admin' => __( 'Вход по паролю для администратора', 'propusk' ), ), ) ); } private static function enqueue() { if ( ! wp_script_is( 'prps-front', 'registered' ) ) { self::register_assets(); } wp_enqueue_style( 'prps-front' ); wp_enqueue_script( 'prps-front' ); } public static function login_assets() { if ( PRPS_Settings::get( 'wp_login' ) && PRPS_Settings::methods() ) { self::enqueue(); } // Регистрация только по почте выключена: прячем поля логина и почты в форме регистрации WordPress. if ( 'off' === PRPS_Settings::get( 'email_register' ) && PRPS_Settings::methods() ) { wp_register_style( 'prps-register', false, array(), PRPS_VERSION ); wp_enqueue_style( 'prps-register' ); wp_add_inline_style( 'prps-register', '#registerform > p, #registerform > #reg_passmail { display: none; }' ); } } /** * Блок входа: кнопки способов и форма телефона. * * @param array $args redirect, context (login|register|shortcode|profile), skip — способы, которые не показывать. */ public static function widget( array $args = array() ) { $methods = array_diff_key( PRPS_Settings::methods(), array_flip( (array) ( $args['skip'] ?? array() ) ) ); if ( ! $methods ) { return ''; } self::enqueue(); $redirect = (string) ( $args['redirect'] ?? '' ); $context = (string) ( $args['context'] ?? 'shortcode' ); $mode = PRPS_Phone::mode(); $html = '
' . esc_html( 'register' === $context ? __( 'Регистрация', 'propusk' ) : __( 'Войти на сайт', 'propusk' ) ) . '
'; } $html .= ''; if ( isset( $methods['phone'] ) ) { $html .= '·
'; $html .= '' . esc_html__( 'Нет аккаунта? Войдите любым способом — аккаунт создастся сам.', 'propusk' ) . '
'; } /** * Блок входа выведен: дополнения подключают свои скрипты (Pro: окно MAX). HTML блока не меняется. * * @param string $unused Не используется (совместимость с прежними версиями). * @param string $context Где показан блок. */ do_action( 'prps/widget', '', $context ); return $html . '' . esc_html( sprintf( __( 'Вы вошли как %s.', 'propusk' ), $user->display_name ) ) . ' ' . esc_html__( 'Выйти', 'propusk' ) . '