$data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path_category_id . $url_page) ]; } } } } } if (isset($this->request->get['product_id'])) { $product_id = (int)$this->request->get['product_id']; } else { $product_id = 0; } $this->load->model('catalog/product'); $product_info = $this->model_catalog_product->getProduct($product_id, true); $data['stock_status'] = $product_info['stock_status']; if(!$this->config->get('config_product_group_showgroup', 1) && !empty($product_info['children'])) { $this->response->redirect($this->url->link('product/product', 'product_id=' .$product_info['children'][0]['product_id']), 301); } $params['product_info'] = $product_info; if ($product_info['category_default_id']) { $category_id = $product_info['category_default_id']; } if ($category_id) { $category = $this->model_catalog_category->getCategory($category_id); $category_info = []; if ($category) { $category_info = $this->model_catalog_category->getCategoryInfo($category); } if ($category_info) {
"Trying to access array offset on value of type bool"
$data['breadcrumbs'][] = [ 'text' => $category_info['name'], 'href' => $this->url->link('product/category', 'path=' . $path_category_id . $url_page) ]; } } } } } if (isset($this->request->get['product_id'])) { $product_id = (int)$this->request->get['product_id']; } else { $product_id = 0; } $this->load->model('catalog/product'); $product_info = $this->model_catalog_product->getProduct($product_id, true); $data['stock_status'] = $product_info['stock_status']; if(!$this->config->get('config_product_group_showgroup', 1) && !empty($product_info['children'])) { $this->response->redirect($this->url->link('product/product', 'product_id=' .$product_info['children'][0]['product_id']), 301); } $params['product_info'] = $product_info; if ($product_info['category_default_id']) { $category_id = $product_info['category_default_id']; } if ($category_id) { $category = $this->model_catalog_category->getCategory($category_id); $category_info = []; if ($category) { $category_info = $this->model_catalog_category->getCategoryInfo($category); } if ($category_info) {
8
"Trying to access array offset on value of type bool"
"/home/u800617633/domains/eurocarnavales.es/public_html/catalog/controller/product/product.php"
82
array:8 [ "params" => [] "data" => array:1 [ "breadcrumbs" => array:1 [ 0 => array:2 [ "text" => "<i class="fa fa-home"></i>" "href" => "https://eurocarnavales.es" ] ] ] "category_id" => 0 "url_referer" => "https://www.eurocarnavales.es/index.php?route=product/product&product_id=9716&page=5&filter[2]=74,407,387,97,390,297,345,381,542,508,291,131,333,389,248,314,331&sort=p.price&order=DESC&limit=42" "parts" => "route=product/product&product_id=9716&page=5&filter[2]=74,407,387,97,390,297,345,381,542,508,291,131,333,389,248,314,331&sort=p.price&order=DESC&limit=42" "query_parms" => array:7 [ "route" => "product/product" "product_id" => "9716" "page" => "5" "filter" => array:1 [ 2 => "74,407,387,97,390,297,345,381,542,508,291,131,333,389,248,314,331" ] "sort" => "p.price" "order" => "DESC" "limit" => "42" ] "product_id" => 9716 "product_info" => false ]
$class = 'Controller' . CUSTOMER . preg_replace('/[^a-zA-Z0-9]/', '', $this->route); } else { $file = DIR_APPLICATION . 'controller/' . $this->route . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $this->route); } // Initialize the class if (is_file($file)) { include_once $file; $controller = new $class($registry); } else { return new \Exception('Error: Could not call ' . $this->route . '/' . $this->method . '!'); } $reflection = new ReflectionClass($class); if ($reflection->hasMethod($this->method) && $reflection->getMethod($this->method)->getNumberOfRequiredParameters() <= count($args)) { return call_user_func_array(array($controller, $this->method), $args); } else { return new \Exception('Error: Could not call ' . $this->route . '/' . $this->method . '!'); } } }
} else { $route = $this->config->get('action_default'); } // Sanitize the call $route = preg_replace('/[^a-zA-Z0-9_\/]/', '', (string)$route); $data = []; // Trigger the pre events $result = $this->event->trigger('controller/' . $route . '/before', array(&$route, &$data)); if (!is_null($result)) { return $result; } // We dont want to use the loader class as it would make an controller callable. $action = new Action($route); // Any output needs to be another Action object. if(!empty($_GET['_t']) && $_GET['_t'] == 'cu') $output = $action->execute($this->registry,[],'customer'); else $output = $action->execute($this->registry); // Trigger the post events $result = $this->event->trigger('controller/' . $route . '/after', array(&$route, &$data, &$output)); if (!is_null($result)) { return $result; } return $output; } }
Registry {}
$class = 'Controller' . CUSTOMER . preg_replace('/[^a-zA-Z0-9]/', '', $this->route); } else { $file = DIR_APPLICATION . 'controller/' . $this->route . '.php'; $class = 'Controller' . preg_replace('/[^a-zA-Z0-9]/', '', $this->route); } // Initialize the class if (is_file($file)) { include_once $file; $controller = new $class($registry); } else { return new \Exception('Error: Could not call ' . $this->route . '/' . $this->method . '!'); } $reflection = new ReflectionClass($class); if ($reflection->hasMethod($this->method) && $reflection->getMethod($this->method)->getNumberOfRequiredParameters() <= count($args)) { return call_user_func_array(array($controller, $this->method), $args); } else { return new \Exception('Error: Could not call ' . $this->route . '/' . $this->method . '!'); } } }
public function dispatch(Action $action, Action $error) { $this->error = $error; foreach ($this->pre_action as $pre_action) { $result = $this->execute($pre_action); if ($result instanceof Action) { $action = $result; break; } } while ($action instanceof Action) { $action = $this->execute($action); } } private function execute(Action $action) { $result = $action->execute($this->registry); if ($result instanceof Action) { return $result; } if ($result instanceof Exception) { $action = $this->error; $this->error = null; return $action; } } }
Registry {}
public function addPreAction(Action $pre_action) { $this->pre_action[] = $pre_action; } public function dispatch(Action $action, Action $error) { $this->error = $error; foreach ($this->pre_action as $pre_action) { $result = $this->execute($pre_action); if ($result instanceof Action) { $action = $result; break; } } while ($action instanceof Action) { $action = $this->execute($action); } } private function execute(Action $action) { $result = $action->execute($this->registry); if ($result instanceof Action) { return $result; } if ($result instanceof Exception) { $action = $this->error; $this->error = null; return $action; } } }
Action {}
// Model Autoload if ($config->has('model_autoload')) { foreach ($config->get('model_autoload') as $value) { $loader->model($value); } } // Front Controller $controller = new Front($registry); $registry::setInstance($registry); // Pre Actions if ($config->has('action_pre_action')) { foreach ($config->get('action_pre_action') as $value) { $controller->addPreAction(new Action($value)); } } // Dispatch $controller->dispatch(new Action($config->get('action_router')), new Action($config->get('action_error'))); // Output $response->setCompression($config->get('config_compression')); $response->output();
Action {}
Action {}
require_once(DIR_SYSTEM . 'engine/controller.php'); require_once(DIR_SYSTEM . 'engine/event.php'); require_once(DIR_SYSTEM . 'engine/front.php'); require_once(DIR_SYSTEM . 'engine/loader.php'); require_once(DIR_SYSTEM . 'engine/model.php'); require_once(DIR_SYSTEM . 'engine/registry.php'); require_once(DIR_SYSTEM . 'engine/proxy.php'); // Libs require_once(DIR_SYSTEM . 'composer_library/str.php'); require_once(DIR_SYSTEM . 'composer_library/arr.php'); // Helper require_once(DIR_SYSTEM . 'helper/general.php'); require_once(DIR_SYSTEM . 'helper/utf8.php'); require_once(DIR_SYSTEM . 'helper/json.php'); require_once(DIR_SYSTEM . 'helper/html.php'); function start($application_config) { require_once(DIR_SYSTEM . 'framework.php'); }
"/home/u800617633/domains/eurocarnavales.es/public_html/system/framework.php"
<?php ini_set('display_errors',1); // Version define('VERSION', '2.3.0.2'); // Configuration if (is_file('config/config.php')) { require_once('config/config.php'); } // Install if (!defined('DIR_APPLICATION')) { header('Location: install/index.php'); exit; } // Startup require_once(DIR_SYSTEM . 'startup.php'); start('catalog');
"catalog"
Key | Value |
route | "product/product"
|
product_id | "9716"
|
page | "5"
|
filter | array:1 [ 2 => "74,407,387,97,390,297,345,381,542,508,291,131,333,389,248,314,331" ] |
sort | "p.price"
|
order | "DESC"
|
limit | "42"
|
Key | Value |
be40361b1565f86aa77b6fe831cb9bf3 | array:2 [ "language" => "es-es" "currency" => "EUR" ] |
Key | Value |
LSPHP_ProcessGroup | "on"
|
PATH | "/usr/local/bin:/bin:/usr/bin"
|
HTTP_ACCEPT | "*/*"
|
HTTP_HOST | "eurocarnavales.es"
|
HTTP_REFERER | "https://www.eurocarnavales.es/index.php?route=product/product&product_id=9716&page=5&filter[2]=74,407,387,97,390,297,345,381,542,508,291,131,333,389,248,314,331&sort=p.price&order=DESC&limit=42"
|
HTTP_USER_AGENT | "claudebot"
|
DOCUMENT_ROOT | "/home/u800617633/domains/eurocarnavales.es/public_html"
|
REMOTE_ADDR | "3.83.187.36"
|
REMOTE_PORT | "55532"
|
SERVER_ADDR | "62.72.39.96"
|
SERVER_NAME | "eurocarnavales.es"
|
SERVER_ADMIN | "" |
SERVER_PORT | "443"
|
REQUEST_SCHEME | "https"
|
REQUEST_URI | "/index.php?route=product/product&product_id=9716&page=5&filter[2]=74,407,387,97,390,297,345,381,542,508,291,131,333,389,248,314,331&sort=p.price&order=DESC&limit=42"
|
HTTPS | true
|
CRAWLER_USLEEP | "1000"
|
CRAWLER_LOAD_LIMIT_ENFORCE | "25"
|
X_SPDY | "HTTP2"
|
SSL_PROTOCOL | "TLSv1.3"
|
SSL_CIPHER | "TLS_AES_256_GCM_SHA384"
|
SSL_CIPHER_USEKEYSIZE | "256"
|
SSL_CIPHER_ALGKEYSIZE | "256"
|
SCRIPT_FILENAME | "/home/u800617633/domains/eurocarnavales.es/public_html/index.php"
|
QUERY_STRING | "route=product/product&product_id=9716&page=5&filter[2]=74,407,387,97,390,297,345,381,542,508,291,131,333,389,248,314,331&sort=p.price&order=DESC&limit=42"
|
SCRIPT_URI | "https://eurocarnavales.es/index.php"
|
SCRIPT_URL | "/index.php"
|
SCRIPT_NAME | "/index.php"
|
SERVER_PROTOCOL | "HTTP/1.1"
|
SERVER_SOFTWARE | "LiteSpeed"
|
REQUEST_METHOD | "GET"
|
X-LSCACHE | "on,crawler,esi,combine"
|
PHP_SELF | "/index.php"
|
REQUEST_TIME_FLOAT | 1711716453.0097
|
REQUEST_TIME | 1711716453
|
Key | Value |
LSPHP_ProcessGroup | "on"
|
PATH | "/usr/local/bin:/bin:/usr/bin"
|