Whoops! There was an error.
Whoops \ Exception \ ErrorException (E_WARNING)
Undefined array key "kk3_user" Whoops\Exception\ErrorException thrown with message "Undefined array key "kk3_user"" Stacktrace: #6 Whoops\Exception\ErrorException in /home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/app/views/common/footer.php:265 #5 Whoops\Run:handleError in /home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/app/views/common/footer.php:265 #4 require_once in /home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/main/Controller.php:49 #3 src\main\Controller:render in /home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/app/controllers/common/Account.php:11 #2 src\app\controllers\common\Account:login in /home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/main/Router.php:57 #1 call_user_func_array in /home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/main/Router.php:57 #0 src\main\Router:dispatch in /home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/index.php:96
Stack frames (7)
6
Whoops\Exception\ErrorException
/src/app/views/common/footer.php:265
5
Whoops\Run handleError
/src/app/views/common/footer.php:265
4
require_once
/src/main/Controller.php:49
3
src\main\Controller render
/src/app/controllers/common/Account.php:11
2
src\app\controllers\common\Account login
/src/main/Router.php:57
1
call_user_func_array
/src/main/Router.php:57
0
src\main\Router dispatch
/index.php:96
/home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/app/views/common/footer.php
        }
      )
    }
  </script>
 
  <?php if(isset($script)) {
    echo '<script>'.$script.'</script>';
  } ?>
 
  <script>
    $(document).on("ready", function() {
      $(document).on( "click", ".btn-gstValidatedDetails-close", function() {
        $("#gstValidatedDetails").hide();
      });
 
      var role_check = "<?php echo checkRole(247, "v") !== 1 ? '1' : '0'; ?>";
      if(role_check == '1') {
        // <!-- push notifications can be enabled/disabled via General Settings. -->
        var pushNotificationsEnabled = "<?php echo PUSH_NOTIFICATIONS ?>";
        var currentUser = "<?php echo $_SESSION[APP."_user"]; ?>";
 
        var pusher_host = "<?php echo PUSHER_HOST;?>";
        var pusher_port = "<?php echo PUSHER_PORT;?>";
        var app_key = "<?php echo PUSHER_APP_KEY;?>";
        var app_secret = "<?php echo PUSHER_SECRET_ID;?>";
        var app_id = "<?php echo PUSHER_APP_ID;?>";
 
 
        if ((currentUser.length > 0) && (pusher_host.length > 0) && (app_key.length > 0) && (app_secret.length > 0)) {
          
          try {
            // Fixed Pusher configuration
            var pusher = new Pusher(app_key, {
                wsHost: pusher_host,
                wsPort: pusher_port,
                wssPort: pusher_port,
                forceTLS: false,
                encrypted: true,
                enabledTransports: ['ws', 'wss'],
                disableStats: true
/home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/app/views/common/footer.php
        }
      )
    }
  </script>
 
  <?php if(isset($script)) {
    echo '<script>'.$script.'</script>';
  } ?>
 
  <script>
    $(document).on("ready", function() {
      $(document).on( "click", ".btn-gstValidatedDetails-close", function() {
        $("#gstValidatedDetails").hide();
      });
 
      var role_check = "<?php echo checkRole(247, "v") !== 1 ? '1' : '0'; ?>";
      if(role_check == '1') {
        // <!-- push notifications can be enabled/disabled via General Settings. -->
        var pushNotificationsEnabled = "<?php echo PUSH_NOTIFICATIONS ?>";
        var currentUser = "<?php echo $_SESSION[APP."_user"]; ?>";
 
        var pusher_host = "<?php echo PUSHER_HOST;?>";
        var pusher_port = "<?php echo PUSHER_PORT;?>";
        var app_key = "<?php echo PUSHER_APP_KEY;?>";
        var app_secret = "<?php echo PUSHER_SECRET_ID;?>";
        var app_id = "<?php echo PUSHER_APP_ID;?>";
 
 
        if ((currentUser.length > 0) && (pusher_host.length > 0) && (app_key.length > 0) && (app_secret.length > 0)) {
          
          try {
            // Fixed Pusher configuration
            var pusher = new Pusher(app_key, {
                wsHost: pusher_host,
                wsPort: pusher_port,
                wssPort: pusher_port,
                forceTLS: false,
                encrypted: true,
                enabledTransports: ['ws', 'wss'],
                disableStats: true
/home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/main/Controller.php
    if($_mode != 1 ) {
      $_cmn = $this->loadData();
    }
 
        #HEADER
        if($_mode != 1 ) {
      if (file_exists(ROOT . DS . 'src' . DS . 'app' . DS . 'views' . DS . 'common/header.php') ) {
              require_once (ROOT . DS . 'src' . DS . 'app' . DS . 'views' . DS . 'common/header.php');
          }
        }
 
        #VIEW
        if (file_exists(ROOT . DS . 'src' . DS . 'app' . DS . 'views' . DS . $name . '.php') ) {
            require_once (ROOT . DS . 'src' . DS . 'app' . DS . 'views' . DS . $name . '.php');
        }
 
        #FOOTER
        if($_mode != 1 ) {
      if (file_exists(ROOT . DS . 'src' . DS . 'app' . DS . 'views' . DS . 'common/footer.php') ) {
              require_once (ROOT . DS . 'src' . DS . 'app' . DS . 'views' . DS . 'common/footer.php');
          }
        }
    }
    
    function clean($string) 
  {
    $string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
    return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
  }
 
  function __destruct() {
 
    }
}
 
/home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/app/controllers/common/Account.php
<?php
namespace src\app\controllers\common;
use src\main\Controller AS Core;
 
class Account extends Core {
 
    function login() {
      $account = $this->model('Common');
      $data['title'] = 'Login';
      $data['branches'] = $account->branches();
      $this->render('common/login', $data, 2);
    }
 
    function auth() {
      $username = $_POST['username'];
      $password = $_POST['password'];
      $ref = $_POST['ref'];
      $account = $this->model('Common');
      $account->auth($username, $password, $ref);
    }
 
    function logout() {
      $account = $this->model('Common');
      $account->logout();
      session_destroy();
          header("Location: ".HOME); exit();
    }
 
    function reauth() {
      echo 'reauth success';
    }
 
    function denied() {
      $data['title'] = 'Login';
      $this->render('common/denied', $data);
      echo '';
    }
    
    function validateUser() {
      $mdl = $this->model('Common');
/home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/main/Router.php
    //dispatch
    if(!empty($output)) {
 
      $segments = explode('@', $output['callback']);
      $controller = $segments[0];
 
      if($output['mode']==1) {
        if(isset($_SESSION[APP."_login"])) {
          $controller = new $controller();
          if($controller) {
            call_user_func_array( array( $controller, $segments[1] ), $output['params'] );
          }
        } else {
          header("Location: ".HOME."account/login/");
          exit();
        }
      } elseif($output['mode'] == 0) {
        $controller = new $controller();
        if($controller) {
          call_user_func_array( array( $controller, $segments[1] ), $output['params'] );
        }
      }
      
    } else {
      echo '404';
    }
  }
}
 
/home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/src/main/Router.php
    //dispatch
    if(!empty($output)) {
 
      $segments = explode('@', $output['callback']);
      $controller = $segments[0];
 
      if($output['mode']==1) {
        if(isset($_SESSION[APP."_login"])) {
          $controller = new $controller();
          if($controller) {
            call_user_func_array( array( $controller, $segments[1] ), $output['params'] );
          }
        } else {
          header("Location: ".HOME."account/login/");
          exit();
        }
      } elseif($output['mode'] == 0) {
        $controller = new $controller();
        if($controller) {
          call_user_func_array( array( $controller, $segments[1] ), $output['params'] );
        }
      }
      
    } else {
      echo '404';
    }
  }
}
 
/home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/index.php
 
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$logger = new Logger('name');
$logger->pushHandler(new StreamHandler('error.log', Logger::WARNING));
 
$whoops->pushHandler(function ($exception, $inspector, $run)use($logger) {
  $logger->error($exception->getMessage());
});
 
//$date_now = date("Y-m-d");
//$date_expiry = date("Y-m-d", strtotime("2019-11-22"));
//$date_expiry = date("Y-m-d", strtotime("2019-10-27"));
 
//if ($date_now > $date_expiry) {
  //include "src/app/views/common/expiry.php";
//} else {
  $router = new src\main\Router();
  include "src/config/routes.php";
  $router->dispatch();
//}

Environment & details:

empty
empty
empty
Key Value
PHPSESSID 5pb7jhmelsc54nd5rnopb9glgc
empty
Key Value
USER awp-ambar-test-app
HOME /home/awp-ambar-test-app
HTTP_COOKIE PHPSESSID=5pb7jhmelsc54nd5rnopb9glgc
HTTP_REFERER https://ambar-test.app.awp.dev/
HTTP_ACCEPT_ENCODING gzip, br, zstd, deflate
HTTP_USER_AGENT Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_ACCEPT */*
HTTP_CONNECTION close
HTTP_X_FORWARDED_FOR 216.73.216.0
HTTP_X_REAL_IP 216.73.216.0
HTTP_X_FORWARDED_HOST ambar-test.app.awp.dev
HTTP_HOST ambar-test.app.awp.dev
PHP_VALUE error_log=/home/awp-ambar-test-app/logs/php/error.log; memory_limit=512M; max_execution_time=60; max_input_time=60; max_input_vars=10000; post_max_size=64M; upload_max_filesize=64M; date.timezone=UTC; display_errors=off;
HTTPS on
MGT 1
GEOIP_LONGITUDE -119.1091
GEOIP_LATITUDE 34.1453
GEOIP_CITY_CONTINENT_CODE NA
GEOIP_POSTAL_CODE 93033
GEOIP_CITY Oxnard
GEOIP_REGION CA
GEOIP_CITY_COUNTRY_NAME United States
GEOIP_CITY_COUNTRY_CODE3 USA
GEOIP_CITY_COUNTRY_CODE US
GEOIP_COUNTRY_NAME United States
GEOIP_COUNTRY_CODE3 USA
GEOIP_COUNTRY_CODE US
REDIRECT_STATUS 200
SERVER_NAME ambar-test.app.awp.dev
SERVER_PORT 443
SERVER_ADDR 127.0.0.1
REMOTE_PORT
REMOTE_ADDR 216.73.216.0
SERVER_SOFTWARE nginx/1.21.4
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.0
DOCUMENT_ROOT /home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public
DOCUMENT_URI /index.php
REQUEST_URI /account/login/
SCRIPT_NAME /index.php
SCRIPT_FILENAME /home/awp-ambar-test-app/htdocs/ambar-test.app.awp.dev/public/index.php
CONTENT_LENGTH
CONTENT_TYPE
REQUEST_METHOD GET
QUERY_STRING
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1769171351.8868
REQUEST_TIME 1769171351
empty
0. Whoops\Handler\PrettyPageHandler
1. Whoops\Handler\CallbackHandler