Whoops \ Exception \ ErrorException (E_WARNING)
Trying to access array offset on value of type bool Whoops\Exception\ErrorException thrown with message "Trying to access array offset on value of type bool" Stacktrace: #3 Whoops\Exception\ErrorException in /home/ploi/www.trivano.com-deploy/www.trivano.com/17032024_175339/src/Model/StockQuotation.php:267 #2 Whoops\Run:handleError in /home/ploi/www.trivano.com-deploy/www.trivano.com/17032024_175339/src/Model/StockQuotation.php:267 #1 Trivano\Model\StockQuotation:getBreadCrumb in /home/ploi/www.trivano.com-deploy/www.trivano.com/17032024_175339/src/Controller/StockPressReleaseController.php:60 #0 Trivano\Controller\StockPressReleaseController:show in /home/ploi/www.trivano.com-deploy/www.trivano.com/17032024_175339/public_html/artikel/pressrelease.php:8
Stack frames (4)
3
Whoops\Exception\ErrorException
/src/Model/StockQuotation.php267
2
Whoops\Run handleError
/src/Model/StockQuotation.php267
1
Trivano\Model\StockQuotation getBreadCrumb
/src/Controller/StockPressReleaseController.php60
0
Trivano\Controller\StockPressReleaseController show
/public_html/artikel/pressrelease.php8
/home/ploi/www.trivano.com-deploy/www.trivano.com/17032024_175339/src/Model/StockQuotation.php
    public function getBreadCrumb($page = NULL)
    {
        $breadcrumb[0] = [
            'href' => '/home/',
            'name' => 'Beurs vandaag'
        ];
 
        // Exchange
        $stmt = $this->pdo->prepare("SELECT e.id, e.gmt_offset
        FROM exchanges AS e 
        INNER JOIN exchange_markets AS m ON e.id = m.exchange_id
        INNER JOIN company_stock_quotations AS sq ON m.id = sq.market_id
        WHERE sq.id = ?
        ");
 
        $stmt->execute([$this->id]);
 
        $exchange = $stmt->fetch(PDO::FETCH_ASSOC);
 
        $exchangeId = $exchange['id'];
        $exchangeRegion = $exchange['gmt_offset'];
 
        if ($exchangeId == 1){
            $breadcrumb[1] = [
                'href' => '/beurs-amsterdam/',
                'name' => 'Amsterdam'
            ];
        } elseif ($exchangeId == 2){
            $breadcrumb[1] = [
                'href' => '/beurs-brussel/',
                'name' => 'Brussel'
            ];
        } elseif ($exchangeRegion < 0){
            $breadcrumb[1] = [
                'href' => '/beurs-amerika/',
                'name' => 'Amerika'
            ];
        } else {
            $breadcrumb[1] = [
                'href' => '/beurs-europa/',
/home/ploi/www.trivano.com-deploy/www.trivano.com/17032024_175339/src/Model/StockQuotation.php
    public function getBreadCrumb($page = NULL)
    {
        $breadcrumb[0] = [
            'href' => '/home/',
            'name' => 'Beurs vandaag'
        ];
 
        // Exchange
        $stmt = $this->pdo->prepare("SELECT e.id, e.gmt_offset
        FROM exchanges AS e 
        INNER JOIN exchange_markets AS m ON e.id = m.exchange_id
        INNER JOIN company_stock_quotations AS sq ON m.id = sq.market_id
        WHERE sq.id = ?
        ");
 
        $stmt->execute([$this->id]);
 
        $exchange = $stmt->fetch(PDO::FETCH_ASSOC);
 
        $exchangeId = $exchange['id'];
        $exchangeRegion = $exchange['gmt_offset'];
 
        if ($exchangeId == 1){
            $breadcrumb[1] = [
                'href' => '/beurs-amsterdam/',
                'name' => 'Amsterdam'
            ];
        } elseif ($exchangeId == 2){
            $breadcrumb[1] = [
                'href' => '/beurs-brussel/',
                'name' => 'Brussel'
            ];
        } elseif ($exchangeRegion < 0){
            $breadcrumb[1] = [
                'href' => '/beurs-amerika/',
                'name' => 'Amerika'
            ];
        } else {
            $breadcrumb[1] = [
                'href' => '/beurs-europa/',
/home/ploi/www.trivano.com-deploy/www.trivano.com/17032024_175339/src/Controller/StockPressReleaseController.php
        $pressReleaseContent = $pressRelease->getPressRelease($pressReleaseId);
 
        // Check if the slug is correct and the pressrelease and company is still active
        if ($pressRelease->redirectToCorrectSlug($pressReleaseId, $pressReleaseSlug) == '404'){
            \http_response_code(404);
            return (new Environment(new FilesystemLoader(__DIR__ . '/../../views')))->render('/front/error/404.html.twig');
        }
 
        $user = $this->user->getUserData();
        $watchlist = [];
        $watchlists = (new Watchlist($this->user, $this->pdo))->getWatchlistsByUser();
 
        $extraArticles = (new Article($this->pdo))->getPriorArticlesByCompany($pressReleaseContent['company_id'],\date('Y-m-d H:i:s', \strtotime($pressReleaseContent['published_at']. ' + 1 weekday')),0,5);
 
        $company = (new Company($pressReleaseContent['company_id'], $this->pdo));
 
        $stockQuotationId = $company->getPrimaryStockQuotationId();
        $stockQuotation = new StockQuotation($stockQuotationId, $this->pdo);
 
        $breadcrumb = $stockQuotation->getBreadCrumb('news');
        $quoteHeader = (new Quote('sq',$stockQuotationId, $this->pdo))->getQuoteHeader();
 
        $companyInfo['name'] = $quoteHeader['name'];
        $companyInfo['name_short'] = $quoteHeader['name_short'];
        if ($companyInfo['name_short']){
            $companyInfo['slug'] = (new Slug())->slug($companyInfo['name_short']);
        }
 
        $tabs = $stockQuotation->getTabs();
        $headerTabs = $stockQuotation->getTabHtml('news');
 
        if ($pressReleaseContent['title'] == \strtoupper($pressReleaseContent['title'])){
            $title = \ucwords(\strtolower($pressReleaseContent['title']));
        } else {
            $title = $pressReleaseContent['title'];
        }
 
        if (strpos($title, $companyInfo['name_short']) === false){
            $title = $companyInfo['name_short'].' | '.$pressReleaseContent['title'];
        }
/home/ploi/www.trivano.com-deploy/www.trivano.com/17032024_175339/public_html/artikel/pressrelease.php
<?php
namespace Trivano;
 
use Trivano\Controller\StockPressReleaseController;
 
require_once (__DIR__.'/../../src/Bootstrap.php');
 
echo (new StockPressReleaseController($user,$twig,$pdo))->show();

Environment & details:

Key Value
id 247557
slug nouveau-montant-du-capital-et-nouveau-nombre-dactions-de-mdxhealth
empty
empty
empty
empty
Key Value
USER ploi
HOME /home/ploi
HTTP_REFERER https://www.trivano.com/persbericht/nouveau-montant-du-capital-et-nouveau-247557.html
HTTP_USER_AGENT claudebot
HTTP_ACCEPT */*
HTTP_CF_VISITOR {"scheme":"https"}
HTTP_X_FORWARDED_PROTO https
HTTP_CF_RAY 86bb7910de97398b-IAD
HTTP_X_FORWARDED_FOR 44.199.212.254
HTTP_ACCEPT_ENCODING gzip, br
HTTP_CDN_LOOP cloudflare
HTTP_CF_CONNECTING_IP 44.199.212.254
HTTP_HOST www.trivano.com
REDIRECT_STATUS 200
SERVER_NAME www.trivano.com
SERVER_PORT 443
SERVER_ADDR 176.9.127.87
REMOTE_PORT
REMOTE_ADDR 44.199.212.254
SERVER_SOFTWARE nginx/1.18.0
GATEWAY_INTERFACE CGI/1.1
HTTPS on
REQUEST_SCHEME https
SERVER_PROTOCOL HTTP/2.0
DOCUMENT_ROOT /home/ploi/www.trivano.com/public_html
DOCUMENT_URI /artikel/pressrelease.php
REQUEST_URI /persbericht/nouveau-montant-du-capital-et-nouveau-nombre-dactions-de-mdxhealth-247557.html
SCRIPT_NAME /artikel/pressrelease.php
CONTENT_LENGTH
CONTENT_TYPE
REQUEST_METHOD GET
QUERY_STRING id=247557&slug=nouveau-montant-du-capital-et-nouveau-nombre-dactions-de-mdxhealth
SCRIPT_FILENAME /home/ploi/www.trivano.com/public_html/artikel/pressrelease.php
FCGI_ROLE RESPONDER
PHP_SELF /artikel/pressrelease.php
REQUEST_TIME_FLOAT 1711669307.0789
REQUEST_TIME 1711669307
Key Value
ENVIRONMENT development
DB_HOST localhost
DB_DATABASE trivano
DB_USERNAME trivano
DB_PASSWORD 2EfpunkbYoU0nAXUWOIa
DB_PORT 3306
JOBS_MYSQL_CONNECTION mysql://jobs:iDMkIDkUSn1wX8ybKbz5@localhost:3306/jobs
JOBS_REDIS_CONNECTION redis+phpredis://localhost:6379
SITE_DOMAIN https://www.trivano.com
LOCALE nl_NL.utf8
PUBLIC_HTML_ROOT /home/ploi/www.trivano.com/public_html/
TEMP_ROOT /home/ploi/www.trivano.com/temp
GEOIP_PATH /usr/share/GeoIP/GeoLite2-City.mmdb
CURL_USER_AGENT Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
SITE_LANGUAGE nl
SUBSCRIPTION_ID_PRO 1
SUBSCRIPTION_GROUP_IDS 4,6,7
SUBSCRIPTION_LIGHT_GROUP_IDS 4,6,7,8
AMEMBER_PRO_PRODUCT_IDS 2,3,4
AMEMBER_LIGHT_PRODUCT_IDS 6
AMEMBER_API_KEY diYVIpqpgrKmFXmVqdD4
AWS_SES_REGION eu-west-1
AWS_SES_KEY AKIAJVIJDSQLGIHE7XSQ
AWS_SES_SECRET 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
AWS_S3_REGION eu-central-1
AWS_S3_KEY AKIAXQK57MDCEFND5TWN
AWS_S3_SECRET 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
SENDY_API_KEY sWFfA8u4NNOefQO1KtDu
IEX_CLOUD_PUBLIC_KEY pk_6727a0381907441ab83214d04c9cbffd
MARKETSTACK_API_KEY fe6b51c4d82473947806cf1092fa0377
ALPHAVANTAGE_API_KEY B756
QUANDL_API_KEY dP-9pWrnqsBtxwj3qHyQ
DEEPL_API_KEY 598da6a7-ae06-733a-56ae-5b8daa85c621:fx
LIVERATES_API_KEY 048b35ccca
CHARTDIRECTOR_LICENSE_KEY DEVP-2GYK-L8KQ-27DL-054A-6912
SENDY_NUMBER_OF_NEWSLETTERS 0
IEX_CLOUD_STABLE_BASE_URL https://cloud.iexapis.com/stable/
MARKETSTACK_EOD_URL https://api.marketstack.com/v1/eod
ALPHAVANTAGE_BASE_URL https://www.alphavantage.co/query?function=
QUANDL_BASE_URL https://www.quandl.com/api/v3/datasets/
BOURSORAMA_STOCKS_BASE_URL https://www.boursorama.com/cours/
BOURSORAMA_ETFS_BASE_URL https://www.boursorama.com/bourse/trackers/cours/
FINTEL_STOCKS_BASE_URL https://fintel.io/s/
0. Whoops\Handler\PrettyPageHandler