Phalcon Framework 4.1.2

ParseError: syntax error, unexpected end of file, expecting ';' or ','

/var/www/html/johngold.net/cache/volt/Tmpl_Site_PhalCMS_Index.volt.php (85)
#0Phalcon\Mvc\View\Engine\Volt->render
#1Phalcon\Mvc\View->engineRender
#2Phalcon\Mvc\View->processRender
#3Phalcon\Mvc\View->render
#4Phalcon\Mvc\Application->handle
/var/www/html/johngold.net/src/app/Lib/CmsApplication.php (117)
<?php
 
namespace CLSystems\PhalCMS\Lib;
 
use Phalcon\Loader;
use Phalcon\Http\Response;
use Phalcon\Events\Event;
use Phalcon\Mvc\Application;
use Phalcon\Mvc\Dispatcher;
use Phalcon\Mvc\View;
use CLSystems\PhalCMS\Lib\Helper\Asset;
use CLSystems\PhalCMS\Lib\Helper\Config;
use CLSystems\PhalCMS\Lib\Helper\Uri;
use CLSystems\PhalCMS\Lib\Helper\State;
use CLSystems\PhalCMS\Lib\Helper\User;
use CLSystems\PhalCMS\Lib\Helper\Event as EventHelper;
use CLSystems\PhalCMS\Lib\Mvc\View\ViewBase;
use CLSystems\Php\Registry;
use MatthiasMullie\Minify;
use Exception;
 
class CmsApplication extends Application
{
    public function execute()
    {
        try {
            $eventsManager = $this->di->getShared('eventsManager');
            $eventsManager->attach('application:beforeSendResponse', $this);
            $plugins = EventHelper::getPlugins();
            $systemEvents = [
                'application:beforeSendResponse',
                'dispatch:beforeExecuteRoute',
                'dispatch:beforeException',
                'dispatch:beforeDispatch',
                'dispatch:afterDispatch',
                'dispatch:afterInitialize',
            ];
 
            foreach ($plugins['System'] as $className => $config) {
                $handler = EventHelper::getHandler($className, $config);
 
                foreach ($systemEvents as $systemEvent) {
                    $eventsManager->attach($systemEvent, $handler);
                }
            }
 
            // Update view dirs
            define('TPL_SITE_PATH', APP_PATH . '/Tmpl/Site/' . Config::get('siteTemplate', 'PhalCMS'));
            define('TPL_ADMINISTRATOR_PATH', APP_PATH . '/Tmpl/Administrator');
            define('TPL_SYSTEM_PATH', APP_PATH . '/Tmpl/System');
 
            if (Uri::isClient('site')) {
                $viewDirs = [
                    TPL_SITE_PATH . '/Tmpl/',
                    TPL_SITE_PATH . '/',
                ];
            } else {
                $viewDirs = [
                    TPL_ADMINISTRATOR_PATH . '/',
                ];
            }
 
            foreach (['System', 'Cms'] as $plgGroup) {
                if (isset($plugins[$plgGroup])) {
                    /**
                     * @var string $pluginClass
                     * @var Registry $pluginConfig
                     */
 
 
                    foreach ($plugins[$plgGroup] as $pluginClass => $pluginConfig) {
                        $pluginName = $pluginConfig->get('manifest.name');
                        $pluginPath = PLUGIN_PATH . '/' . $plgGroup . '/' . $pluginName;
                        $psrPaths = [];
 
                        if (is_dir($pluginPath . '/Tmpl')) {
                            $viewDirs[] = $pluginPath . '/Tmpl/';
                        }
 
                        if (is_dir($pluginPath . '/Lib')) {
                            $psrPaths['CLSystems\\PhalCMS\\Lib'] = $pluginPath . '/Lib';
                        }
 
                        if (is_dir($pluginPath . '/Widget')) {
                            $psrPaths['CLSystems\\PhalCMS\\Widget'] = $pluginPath . '/Widget';
                        }
 
                        if ($psrPaths) {
                            (new Loader)
                                ->registerNamespaces($psrPaths, true)
                                ->register();
                        }
                    }
                }
            }
 
            $viewDirs[] = TPL_SYSTEM_PATH . '/';
 
            /** @var ViewBase $view */
            $view = $this->di->getShared('view');
            $requestUri = $_SERVER['REQUEST_URI'];
 
            if (Config::get('siteOffline') === 'Y'
                && !User::getInstance()->access('super')
            ) {
                $this->view->setMainView('Offline/Index');
 
                if (strpos($requestUri, '/user/') !== 0) {
                    $requestUri = '';
                }
            } else {
                $view->setMainView('Index');
            }
 
            $view->setViewsDir($viewDirs);
            $this->setEventsManager($eventsManager);
            $this->handle($requestUri)->send();
        } catch (Exception $e) {
            if (true === DEVELOPMENT_MODE) {
                // Let Phalcon Debug catch this
                throw $e;
            }
 
            try {
                if (User::getInstance()->access('super')) {
                    State::setMark('exception', $e);
                }
 
                /**
                 * @var Dispatcher $dispatcher
                 * @var View $view
                 */
                $dispatcher = $this->getDI()->getShared('dispatcher');
                $dispatcher->setControllerName(Uri::isClient('administrator') ? 'admin_error' : 'error');
                $dispatcher->setActionName('show');
                $dispatcher->setParams(
                    [
                        'code'    => $e->getCode(),
                        'message' => $e->getMessage(),
                    ]
                );
 
                $view = $this->getDI()->getShared('view');
                $view->start();
                $dispatcher->dispatch();
                $view->render(
                    $dispatcher->getControllerName(),
                    $dispatcher->getActionName(),
                    $dispatcher->getParams()
                );
                $view->finish();
                echo $view->getContent();
            } catch (Exception $e2) {
                debugVar($e2->getMessage());
            }
        }
    }
 
    protected function getCompressor($type)
    {
        if ('css' === $type) {
            $compressor = new Minify\CSS;
            $compressor->setImportExtensions(
                [
                    'gif' => 'data:image/gif',
                    'png' => 'data:image/png',
                    'svg' => 'data:image/svg+xml',
                ]
            );
        } else {
            $compressor = new Minify\JS;
        }
 
        return $compressor;
    }
 
    protected function compressAssets()
    {
        $basePath = PUBLIC_PATH . '/assets';
        $assets = Factory::getService('assets');
 
        foreach (Asset::getFiles() as $type => $files) {
            $fileName = md5(implode(':', $files)) . '.' . $type;
            $filePath = $basePath . '/compressed/' . $fileName;
            $fileUri = DOMAIN . '/assets/compressed/' . $fileName . (DEVELOPMENT_MODE ? '?' . time() : '');
            $hasAsset = is_file($filePath);
            $ucType = ucfirst($type);
            $addFunc = 'add' . $ucType;
 
            if ($hasAsset && !DEVELOPMENT_MODE) {
                call_user_func_array([$assets, $addFunc], [$fileUri, false]);
                continue;
            }
 
            $compressor = self::getCompressor($type);
 
            foreach ($files as $file) {
                $compressor->add($file);
            }
 
            if (!is_dir($basePath . '/compressed/')) {
                mkdir($basePath . '/compressed/', 0777, true);
            }
 
            if ($compressor->minify($filePath)) {
//                echo "&nbsp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" . $filePath . "<br/>";
                chmod($filePath, 0777);
                call_user_func_array([$assets, $addFunc], [$fileUri, false]);
            }
 
            unset($compressor);
        }
    }
 
    public function beforeSendResponse(Event $event, CmsApplication $app, Response $response)
    {
        $request = $this->di->getShared('request');
 
        if ($request->isAjax()) {
            return;
        }
 
        /** @var Asset $assets */
        $this->compressAssets();
        $assets = $this->di->getShared('assets');
 
        // Compress CSS
        ob_start();
        $assets->outputCss();
        $assets->outputInlineCss();
        $content = str_replace('</head>', ob_get_clean() . '</head>', $response->getContent());
 
        // Compress JS
        ob_start();
        $assets->outputJs();
        $assets->outputInlineJs();
        $code = Asset::getCode() . ob_get_clean();
 
        // Extra code (in the footer)
        $content = str_replace('</body>', $code . '</body>', $content);
        $response->setContent($content);
    }
}
#5CLSystems\PhalCMS\Lib\CmsApplication->execute
/var/www/html/johngold.net/public/index.php (14)
<?php
declare(strict_types=1);
 
error_reporting(E_ALL);
ini_set('display_errors', 'true');
 
use CLSystems\PhalCMS\Lib\Factory;
 
define('BASE_PATH', dirname(__DIR__));
 
require_once BASE_PATH . '/src/app/Lib/Factory.php';
 
// Execute application
Factory::getApplication()->execute();
KeyValue
_url/search/
tagtag-detailhandelschoenen
KeyValue
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
TEMP/var/www/clients/client1/web19/tmp
TMPDIR/var/www/clients/client1/web19/tmp
TMP/var/www/clients/client1/web19/tmp
HOSTNAME
USERweb19
HOME/var/www/clients/client1/web19
SCRIPT_NAME/index.php
REQUEST_URI/search/?tag=tag-detailhandelschoenen
QUERY_STRING_url=/search/&tag=tag-detailhandelschoenen
REQUEST_METHODGET
SERVER_PROTOCOLHTTP/1.1
GATEWAY_INTERFACECGI/1.1
REDIRECT_QUERY_STRING_url=/search/&tag=tag-detailhandelschoenen
REDIRECT_URL/search/
REMOTE_PORT41825
SCRIPT_FILENAME/var/www/clients/client1/web19/web/index.php
SERVER_ADMINwebmaster@johngold.net
CONTEXT_DOCUMENT_ROOT/var/www/clients/client1/web19/web
CONTEXT_PREFIX
REQUEST_SCHEMEhttps
DOCUMENT_ROOT/var/www/clients/client1/web19/web
REMOTE_ADDR216.73.216.99
SERVER_PORT443
SERVER_ADDR178.18.244.9
SERVER_NAMEjohngold.net
SERVER_SOFTWAREApache
SERVER_SIGNATURE
HTTP_HOSTjohngold.net
HTTP_COOKIEcms.site.language=eV3ZeazIguvxx51mEvYRBXlYORW1; PHPSESSID=oerrab6c1p63jdmohlq00q27j6
HTTP_REFERERhttps://johngold.net/search?tag=tag-detailhandelschoenen
HTTP_ACCEPT_ENCODINGgzip, br, zstd, deflate
HTTP_USER_AGENTMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
HTTP_ACCEPT*/*
proxy-nokeepalive1
SSL_TLS_SNIjohngold.net
HTTPSon
REDIRECT_STATUS200
REDIRECT_SSL_TLS_SNIjohngold.net
REDIRECT_HTTPSon
FCGI_ROLERESPONDER
PHP_SELF/index.php
REQUEST_TIME_FLOAT1749354713.4069
REQUEST_TIME1749354713
#Path
0/var/www/html/johngold.net/public/index.php
1/var/www/html/johngold.net/src/app/Lib/Factory.php
2/var/www/html/johngold.net/src/app/Config/Define.php
3/var/www/html/johngold.net/src/app/Config/Loader.php
4/var/www/html/johngold.net/vendor/autoload.php
5/var/www/html/johngold.net/vendor/composer/autoload_real.php
6/var/www/html/johngold.net/vendor/composer/platform_check.php
7/var/www/html/johngold.net/vendor/composer/ClassLoader.php
8/var/www/html/johngold.net/vendor/composer/autoload_static.php
9/var/www/html/johngold.net/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php
10/var/www/html/johngold.net/vendor/symfony/polyfill-php80/bootstrap.php
11/var/www/html/johngold.net/vendor/symfony/polyfill-mbstring/bootstrap.php
12/var/www/html/johngold.net/vendor/symfony/polyfill-ctype/bootstrap.php
13/var/www/html/johngold.net/vendor/symfony/deprecation-contracts/function.php
14/var/www/html/johngold.net/vendor/ralouphie/getallheaders/src/getallheaders.php
15/var/www/html/johngold.net/vendor/guzzlehttp/psr7/src/functions_include.php
16/var/www/html/johngold.net/vendor/guzzlehttp/psr7/src/functions.php
17/var/www/html/johngold.net/vendor/symfony/polyfill-intl-grapheme/bootstrap.php
18/var/www/html/johngold.net/vendor/symfony/polyfill-intl-normalizer/bootstrap.php
19/var/www/html/johngold.net/vendor/guzzlehttp/promises/src/functions_include.php
20/var/www/html/johngold.net/vendor/guzzlehttp/promises/src/functions.php
21/var/www/html/johngold.net/vendor/symfony/polyfill-php72/bootstrap.php
22/var/www/html/johngold.net/vendor/symfony/polyfill-php73/bootstrap.php
23/var/www/html/johngold.net/vendor/symfony/string/Resources/functions.php
24/var/www/html/johngold.net/vendor/symfony/polyfill-intl-idn/bootstrap.php
25/var/www/html/johngold.net/vendor/guzzlehttp/guzzle/src/functions_include.php
26/var/www/html/johngold.net/vendor/guzzlehttp/guzzle/src/functions.php
27/var/www/html/johngold.net/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php
28/var/www/html/johngold.net/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php
29/var/www/html/johngold.net/vendor/symfony/polyfill-iconv/bootstrap.php
30/var/www/html/johngold.net/vendor/facebook/graph-sdk/src/Facebook/polyfills.php
31/var/www/html/johngold.net/vendor/phalcon/dd/src/helper.php
32/var/www/html/johngold.net/vendor/voku/portable-utf8/bootstrap.php
33/var/www/html/johngold.net/vendor/voku/portable-utf8/src/voku/helper/Bootup.php
34/var/www/html/johngold.net/vendor/voku/portable-utf8/src/voku/helper/UTF8.php
35/var/www/html/johngold.net/vendor/clsystems/php-registry/src/Registry.php
36/var/www/html/johngold.net/src/app/Lib/Helper/Config.php
37/var/www/html/johngold.net/src/app/Lib/Helper/Asset.php
38/var/www/html/johngold.net/src/app/Lib/Mvc/View/ViewBase.php
39/var/www/html/johngold.net/src/app/Lib/Helper/Volt.php
40/var/www/html/johngold.net/src/app/Lib/CmsApplication.php
41/var/www/html/johngold.net/src/app/Lib/Helper/Language.php
42/var/www/html/johngold.net/src/app/Lib/Helper/FileSystem.php
43/var/www/html/johngold.net/src/app/Language/de-DE/Locale.php
44/var/www/html/johngold.net/src/app/Language/en-GB/Locale.php
45/var/www/html/johngold.net/src/app/Language/nl-NL/Locale.php
46/var/www/html/johngold.net/src/app/Lib/Helper/Uri.php
47/var/www/html/johngold.net/src/app/Language/nl-NL/nl-NL.php
48/var/www/html/johngold.net/src/app/Lib/Helper/Event.php
49/var/www/html/johngold.net/src/app/Lib/Mvc/Model/Config.php
50/var/www/html/johngold.net/src/app/Lib/Mvc/Model/ModelBase.php
51/var/www/html/johngold.net/src/app/Plugin/Cms/OutLink/OutLink.php
52/var/www/html/johngold.net/src/app/Lib/Plugin.php
53/var/www/html/johngold.net/src/app/Plugin/Cms/SiteMap/SiteMap.php
54/var/www/html/johngold.net/src/app/Plugin/Cms/SiteMap/Language/nl-NL.php
55/var/www/html/johngold.net/src/app/Plugin/Cms/SocialLogin/SocialLogin.php
56/var/www/html/johngold.net/src/app/Plugin/System/Backup/Backup.php
57/var/www/html/johngold.net/src/app/Plugin/System/Backup/Language/nl-NL.php
58/var/www/html/johngold.net/src/app/Plugin/System/Cms/Cms.php
59/var/www/html/johngold.net/src/app/Config/Router.php
60/var/www/html/johngold.net/src/app/Config/Router/Site.php
61/var/www/html/johngold.net/src/app/Lib/Mvc/Controller/SearchController.php
62/var/www/html/johngold.net/src/app/Lib/Mvc/Controller/ControllerBase.php
63/var/www/html/johngold.net/src/app/Lib/Helper/User.php
64/var/www/html/johngold.net/src/app/Lib/Helper/State.php
65/var/www/html/johngold.net/src/app/Lib/Mvc/Model/User.php
66/var/www/html/johngold.net/src/app/Lib/Helper/Text.php
67/var/www/html/johngold.net/cache/volt/Tmpl_System_Search_Result.volt.php
68/var/www/html/johngold.net/src/app/Lib/Mvc/Model/UcmItem.php
69/var/www/html/johngold.net/src/app/Lib/Mvc/Model/UcmItemMap.php
70/var/www/html/johngold.net/src/app/Lib/Mvc/Model/Tag.php
71/var/www/html/johngold.net/cache/volt/Tmpl_System_Pagination_PaginationTop.volt.php
72/var/www/html/johngold.net/src/app/Lib/Helper/Image.php
73/var/www/html/johngold.net/src/app/Lib/Helper/StringHelper.php
74/var/www/html/johngold.net/cache/volt/Tmpl_System_Pagination_Pagination.volt.php
Memory
Usage2097152