Whoops \ Exception \ ErrorException (E_DEPRECATED)
str_starts_with(): Passing null to parameter #1 ($haystack) of type string is deprecated Whoops\Exception\ErrorException thrown with message "str_starts_with(): Passing null to parameter #1 ($haystack) of type string is deprecated" Stacktrace: #6 Whoops\Exception\ErrorException in /home/runcloud/webapps/manage-crm/system/helpers/bin.php:1476 #5 str_starts_with in /home/runcloud/webapps/manage-crm/system/helpers/bin.php:1476 #4 view in /home/runcloud/webapps/manage-crm/system/controllers/default/client/app.php:10 #3 require in /home/runcloud/webapps/manage-crm/system/controllers/client.php:15 #2 include in /home/runcloud/webapps/manage-crm/system/helpers/bootstrap.php:83 #1 require in /home/runcloud/webapps/manage-crm/system/app.php:55 #0 require in /home/runcloud/webapps/manage-crm/index.php:10
Stack frames (7)
6
Whoops\Exception\ErrorException
/system/helpers/bin.php1476
5
str_starts_with
/system/helpers/bin.php1476
4
view
/system/controllers/default/client/app.php10
3
require
/system/controllers/client.php15
2
include
/system/helpers/bootstrap.php83
1
require
/system/app.php55
0
require
/index.php10
/home/runcloud/webapps/manage-crm/system/helpers/bin.php
    $x = ORM::for_table($table)
        ->raw_query(
            'SHOW COLUMNS FROM `' . $table . '` LIKE \'' . $column . '\''
        )
        ->first();
    if ($x) {
        return true;
    } else {
        return false;
    }
}
 
/**
 * @param $template
 * @param array $vars
 * @throws SmartyException
 */
function view($template, $vars = [])
{
    if(!str_starts_with($template, '../')) {
        // Replace . with / in template name
        $template = str_replace('.', '/', $template);
    }
 
    global $ui;
    global $app_theme;
    foreach ($vars as $key => $value) {
        $ui->assign($key, $value);
    }
 
    if (file_exists('ui/theme/' . $app_theme . '/' . $template . '.tpl')) {
        $ui->display($template . '.tpl');
    } else {
        $ui->display('../default/' . $template . '.tpl');
    }
    exit;
}
 
function view_render($template, $vars = [])
{
Arguments
  1. "str_starts_with(): Passing null to parameter #1 ($haystack) of type string is deprecated"
    
/home/runcloud/webapps/manage-crm/system/helpers/bin.php
    $x = ORM::for_table($table)
        ->raw_query(
            'SHOW COLUMNS FROM `' . $table . '` LIKE \'' . $column . '\''
        )
        ->first();
    if ($x) {
        return true;
    } else {
        return false;
    }
}
 
/**
 * @param $template
 * @param array $vars
 * @throws SmartyException
 */
function view($template, $vars = [])
{
    if(!str_starts_with($template, '../')) {
        // Replace . with / in template name
        $template = str_replace('.', '/', $template);
    }
 
    global $ui;
    global $app_theme;
    foreach ($vars as $key => $value) {
        $ui->assign($key, $value);
    }
 
    if (file_exists('ui/theme/' . $app_theme . '/' . $template . '.tpl')) {
        $ui->display($template . '.tpl');
    } else {
        $ui->display('../default/' . $template . '.tpl');
    }
    exit;
}
 
function view_render($template, $vars = [])
{
/home/runcloud/webapps/manage-crm/system/controllers/default/client/app.php
<?php
if (!defined('APP_RUN')) {
    exit('No direct access allowed');
}
require APP_SYSTEM_PATH . '/controllers/default/client/init.php';
 
switch ($action) {
    case '':
    case 'home':
        \view(get_theme_file('home'), [
            'type' => 'client_auth',
            'admin' => User::admin(),
        ]);
 
        break;
 
    case 'iview':
        Event::trigger('client/iview/');
 
        $has_login_token = Contact::hasLoginToken();
 
        $today = date('Y-m-d H:i:s');
 
        $id = $routes['2'];
        $d = ORM::for_table('sys_invoices')->find($id);
        if ($d) {
            $token = $routes['3'];
 
            $render = route(4, 'invoice');
 
            $token = str_replace('token_', '', $token);
            $vtoken = $d['vtoken'];
            if ($token != $vtoken) {
                echo 'Sorry Token does not match!';
                exit();
            }
 
            $items = ORM::for_table('sys_invoiceitems')
                ->where('invoiceid', $id)
                ->order_by_asc('id')
/home/runcloud/webapps/manage-crm/system/controllers/client.php
<?php
 
/*
|--------------------------------------------------------------------------
| Controller
|--------------------------------------------------------------------------
|
*/
if (!defined('APP_RUN')) {
    exit('No direct access allowed');
}
 
$route_controller_directory =
    $config['route_controller_directory'] ?? 'default';
require 'system/controllers/' . $route_controller_directory . '/client/app.php';
 
Arguments
  1. "/home/runcloud/webapps/manage-crm/system/controllers/default/client/app.php"
    
/home/runcloud/webapps/manage-crm/system/helpers/bootstrap.php
]);
 
$ui->assign(
    'append_to_the_head_in_the_base_layout',
    $append_to_the_head_in_the_base_layout
);
 
require APP_SYSTEM_PATH . '/helpers/plugged.php';
 
// variable initializations
 
$xheader = '';
$xfooter = '';
$xjq = '';
 
$pl_path = '';
//
$sys_render = 'system/controllers/' . $handler . '.php';
if (file_exists($sys_render)) {
    include $sys_render;
} else {
    $p1 = false;
    $p2 = false;
 
    if (isset($routes[0]) && $routes[0] != '') {
        $p1 = true;
    }
 
    if (isset($routes[1]) && $routes[1] != '') {
        $p2 = true;
    }
 
    if ($p1 && $p2) {
        $dir = $routes[0];
        $cont = $routes[1];
        $path = 'apps/' . $dir . '/' . $cont . '.php';
        $pl_path = 'apps/' . $dir . '/';
 
        if (file_exists($path)) {
            $_pd = 'apps/' . $dir;
Arguments
  1. "/home/runcloud/webapps/manage-crm/system/controllers/client.php"
    
/home/runcloud/webapps/manage-crm/system/app.php
    exit();
}
 
/*
|--------------------------------------------------------------------------
| To load composer autoload
|--------------------------------------------------------------------------
|
*/
 
require APP_BASE_PATH.'/vendor/autoload.php';
 
/*
|--------------------------------------------------------------------------
| Start the Application
|--------------------------------------------------------------------------
|
*/
 
require APP_SYSTEM_PATH.'/helpers/bootstrap.php';
 
Arguments
  1. "/home/runcloud/webapps/manage-crm/system/helpers/bootstrap.php"
    
/home/runcloud/webapps/manage-crm/index.php
<?php
 
const APP_RUN = true;
 
const APP_BASE_PATH = __DIR__;
const APP_SYSTEM_PATH = __DIR__.'/system';
const APP_STORAGE_PATH = __DIR__.'/storage';
const APP_CACHE_PATH = APP_STORAGE_PATH.'/cache';
 
require APP_SYSTEM_PATH. '/app.php';
 
Arguments
  1. "/home/runcloud/webapps/manage-crm/system/app.php"
    

Environment & details:

Key Value
ng
"client/"
empty
empty
empty
empty
Key Value
PATH
"/bin:/usr/bin"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br"
HTTP_HOST
"manage.vividblock.com"
HTTP_USER_AGENT
"claudebot"
HTTP_X_FORWARDED_FOR
"54.81.157.133"
HTTP_CDN_LOOP
"cloudflare"
HTTP_CF_IPCOUNTRY
"US"
HTTP_CF_RAY
"86bc5dc49fe42426-IAD"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_CF_VISITOR
"{"scheme":"https"}"
HTTP_CF_CONNECTING_IP
"54.81.157.133"
DOCUMENT_ROOT
"/home/runcloud/webapps/manage-crm"
REMOTE_ADDR
"172.71.223.19"
REMOTE_PORT
"26830"
SERVER_ADDR
"10.0.0.4"
SERVER_NAME
"manage.vividblock.com"
SERVER_ADMIN
"[email protected]"
SERVER_PORT
"443"
REQUEST_URI
"/?ng=client/"
HTTPS
"on"
proto
"https"
X_SPDY
"HTTP2"
SSL_PROTOCOL
"TLSv1.3"
SSL_CIPHER
"TLS_AES_128_GCM_SHA256"
SSL_CIPHER_USEKEYSIZE
"128"
SSL_CIPHER_ALGKEYSIZE
"128"
LSWS_EDITION
"Openlitespeed 1.7.19"
X-LSCACHE
"on,crawler"
SCRIPT_FILENAME
"/home/runcloud/webapps/manage-crm/index.php"
QUERY_STRING
"ng=client/"
SCRIPT_NAME
"/index.php"
SERVER_PROTOCOL
"HTTP/1.1"
SERVER_SOFTWARE
"LiteSpeed"
REQUEST_METHOD
"GET"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1711678674.8853
REQUEST_TIME
1711678674
empty
0. Whoops\Handler\PrettyPageHandler