sign in with Google
Whoops! There was an error.
TypeError
urldecode(): Argument #1 ($string) must be of type string, null given TypeError thrown with message "urldecode(): Argument #1 ($string) must be of type string, null given" Stacktrace: #3 TypeError in /srv/hydra_web/modules/_shared_/module.auth.php:186 #2 urldecode in /srv/hydra_web/modules/_shared_/module.auth.php:186 #1 module_auth:signin in /srv/hydra_web/application/class.app.php:368 #0 app:__construct in /srv/hydra_web/public_html/index.php:45
Stack frames (4)
3
TypeError
/srv/hydra_web/modules/_shared_/module.auth.php186
2
urldecode
/srv/hydra_web/modules/_shared_/module.auth.php186
1
module_auth signin
/srv/hydra_web/application/class.app.php368
0
app __construct
/srv/hydra_web/public_html/index.php45
/srv/hydra_web/modules/_shared_/module.auth.php
        uri::redirect('/settings');
    }
 
    public function signin($email = null)
    {
        if ($this->security->isLoggedIn()) {
            uri::redirect('/');
        }
        $ret = $_SESSION['xero_signin'];
        if (! empty($ret)) {
            //utils::print_r_pre($ret);
            unset($_SESSION['auth_profile']);
            $_SESSION['auth_profile']['provider'] = 'xero';
            $_SESSION['auth_profile']['email'] = $ret['email'];
            //$_SESSION['auth_profile']['id']=$ret['user']['id'];
            //$_SESSION['auth_profile']['name']=$ret['user']['name'];
        }
 
        $provider = isset($_SESSION['auth_profile']['provider']) ? $_SESSION['auth_profile']['provider'] : 'adepteo';
        $email = isset($_SESSION['auth_profile']['email']) ? $_SESSION['auth_profile']['email'] : urldecode($email);
        $id = isset($_SESSION['auth_profile']['id']) ? $_SESSION['auth_profile']['id'] : null;
        $name = isset($_SESSION['auth_profile']['name']) ? $_SESSION['auth_profile']['name'] : null;
        $img_url = isset($_SESSION['auth_profile']['imageUrl']) ? $_SESSION['auth_profile']['imageUrl'] : null;
        unset($_POST['ajax_mode']);
        if (empty($_POST)) {
            $name = explode(' ', $name);
            $first_name = $name[0];
            $last_name = null;
            if (isset($name[1])) {
                $last_name = $name[1];
            }
            $this->view->assign('email', $email);
            $this->view->assign('provider', $provider);
            $this->view->assign('first_name', $first_name);
            $this->view->assign('last_name', $last_name);
            $this->view->assign('readonly', true);
 
            if (! empty($_GET)) {
                //do name parsing so we can accoomodate for name and spaces depending if tpl accepts full name as 1
                $name = explode(' ', $_GET['fullname']);
Arguments
  1. "urldecode(): Argument #1 ($string) must be of type string, null given"
    
/srv/hydra_web/modules/_shared_/module.auth.php
        uri::redirect('/settings');
    }
 
    public function signin($email = null)
    {
        if ($this->security->isLoggedIn()) {
            uri::redirect('/');
        }
        $ret = $_SESSION['xero_signin'];
        if (! empty($ret)) {
            //utils::print_r_pre($ret);
            unset($_SESSION['auth_profile']);
            $_SESSION['auth_profile']['provider'] = 'xero';
            $_SESSION['auth_profile']['email'] = $ret['email'];
            //$_SESSION['auth_profile']['id']=$ret['user']['id'];
            //$_SESSION['auth_profile']['name']=$ret['user']['name'];
        }
 
        $provider = isset($_SESSION['auth_profile']['provider']) ? $_SESSION['auth_profile']['provider'] : 'adepteo';
        $email = isset($_SESSION['auth_profile']['email']) ? $_SESSION['auth_profile']['email'] : urldecode($email);
        $id = isset($_SESSION['auth_profile']['id']) ? $_SESSION['auth_profile']['id'] : null;
        $name = isset($_SESSION['auth_profile']['name']) ? $_SESSION['auth_profile']['name'] : null;
        $img_url = isset($_SESSION['auth_profile']['imageUrl']) ? $_SESSION['auth_profile']['imageUrl'] : null;
        unset($_POST['ajax_mode']);
        if (empty($_POST)) {
            $name = explode(' ', $name);
            $first_name = $name[0];
            $last_name = null;
            if (isset($name[1])) {
                $last_name = $name[1];
            }
            $this->view->assign('email', $email);
            $this->view->assign('provider', $provider);
            $this->view->assign('first_name', $first_name);
            $this->view->assign('last_name', $last_name);
            $this->view->assign('readonly', true);
 
            if (! empty($_GET)) {
                //do name parsing so we can accoomodate for name and spaces depending if tpl accepts full name as 1
                $name = explode(' ', $_GET['fullname']);
/srv/hydra_web/application/class.app.php
            ob_end_flush();
            return;
        }
        $timer->start('APP Process Module 2');
        $module_name = 'module_' . $module_name;
 
        if (class_exists($module_name, false)) {
            $module = new $module_name();
 
            if (! $module->isDeactivated()) {
                $section = uri::getSection();
 
                try {
                    $timer->start('APP Process Module 3');
                    if (method_exists($module, '_remap')) {
                        call_user_func_array([$module, '_remap'], uri::getRemapParams());
                    } elseif (empty($section) && method_exists($module, 'index')) {
                        $module->index();
                    } elseif (method_exists($module, $section)) {
                        call_user_func_array([$module, $section], uri::getSectionParams());
                    } else {
                        uri::show404();
                    }
                    $timer->stop('APP Process Module 3');
                } catch (Exception $e) {
                    if (config::isDebugMode() || utils::isAdepteoUser()) {
                        throw $e;
                    } else {
                        $errorMsg = 'Now Something serious has gone wrong<br />';
                        $errorMsg .= $e->getMessage();
                    }
                    uri::show500($errorMsg);
                }
            } else {
                if ($GLOBALS['app']['security']->isLoggedIn()) {
                    uri::show403(
                        "The module <b>${module_name}</b> is not available to you.  Please check with your administrator if you believe that you should be able to access this."
                    );
                } else {
                    if (isset($GLOBALS['no_redirect'])) {
/srv/hydra_web/public_html/index.php
                    // You can also return a result compliant to the json:api spec
                    // re: http://jsonapi.org/examples/#error-objects
                    // tl;dr: error[] becomes errors[[]]
                    $jsonHandler->setJsonApi(true);
 
                    // And push it into the stack:
                    $run->pushHandler($jsonHandler);
                }
                $run->silenceErrorsInPaths([], E_ALL & ~E_NOTICE & ~E_WARNING);
                $run->pushHandler(new Adepteo\Lib\ThirdParty\Whoops\beanstalkHandler);
                $run->register();
            }
 
//require_once('adepteo/profiler.php');
$timer = new profiler(true, true, 'html', false);
$GLOBALS['app']['timer'] = &$timer;
$timer->start('APP Main Execution');
require_once('../application/class.app.php');
if(utils::isAdepteoUser()){
    $app = new app();
}else{
    try {
        $app = new app();
    } catch (Exception $e) {
        print("<pre>Fatal Error Exception initialising class.app.php<br />".$e->getMessage()."</pre>");
        //utils::print_r_pre($e->getTraceAsString());
    }
}
$timer->stop('APP Main Execution');
 

Environment & details:

empty
empty
empty
empty
Key Value
codename
"memorablenumbers"
login_return_url
"/"
edit_enabled
false
company_context
null
Key Value
USER
"www-data"
HOME
"/var/www"
HTTP_CONNECTION
"Keep-Alive"
HTTP_HOST
"www.memorable-phonenumbers.co.uk"
HTTP_ACCEPT_ENCODING
"br,gzip"
HTTP_IF_MODIFIED_SINCE
"Mon, 19 Apr 2021 22:28:51 GMT"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
HYDRA_WEB_ROOT
"/srv/hydra_web"
HYDRA_CORE
"/srv/hydra_core"
REDIRECT_STATUS
"200"
SERVER_NAME
"www.memorable-phonenumbers.co.uk"
SERVER_PORT
"443"
SERVER_ADDR
"178.22.142.44"
REMOTE_PORT
"41532"
REMOTE_ADDR
"35.175.107.77"
SERVER_SOFTWARE
"nginx/1.14.0"
GATEWAY_INTERFACE
"CGI/1.1"
HTTPS
"on"
REQUEST_SCHEME
"https"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/srv/hydra_web/public_html"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/auth/signin"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
PHP_VALUE
"include_path=/srv/hydra_core/lib:/srv/hydra_core/lib/doctrine/lib:.:/usr/share/php"
SCRIPT_FILENAME
"/srv/hydra_web/public_html/index.php"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1634819023.0616
REQUEST_TIME
1634819023
empty
0. Whoops\Handler\PrettyPageHandler
1. Adepteo\Lib\ThirdParty\Whoops\beanstalkHandler