Doctrine \ DBAL \ Exception \ DriverException
An exception occurred while executing 'select Pages.cID, Pages.pkgID, Pages.siteTreeID, Pages.cPointerID, Pages.cPointerExternalLink, Pages.cIsDraft, Pages.cIsActive, Pages.cIsSystemPage, Pages.cPointerExternalLinkNewWindow, Pages.cFilename, Pages.ptID, Collections.cDateAdded, Pages.cDisplayOrder, Collections.cDateModified, cInheritPermissionsFromCID, cInheritPermissionsFrom, cOverrideTemplatePermissions, cCheckedOutUID, cIsTemplate, uID, cPath, cParentID, cChildren, cCacheFullPageContent, cCacheFullPageContentOverrideLifetime, cCacheFullPageContentLifetimeCustom from Pages inner join Collections on Pages.cID = Collections.cID left join PagePaths on (Pages.cID = PagePaths.cID and PagePaths.ppIsCanonical = 1) where Pages.cID = ?' with params ["10638"]: SQLSTATE[08S01]: Communication link failure: 1053 Server shutdown in progress
Previous exceptions
  • SQLSTATE[08S01]: Communication link failure: 1053 Server shutdown in progress (08S01)
  • SQLSTATE[08S01]: Communication link failure: 1053 Server shutdown in progress (08S01)
Doctrine\DBAL\Exception\DriverException thrown with message "An exception occurred while executing 'select Pages.cID, Pages.pkgID, Pages.siteTreeID, Pages.cPointerID, Pages.cPointerExternalLink, Pages.cIsDraft, Pages.cIsActive, Pages.cIsSystemPage, Pages.cPointerExternalLinkNewWindow, Pages.cFilename, Pages.ptID, Collections.cDateAdded, Pages.cDisplayOrder, Collections.cDateModified, cInheritPermissionsFromCID, cInheritPermissionsFrom, cOverrideTemplatePermissions, cCheckedOutUID, cIsTemplate, uID, cPath, cParentID, cChildren, cCacheFullPageContent, cCacheFullPageContentOverrideLifetime, cCacheFullPageContentLifetimeCustom from Pages inner join Collections on Pages.cID = Collections.cID left join PagePaths on (Pages.cID = PagePaths.cID and PagePaths.ppIsCanonical = 1) where Pages.cID = ?' with params ["10638"]: SQLSTATE[08S01]: Communication link failure: 1053 Server shutdown in progress" Stacktrace: #34 Doctrine\DBAL\Exception\DriverException in /var/www/html/concrete/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:115 #33 Doctrine\DBAL\Driver\AbstractMySQLDriver:convertException in /var/www/html/concrete/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php:128 #32 Doctrine\DBAL\DBALException:driverExceptionDuringQuery in /var/www/html/concrete/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:855 #31 Doctrine\DBAL\Driver\PDOException in /var/www/html/concrete/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:107 #30 PDOException in /var/www/html/concrete/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:105 #29 PDOStatement:execute in /var/www/html/concrete/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:105 #28 Doctrine\DBAL\Driver\PDOStatement:execute in /var/www/html/concrete/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:849 #27 Doctrine\DBAL\Connection:executeQuery in /var/www/html/concrete/concrete/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:510 #26 Doctrine\DBAL\Connection:fetchAssoc in /var/www/html/concrete/concrete/src/Page/Page.php:3796 #25 Concrete\Core\Page\Page:populatePage in /var/www/html/concrete/concrete/src/Page/Page.php:222 #24 Concrete\Core\Page\Page:getByID in /var/www/html/concrete/concrete/src/Page/Stack/Stack.php:146 #23 Concrete\Core\Page\Stack\Stack:getByID in /var/www/html/concrete/concrete/src/Page/Stack/Stack.php:135 #22 Concrete\Core\Page\Stack\Stack:getByName in /var/www/html/concrete/concrete/src/Page/Collection/Collection.php:868 #21 Concrete\Core\Page\Collection\Collection:getGlobalBlocks in /var/www/html/concrete/concrete/src/Page/Controller/PageController.php:304 #20 Concrete\Core\Page\Controller\PageController:validateRequest in /var/www/html/concrete/concrete/src/Http/ResponseFactory.php:384 #19 Concrete\Core\Http\ResponseFactory:collectionNotFound in /var/www/html/concrete/concrete/src/Http/ResponseFactory.php:234 #18 Concrete\Core\Http\ResponseFactory:collection in /var/www/html/concrete/concrete/src/Http/DefaultDispatcher.php:130 #17 Concrete\Core\Http\DefaultDispatcher:handleDispatch in /var/www/html/concrete/concrete/src/Http/DefaultDispatcher.php:58 #16 Concrete\Core\Http\DefaultDispatcher:dispatch in /var/www/html/concrete/concrete/src/Http/Middleware/DispatcherDelegate.php:39 #15 Concrete\Core\Http\Middleware\DispatcherDelegate:next in /var/www/html/concrete/packages/acme/src/Http/AuthorizationMiddleware.php:93 #14 Acme\Http\AuthorizationMiddleware:process in /var/www/html/concrete/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #13 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /var/www/html/concrete/concrete/src/Http/Middleware/ThumbnailMiddleware.php:76 #12 Concrete\Core\Http\Middleware\ThumbnailMiddleware:process in /var/www/html/concrete/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #11 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /var/www/html/concrete/concrete/src/Http/Middleware/FrameOptionsMiddleware.php:39 #10 Concrete\Core\Http\Middleware\FrameOptionsMiddleware:process in /var/www/html/concrete/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #9 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /var/www/html/concrete/concrete/src/Http/Middleware/CookieMiddleware.php:35 #8 Concrete\Core\Http\Middleware\CookieMiddleware:process in /var/www/html/concrete/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #7 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /var/www/html/concrete/concrete/src/Http/Middleware/ApplicationMiddleware.php:29 #6 Concrete\Core\Http\Middleware\ApplicationMiddleware:process in /var/www/html/concrete/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #5 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /var/www/html/concrete/concrete/src/Http/Middleware/MiddlewareStack.php:86 #4 Concrete\Core\Http\Middleware\MiddlewareStack:process in /var/www/html/concrete/concrete/src/Http/DefaultServer.php:85 #3 Concrete\Core\Http\DefaultServer:handleRequest in /var/www/html/concrete/concrete/src/Foundation/Runtime/Run/DefaultRunner.php:119 #2 Concrete\Core\Foundation\Runtime\Run\DefaultRunner:run in /var/www/html/concrete/concrete/src/Foundation/Runtime/DefaultRuntime.php:102 #1 Concrete\Core\Foundation\Runtime\DefaultRuntime:run in /var/www/html/concrete/concrete/dispatcher.php:36 #0 require in /var/www/html/concrete/index.php:3
Stack frames (35)
34
Doctrine
\
DBAL
\
Exception
\
DriverException
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Driver
/
AbstractMySQLDriver.php
115
33
Doctrine
\
DBAL
\
Driver
\
AbstractMySQLDriver
convertException
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
DBALException.php
128
32
Doctrine
\
DBAL
\
DBALException
driverExceptionDuringQuery
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Connection.php
855
31
Doctrine
\
DBAL
\
Driver
\
PDOException
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Driver
/
PDOStatement.php
107
30
PDOException
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Driver
/
PDOStatement.php
105
29
PDOStatement
execute
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Driver
/
PDOStatement.php
105
28
Doctrine
\
DBAL
\
Driver
\
PDOStatement
execute
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Connection.php
849
27
Doctrine
\
DBAL
\
Connection
executeQuery
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Connection.php
510
26
Doctrine
\
DBAL
\
Connection
fetchAssoc
/
src
/
Page
/
Page.php
3796
25
Concrete
\
Core
\
Page
\
Page
populatePage
/
src
/
Page
/
Page.php
222
24
Concrete
\
Core
\
Page
\
Page
getByID
/
src
/
Page
/
Stack
/
Stack.php
146
23
Concrete
\
Core
\
Page
\
Stack
\
Stack
getByID
/
src
/
Page
/
Stack
/
Stack.php
135
22
Concrete
\
Core
\
Page
\
Stack
\
Stack
getByName
/
src
/
Page
/
Collection
/
Collection.php
868
21
Concrete
\
Core
\
Page
\
Collection
\
Collection
getGlobalBlocks
/
src
/
Page
/
Controller
/
PageController.php
304
20
Concrete
\
Core
\
Page
\
Controller
\
PageController
validateRequest
/
src
/
Http
/
ResponseFactory.php
384
19
Concrete
\
Core
\
Http
\
ResponseFactory
collectionNotFound
/
src
/
Http
/
ResponseFactory.php
234
18
Concrete
\
Core
\
Http
\
ResponseFactory
collection
/
src
/
Http
/
DefaultDispatcher.php
130
17
Concrete
\
Core
\
Http
\
DefaultDispatcher
handleDispatch
/
src
/
Http
/
DefaultDispatcher.php
58
16
Concrete
\
Core
\
Http
\
DefaultDispatcher
dispatch
/
src
/
Http
/
Middleware
/
DispatcherDelegate.php
39
15
Concrete
\
Core
\
Http
\
Middleware
\
DispatcherDelegate
next
/
var
/
www
/
html
/
concrete
/
packages
/
acme
/
src
/
Http
/
AuthorizationMiddleware.php
93
14
Acme
\
Http
\
AuthorizationMiddleware
process
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
50
13
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareDelegate
next
/
src
/
Http
/
Middleware
/
ThumbnailMiddleware.php
76
12
Concrete
\
Core
\
Http
\
Middleware
\
ThumbnailMiddleware
process
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
50
11
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareDelegate
next
/
src
/
Http
/
Middleware
/
FrameOptionsMiddleware.php
39
10
Concrete
\
Core
\
Http
\
Middleware
\
FrameOptionsMiddleware
process
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
50
9
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareDelegate
next
/
src
/
Http
/
Middleware
/
CookieMiddleware.php
35
8
Concrete
\
Core
\
Http
\
Middleware
\
CookieMiddleware
process
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
50
7
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareDelegate
next
/
src
/
Http
/
Middleware
/
ApplicationMiddleware.php
29
6
Concrete
\
Core
\
Http
\
Middleware
\
ApplicationMiddleware
process
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
50
5
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareDelegate
next
/
src
/
Http
/
Middleware
/
MiddlewareStack.php
86
4
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareStack
process
/
src
/
Http
/
DefaultServer.php
85
3
Concrete
\
Core
\
Http
\
DefaultServer
handleRequest
/
src
/
Foundation
/
Runtime
/
Run
/
DefaultRunner.php
119
2
Concrete
\
Core
\
Foundation
\
Runtime
\
Run
\
DefaultRunner
run
/
src
/
Foundation
/
Runtime
/
DefaultRuntime.php
102
1
Concrete
\
Core
\
Foundation
\
Runtime
\
DefaultRuntime
run
/
dispatcher.php
36
0
require
/
var
/
www
/
html
/
concrete
/
index.php
3
/
var
/
www
/
html
/
concrete
/
concrete
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Driver
/
AbstractMySQLDriver.php
            case '1095':
            case '1142':
            case '1143':
            case '1227':
            case '1370':
            case '2002':
            case '2005':
                return new Exception\ConnectionException($message, $exception);
 
            case '1048':
            case '1121':
            case '1138':
            case '1171':
            case '1252':
            case '1263':
            case '1566':
                return new Exception\NotNullConstraintViolationException($message, $exception);
        }
 
        return new Exception\DriverException($message, $exception);
    }
 
    /**
     * {@inheritdoc}
     */
    public function createDatabasePlatformForVersion($version)
    {
        if ( ! preg_match('/^(?P<major>\d+)(?:\.(?P<minor>\d+)(?:\.(?P<patch>\d+))?)?/', $version, $versionParts)) {
            throw DBALException::invalidPlatformVersionSpecified(
                $version,
                '<major_version>.<minor_version>.<patch_version>'
            );
        }
 
        if (false !== stripos($version, 'mariadb')) {
            return $this->getDatabasePlatform();
        }
 
        $majorVersion = $versionParts['major'];
        $minorVersion = isset($versionParts['minor']) ? $versionParts['minor'] : 0;
/
var
/
www
/
html
/
concrete
/
concrete
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
DBALException.php
    }
 
    /**
     * @param \Doctrine\DBAL\Driver     $driver
     * @param \Exception $driverEx
     * @param string     $sql
     * @param array      $params
     *
     * @return \Doctrine\DBAL\DBALException
     */
    public static function driverExceptionDuringQuery(Driver $driver, \Exception $driverEx, $sql, array $params = array())
    {
        $msg = "An exception occurred while executing '".$sql."'";
        if ($params) {
            $msg .= " with params " . self::formatParameters($params);
        }
        $msg .= ":\n\n".$driverEx->getMessage();
 
        if ($driver instanceof ExceptionConverterDriver && $driverEx instanceof DriverException) {
            return $driver->convertException($msg, $driverEx);
        }
 
        return new self($msg, 0, $driverEx);
    }
 
    /**
     * @param \Doctrine\DBAL\Driver     $driver
     * @param \Exception $driverEx
     *
     * @return \Doctrine\DBAL\DBALException
     */
    public static function driverException(Driver $driver, \Exception $driverEx)
    {
        $msg = "An exception occured in driver: " . $driverEx->getMessage();
 
        if ($driver instanceof ExceptionConverterDriver && $driverEx instanceof DriverException) {
            return $driver->convertException($msg, $driverEx);
        }
 
        return new self($msg, 0, $driverEx);
/
var
/
www
/
html
/
concrete
/
concrete
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Connection.php
        if ($logger) {
            $logger->startQuery($query, $params, $types);
        }
 
        try {
            if ($params) {
                list($query, $params, $types) = SQLParserUtils::expandListParameters($query, $params, $types);
 
                $stmt = $this->_conn->prepare($query);
                if ($types) {
                    $this->_bindTypedValues($stmt, $params, $types);
                    $stmt->execute();
                } else {
                    $stmt->execute($params);
                }
            } else {
                $stmt = $this->_conn->query($query);
            }
        } catch (\Exception $ex) {
            throw DBALException::driverExceptionDuringQuery($this->_driver, $ex, $query, $this->resolveParams($params, $types));
        }
 
        $stmt->setFetchMode($this->defaultFetchMode);
 
        if ($logger) {
            $logger->stopQuery();
        }
 
        return $stmt;
    }
 
    /**
     * Executes a caching query.
     *
     * @param string                                 $query  The SQL query to execute.
     * @param array                                  $params The parameters to bind to the query, if any.
     * @param array                                  $types  The types the previous parameters are in.
     * @param \Doctrine\DBAL\Cache\QueryCacheProfile $qcp    The query cache profile.
     *
     * @return \Doctrine\DBAL\Driver\ResultStatement
/
var
/
www
/
html
/
concrete
/
concrete
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Driver
/
PDOStatement.php
    public function closeCursor()
    {
        try {
            return parent::closeCursor();
        } catch (\PDOException $exception) {
            // Exceptions not allowed by the interface.
            // In case driver implementations do not adhere to the interface, silence exceptions here.
            return true;
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function execute($params = null)
    {
        try {
            return parent::execute($params);
        } catch (\PDOException $exception) {
            throw new PDOException($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function fetch($fetchMode = null, $cursorOrientation = null, $cursorOffset = null)
    {
        try {
            if ($fetchMode === null && $cursorOrientation === null && $cursorOffset === null) {
                return parent::fetch();
            }
 
            if ($cursorOrientation === null && $cursorOffset === null) {
                return parent::fetch($fetchMode);
            }
 
            if ($cursorOffset === null) {
                return parent::fetch($fetchMode, $cursorOrientation);
            }
Exception message: SQLSTATE[08S01]: Communication link failure: 1053 Server shutdown in progress
/
var
/
www
/
html
/
concrete
/
concrete
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Driver
/
PDOStatement.php
     * {@inheritdoc}
     */
    public function closeCursor()
    {
        try {
            return parent::closeCursor();
        } catch (\PDOException $exception) {
            // Exceptions not allowed by the interface.
            // In case driver implementations do not adhere to the interface, silence exceptions here.
            return true;
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function execute($params = null)
    {
        try {
            return parent::execute($params);
        } catch (\PDOException $exception) {
            throw new PDOException($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function fetch($fetchMode = null, $cursorOrientation = null, $cursorOffset = null)
    {
        try {
            if ($fetchMode === null && $cursorOrientation === null && $cursorOffset === null) {
                return parent::fetch();
            }
 
            if ($cursorOrientation === null && $cursorOffset === null) {
                return parent::fetch($fetchMode);
            }
 
            if ($cursorOffset === null) {
Exception message: SQLSTATE[08S01]: Communication link failure: 1053 Server shutdown in progress
/
var
/
www
/
html
/
concrete
/
concrete
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Driver
/
PDOStatement.php
     * {@inheritdoc}
     */
    public function closeCursor()
    {
        try {
            return parent::closeCursor();
        } catch (\PDOException $exception) {
            // Exceptions not allowed by the interface.
            // In case driver implementations do not adhere to the interface, silence exceptions here.
            return true;
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function execute($params = null)
    {
        try {
            return parent::execute($params);
        } catch (\PDOException $exception) {
            throw new PDOException($exception);
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function fetch($fetchMode = null, $cursorOrientation = null, $cursorOffset = null)
    {
        try {
            if ($fetchMode === null && $cursorOrientation === null && $cursorOffset === null) {
                return parent::fetch();
            }
 
            if ($cursorOrientation === null && $cursorOffset === null) {
                return parent::fetch($fetchMode);
            }
 
            if ($cursorOffset === null) {
/
var
/
www
/
html
/
concrete
/
concrete
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Connection.php
            return $this->executeCacheQuery($query, $params, $types, $qcp);
        }
 
        $this->connect();
 
        $logger = $this->_config->getSQLLogger();
        if ($logger) {
            $logger->startQuery($query, $params, $types);
        }
 
        try {
            if ($params) {
                list($query, $params, $types) = SQLParserUtils::expandListParameters($query, $params, $types);
 
                $stmt = $this->_conn->prepare($query);
                if ($types) {
                    $this->_bindTypedValues($stmt, $params, $types);
                    $stmt->execute();
                } else {
                    $stmt->execute($params);
                }
            } else {
                $stmt = $this->_conn->query($query);
            }
        } catch (\Exception $ex) {
            throw DBALException::driverExceptionDuringQuery($this->_driver, $ex, $query, $this->resolveParams($params, $types));
        }
 
        $stmt->setFetchMode($this->defaultFetchMode);
 
        if ($logger) {
            $logger->stopQuery();
        }
 
        return $stmt;
    }
 
    /**
     * Executes a caching query.
     *
/
var
/
www
/
html
/
concrete
/
concrete
/
vendor
/
doctrine
/
dbal
/
lib
/
Doctrine
/
DBAL
/
Connection.php
     * @return void
     */
    public function setFetchMode($fetchMode)
    {
        $this->defaultFetchMode = $fetchMode;
    }
 
    /**
     * Prepares and executes an SQL query and returns the first row of the result
     * as an associative array.
     *
     * @param string $statement The SQL query.
     * @param array  $params    The query parameters.
     * @param array  $types     The query parameter types.
     *
     * @return array
     */
    public function fetchAssoc($statement, array $params = array(), array $types = array())
    {
        return $this->executeQuery($statement, $params, $types)->fetch(PDO::FETCH_ASSOC);
    }
 
    /**
     * Prepares and executes an SQL query and returns the first row of the result
     * as a numerically indexed array.
     *
     * @param string $statement The SQL query to be executed.
     * @param array  $params    The prepared statement params.
     * @param array  $types     The query parameter types.
     *
     * @return array
     */
    public function fetchArray($statement, array $params = array(), array $types = array())
    {
        return $this->executeQuery($statement, $params, $types)->fetch(PDO::FETCH_NUM);
    }
 
    /**
     * Prepares and executes an SQL query and returns the value of a single column
     * of the first row of the result.
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Page
/
Page.php
        $this->cDraftTargetParentPageID = $cParentID;
 
        Section::registerPage($this);
    }
 
    /**
     * Read the data from the database.
     *
     * @param mixed $cInfo The argument of the $where condition
     * @param string $where The SQL 'WHERE' part
     * @param string|int $cvID
     */
    protected function populatePage($cInfo, $where, $cvID)
    {
        $db = Database::connection();
 
        $q0 = 'select Pages.cID, Pages.pkgID, Pages.siteTreeID, Pages.cPointerID, Pages.cPointerExternalLink, Pages.cIsDraft, Pages.cIsActive, Pages.cIsSystemPage, Pages.cPointerExternalLinkNewWindow, Pages.cFilename, Pages.ptID, Collections.cDateAdded, Pages.cDisplayOrder, Collections.cDateModified, cInheritPermissionsFromCID, cInheritPermissionsFrom, cOverrideTemplatePermissions, cCheckedOutUID, cIsTemplate, uID, cPath, cParentID, cChildren, cCacheFullPageContent, cCacheFullPageContentOverrideLifetime, cCacheFullPageContentLifetimeCustom from Pages inner join Collections on Pages.cID = Collections.cID left join PagePaths on (Pages.cID = PagePaths.cID and PagePaths.ppIsCanonical = 1) ';
        //$q2 = "select cParentID, cPointerID, cPath, Pages.cID from Pages left join PagePaths on (Pages.cID = PagePaths.cID and PagePaths.ppIsCanonical = 1) ";
 
        $row = $db->fetchAssoc($q0 . $where, [$cInfo]);
        if ($row !== false && $row['cPointerID'] > 0) {
            $originalRow = $row;
            $row = $db->fetchAssoc($q0 . 'where Pages.cID = ?', [$row['cPointerID']]);
        } else {
            $originalRow = null;
        }
 
        if ($row !== false) {
            foreach ($row as $key => $value) {
                $this->{$key} = $value;
            }
            if ($originalRow !== null) {
                $this->cPointerID = $originalRow['cPointerID'];
                $this->cIsActive = $originalRow['cIsActive'];
                $this->cPointerOriginalID = $originalRow['cID'];
                $this->cPointerOriginalSiteTreeID = $originalRow['siteTreeID'];
                $this->cPath = $originalRow['cPath'];
                $this->cParentID = $originalRow['cParentID'];
                $this->cDisplayOrder = $originalRow['cDisplayOrder'];
            }
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Page
/
Page.php
     * * Get a page given its ID.
     *
     * @param int $cID the ID of the page
     * @param string $version the page version ('RECENT' for the most recent version, 'ACTIVE' for the currently published version, 'SCHEDULED' for the currently scheduled version, or an integer to retrieve a specific version ID)
     *
     * @return \Concrete\Core\Page\Page
     */
    public static function getByID($cID, $version = 'RECENT')
    {
        $class = get_called_class();
        if ($cID && $version) {
            $c = CacheLocal::getEntry('page', $cID . '/' . $version . '/' . $class);
            if ($c instanceof $class) {
                return $c;
            }
        }
 
        $where = 'where Pages.cID = ?';
        $c = new $class();
        $c->populatePage($cID, $where, $version);
 
        // must use cID instead of c->getCollectionID() because cID may be the pointer to another page
        if ($cID && $version) {
            CacheLocal::set('page', $cID . '/' . $version . '/' . $class, $c);
        }
 
        return $c;
    }
 
    /**
     * {@inheritdoc}
     *
     * @see \Concrete\Core\Export\ExportableInterface::getExporter()
     *
     * @return \Concrete\Core\Page\Exporter
     */
    public function getExporter()
    {
        return new Exporter();
    }
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Page
/
Stack
/
Stack.php
        } else {
            $db = Database::connection();
            $cID = $db->fetchColumn(
                'select cID from Stacks where stName = ? and stMultilingualSection = 0',
                [$stackName]
            );
        }
 
        return $cID ? static::getByID($cID, $cvID) : null;
    }
 
    /**
     * @param int    $cID
     * @param string $cvID
     *
     * @return \Concrete\Core\Page\Page|self|false
     */
    public static function getByID($cID, $cvID = 'RECENT')
    {
        $c = parent::getByID($cID, $cvID);
 
        if (static::isValidStack($c)) {
            return $c;
        }
 
        return null;
    }
 
    /**
     * @param \Concrete\Core\Page\Stack\Stack $stack
     *
     * @return bool
     */
    protected static function isValidStack($stack)
    {
        return $stack->getPageTypeHandle() == STACKS_PAGE_TYPE;
    }
 
    /**
     * @param \Concrete\Core\Page\Page $parent
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Page
/
Stack
/
Stack.php
                /*if (!is_object($site)) {
                    $site = \Core::make('site')->getSite();
                }
                if ($site instanceof Site) {
                    $q[] = $site->getDefaultLocale()->getSiteTree()->getSiteTreeID();
                } else {
                    $q[] = $site->getSiteTreeID();
                }*/
                $cID = $db->fetchColumn($sql, $q);
                $cache->save($item->set($cID));
            }
        } else {
            $db = Database::connection();
            $cID = $db->fetchColumn(
                'select cID from Stacks where stName = ? and stMultilingualSection = 0',
                [$stackName]
            );
        }
 
        return $cID ? static::getByID($cID, $cvID) : null;
    }
 
    /**
     * @param int    $cID
     * @param string $cvID
     *
     * @return \Concrete\Core\Page\Page|self|false
     */
    public static function getByID($cID, $cvID = 'RECENT')
    {
        $c = parent::getByID($cID, $cvID);
 
        if (static::isValidStack($c)) {
            return $c;
        }
 
        return null;
    }
 
    /**
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Page
/
Collection
/
Collection.php
    }
 
    /**
     * Get the blocks contained in the all the global areas.
     *
     * @return \Concrete\Core\Block\Block[]
     */
    public function getGlobalBlocks()
    {
        $db = Loader::db();
        $v = [Stack::ST_TYPE_GLOBAL_AREA];
        $rs = $db->GetCol('select stName from Stacks where Stacks.stType = ?', $v);
        $blocks = [];
        if (count($rs) > 0) {
            $pcp = new Permissions($this);
            foreach ($rs as $garHandle) {
                if ($pcp->canViewPageVersions()) {
                    $s = Stack::getByName($garHandle, 'RECENT');
                } else {
                    $s = Stack::getByName($garHandle, 'ACTIVE');
                }
                if (is_object($s)) {
                    $blocksTmp = $s->getBlocks(STACKS_AREA_NAME);
                    $blocks = array_merge($blocks, $blocksTmp);
                }
            }
        }
 
        return $blocks;
    }
 
    /**
     * List the blocks in the currently loaded collection version (or in a specific area within it).
     *
     * @param string|false $arHandle The handle if the area (or falsy to get all the blocks in the collection)
     *
     * @return \Concrete\Core\Block\Block[]
     */
    public function getBlocks($arHandle = false)
    {
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Page
/
Controller
/
PageController.php
    public function getPassThruBlockController(Block $b)
    {
        $bID = $b->getBlockID();
 
        return isset($this->passThruBlocks[$bID]) ? $this->passThruBlocks[$bID] : null;
    }
 
    public function validateRequest()
    {
 
        if (isset($this->requestValidated)) {
            return $this->requestValidated;
        }
 
        $valid = true;
 
        if (!$this->isValidControllerTask($this->action, $this->parameters)) {
            $valid = false;
            // we check the blocks on the page.
            $blocks = array_merge($this->getPageObject()->getBlocks(), $this->getPageObject()->getGlobalBlocks());
 
            foreach ($blocks as $b) {
                $controller = $b->getController();
                list($method, $parameters) = $controller->getPassThruActionAndParameters($this->parameters);
                if ($controller->isValidControllerTask($method, $parameters)) {
                    $controller->on_start();
                    $response = $controller->runAction($method, $parameters);
                    if ($response instanceof Response) {
                        return $response;
                    }
                    // old school blocks have already terminated at this point. They are redirecting
                    // or exiting. But new blocks like topics, etc... can actually rely on their $set
                    // data persisting and being passed into the view.
 
                    // so if we make it down here we have to return true –so that we don't fire a 404.
                    $valid = true;
 
                    // then, we need to save the persisted data that may have been set.
                    $controller->setPassThruBlockController($this);
                }
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
ResponseFactory.php
        $collection->setController($controller);
 
        return $this->controller($controller);
    }
 
    private function collectionNotFound(Collection $collection, Request $request, array $headers)
    {
        // if we don't have a path and we're doing cID, then this automatically fires a 404.
        if (!$request->getPath() && $request->get('cID')) {
            return $this->notFound('', Response::HTTP_NOT_FOUND, $headers);
        }
 
        // let's test to see if this is, in fact, the home page,
        // and we're routing arguments onto it (which is screwing up the path.)
        $home = Page::getByID(Page::getHomePageID());
        $request->setCurrentPage($home);
        $homeController = $home->getPageController();
        $homeController->setupRequestActionAndParameters($request);
 
        $response = $homeController->validateRequest();
        if ($response instanceof \Symfony\Component\HttpFoundation\Response) {
            return $response;
        } elseif ($response === true) {
            return $this->controller($homeController);
        } else {
            return $this->notFound('', Response::HTTP_NOT_FOUND, $headers);
        }
    }
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
ResponseFactory.php
 
            return $this->view($view, $code, $headers);
        } finally {
            $this->localization->popActiveContext();
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function collection(Collection $collection, $code = Response::HTTP_OK, $headers = [])
    {
        if (!$this->app) {
            throw new \RuntimeException('Cannot resolve collections without a reference to the application');
        }
 
        $request = $this->request;
 
        if ($collection->isError() && $collection->getError() == COLLECTION_NOT_FOUND) {
            if ($response = $this->collectionNotFound($collection, $request, $headers)) {
                return $response;
            }
        }
 
        if ($collection->getCollectionPath() != '/page_not_found') {
            if (!isset($collection->cPathFetchIsCanonical) || !$collection->cPathFetchIsCanonical) {
                // Handle redirect URL (additional page paths)
                /** @var Url $url */
                $url = $this->app->make('url/manager')->resolve([$collection]);
                $query = $url->getQuery();
                $query->modify($request->getQueryString());
 
                $url = $url->setQuery($query);
 
                return $this->redirect($url, Response::HTTP_MOVED_PERMANENTLY, $headers);
            }
        }
 
        // maintenance mode
        if ($collection->getCollectionPath() != '/login') {
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
DefaultDispatcher.php
                new DispatcherDelegate($dispatcher)
            );
            $stack->setApplication($this->app);
            foreach($route->getMiddlewares() as $middleware) {
                if (is_string($middleware->getMiddleware())) {
                    $inflatedMiddleware =  $this->app->make($middleware->getMiddleware());
                } else {
                    $inflatedMiddleware = $middleware->getMiddleware();
                }
                $stack = $stack->withMiddleware(
                    $inflatedMiddleware,
                    $middleware->getPriority()
                );
            }
            return $stack->process($request);
        } catch (ResourceNotFoundException $e) {
        } catch (MethodNotAllowedException $e) {
        }
        $c = \Page::getFromRequest($request);
        $response = $this->app->make(ResponseFactoryInterface::class)->collection($c);
 
        return $response;
    }
 
    /**
     * @param \Symfony\Component\Routing\RouteCollection $routes
     * @param string $path
     *
     * @return \Symfony\Component\Routing\RouteCollection
     */
    private function filterRouteCollectionForPath(RouteCollection $routes, $path)
    {
        $result = new RouteCollection();
        foreach ($routes->getResources() as $resource) {
            $result->addResource($resource);
        }
        foreach ($routes->all() as $name => $route) {
            $routePath = $route->getPath();
            $p = strpos($routePath, '{');
            $skip = false;
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
DefaultDispatcher.php
    /**
     * @param \Symfony\Component\HttpFoundation\Request $request
     *
     * @return SymfonyResponse
     */
    public function dispatch(SymfonyRequest $request)
    {
        $path = rawurldecode($request->getPathInfo());
 
        if (substr($path, 0, 3) == '../' || substr($path, -3) == '/..' || strpos($path, '/../') ||
            substr($path, 0, 3) == '..\\' || substr($path, -3) == '\\..' || strpos($path, '\\..\\')) {
            throw new \RuntimeException(t('Invalid path traversal. Please make this request with a valid HTTP client.'));
        }
 
        $response = null;
        if ($this->app->isInstalled()) {
            $response = $this->getEarlyDispatchResponse();
        }
        if ($response === null) {
            $response = $this->handleDispatch($request);
        }
 
        return $response;
    }
 
    private function getEarlyDispatchResponse()
    {
        $validator = $this->app->make(SessionValidator::class);
        if ($validator->hasActiveSession()) {
            $session = $this->app['session'];
            if (!$session->has('uID')) {
                User::verifyAuthTypeCookie();
            }
 
            // User may have been logged in, so lets check status again.
            if ($session->has('uID') && $session->get('uID') > 0 && $response = $this->validateUser()) {
                return $response;
            }
        }
    }
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
DispatcherDelegate.php
    private $dispatcher;
 
    /**
     * DispatcherFrame constructor.
     * @param \Concrete\Core\Http\DispatcherInterface $dispatcher
     */
    public function __construct(DispatcherInterface $dispatcher)
    {
        $this->dispatcher = $dispatcher;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        return $this->dispatcher->dispatch($request);
    }
 
}
 
/
var
/
www
/
html
/
concrete
/
packages
/
acme
/
src
/
Http
/
AuthorizationMiddleware.php
                    ->select('ac.challengeAuthorizationKey')
                    ->from(AuthorizationChallenge::class, 'ac')
                    ->andWhere($qb->expr()->eq('ac.challengeStarted', ':true'))
                    ->andWhere($qb->expr()->eq('ac.challengeToken', ':challengeToken'))
                    ->setMaxResults(1)
                    ->setParameters(new ArrayCollection([
                        new Parameter('true', true),
                        new Parameter('challengeToken', $challengeToken),
                    ]))
                ;
            $rows = $qb->getQuery()->getScalarResult();
            if ($rows !== []) {
                return $this->buildChallengeAuthorizationKeyResponse($rows[0]['challengeAuthorizationKey']);
            }
            if ($challengeToken === static::ACME_CHALLENGE_TOKEN_TESTINTERCEPT) {
                return $this->buildChallengeAuthorizationKeyResponse(sha1($this->config->get('acme::site.unique_installation_id')));
            }
        }
 
        return $frame->next($request);
    }
 
    /**
     * @param \Symfony\Component\HttpFoundation\Request $request
     *
     * @return string
     */
    protected function getAuthorizationChallengeToken(Request $request)
    {
        $pathInfo = $request->getRequestUri();
        if (strpos($pathInfo, static::ACME_CHALLENGE_PREFIX) !== 0) {
            return '';
        }
        $challengeToken = substr($pathInfo, strlen(static::ACME_CHALLENGE_PREFIX));
        if ($challengeToken === '' || $challengeToken[0] === '?') {
            return '';
        }
        $p = strpos($challengeToken, '?');
        if ($p !== false) {
            $challengeToken = substr($challengeToken, 0, $p);
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
ThumbnailMiddleware.php
     * @var \Concrete\Core\Config\Repository\Repository
     */
    private $config;
 
    public function __construct(Repository $config)
    {
        $this->config = $config;
    }
 
    /**
     * Process the request and return a response.
     *
     * @param \Symfony\Component\HttpFoundation\Request $request
     * @param DelegateInterface $frame
     *
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        if ($response && $this->app->isInstalled() && $this->config->get('concrete.misc.basic_thumbnailer_generation_strategy') == 'now') {
            $responseStatusCode = (int) $response->getStatusCode();
            if ($responseStatusCode === 200 || $responseStatusCode === 404) {
                $database = $this->tryGetConnection();
                if ($database !== null) {
                    if ($responseStatusCode === 404) {
                        $searchThumbnailPath = $request->getRequestUri();
                    } else {
                        $searchThumbnailPath = null;
                    }
                    $thumbnail = $this->getThumbnailToGenerate($database, $searchThumbnailPath);
                    if ($thumbnail !== null) {
                        $this->markThumbnailAsBuilt($database, $thumbnail);
                        if ($this->generateThumbnail($thumbnail)) {
                            if ($this->couldBeTheRequestedThumbnail($thumbnail, $searchThumbnailPath)) {
                                $response = $this->buildRedirectToThumbnailResponse($request);
                            }
                        }
                    }
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
FrameOptionsMiddleware.php
    private $config;
 
    /**
     * @var \Concrete\Core\Utility\Service\Validation\Strings
     */
    private $stringValidator;
 
    public function __construct(Repository $config, Strings $stringValidator)
    {
        $this->config = $config;
        $this->stringValidator = $stringValidator;
    }
 
    /**
     * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
     * @return Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        if ($response->headers->has('X-Frame-Options') === false) {
            $x_frame_options = $this->config->get('concrete.security.misc.x_frame_options');
            if ($this->stringValidator->notempty($x_frame_options)) {
                $response->headers->set('X-Frame-Options', $x_frame_options);
            }
        }
 
        return $response;
    }
 
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
CookieMiddleware.php
     * @var \Concrete\Core\Cookie\ResponseCookieJar
     */
    private $responseCookieJar;
 
    /**
     * @param \Concrete\Core\Cookie\ResponseCookieJar $responseCookieJar
     */
    public function __construct(ResponseCookieJar $responseCookieJar)
    {
        $this->responseCookieJar = $responseCookieJar;
    }
 
    /**
     * {@inheritdoc}
     *
     * @see \Concrete\Core\Http\Middleware\MiddlewareInterface::process()
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        $cleared = $this->responseCookieJar->getClearedCookies();
        foreach ($cleared as $cookie) {
            $response->headers->clearCookie($cookie, DIR_REL . '/');
        }
 
        $cookies = $this->responseCookieJar->getCookies();
        foreach ($cookies as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
ApplicationMiddleware.php
 * Middleware for applying state changes to the application
 * @package Concrete\Core\Http\Middleware
 */
class ApplicationMiddleware implements MiddlewareInterface, ApplicationAwareInterface
{
 
    use ApplicationAwareTrait;
 
    /**
     * Apply the request instance to the request singleton
     * @param \Symfony\Component\HttpFoundation\Request $request
     * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        \Concrete\Core\Http\Request::setInstance($request);
        $this->app->instance('Concrete\Core\Http\Request', $request);
 
        return $frame->next($request);
    }
 
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareStack.php
    public function withoutMiddleware(MiddlewareInterface $middleware)
    {
        $stack = clone $this;
 
        $stack->middleware = array_map(function($priorityGroup) use ($middleware) {
            return array_map(function($stackMiddleware) use ($middleware)  {
                return $middleware === $stackMiddleware ? null : $stackMiddleware;
            }, $priorityGroup);
        }, $stack->middleware);
 
        return $stack;
    }
 
    /**
     * @inheritdoc
     */
    public function process(Request $request)
    {
        $stack = $this->getStack();
        return $stack->next($request);
    }
 
    /**
     * Reduce middleware into a stack of functions that each call the next
     * @return callable
     */
    private function getStack()
    {
        $processed = [];
 
        foreach ($this->middlewareGenerator() as $middleware) {
            $processed[] = $middleware;
        }
 
        $middleware = array_reverse($processed);
        $stack = array_reduce($middleware, $this->getZipper(), $this->dispatcher);
 
        return $stack;
    }
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Http
/
DefaultServer.php
     */
    public function removeMiddleware(MiddlewareInterface $middleware)
    {
        $this->stack = $this->stack->withoutMiddleware($middleware);
        return $this;
    }
 
    /**
     * Take a request and pass it through middleware, then return the response
     * @param SymfonyRequest $request
     * @return SymfonyResponse
     */
    public function handleRequest(SymfonyRequest $request)
    {
        $stack = $this->stack;
        if ($stack instanceof MiddlewareStack) {
            $stack = $stack->withDispatcher($this->app->make(DispatcherDelegate::class, [$this->dispatcher]));
        }
 
        return $stack->process($request);
    }
 
}
 
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Foundation
/
Runtime
/
Run
/
DefaultRunner.php
                'registerLegacyRoutes',
 
                // Register legacy config values
                'registerLegacyConfigValues',
 
                // Handle loading permission keys
                'handlePermissionKeys',
 
                // Handle eventing
                'handleEventing',
            ]);
        } else {
            $this->initializeSystemTimezone();
        }
 
        // Create the request to use
        $request = $this->createRequest();
 
        if (!$response) {
            $response = $this->server->handleRequest($request);
        }
 
        // Prepare and return the response
        return $response->prepare($request);
    }
 
    /**
     * Define the base url if not defined
     * This will define `BASE_URL` to whatever is resolved from the resolver.
     *
     * @deprecated In a future major version this will be part of HTTP middleware
     *
     * @return Response|void Returns a response if an error occurs
     */
    protected function initializeLegacyURLDefinitions()
    {
        if (!defined('BASE_URL')) {
            $resolver = $this->getUrlResolver();
 
            try {
/
var
/
www
/
html
/
concrete
/
concrete
/
src
/
Foundation
/
Runtime
/
DefaultRuntime.php
            $this->status = self::STATUS_ACTIVE;
        }
    }
 
    /**
     * Begin the runtime.
     */
    public function run()
    {
        switch ($this->status) {
            case self::STATUS_ENDED:
                // We've already ended, lets just return
                return;
 
            case self::STATUS_INACTIVE:
                throw new \RuntimeException('Runtime has not yet booted.');
        }
 
        $runner = $this->getRunner();
        $response = $runner->run();
 
        if ($response) {
            $this->sendResponse($response);
        }
 
        return $response;
    }
 
    /**
     * The method that handles properly sending a response.
     *
     * @param \Symfony\Component\HttpFoundation\Response $response
     */
    protected function sendResponse(Response $response)
    {
        $response->send();
 
        // Set the status to ended
        $this->status = self::STATUS_ENDED;
    }
/
var
/
www
/
html
/
concrete
/
concrete
/
dispatcher.php
 * Include all autoloaders.
 * ----------------------------------------------------------------------------
 */
require __DIR__ . '/bootstrap/autoload.php';
 
/*
 * ----------------------------------------------------------------------------
 * Begin concrete5 startup.
 * ----------------------------------------------------------------------------
 */
$app = require __DIR__ . '/bootstrap/start.php';
/** @var \Concrete\Core\Application\Application $app */
 
/*
 * ----------------------------------------------------------------------------
 * Run the runtime.
 * ----------------------------------------------------------------------------
 */
$runtime = $app->getRuntime();
if ($response = $runtime->run()) {
 
    /*
     * ------------------------------------------------------------------------
     * Shut it down.
     * ------------------------------------------------------------------------
     */
    $app->shutdown();
} else {
    return $app;
}
 
/
var
/
www
/
html
/
concrete
/
index.php
<?php
 
require 'concrete/dispatcher.php';
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
 

Environment & details:

Key Value
Version 8.6.0a3
Installed Version 8.6.0a3
Key Value
concrete.version 8.6.0a3
concrete.version_installed 8.6.0a3
concrete.version_db 20190708000000
concrete.installed true
concrete.locale en_US
concrete.charset UTF-8
concrete.charset_bom 
concrete.maintenance_mode false
concrete.debug.display_errors true
concrete.debug.detail debug
concrete.debug.error_reporting null
concrete.proxy.host null
concrete.proxy.port null
concrete.proxy.user null
concrete.proxy.password null
concrete.upload.extensions *.flv;*.jpg;*.gif;*.jpeg;*.ico;*.docx;*.xla;*.png;*.psd;*.swf;*.doc;*.txt;*.xls;*.xlsx;*.csv;*.pdf;*.tiff;*.rtf;*.m4a;*.mov;*.wmv;*.mpeg;*.mpg;*.wav;*.3gp;*.avi;*.m4v;*.mp4;*.mp3;*.qt;*.ppt;*.pptx;*.kml;*.xml;*.svg;*.webm;*.ogg;*.ogv
concrete.upload.chunking.enabled true
concrete.upload.chunking.chunkSize null
concrete.export.csv.include_bom false
concrete.interface.panel.page_relations false
concrete.mail.method smtp
concrete.mail.methods.smtp.server in-v3.mailjet.com
concrete.mail.methods.smtp.port 587
concrete.mail.methods.smtp.username 9cd0fa8588fb0768161cd29f2388f89f
concrete.mail.methods.smtp.password 805ccfbeb4b443f853a69dca76704517
concrete.mail.methods.smtp.encryption TLS
concrete.mail.methods.smtp.messages_per_connection null
concrete.cache.enabled true
concrete.cache.lifetime 21600
concrete.cache.overrides true
concrete.cache.blocks false
concrete.cache.assets false
concrete.cache.theme_css true
concrete.cache.pages 0
concrete.cache.doctrine_dev_mode true
concrete.cache.full_page_lifetime default
concrete.cache.full_page_lifetime_value null
concrete.cache.full_contents_assets_hash false
concrete.cache.directory /var/www/html/concrete/application/files/cache
concrete.cache.directory_relative null
concrete.cache.page.directory /var/www/html/concrete/application/files/cache/pages
concrete.cache.page.adapter file
concrete.cache.levels.overrides.drivers.core_ephemeral.class \Stash\Driver\Ephemeral
concrete.cache.levels.overrides.drivers.core_filesystem.class Concrete\Core\Cache\Driver\FileSystemStashDriver
concrete.cache.levels.overrides.drivers.core_filesystem.options.path /var/www/html/concrete/application/files/cache/overrides
concrete.cache.levels.overrides.drivers.core_filesystem.options.dirPermissions 509
concrete.cache.levels.overrides.drivers.core_filesystem.options.filePermissions 436
concrete.cache.levels.overrides.drivers.redis.class Concrete\Core\Cache\Driver\RedisStashDriver
concrete.cache.levels.overrides.drivers.redis.options.prefix c5_overrides
concrete.cache.levels.overrides.drivers.redis.options.database 0
concrete.cache.levels.overrides.preferred_driver core_filesystem
concrete.cache.levels.expensive.drivers.core_ephemeral.class \Stash\Driver\Ephemeral
concrete.cache.levels.expensive.drivers.core_filesystem.class Concrete\Core\Cache\Driver\FileSystemStashDriver
concrete.cache.levels.expensive.drivers.core_filesystem.options.path /var/www/html/concrete/application/files/cache/expensive
concrete.cache.levels.expensive.drivers.core_filesystem.options.dirPermissions 509
concrete.cache.levels.expensive.drivers.core_filesystem.options.filePermissions 436
concrete.cache.levels.expensive.drivers.redis.class Concrete\Core\Cache\Driver\RedisStashDriver
concrete.cache.levels.expensive.drivers.redis.options.prefix c5_expensive
concrete.cache.levels.expensive.drivers.redis.options.database 0
concrete.cache.levels.expensive.preferred_driver core_filesystem
concrete.cache.levels.object.drivers.core_ephemeral.class \Stash\Driver\Ephemeral
concrete.cache.levels.object.drivers.redis.class Concrete\Core\Cache\Driver\RedisStashDriver
concrete.cache.levels.object.drivers.redis.options.prefix c5_object
concrete.cache.levels.object.drivers.redis.options.database 0
concrete.cache.levels.object.preferred_driver core_ephemeral
concrete.cache.clear.thumbnails true
concrete.design.enable_custom true
concrete.design.enable_layouts true
concrete.log.emails 1
concrete.log.errors 1
concrete.log.spam false
concrete.log.enable_dashboard_report true
concrete.log.configuration.mode advanced
concrete.log.configuration.simple.core_logging_level NOTICE
concrete.log.configuration.simple.handler database
concrete.log.configuration.simple.file.file
concrete.jobs.enable_scheduling true
concrete.filesystem.temp_directory null
concrete.filesystem.permissions.file 436
concrete.filesystem.permissions.directory 509
concrete.email.enabled true
concrete.email.default.address concrete5@silo.lib.ia.us
concrete.email.default.name
concrete.email.form_block.address concrete5@silo.lib.ia.us
concrete.email.forgot_password.address concrete5@silo.lib.ia.us
concrete.email.forgot_password.name
concrete.email.validate_registration.address concrete5@silo.lib.ia.us
concrete.email.validate_registration.name
concrete.email.workflow_notification.address concrete5@silo.lib.ia.us
concrete.email.workflow_notification.name
concrete.email.register_notification.address concrete5@silo.lib.ia.us
concrete.form.store_form_submissions auto
concrete.marketplace.enabled true
concrete.marketplace.request_timeout 30
concrete.marketplace.token null
concrete.marketplace.site_token null
concrete.marketplace.intelligent_search true
concrete.marketplace.log_requests false
concrete.external.intelligent_search_help true
concrete.external.news true
concrete.misc.user_timezones false
concrete.misc.package_backup_directory /var/www/html/concrete/application/files/trash
concrete.misc.enable_progressive_page_reindex true
concrete.misc.mobile_theme_id 0
concrete.misc.sitemap_approve_immediately true
concrete.misc.enable_translate_locale_en_us false
concrete.misc.page_search_index_lifetime 259200
concrete.misc.enable_trash_can true
concrete.misc.app_version_display_in_header true
concrete.misc.default_jpeg_image_compression 80
concrete.misc.default_png_image_compression 9
concrete.misc.default_thumbnail_format auto
concrete.misc.inplace_image_operations_limit 4194304
concrete.misc.basic_thumbnailer_generation_strategy now
concrete.misc.help_overlay true
concrete.misc.require_version_comments false
concrete.misc.enable_move_blocktypes_across_sets false
concrete.misc.image_editor_cors_policy.enable_cross_origin false
concrete.misc.image_editor_cors_policy.anonymous_request true
concrete.misc.generator_tag_display_in_header true
concrete.misc.login_redirect DESKTOP
concrete.misc.access_entity_updated 1637095576
concrete.misc.latest_version 8.6.0a3
concrete.misc.do_page_reindex_check false
concrete.theme.compress_preprocessor_output true
concrete.theme.generate_less_sourcemap false
concrete.updates.enable_auto_update_packages false
concrete.updates.enable_permissions_protection true
concrete.updates.check_threshold 172800
concrete.updates.services.get_available_updates http://www.concrete5.org/tools/update_core
concrete.updates.services.inspect_update http://www.concrete5.org/tools/inspect_update
concrete.updates.skip_core false
concrete.paths.trash /!trash
concrete.paths.drafts /!drafts
concrete.icons.page_template.width 120
concrete.icons.page_template.height 90
concrete.icons.theme_thumbnail.width 120
concrete.icons.theme_thumbnail.height 90
concrete.icons.file_manager_listing.handle file_manager_listing
concrete.icons.file_manager_listing.width 60
concrete.icons.file_manager_listing.height 60
concrete.icons.file_manager_detail.handle file_manager_detail
concrete.icons.file_manager_detail.width 400
concrete.icons.file_manager_detail.height 400
concrete.icons.user_avatar.width 80
concrete.icons.user_avatar.height 80
concrete.icons.user_avatar.default /concrete/images/avatar_none.png
concrete.file_manager.images.use_exif_data_to_rotate_images false
concrete.file_manager.images.manipulation_library gd
concrete.file_manager.images.create_high_dpi_thumbnails true
concrete.file_manager.images.preview_image_size small
concrete.file_manager.images.preview_image_popover true
concrete.file_manager.images.svg_sanitization.action sanitize
concrete.file_manager.images.svg_sanitization.allowed_tags
concrete.file_manager.images.svg_sanitization.allowed_attributes
concrete.file_manager.images.image_editor_save_area_background_color
concrete.file_manager.items_per_page_options.0 10
concrete.file_manager.items_per_page_options.1 25
concrete.file_manager.items_per_page_options.2 50
concrete.file_manager.items_per_page_options.3 100
concrete.file_manager.items_per_page_options.4 250
concrete.file_manager.results 10
concrete.search_users.results 10
concrete.sitemap_xml.file sitemap.xml
concrete.sitemap_xml.frequency weekly
concrete.sitemap_xml.priority 0.5
concrete.accessibility.toolbar_titles true
concrete.accessibility.toolbar_large_font false
concrete.accessibility.display_help_system true
concrete.accessibility.toolbar_tooltips true
concrete.i18n.choose_language_login false
concrete.i18n.auto_install_package_languages true
concrete.i18n.community_translation.entry_point http://translate.concrete5.org/api
concrete.i18n.community_translation.api_token
concrete.i18n.community_translation.progress_limit 60
concrete.i18n.community_translation.cache_lifetime 3600
concrete.i18n.community_translation.package_url https://translate.concrete5.org/translate/package
concrete.urls.concrete5 http://www.concrete5.org
concrete.urls.concrete5_secure https://www.concrete5.org
concrete.urls.newsflow http://newsflow.concrete5.org
concrete.urls.background_feed //backgroundimages.concrete5.org/wallpaper
concrete.urls.privacy_policy //www.concrete5.org/legal/privacy-policy
concrete.urls.background_feed_secure https://backgroundimages.concrete5.org/wallpaper
concrete.urls.background_info http://backgroundimages.concrete5.org/get_image_data.php
concrete.urls.videos https://www.youtube.com/user/concrete5cms/videos
concrete.urls.help.developer http://documentation.concrete5.org/developers
concrete.urls.help.user http://documentation.concrete5.org/editors
concrete.urls.help.forum http://www.concrete5.org/community/forums
concrete.urls.help.slack https://www.concrete5.org/slack
concrete.urls.paths.menu_help_service /tools/get_remote_help_list/
concrete.urls.paths.site_page /private/sites
concrete.urls.paths.newsflow_slot_content /tools/slot_content/
concrete.urls.paths.marketplace.connect /marketplace/connect
concrete.urls.paths.marketplace.connect_success /marketplace/connect/-/connected
concrete.urls.paths.marketplace.connect_validate /marketplace/connect/-/validate
concrete.urls.paths.marketplace.connect_new_token /marketplace/connect/-/generate_token
concrete.urls.paths.marketplace.checkout /cart/-/add
concrete.urls.paths.marketplace.purchases /marketplace/connect/-/get_available_licenses
concrete.urls.paths.marketplace.item_information /marketplace/connect/-/get_item_information
concrete.urls.paths.marketplace.item_free_license /marketplace/connect/-/enable_free_license
concrete.urls.paths.marketplace.remote_item_list /marketplace/
concrete.white_label.logo false
concrete.white_label.name false
concrete.white_label.background_image null
concrete.session.name CONCRETE5
concrete.session.handler file
concrete.session.redis.database 1
concrete.session.save_path null
concrete.session.max_lifetime 7200
concrete.session.cookie.cookie_path false
concrete.session.cookie.cookie_lifetime 0
concrete.session.cookie.cookie_domain false
concrete.session.cookie.cookie_secure false
concrete.session.cookie.cookie_httponly true
concrete.session.remember_me.lifetime 1209600
concrete.user.registration.enabled false
concrete.user.registration.type disabled
concrete.user.registration.captcha true
concrete.user.registration.email_registration false
concrete.user.registration.display_username_field true
concrete.user.registration.display_confirm_password_field true
concrete.user.registration.validate_email false
concrete.user.registration.approval false
concrete.user.registration.notification false
concrete.user.group.badge.default_point_value 50
concrete.user.username.maximum 64
concrete.user.username.minimum 3
concrete.user.username.allowed_characters.boundary A-Za-z0-9
concrete.user.username.allowed_characters.middle A-Za-z0-9_\.
concrete.user.username.allowed_characters.requirement_string A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end).
concrete.user.username.allowed_characters.error_string A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end).
concrete.user.password.maximum 128
concrete.user.password.minimum 5
concrete.user.password.required_special_characters 0
concrete.user.password.required_lower_case 0
concrete.user.password.required_upper_case 0
concrete.user.password.reuse 0
concrete.user.password.hash_portable false
concrete.user.password.hash_cost_log2 12
concrete.user.password.legacy_salt
concrete.user.email.test_mx_record false
concrete.user.email.strict true
concrete.user.private_messages.throttle_max 20
concrete.user.private_messages.throttle_max_timespan 15
concrete.user.deactivation.enable_login_threshold_deactivation false
concrete.user.deactivation.login.threshold 120
concrete.user.deactivation.authentication_failure.enabled false
concrete.user.deactivation.authentication_failure.amount 5
concrete.user.deactivation.authentication_failure.duration 300
concrete.user.deactivation.message This user is inactive. Please contact us regarding this account.
concrete.spam.whitelist_group 0
concrete.spam.notify_email concrete5@silo.lib.ia.us
concrete.calendar.colors.text #ffffff
concrete.calendar.colors.background #3A87AD
concrete.calendar.topic_attribute event_categories
concrete.security.session.invalidate_on_user_agent_mismatch true
concrete.security.session.invalidate_on_ip_mismatch true
concrete.security.session.invalidate_inactive_users.enabled false
concrete.security.session.invalidate_inactive_users.time 300
concrete.security.misc.x_frame_options SAMEORIGIN
concrete.permissions.forward_to_login true
concrete.permissions.model advanced
concrete.seo.exclude_words a, an, as, at, before, but, by, for, from, is, in, into, like, of, off, on, onto, per, since, than, the, this, that, to, up, via, with
concrete.seo.url_rewriting true
concrete.seo.url_rewriting_all false
concrete.seo.redirect_to_canonical_url 1
concrete.seo.canonical_url null
concrete.seo.canonical_url_alternative null
concrete.seo.trailing_slash false
concrete.seo.title_format %2$s :: %1$s
concrete.seo.title_segment_separator ::
concrete.seo.page_path_separator -
concrete.seo.group_name_separator /
concrete.seo.segment_max_length 128
concrete.seo.paging_string ccm_paging_p
concrete.statistics.track_downloads true
concrete.limits.sitemap_pages 100
concrete.limits.delete_pages 100
concrete.limits.copy_pages 10
concrete.limits.page_search_index_batch 200
concrete.limits.job_queue_batch 10
concrete.limits.style_customizer.size_min -50
concrete.limits.style_customizer.size_max 200
concrete.page.search.always_reindex false
concrete.composer.idle_timeout 1
concrete.api.enabled true
concrete.api.grant_types.client_credentials true
concrete.api.grant_types.authorization_code true
concrete.api.grant_types.password_credentials false
concrete.mutex.semaphore.priority 100
concrete.mutex.semaphore.class Concrete\Core\System\Mutex\SemaphoreMutex
concrete.mutex.file_lock.priority 50
concrete.mutex.file_lock.class Concrete\Core\System\Mutex\FileLockMutex
concrete.version_db_installed 20190708000000
concrete.multisite.enabled true
concrete.maintenance.version_job_page_num 0
concrete.site Nevada Public Library
Key Value
list:
amp:list
sort_on sortable_title
Type Event
start_range:record max
start_query:date:list:record 2018/06/13 23:59:59 GMT-5
review_state published
end_range:record min
end_query:date:list:record 2018/06/13 00:00:00 GMT-5
advanced_search True
empty
empty
empty
empty
Key Value
USER apache
HOME /usr/share/httpd
SCRIPT_NAME /index.php
REQUEST_URI /@@search?list%3A=&amp:list=&amp:list=&sort_on=sortable_title&Type=Event&start.range:record=max&start.query:date:list:record=2018/06/13%2023%3A59%3A59%20GMT-5&review_state=published&end.range:record=min&end.query:date:list:record=2018/06/13%2000%3A00%3A00%20GMT-5&advanced_search=True
QUERY_STRING list%3A=&amp:list=&amp:list=&sort_on=sortable_title&Type=Event&start.range:record=max&start.query:date:list:record=2018/06/13%2023%3A59%3A59%20GMT-5&review_state=published&end.range:record=min&end.query:date:list:record=2018/06/13%2000%3A00%3A00%20GMT-5&advanced_search=True
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/1.1
GATEWAY_INTERFACE CGI/1.1
REDIRECT_QUERY_STRING list%3A=&amp:list=&amp:list=&sort_on=sortable_title&Type=Event&start.range:record=max&start.query:date:list:record=2018/06/13%2023%3A59%3A59%20GMT-5&review_state=published&end.range:record=min&end.query:date:list:record=2018/06/13%2000%3A00%3A00%20GMT-5&advanced_search=True
REDIRECT_URL /@@search
REMOTE_PORT 44534
SCRIPT_FILENAME /var/www/html/concrete/index.php
SERVER_ADMIN helpdesk@silo.lib.ia.us
CONTEXT_DOCUMENT_ROOT /var/www/html/concrete
CONTEXT_PREFIX
REQUEST_SCHEME https
DOCUMENT_ROOT /var/www/html/concrete
REMOTE_ADDR 52.86.117.142
SERVER_PORT 443
SERVER_ADDR 10.192.241.84
SERVER_NAME www.nevada.lib.ia.us
SERVER_SOFTWARE Apache/2.4.37 (Red Hat Enterprise Linux) OpenSSL/1.1.1k
SERVER_SIGNATURE
PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
HTTP_HOST www.nevada.lib.ia.us
HTTP_USER_AGENT claudebot
HTTP_ACCEPT */*
proxy-nokeepalive 1
SSL_TLS_SNI www.nevada.lib.ia.us
HTTPS on
SCRIPT_URI https://www.nevada.lib.ia.us/@@search
SCRIPT_URL /@@search
UNIQUE_ID ZgZ-UHMstfmaqdswPxaTkQAAAIM
REDIRECT_STATUS 200
REDIRECT_SSL_TLS_SNI www.nevada.lib.ia.us
REDIRECT_HTTPS on
REDIRECT_SCRIPT_URI https://www.nevada.lib.ia.us/@@search
REDIRECT_SCRIPT_URL /@@search
REDIRECT_UNIQUE_ID ZgZ-UHMstfmaqdswPxaTkQAAAIM
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1711701840.6597
REQUEST_TIME 1711701840
empty
0. Concrete\Core\Error\Handler\ErrorHandler
1. Concrete\Core\Error\Handler\JsonErrorHandler