/**
* Gets the Doctrine type that is mapped for the given database column type.
*
* @param string $dbType
*
* @return string
*
* @throws Exception
*/
public function getDoctrineTypeMapping($dbType)
{
if ($this->doctrineTypeMapping === null) {
$this->initializeAllDoctrineTypeMappings();
}
$dbType = strtolower($dbType);
if (! isset($this->doctrineTypeMapping[$dbType])) {
throw new Exception(
'Unknown database type ' . $dbType . ' requested, ' . static::class . ' may not support it.'
);
}
return $this->doctrineTypeMapping[$dbType];
}
/**
* Checks if a database type is currently supported by this platform.
*
* @param string $dbType
*
* @return bool
*/
public function hasDoctrineTypeMappingFor($dbType)
{
if ($this->doctrineTypeMapping === null) {
$this->initializeAllDoctrineTypeMappings();
}
"Unknown database type enum requested, Doctrine\DBAL\Platforms\MariaDb1027Platform may not support it."
protected function _getPortableTableColumnDefinition($tableColumn)
{
$tableColumn = array_change_key_case($tableColumn, CASE_LOWER);
$dbType = strtolower($tableColumn['type']);
$dbType = strtok($dbType, '(), ');
assert(is_string($dbType));
$length = $tableColumn['length'] ?? strtok('(), ');
$fixed = null;
if (! isset($tableColumn['name'])) {
$tableColumn['name'] = '';
}
$scale = null;
$precision = null;
$type = $this->_platform->getDoctrineTypeMapping($dbType);
// In cases where not connected to a database DESCRIBE $table does not return 'Comment'
if (isset($tableColumn['comment'])) {
$type = $this->extractDoctrineTypeFromComment($tableColumn['comment'], $type);
$tableColumn['comment'] = $this->removeDoctrineTypeFromComment($tableColumn['comment'], $type);
}
switch ($dbType) {
case 'char':
case 'binary':
$fixed = true;
break;
case 'float':
case 'double':
case 'real':
case 'numeric':
case 'decimal':
if (preg_match('([A-Za-z]+\(([0-9]+)\,([0-9]+)\))', $tableColumn['type'], $match)) {
$precision = $match[1];
*/
protected function _getPortableTableColumnList($table, $database, $tableColumns)
{
$eventManager = $this->_platform->getEventManager();
$list = [];
foreach ($tableColumns as $tableColumn) {
$column = null;
$defaultPrevented = false;
if ($eventManager !== null && $eventManager->hasListeners(Events::onSchemaColumnDefinition)) {
$eventArgs = new SchemaColumnDefinitionEventArgs($tableColumn, $table, $database, $this->_conn);
$eventManager->dispatchEvent(Events::onSchemaColumnDefinition, $eventArgs);
$defaultPrevented = $eventArgs->isDefaultPrevented();
$column = $eventArgs->getColumn();
}
if (! $defaultPrevented) {
$column = $this->_getPortableTableColumnDefinition($tableColumn);
}
if (! $column) {
continue;
}
$name = strtolower($column->getQuotedName($this->_platform));
$list[$name] = $column;
}
return $list;
}
/**
* Gets Table Column Definition.
*
* @param mixed[] $tableColumn
*
* @return Column
*/
* {@see listTableIndexes($tableName)} to retrieve the primary key
* of a table. Where a RDBMS specifies more details, these are held
* in the platformDetails array.
*
* @param string $table The name of the table.
* @param string|null $database
*
* @return Column[]
*/
public function listTableColumns($table, $database = null)
{
if (! $database) {
$database = $this->_conn->getDatabase();
}
$sql = $this->_platform->getListTableColumnsSQL($table, $database);
$tableColumns = $this->_conn->fetchAllAssociative($sql);
return $this->_getPortableTableColumnList($table, $database, $tableColumns);
}
/**
* Lists the indexes for a given table returning an array of Index instances.
*
* Keys of the portable indexes list are all lower-cased.
*
* @param string $table The name of the table.
*
* @return Index[]
*/
public function listTableIndexes($table)
{
$sql = $this->_platform->getListTableIndexesSQL($table, $this->_conn->getDatabase());
$tableIndexes = $this->_conn->fetchAllAssociative($sql);
return $this->_getPortableTableIndexesList($tableIndexes, $table);
}
public function listTables()
{
$tableNames = $this->listTableNames();
$tables = [];
foreach ($tableNames as $tableName) {
$tables[] = $this->listTableDetails($tableName);
}
return $tables;
}
/**
* @param string $name
*
* @return Table
*/
public function listTableDetails($name)
{
$columns = $this->listTableColumns($name);
$foreignKeys = [];
if ($this->_platform->supportsForeignKeyConstraints()) {
$foreignKeys = $this->listTableForeignKeys($name);
}
$indexes = $this->listTableIndexes($name);
return new Table($name, $columns, $indexes, $foreignKeys);
}
/**
* Lists the views this connection has.
*
* @return View[]
*/
public function listViews()
{
$database = $this->_conn->getDatabase();
$sql = $this->_platform->getListViewsSQL($database);
$views = $this->_conn->fetchAllAssociative($sql);
$constraint['local'],
$constraint['foreignTable'],
$constraint['foreign'],
$constraint['name'],
[
'onDelete' => $constraint['onDelete'],
'onUpdate' => $constraint['onUpdate'],
]
);
}
return $result;
}
/**
* {@inheritdoc}
*/
public function listTableDetails($name)
{
$table = parent::listTableDetails($name);
$platform = $this->_platform;
assert($platform instanceof MySqlPlatform);
$sql = $platform->getListTableMetadataSQL($name);
$tableOptions = $this->_conn->fetchAssociative($sql);
if ($tableOptions === false) {
return $table;
}
$table->addOption('engine', $tableOptions['ENGINE']);
if ($tableOptions['TABLE_COLLATION'] !== null) {
$table->addOption('collation', $tableOptions['TABLE_COLLATION']);
}
if ($tableOptions['AUTO_INCREMENT'] !== null) {
$table->addOption('autoincrement', $tableOptions['AUTO_INCREMENT']);
}
*
* @return string|null
*/
protected function getFilterSchemaAssetsExpression()
{
return $this->_conn->getConfiguration()->getFilterSchemaAssetsExpression();
}
/**
* Lists the tables for this connection.
*
* @return Table[]
*/
public function listTables()
{
$tableNames = $this->listTableNames();
$tables = [];
foreach ($tableNames as $tableName) {
$tables[] = $this->listTableDetails($tableName);
}
return $tables;
}
/**
* @param string $name
*
* @return Table
*/
public function listTableDetails($name)
{
$columns = $this->listTableColumns($name);
$foreignKeys = [];
if ($this->_platform->supportsForeignKeyConstraints()) {
$foreignKeys = $this->listTableForeignKeys($name);
}
$indexes = $this->listTableIndexes($name);
/**
* Creates a schema instance for the current database.
*
* @return Schema
*/
public function createSchema()
{
$namespaces = [];
if ($this->_platform->supportsSchemas()) {
$namespaces = $this->listNamespaceNames();
}
$sequences = [];
if ($this->_platform->supportsSequences()) {
$sequences = $this->listSequences();
}
$tables = $this->listTables();
return new Schema($tables, $sequences, $this->createSchemaConfig(), $namespaces);
}
/**
* Creates the configuration for this schema.
*
* @return SchemaConfig
*/
public function createSchemaConfig()
{
$schemaConfig = new SchemaConfig();
$schemaConfig->setMaxIdentifierLength($this->_platform->getMaxIdentifierLength());
$searchPaths = $this->getSchemaSearchPaths();
if (isset($searchPaths[0])) {
$schemaConfig->setName($searchPaths[0]);
}
$params = $this->_conn->getParams();
foreach ($xml->table as $t) {
$name = (string) $t['name'];
if (in_array($name, $tables) || count($tables) == 0) {
$th->appendXML($output, $t);
}
}
$db = \Database::get();
$parser = static::getSchemaParser($output);
$parser->setIgnoreExistingTables(false);
$toSchema = $parser->parse($db);
return $toSchema;
}
public static function refreshCoreXMLSchema($tables = array())
{
$db = \Database::get();
$toSchema = static::getCoreXMLSchema($tables);
$fromSchema = $db->getSchemaManager()->createSchema();
$comparator = new \Doctrine\DBAL\Schema\Comparator();
$schemaDiff = $comparator->compare($fromSchema, $toSchema);
$saveQueries = $schemaDiff->toSaveSql($db->getDatabasePlatform());
foreach ($saveQueries as $query) {
$db->query($query);
}
}
}
<?php
namespace Concrete\Core\Updater\Migrations\Migrations;
use Concrete\Core\Site\Service;
use Concrete\Core\Updater\Migrations\AbstractMigration;
use Concrete\Core\Updater\Migrations\RepeatableMigrationInterface;
class Version20220909000000 extends AbstractMigration implements RepeatableMigrationInterface
{
/**
* Refresh PageTypes table
*
* @return void
*/
public function upgradeDatabase()
{
\Concrete\Core\Database\Schema\Schema::refreshCoreXMLSchema([
'PageTypes',
]);
}
}
}
/**
* {@inheritdoc}
*
* @see \Doctrine\Migrations\AbstractMigration::up()
*/
final public function up(Schema $schema): void
{
$this->upgradeSchema($schema);
}
/**
* {@inheritdoc}
*
* @see \Doctrine\Migrations\AbstractMigration::postUp()
*/
final public function postUp(Schema $schema): void
{
$this->upgradeDatabase();
}
/**
* {@inheritdoc}
*
* @see \Doctrine\Migrations\AbstractMigration::down()
*/
final public function down(Schema $schema): void
{
$this->downgradeSchema($schema);
}
/**
* {@inheritdoc}
*
* @see \Doctrine\Migrations\AbstractMigration::postDown()
*/
final public function postDown(Schema $schema): void
{
$this->downgradeDatabase();
}
if (count($this->sql) !== 0) {
if (! $migratorConfiguration->isDryRun()) {
$this->executeVersionExecutionResult($version, $migratorConfiguration);
} else {
foreach ($this->sql as $idx => $query) {
$this->outputSqlQuery($idx, $query);
}
}
} else {
$this->outputWriter->write(sprintf(
'<error>Migration %s was executed but did not result in any SQL statements.</error>',
$version->getVersion()
));
}
$version->setState(State::POST);
$migration->{'post' . ucfirst($direction)}($toSchema);
if (! $migratorConfiguration->isDryRun()) {
$version->markVersion($direction);
}
$stopwatchEvent->stop();
$periods = $stopwatchEvent->getPeriods();
$lastPeriod = $periods[count($periods) - 1];
$versionExecutionResult->setTime($lastPeriod->getDuration());
$versionExecutionResult->setMemory($lastPeriod->getMemory());
if ($direction === Direction::UP) {
$this->outputWriter->write(sprintf(
"\n <info>++</info> migrated (took %sms, used %s memory)",
$lastPeriod->getDuration(),
BytesFormatter::formatBytes($lastPeriod->getMemory())
));
} else {
$this->outputWriter->write(sprintf(
}
$this->addQueryParams($params, $types);
}
public function execute(
Version $version,
AbstractMigration $migration,
string $direction,
?MigratorConfiguration $migratorConfiguration = null
): ExecutionResult {
$migratorConfiguration = $migratorConfiguration ?? new MigratorConfiguration();
$versionExecutionResult = new ExecutionResult();
$this->startMigration($version, $migration, $direction, $migratorConfiguration);
try {
$this->executeMigration(
$version,
$migration,
$versionExecutionResult,
$direction,
$migratorConfiguration
);
$versionExecutionResult->setSql($this->sql);
$versionExecutionResult->setParams($this->params);
$versionExecutionResult->setTypes($this->types);
} catch (SkipMigration $e) {
$this->skipMigration(
$e,
$version,
$migration,
$direction,
$migratorConfiguration
);
$versionExecutionResult->setSkipped(true);
} catch (Throwable $e) {
$this->outputWriter->write("\n-- Version " . $this->version . "\n");
$sqlQueries = [$this->version => $versionExecutionResult->getSql()];
/*
* Since the configuration object changes during the creation we cannot inject things
* properly, so I had to violate LoD here (so please, let's find a way to solve it on v2).
*/
return $this->configuration
->getQueryWriter()
->write($path, $direction, $sqlQueries);
}
public function execute(
string $direction,
?MigratorConfiguration $migratorConfiguration = null
): ExecutionResult {
return $this->versionExecutor->execute(
$this,
$this->migration,
$direction,
$migratorConfiguration
);
}
public function markMigrated(): void
{
$this->markVersion(Direction::UP);
}
public function markNotMigrated(): void
{
$this->markVersion(Direction::DOWN);
}
public function markVersion(string $direction): void
{
$this->configuration->createMigrationTable();
}
}
}
$configuration->getOutputWriter()->write(t('** Executing migration: %s', $migrationVersion->getVersion()));
if ($isRerunning && $migrationVersion->isMigrated()) {
$migrationVersion->markNotMigrated();
$migrated = false;
try {
$migrationVersion->execute('up');
$migrated = true;
} finally {
if (!$migrated) {
try {
$migrationVersion->markMigrated();
} catch (Exception $x) {
}
}
}
} else {
$migrationVersion->execute('up');
}
++$performedMigrations;
if ($defaultTimeLimit !== 0 && !$timeLimitSet && $migration instanceof Migrations\LongRunningMigrationInterface) {
// The current execution time is not unlimited, we are unable to reset the time limit, and the performed migration took long time
if ($performedMigrations < $totalMigrations) {
throw new Migrations\MigrationIncompleteException($performedMigrations, $totalMigrations - $performedMigrations);
}
}
}
try {
$app->make('helper/file')->makeExecutable(DIR_BASE_CORE . '/bin/concrete5', 'all');
$app->make('helper/file')->makeExecutable(DIR_BASE_CORE . '/bin/concrete', 'all');
} catch (Exception $x) {
}
$config->save('concrete.version_installed', $config->get('concrete.version'));
$config->save('concrete.version_db_installed', $config->get('concrete.version_db'));
$textIndexes = $app->make('config')->get('database.text_indexes');
$app->make(Connection::class)->createTextIndexes($textIndexes);
}
* @throws \Concrete\Core\Updater\Migrations\MigrationIncompleteException throws a MigrationIncompleteException exception if there's still some migration pending
*/
public function handleAutomaticUpdates()
{
$update = false;
$config = $this['config'];
$installedDb = $config->get('concrete.version_db_installed');
$coreDb = $config->get('concrete.version_db');
if ($installedDb < $coreDb) {
$update = true;
} else {
$installedVersion = $config->get('concrete.version_installed');
$coreVersion = $config->get('concrete.version');
if (version_compare($installedVersion, $coreVersion, '<')) {
$update = true;
}
}
if ($update) {
$this->make(MutexInterface::class)->execute(Update::MUTEX_KEY, function () {
Update::updateToCurrentVersion();
});
}
}
/**
* Register package autoloaders. Has to come BEFORE session calls.
*/
public function setupPackageAutoloaders()
{
$pla = \Concrete\Core\Package\PackageList::get();
$pl = $pla->getPackages();
$cl = ClassLoader::getInstance();
/** @var \Package[] $pl */
foreach ($pl as $p) {
\Config::package($p);
if ($p->isPackageInstalled()) {
$pkg = $this->make('Concrete\Core\Package\PackageService')->getClass($p->getPackageHandle());
if (is_object($pkg) && (!$pkg instanceof \Concrete\Core\Package\BrokenPackage)) {
$cl->registerPackage($pkg);
$this->packages[] = $pkg;
if (is_resource($sem)) {
@sem_release($sem);
}
$filename = $this->getFilenameForMutexKey($key);
if (is_file($filename)) {
@unlink($filename);
}
}
}
/**
* {@inheritdoc}
*
* @see \Concrete\Core\System\Mutex\MutexInterface::execute()
*/
public function execute($key, callable $callback)
{
$this->acquire($key);
try {
$callback();
} finally {
$this->release($key);
}
}
}
*/
public function handleAutomaticUpdates()
{
$update = false;
$config = $this['config'];
$installedDb = $config->get('concrete.version_db_installed');
$coreDb = $config->get('concrete.version_db');
if ($installedDb < $coreDb) {
$update = true;
} else {
$installedVersion = $config->get('concrete.version_installed');
$coreVersion = $config->get('concrete.version');
if (version_compare($installedVersion, $coreVersion, '<')) {
$update = true;
}
}
if ($update) {
$this->make(MutexInterface::class)->execute(Update::MUTEX_KEY, function () {
Update::updateToCurrentVersion();
});
}
}
/**
* Register package autoloaders. Has to come BEFORE session calls.
*/
public function setupPackageAutoloaders()
{
$pla = \Concrete\Core\Package\PackageList::get();
$pl = $pla->getPackages();
$cl = ClassLoader::getInstance();
/** @var \Package[] $pl */
foreach ($pl as $p) {
\Config::package($p);
if ($p->isPackageInstalled()) {
$pkg = $this->make('Concrete\Core\Package\PackageService')->getClass($p->getPackageHandle());
if (is_object($pkg) && (!$pkg instanceof \Concrete\Core\Package\BrokenPackage)) {
$cl->registerPackage($pkg);
$this->packages[] = $pkg;
}
protected function loadBootstrap()
{
// Set app so that the bootstrap file can access it
$app = $this->app;
include DIR_APPLICATION . '/bootstrap/app.php';
}
/**
* Update automatically.
*
* @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 handleUpdates()
{
$config = $this->app->make('config');
if (!$config->get('concrete.maintenance_mode')) {
try {
$this->app->handleAutomaticUpdates();
} catch (MutexBusyException $x) {
if ($x->getMutexKey() !== Update::MUTEX_KEY) {
throw $x;
}
$config->set('concrete.maintenance_mode', true);
}
catch (MigrationIncompleteException $x) {
$request = Request::getInstance();
$requestUri = $request->getUri();
$rf = $this->app->make(ResponseFactoryInterface::class);
return $rf->redirect($requestUri, Response::HTTP_FOUND);
}
}
}
/**
* Fire HTTP events.
*
* @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 handlePermissionKeys()
{
/* @todo Replace this with a testable service */
Key::loadAll();
}
/**
* Try a list of steps. If a response is returned, halt progression and return the response;.
*
* @param string[] $steps
*
* @return Response|null
*/
protected function trySteps(array $steps)
{
foreach ($steps as $step) {
// Run each step and return if there's a result
if ($result = $this->$step()) {
return $result;
}
}
return null;
}
/**
* Get the config repository to use.
*
* @deprecated In a future major version this will be part of HTTP middleware
*
* @return Repository
*/
protected function getConfig()
{
if (!$this->config) {
$this->config = $this->getDefaultConfig();
}
/**
* Begin the runtime.
*/
public function run()
{
// Load in the /application/bootstrap/app.php file
$this->loadBootstrap();
$response = null;
// Check if we're installed
if ($this->app->isInstalled()) {
// Call each step in the line
// @todo Move these to individual middleware, this is basically a duplicated middleware pipeline
$response = $this->trySteps([
// Set the active language for the site, based either on the site locale, or the
// current user record. This can be changed later as well, during runtime.
// Start localization library.
'setSystemLocale',
// Set the system time zone (what should be the same as the database one)
'initializeSystemTimezone',
// Handle updating automatically
'handleUpdates',
// Set up packages first.
// We do this because we don't want the entity manager to be loaded and we
// want to give packages an opportunity to replace classes and load new classes
'setupPackages',
// Pre-load class aliases
// This is needed to avoid the problem of calling functions that accept a class alias as a parameter,
// but that alias isn't still auto-loaded. For example, that would result in the following error:
// Argument 1 passed to functionName() must be an instance of Area, instance of Concrete\Core\Area\Area given.
// Don't use this method: it will be removed in future concrete5 versions
'preloadClassAliases',
// Load site specific timezones. Has to come after packages because it
$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;
}
* Include all autoloaders.
* ----------------------------------------------------------------------------
*/
require __DIR__ . '/bootstrap/autoload.php';
/*
* ----------------------------------------------------------------------------
* Begin Concrete 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;
}
defined('DIR_CONFIG_SITE') or define('DIR_CONFIG_SITE', DIR_APPLICATION . '/config');
/*
* ----------------------------------------------------------------------------
* Now that we've had the opportunity to load our config file, we know if we
* have a DIRNAME_CORE_UPDATED constant, which lives in that file, and which
* points to another core. If we have this constant, we exit this file
* immeditely and proceed into the updated core.
* ----------------------------------------------------------------------------
*/
if (!defined('APP_UPDATED_PASSTHRU')) {
$update_file = DIR_CONFIG_SITE . '/update.php';
if (file_exists($update_file)) {
$updates = (array) include $update_file;
if (isset($updates['core'])) {
define('APP_UPDATED_PASSTHRU', true);
define('DIRNAME_APP_UPDATED', $updates['core']);
if (is_dir(DIR_BASE . '/' . DIRNAME_UPDATES . '/' . DIRNAME_APP_UPDATED)) {
require DIR_BASE . '/' . DIRNAME_UPDATES . '/' . DIRNAME_APP_UPDATED . '/' . DIRNAME_CORE . '/' . 'dispatcher.php';
} elseif (file_exists(DIRNAME_UPDATES . '/' . DIRNAME_APP_UPDATED . '/' . DIRNAME_CORE . '/' . 'dispatcher.php')) {
require DIRNAME_UPDATES . '/' . DIRNAME_APP_UPDATED . '/' . DIRNAME_CORE . '/' . 'dispatcher.php';
} else {
die(sprintf('Invalid "%s" defined. Please remove it from %s.', 'update.core', $update_file));
}
exit;
}
}
unset($update_file);
define('APP_UPDATED_PASSTHRU', false);
}
if (!defined('DIRNAME_APP_UPDATED') && isset($updates['core'])) {
define('DIRNAME_APP_UPDATED', $updates['core']);
}
/*
* ----------------------------------------------------------------------------
* ## If we're still here, we're proceeding through this concrete directory,
* and it's time to load the rest of our hard-coded configuration options –
"/var/www/vhosts/hypotheekinfopunt.nl/httpdocs/updates/concrete-cms-9.2.1_remote_updater/concrete/dispatcher.php"
<?php
if (!defined('PHP_VERSION_ID') || PHP_VERSION_ID < 70209) {
die("Concrete requires PHP 7.2.9 to run.\nYou are running PHP " . PHP_VERSION . "\n");
}
/*
* ----------------------------------------------------------------------------
* Set required constants, including directory names, attempt to include site configuration file with database
* information, attempt to determine if we ought to skip to an updated core, etc...
* ----------------------------------------------------------------------------
*/
require __DIR__ . '/bootstrap/configure.php';
/*
* ----------------------------------------------------------------------------
* Make sure you cannot call dispatcher.php directly.
* ----------------------------------------------------------------------------
*/
if (basename($_SERVER['PHP_SELF']) === DISPATCHER_FILENAME_CORE) {
die('Access Denied.');
}
/*
* ----------------------------------------------------------------------------
* Include all autoloaders.
* ----------------------------------------------------------------------------
*/
require __DIR__ . '/bootstrap/autoload.php';
/*
* ----------------------------------------------------------------------------
* Begin Concrete startup.
* ----------------------------------------------------------------------------
*/
$app = require __DIR__ . '/bootstrap/start.php';
/** @var \Concrete\Core\Application\Application $app */
/*
* ----------------------------------------------------------------------------
"/var/www/vhosts/hypotheekinfopunt.nl/httpdocs/concrete/bootstrap/configure.php"
<?php
function pre($data, $die = false)
{
echo '<pre>' . var_export($data, true) . '</pre>';
if ($die) {
die();
}
}
require 'concrete/dispatcher.php';
"/var/www/vhosts/hypotheekinfopunt.nl/httpdocs/concrete/dispatcher.php"
Key | Value |
Version | "9.2.1"
|
Installed Version | "9.1.3"
|
Database Version | "20230503095900"
|
Key | Value |
Version | "8.1.27"
|
Extensions | array:64 [ "Core" => "8.1.27" "date" => "8.1.27" "libxml" => "8.1.27" "openssl" => "8.1.27" "pcre" => "8.1.27" "zlib" => "8.1.27" "bz2" => "8.1.27" "calendar" => "8.1.27" "ctype" => "8.1.27" "hash" => "8.1.27" "filter" => "8.1.27" "ftp" => "8.1.27" "gettext" => "8.1.27" "gmp" => "8.1.27" "json" => "8.1.27" "iconv" => "8.1.27" "SPL" => "8.1.27" "Reflection" => "8.1.27" "session" => "8.1.27" "standard" => "8.1.27" "mbstring" => "8.1.27" "SimpleXML" => "8.1.27" "sockets" => "8.1.27" "tokenizer" => "8.1.27" "xml" => "8.1.27" "cgi-fcgi" => "8.1.27" "mysqlnd" => "mysqlnd 8.1.27" "bcmath" => "8.1.27" "curl" => "8.1.27" "dba" => "8.1.27" "dom" => "20031129" "enchant" => "8.1.27" "fileinfo" => "8.1.27" "gd" => "8.1.27" "i360" => "7.12.0" "imagick" => "3.7.0" "imap" => "8.1.27" "intl" => "8.1.27" "ldap" => "8.1.27" "exif" => "8.1.27" "mysqli" => "8.1.27" "odbc" => "8.1.27" "PDO" => "8.1.27" "pdo_mysql" => "8.1.27" "PDO_ODBC" => "8.1.27" "pdo_pgsql" => "8.1.27" "pdo_sqlite" => "8.1.27" "pgsql" => "8.1.27" "Phar" => "8.1.27" "posix" => "8.1.27" "pspell" => "8.1.27" "redis" => "6.0.2" "soap" => "8.1.27" "sodium" => "8.1.27" "sqlite3" => "8.1.27" "sysvmsg" => "8.1.27" "sysvsem" => "8.1.27" "sysvshm" => "8.1.27" "tidy" => "8.1.27" "xmlreader" => "8.1.27" "xmlwriter" => "8.1.27" "xsl" => "8.1.27" "zip" => "1.19.5" "Zend OPcache" => "8.1.27" ] |
Key | Value |
concrete | array:56 [ "version" => "9.2.1" "version_installed" => "9.1.3" "version_db" => "20230503095900" "installed" => true "locale" => "nl_NL" "charset" => "UTF-8" "charset_bom" => "" "maintenance_mode" => false "debug" => array:4 [ "display_errors" => true "detail" => "debug" "error_reporting" => null "hide_keys" => array:5 [ "_GET" => [] "_POST" => [] "_FILES" => [] "_SESSION" => [] "config" => array:9 [ 0 => "***********************" 1 => "***********************************" 2 => "******************************" 3 => "*********************************" 4 => "**************************************" 5 => "********************************************" 6 => "********************************************" 7 => "************************" 8 => "************" ] ] ] "proxy" => array:4 [ "host" => null "port" => null "user" => null "password" => "***" ] "upload" => array:4 [ "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;*.webp;*.ogg;*.ogv" "extensions_denylist" => "*.php;*.php2;*.php3;*.php4;*.php5;*.php7;*.php8;*.phtml;*.phar;*.htaccess;*.pl;*.phpsh;*.pht;*.shtml;*.cgi" "parallel" => 4 "chunking" => array:2 [ "enabled" => false "chunkSize" => null ] ] "export" => array:1 [ "csv" => array:2 [ "include_bom" => false "datetime_format" => "ATOM" ] ] "interface" => array:1 [ "panel" => array:1 [ "page_relations" => false ] ] "mail" => array:2 [ "method" => "smtp" "methods" => array:1 [ "smtp" => array:7 [ "server" => "smtp.office365.com" "port" => "587" "username" => "[email protected]" "password" => "****************" "encryption" => "TLS" "messages_per_connection" => null "helo_domain" => "localhost" ] ] ] "cache" => array:18 [ "enabled" => true "lifetime" => 21600 "overrides" => true "blocks" => true "assets" => true "theme_css" => true "pages" => "0" "doctrine_dev_mode" => false "full_page_lifetime" => "default" "full_page_lifetime_block" => false "full_page_lifetime_value" => null "full_contents_assets_hash" => false "directory" => "/var/www/vhosts/hypotheekinfopunt.nl/httpdocs/application/files/cache" "directory_relative" => null "page" => array:2 [ "directory" => "/var/www/vhosts/hypotheekinfopunt.nl/httpdocs/application/files/cache/pages" "adapter" => "file" ] "levels" => array:3 [ "overrides" => array:2 [ "drivers" => array:3 [ "core_ephemeral" => array:2 [ "class" => "\Stash\Driver\Ephemeral" "options" => [] ] "core_filesystem" => array:2 [ "class" => "Concrete\Core\Cache\Driver\FileSystemStashDriver" "options" => array:3 [ "path" => "/var/www/vhosts/hypotheekinfopunt.nl/httpdocs/application/files/cache/overrides" "dirPermissions" => 493 "filePermissions" => 420 ] ] "redis" => array:2 [ "class" => "Concrete\Core\Cache\Driver\RedisStashDriver" "options" => array:2 [ "prefix" => "concrete_overrides" "database" => 0 ] ] ] "preferred_driver" => "core_filesystem" ] "expensive" => array:2 [ "drivers" => array:3 [ "core_ephemeral" => array:2 [ "class" => "\Stash\Driver\Ephemeral" "options" => [] ] "core_filesystem" => array:2 [ "class" => "Concrete\Core\Cache\Driver\FileSystemStashDriver" "options" => array:3 [ "path" => "/var/www/vhosts/hypotheekinfopunt.nl/httpdocs/application/files/cache/expensive" "dirPermissions" => 493 "filePermissions" => 420 ] ] "redis" => array:2 [ "class" => "Concrete\Core\Cache\Driver\RedisStashDriver" "options" => array:2 [ "prefix" => "concrete_expensive" "database" => 0 ] ] ] "preferred_driver" => "core_filesystem" ] "object" => array:2 [ "drivers" => array:2 [ "core_ephemeral" => array:2 [ "class" => "\Stash\Driver\Ephemeral" "options" => [] ] "redis" => array:2 [ "class" => "Concrete\Core\Cache\Driver\RedisStashDriver" "options" => array:2 [ "prefix" => "concrete_object" "database" => 0 ] ] ] "preferred_driver" => "core_ephemeral" ] ] "clear" => array:1 [ "thumbnails" => true ] "last_cleared" => 1711704315 ] "design" => array:2 [ "enable_custom" => true "enable_layouts" => true ] "processes" => array:3 [ "logging" => array:2 [ "method" => "none" "file" => array:1 [ "directory" => "" ] ] "scheduler" => array:1 [ "enable" => false ] "delete_threshold" => 7 ] "messenger" => array:7 [ "default_bus" => "default" "buses" => array:1 [ "default" => array:2 [ "default_middleware" => true "middleware" => [] ] ] "routing" => array:1 [ "Concrete\Core\Foundation\Command\AsyncCommandInterface" => array:1 [ 0 => "async" ] ] "transports" => array:2 [ 0 => "Concrete\Core\Messenger\Transport\DefaultAsync\DefaultAsyncTransport" 1 => "Concrete\Core\Messenger\Transport\DefaultAsync\DefaultSyncTransport" ] "failure" => array:2 [ "default_receiver" => "failed" "transports" => array:1 [ 0 => "Concrete\Core\Messenger\Transport\DefaultFailed\DefaultFailedTransport" ] ] "consume" => array:1 [ "method" => "app" ] "polling_batch" => array:5 [ "default" => 10 "rescan_file" => 5 "delete_page" => 100 "delete_page_forever" => 100 "copy_page" => 10 ] ] "events" => array:1 [ "broadcast" => array:1 [ "driver" => "" ] ] "log" => array:6 [ "emails" => 0 "errors" => 0 "spam" => false "api" => 0 "enable_dashboard_report" => true "configuration" => array:3 [ "mode" => "simple" "simple" => array:3 [ "core_logging_level" => "DEBUG" "handler" => "database" "file" => array:1 [ "file" => null ] ] "advanced" => array:1 [ "configuration" => [] ] ] ] "jobs" => array:1 [ "enable_scheduling" => true ] "filesystem" => array:2 [ "temp_directory" => null "permissions" => array:2 [ "file" => 420 "directory" => 493 ] ] "email" => array:7 [ "enabled" => true "default" => array:2 [ "address" => "****************************" "name" => "Hypotheek Infopunt" ] "form_block" => array:1 [ "address" => "****************************" ] "forgot_password" => array:2 [ "address" => "****************************" "name" => "Hypotheek Infopunt" ] "register_notification" => array:2 [ "address" => "[email protected]" "name" => null ] "validate_registration" => array:2 [ "address" => "****************************" "name" => "Hypotheek Infopunt" ] "workflow_notification" => array:2 [ "address" => "****************************" "name" => "Hypotheek Infopunt" ] ] "form" => array:1 [ "store_form_submissions" => "auto" ] "marketplace" => array:6 [ "enabled" => true "request_timeout" => 30 "token" => null "site_token" => null "intelligent_search" => true "log_requests" => false ] "external" => array:2 [ "intelligent_search_help" => true "news" => true ] "misc" => array:23 [ "user_timezones" => false "package_backup_directory" => "/var/www/vhosts/hypotheekinfopunt.nl/httpdocs/application/files/trash" "display_package_delete_button" => true "enable_progressive_page_reindex" => true "mobile_theme_id" => 0 "sitemap_approve_immediately" => true "enable_translate_locale_en_us" => false "page_search_index_lifetime" => 259200 "enable_trash_can" => true "default_jpeg_image_compression" => 80 "default_png_image_compression" => 9 "default_thumbnail_format" => "auto" "inplace_image_operations_limit" => 4194304 "basic_thumbnailer_generation_strategy" => "now" "help_overlay" => true "require_version_comments" => false "enable_move_blocktypes_across_sets" => false "generator_tag_display_in_header" => true "login_redirect" => "CUSTOM" "access_entity_updated" => 1601288055 "latest_version" => "9.2.1" "do_page_reindex_check" => false "login_redirect_cid" => 584 ] "theme" => array:2 [ "compress_preprocessor_output" => true "generate_less_sourcemap" => false ] "updates" => array:6 [ "enable_auto_update_packages" => false "enable_permissions_protection" => true "check_threshold" => 172800 "services" => array:2 [ "get_available_updates" => "https://marketplace.concretecms.com/tools/update_core" "inspect_update" => "https://marketplace.concretecms.com/tools/inspect_update" ] "skip_core" => false "skip_packages" => [] ] "paths" => array:2 [ "trash" => "/!trash" "drafts" => "/!drafts" ] "icons" => array:5 [ "page_template" => array:2 [ "width" => 120 "height" => 90 ] "theme_thumbnail" => array:2 [ "width" => 120 "height" => 90 ] "file_manager_listing" => array:3 [ "handle" => "file_manager_listing" "width" => 120 "height" => 120 ] "file_manager_detail" => array:3 [ "handle" => "file_manager_detail" "width" => 500 "height" => 500 ] "user_avatar" => array:4 [ "width" => 120 "height" => 120 "default" => "/updates/concrete-cms-9.2.1_remote_updater/concrete/images/avatar_none.png" "resolution" => "2" ] ] "file_manager" => array:7 [ "images" => array:6 [ "use_exif_data_to_rotate_images" => false "manipulation_library" => "gd" "create_high_dpi_thumbnails" => true "preview_image_size" => "small" "preview_image_popover" => true "svg_sanitization" => array:3 [ "action" => "sanitize" "allowed_tags" => "" "allowed_attributes" => "" ] ] "items_per_page_options" => array:5 [ 0 => 10 1 => 25 2 => 50 3 => 100 4 => 250 ] "results" => 50 "restrict_max_width" => null "restrict_max_height" => null "dont_resize_mimetypes" => "image/gif" "enable_filename_asciify" => true ] "search_users" => array:1 [ "results" => 10 ] "sitemap_xml" => array:3 [ "file" => "sitemap.xml" "frequency" => "weekly" "priority" => 0.5 ] "accessibility" => array:3 [ "toolbar_titles" => false "toolbar_large_font" => false "toolbar_tooltips" => true ] "i18n" => array:3 [ "choose_language_login" => false "auto_install_package_languages" => true "community_translation" => array:5 [ "entry_point" => "https://translate.concretecms.org/api" "api_token" => "" "progress_limit" => 60 "cache_lifetime" => 3600 "package_url" => "https://translate.concretecms.org/translate/package" ] ] "urls" => array:11 [ "concrete" => "http://marketplace.concretecms.com" "concrete_secure" => "https://marketplace.concretecms.com" "concrete_community" => "https://community.concretecms.com" "background_feed" => "https://backgroundimages.concretecms.com/wallpaper" "privacy_policy" => "//www.concretecms.com/about/legal/privacy-policy" "background_feed_secure" => "https://backgroundimages.concrete5.org/wallpaper" "background_info" => "http://backgroundimages.concretecms.com/get_image_data.php" "videos" => "https://www.youtube.com/user/concrete5cms/videos" "activity_slots" => "https://marketing.concretecms.com/ccm/marketing/activity_slots" "help" => array:5 [ "developer" => "https://documentation.concretecms.org/developers" "user" => "https://documentation.concretecms.org/user-guide" "forum" => "https://forums.concretecms.org" "support" => "https://www.concretecms.com/support/hiring-help" "remote_search" => "https://documentation.concretecms.org/ccm/documentation/remote_search" ] "paths" => array:2 [ "site_page" => "/private/sites" "marketplace" => array:10 [ "projects" => "/profile/projects/" "connect" => "/marketplace/connect" "connect_success" => "/marketplace/connect/-/connected" "connect_validate" => "/marketplace/connect/-/validate" "connect_new_token" => "/marketplace/connect/-/generate_token" "checkout" => "/cart/-/add" "purchases" => "/marketplace/connect/-/get_available_licenses" "item_information" => "/marketplace/connect/-/get_item_information" "item_free_license" => "/marketplace/connect/-/enable_free_license" "remote_item_list" => "/marketplace/" ] ] ] "white_label" => array:4 [ "logo" => false "name" => false "background_image" => "feed" "background_url" => null ] "session" => array:9 [ "name" => "CONCRETE" "handler" => "file" "redis" => array:1 [ "database" => 1 ] "save_path" => null "max_lifetime" => 7200 "gc_probability" => 1 "gc_divisor" => 100 "cookie" => array:7 [ "cookie_path" => false "cookie_lifetime" => 0 "cookie_domain" => false "cookie_secure" => false "cookie_httponly" => true "cookie_raw" => false "cookie_samesite" => null ] "remember_me" => array:1 [ "lifetime" => 1209600 ] ] "user" => array:8 [ "registration" => array:10 [ "enabled" => false "type" => "disabled" "captcha" => true "email_registration" => false "display_username_field" => true "display_confirm_password_field" => true "validate_email" => false "validate_email_threshold" => 5184000 "approval" => false "notification" => false ] "edit_profile" => array:1 [ "display_username_field" => true ] "group" => array:1 [ "badge" => array:1 [ "default_point_value" => 50 ] ] "username" => array:3 [ "maximum" => 64 "minimum" => 3 "allowed_characters" => array:4 [ "boundary" => "A-Za-z0-9" "middle" => "A-Za-z0-9_\." "requirement_string" => "A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end)." "error_string" => "A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end)." ] ] "password" => array:14 [ "maximum" => 128 "minimum" => 5 "required_special_characters" => 0 "required_lower_case" => 0 "required_upper_case" => 0 "reuse" => 0 "max_age" => null "custom_regex" => [] "hash_algorithm" => "2y" "hash_options" => [] "hash_portable" => false "hash_cost_log2" => 12 "legacy_salt" => "" "reset_message" => array:2 [ "password_reset" => "" "password_expired" => "" ] ] "email" => array:2 [ "test_mx_record" => false "strict" => true ] "private_messages" => array:2 [ "throttle_max" => 20 "throttle_max_timespan" => 15 ] "deactivation" => array:4 [ "enable_login_threshold_deactivation" => false "login" => array:1 [ "threshold" => 120 ] "authentication_failure" => array:3 [ "enabled" => false "amount" => 5 "duration" => 300 ] "message" => "This user is inactive. Please contact us regarding this account." ] ] "spam" => array:2 [ "allowlist_group" => 0 "notify_email" => "[email protected]" ] "calendar" => array:2 [ "colors" => array:2 [ "text" => "#ffffff" "background" => "#3A87AD" ] "topic_attribute" => "event_categories" ] "security" => array:3 [ "session" => array:5 [ "invalidate_on_user_agent_mismatch" => false "invalidate_on_ip_mismatch" => false "ignored_ip_mismatches" => [] "enable_user_specific_ignored_ip_mismatches" => false "invalidate_inactive_users" => array:2 [ "enabled" => true "time" => 86400 ] ] "production" => array:2 [ "mode" => "production" "staging" => array:1 [ "show_notification_to_unregistered_users" => false ] ] "misc" => array:3 [ "content_security_policy" => false "strict_transport_security" => false "x_frame_options" => "SAMEORIGIN" ] ] "permissions" => array:2 [ "forward_to_login" => true "model" => "advanced" ] "seo" => array:14 [ "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" "enable_slug_asciify" => true "url_rewriting" => true "url_rewriting_all" => false "redirect_to_canonical_url" => 0 "canonical_url" => null "canonical_url_alternative" => null "trailing_slash" => false "title_format" => "%2$s :: %1$s" "title_segment_separator" => " :: " "page_path_separator" => "-" "group_name_separator" => " / " "segment_max_length" => 128 "paging_string" => "ccm_paging_p" ] "statistics" => array:1 [ "track_downloads" => true ] "limits" => array:4 [ "sitemap_pages" => 100 "page_search_index_batch" => 200 "job_queue_batch" => 10 "style_customizer" => array:2 [ "size_min" => -50 "size_max" => 200 ] ] "page" => array:1 [ "search" => array:1 [ "always_reindex" => false ] ] "editor" => array:1 [ "plugins" => array:1 [ "selected" => [] ] ] "composer" => array:1 [ "idle_timeout" => 1 ] "api" => array:2 [ "enabled" => false "grant_types" => array:4 [ "client_credentials" => true "authorization_code" => true "password_credentials" => false "refresh_token" => true ] ] "notification" => array:2 [ "server_sent_events" => false "mercure" => array:1 [ "jwt" => array:2 [ "publisher" => array:1 [ "expires_at" => "+30 minutes" ] "subscriber" => array:1 [ "expires_at" => "+30 minutes" ] ] ] ] "mutex" => array:2 [ "semaphore" => array:2 [ "priority" => 100 "class" => "Concrete\Core\System\Mutex\SemaphoreMutex" ] "file_lock" => array:2 [ "priority" => 50 "class" => "Concrete\Core\System\Mutex\FileLockMutex" ] ] "social" => array:1 [ "additional_services" => [] ] "version_db_installed" => "20220908074900" "maintenance" => array:1 [ "version_job_page_num" => 602 ] ] |
app | array:20 [ "debug" => false "namespace" => "Application" "aliases" => array:69 [ "Area" => "\Concrete\Core\Area\Area" "Asset" => "\Concrete\Core\Asset\Asset" "AssetList" => "\Concrete\Core\Asset\AssetList" "AttributeSet" => "\Concrete\Core\Attribute\Set" "AuthenticationType" => "\Concrete\Core\Authentication\AuthenticationType" "Block" => "\Concrete\Core\Block\Block" "BlockType" => "\Concrete\Core\Block\BlockType\BlockType" "BlockTypeList" => "\Concrete\Core\Block\BlockType\BlockTypeList" "BlockTypeSet" => "\Concrete\Core\Block\BlockType\Set" "Cache" => "\Concrete\Core\Cache\Cache" "Request" => "\Concrete\Core\Http\Request" "CacheLocal" => "\Concrete\Core\Cache\CacheLocal" "Collection" => "\Concrete\Core\Page\Collection\Collection" "CollectionAttributeKey" => "\Concrete\Core\Attribute\Key\CollectionKey" "CollectionVersion" => "\Concrete\Core\Page\Collection\Version\Version" "ConcreteAuthenticationTypeController" => "\Concrete\Authentication\Concrete\Controller" "Controller" => "\Concrete\Core\Controller\Controller" "Conversation" => "\Concrete\Core\Conversation\Conversation" "ConversationEditor" => "\Concrete\Core\Conversation\Editor\Editor" "ConversationFlagType" => "\Concrete\Core\Conversation\FlagType\FlagType" "ConversationMessage" => "\Concrete\Core\Conversation\Message\Message" "ConversationRatingType" => "\Concrete\Core\Conversation\Rating\Type" "Environment" => "\Concrete\Core\Foundation\Environment" "FacebookAuthenticationTypeController" => "\Concrete\Authentication\Facebook\Controller" "File" => "\Concrete\Core\File\File" "FileAttributeKey" => "\Concrete\Core\Attribute\Key\FileKey" "FileImporter" => "\Concrete\Core\File\Importer" "FileList" => "\Concrete\Core\File\FileList" "FilePermissions" => "\Concrete\Core\Legacy\FilePermissions" "FileSet" => "\Concrete\Core\File\Set\Set" "GlobalArea" => "\Concrete\Core\Area\GlobalArea" "Group" => "\Concrete\Core\User\Group\Group" "GroupList" => "\Concrete\Core\User\Group\GroupList" "GroupSet" => "\Concrete\Core\User\Group\GroupSet" "GroupSetList" => "\Concrete\Core\User\Group\GroupSetList" "GroupTree" => "\Concrete\Core\Tree\Type\Group" "GroupTreeNode" => "\Concrete\Core\Tree\Node\Type\Group" "Job" => "\Concrete\Core\Job\Job" "JobSet" => "\Concrete\Core\Job\Set" "Loader" => "\Concrete\Core\Legacy\Loader" "Localization" => "\Concrete\Core\Localization\Localization" "Marketplace" => "\Concrete\Core\Marketplace\Marketplace" "Package" => "\Concrete\Core\Package\Package" "Page" => "\Concrete\Core\Page\Page" "PageCache" => "\Concrete\Core\Cache\Page\PageCache" "PageController" => "\Concrete\Core\Page\Controller\PageController" "PageEditResponse" => "\Concrete\Core\Page\EditResponse" "PageList" => "\Concrete\Core\Page\PageList" "PageTemplate" => "\Concrete\Core\Page\Template" "PageTheme" => "\Concrete\Core\Page\Theme\Theme" "PageType" => "\Concrete\Core\Page\Type\Type" "PermissionAccess" => "\Concrete\Core\Permission\Access\Access" "PermissionKey" => "\Concrete\Core\Permission\Key\Key" "PermissionKeyCategory" => "\Concrete\Core\Permission\Category" "Permissions" => "\Concrete\Core\Permission\Checker" "Redirect" => "\Concrete\Core\Routing\Redirect" "RedirectResponse" => "\Concrete\Core\Routing\RedirectResponse" "Response" => "\Concrete\Core\Http\Response" "Router" => "\Concrete\Core\Routing\Router" "SinglePage" => "\Concrete\Core\Page\Single" "Stack" => "\Concrete\Core\Page\Stack\Stack" "StackList" => "\Concrete\Core\Page\Stack\StackList" "StartingPointPackage" => "\Concrete\Core\Package\StartingPointPackage" "TaskPermission" => "\Concrete\Core\Legacy\TaskPermission" "User" => "\Concrete\Core\User\User" "UserAttributeKey" => "\Concrete\Core\Attribute\Key\UserKey" "UserList" => "\Concrete\Core\User\UserList" "View" => "\Concrete\Core\View\View" "Workflow" => "\Concrete\Core\Workflow\Workflow" ] "providers" => array:61 [ "core_system" => "\Concrete\Core\System\SystemServiceProvider" "core_events" => "\Concrete\Core\Events\EventsServiceProvider" "core_logging" => "\Concrete\Core\Logging\LoggingServiceProvider" "core_router" => "Concrete\Core\Routing\RoutingServiceProvider" "core_database" => "\Concrete\Core\Database\DatabaseServiceProvider" "core_messenger" => "\Concrete\Core\Messenger\MessengerServiceProvider" "core_cache" => "\Concrete\Core\Cache\CacheServiceProvider" "core_file" => "\Concrete\Core\File\FileServiceProvider" "core_validation" => "\Concrete\Core\Validation\ValidationServiceProvider" "core_localization" => "\Concrete\Core\Localization\LocalizationServiceProvider" "core_exporter" => "\Concrete\Core\Export\ExportServiceProvider" "core_multilingual" => "\Concrete\Core\Multilingual\MultilingualServiceProvider" "core_feed" => "\Concrete\Core\Feed\FeedServiceProvider" "core_health" => "\Concrete\Core\Health\HealthServiceProvider" "core_html" => "\Concrete\Core\Html\HtmlServiceProvider" "core_editor" => "\Concrete\Core\Editor\EditorServiceProvider" "core_image_editor" => "\Concrete\Core\ImageEditor\ImageEditorServiceProvider" "core_mail" => "\Concrete\Core\Mail\MailServiceProvider" "core_application" => "\Concrete\Core\Application\ApplicationServiceProvider" "core_utility" => "\Concrete\Core\Utility\UtilityServiceProvider" "core_content_importer" => "\Concrete\Core\Backup\ContentImporter\ContentImporterServiceProvider" "core_manager_grid_framework" => "\Concrete\Core\Page\Theme\GridFramework\ManagerServiceProvider" "core_manager_pagination_view" => "\Concrete\Core\Search\Pagination\View\ManagerServiceProvider" "core_manager_page_type" => "\Concrete\Core\Page\Type\ManagerServiceProvider" "core_manager_layout_preset_provider" => "\Concrete\Core\Area\Layout\Preset\Provider\ManagerServiceProvider" "core_manager_search_fields" => "\Concrete\Core\Search\Field\ManagerServiceProvider" "core_permissions" => "\Concrete\Core\Permission\PermissionServiceProvider" "core_automation" => "\Concrete\Core\Command\Task\ServiceProvider" "core_announcement" => "\Concrete\Core\Announcement\AnnouncementServiceProvider" "core_form" => "\Concrete\Core\Form\FormServiceProvider" "core_session" => "\Concrete\Core\Session\SessionServiceProvider" "core_cookie" => "\Concrete\Core\Cookie\CookieServiceProvider" "core_http" => "\Concrete\Core\Http\HttpServiceProvider" "core_whoops" => "\Concrete\Core\Error\Provider\WhoopsServiceProvider" "core_element" => "\Concrete\Core\Filesystem\FilesystemServiceProvider" "core_notification" => "\Concrete\Core\Notification\NotificationServiceProvider" "core_mercure" => "\Concrete\Core\Notification\Events\MercureServiceProvider" "core_package" => "\Concrete\Core\Package\PackageServiceProvider" "core_url" => "\Concrete\Core\Url\UrlServiceProvider" "core_devices" => "\Concrete\Core\Device\DeviceServiceProvider" "core_user" => "\Concrete\Core\User\UserServiceProvider" "core_service_manager" => "\Concrete\Core\Service\Manager\ServiceManagerServiceProvider" "core_site" => "\Concrete\Core\Site\ServiceProvider" "core_search" => "Concrete\Core\Search\SearchServiceProvider" "core_geolocator" => "Concrete\Core\Geolocator\GeolocatorServiceProvider" "core_calendar" => "Concrete\Core\Calendar\CalendarServiceProvider" "core_summary" => "\Concrete\Core\Summary\ServiceProvider" "core_boards" => "\Concrete\Core\Board\ServiceProvider" "core_page" => "Concrete\Core\Page\PageServiceProvider" "core_oauth" => "\Concrete\Core\Authentication\Type\OAuth\ServiceProvider" "core_auth_community" => "\Concrete\Core\Authentication\Type\Community\ServiceProvider" "core_auth_google" => "\Concrete\Core\Authentication\Type\Google\ServiceProvider" "core_auth_external_concrete" => "\Concrete\Core\Authentication\Type\ExternalConcrete\ServiceProvider" "core_validator" => "\Concrete\Core\Validator\ValidatorServiceProvider" "core_validator_password" => "\Concrete\Core\Validator\PasswordValidatorServiceProvider" "core_validator_user_name" => "\Concrete\Core\Validator\UserNameValidatorServiceProvider" "core_validator_user_email" => "\Concrete\Core\Validator\UserEmailValidatorServiceProvider" "core_attribute" => "\Concrete\Core\Attribute\AttributeServiceProvider" "core_express" => "\Concrete\Core\Express\ExpressServiceProvider" "core_usagetracker" => "\Concrete\Core\Statistics\UsageTracker\ServiceProvider" "core_api" => "Concrete\Core\Api\ApiServiceProvider" ] "facades" => array:15 [ "Core" => "\Concrete\Core\Support\Facade\Application" "Session" => "\Concrete\Core\Support\Facade\Session" "Cookie" => "\Concrete\Core\Support\Facade\Cookie" "Database" => "\Concrete\Core\Support\Facade\Database" "ORM" => "\Concrete\Core\Support\Facade\DatabaseORM" "Events" => "\Concrete\Core\Support\Facade\Events" "Express" => "\Concrete\Core\Support\Facade\Express" "Route" => "\Concrete\Core\Support\Facade\Route" "Site" => "\Concrete\Core\Support\Facade\Site" "UserInfo" => "\Concrete\Core\Support\Facade\UserInfo" "Element" => "\Concrete\Core\Support\Facade\Element" "Log" => "\Concrete\Core\Support\Facade\Log" "Image" => "\Concrete\Core\Support\Facade\Image" "Config" => "\Concrete\Core\Support\Facade\Config" "URL" => "\Concrete\Core\Support\Facade\Url" ] "entity_namespaces" => array:1 [ "calendar" => "Concrete\Core\Entity\Calendar" ] "package_items" => array:39 [ 0 => "antispam_library" 1 => "attribute_key_category" 2 => "attribute_key" 3 => "attribute_set" 4 => "attribute_type" 5 => "authentication_type" 6 => "block_type" 7 => "block_type_set" 8 => "tree_type" 9 => "tree_node_type" 10 => "express_entity" 11 => "captcha_library" 12 => "container" 13 => "content_editor_snippet" 14 => "conversation_rating_type" 15 => "geolocator_library" 16 => "group" 17 => "group_set" 18 => "ip_access_control_category" 19 => "job" 20 => "mail_importer" 21 => "permission_access_entity_type" 22 => "permission_key" 23 => "permission_key_category" 24 => "page_template" 25 => "site_type" 26 => "page_type" 27 => "page_type_composer_control_type" 28 => "page_type_publish_target_type" 29 => "single_page" 30 => "storage_location_type" 31 => "theme" 32 => "workflow" 33 => "workflow_progress_category" 34 => "workflow_type" 35 => "external_file_provider_type" 36 => "image_editor" 37 => "task" 38 => "task_set" ] "importer_routines" => array:62 [ 0 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSiteTypesRoutine" 1 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportGroupsRoutine" 2 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportTreeTypesRoutine" 3 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportTreeNodeTypesRoutine" 4 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSinglePageStructureRoutine" 5 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportStacksStructureRoutine" 6 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBlockTypesRoutine" 7 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBlockTypeSetsRoutine" 8 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportConversationEditorsRoutine" 9 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportConversationRatingTypesRoutine" 10 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportConversationFlagTypesRoutine" 11 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypePublishTargetTypesRoutine" 12 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypeComposerControlTypesRoutine" 13 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBannedWordsRoutine" 14 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSocialLinksRoutine" 15 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportDesignTagsRoutine" 16 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportTreesRoutine" 17 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportFileImportantThumbnailTypesRoutine" 18 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBoardDataSourcesRoutine" 19 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBoardTemplatesRoutine" 20 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBoardSlotTemplatesRoutine" 21 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportAttributeCategoriesRoutine" 22 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportAttributeTypesRoutine" 23 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportWorkflowTypesRoutine" 24 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportWorkflowProgressCategoriesRoutine" 25 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportWorkflowsRoutine" 26 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportExpressEntitiesRoutine" 27 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportAttributesRoutine" 28 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportAttributeSetsRoutine" 29 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportExpressAssociationsRoutine" 30 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportExpressFormsRoutine" 31 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportExpressRelationsRoutine" 32 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportThemesRoutine" 33 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPermissionKeyCategoriesRoutine" 34 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPermissionAccessEntityTypesRoutine" 35 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPermissionsRoutine" 36 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportTasksRoutine" 37 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportTaskSetsRoutine" 38 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportJobsRoutine" 39 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportJobSetsRoutine" 40 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTemplatesRoutine" 41 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportContainersRoutine" 42 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSummaryCategoriesRoutine" 43 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSummaryFieldsRoutine" 44 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSummaryTemplatesRoutine" 45 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypesBaseRoutine" 46 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageStructureRoutine" 47 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportBoardsRoutine" 48 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageFeedsRoutine" 49 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypeTargetsRoutine" 50 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageTypeDefaultsRoutine" 51 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSiteTypeSkeletonsRoutine" 52 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSinglePageContentRoutine" 53 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportStacksContentRoutine" 54 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPageContentRoutine" 55 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportPackagesRoutine" 56 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportConfigValuesRoutine" 57 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSystemCaptchaLibrariesRoutine" 58 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportSystemContentEditorSnippetsRoutine" 59 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportGeolocatorsRoutine" 60 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\ImportIpAccessControlCategoriesRoutine" 61 => "Concrete\Core\Backup\ContentImporter\Importer\Routine\PopulateBoardInstancesRoutine" ] "routes" => [] "theme_paths" => array:9 [ "/dashboard" => "dashboard" "/dashboard/*" => "dashboard" "/frontend/install" => "concrete" "/login" => "hip" "/oauth/authorize" => "concrete" "/register" => "concrete" "/frontend/maintenance_mode" => "concrete" "/upgrade" => "concrete" "/page_not_found" => "hip" ] "file_types" => array:39 [ "JPEG" => array:5 [ 0 => "jpg,jpeg,jpe" 1 => 1 2 => "image" 3 => "image" 4 => "image" ] "GIF" => array:5 [ 0 => "gif" 1 => 1 2 => "image" 3 => "image" 4 => "image" ] "PNG" => array:5 [ 0 => "png" 1 => 1 2 => "image" 3 => "image" 4 => "image" ] "WebP" => array:5 [ 0 => "webp" 1 => 1 2 => "image" 3 => "image" 4 => "image" ] "Windows Bitmap" => array:3 [ 0 => "bmp" 1 => 1 2 => "image" ] "TIFF" => array:3 [ 0 => "tif,tiff" 1 => 1 2 => "image" ] "HTML" => array:2 [ 0 => "htm,html" 1 => 5 ] "Flash" => array:3 [ 0 => "swf" 1 => 1 2 => "image" ] "Icon" => array:2 [ 0 => "ico" 1 => 1 ] "SVG" => array:4 [ 0 => "svg" 1 => 1 2 => false 3 => "image" ] "Windows Video" => array:4 [ 0 => "asf,wmv" 1 => 2 2 => false 3 => "video" ] "Quicktime" => array:4 [ 0 => "mov,qt" 1 => 2 2 => false 3 => "video" ] "AVI" => array:4 [ 0 => "avi" 1 => 2 2 => false 3 => "video" ] "3GP" => array:4 [ 0 => "3gp" 1 => 2 2 => false 3 => "video" ] "Plain Text" => array:4 [ 0 => "txt" 1 => 3 2 => false 3 => "text" ] "CSV" => array:4 [ 0 => "csv" 1 => 3 2 => false 3 => "text" ] "XML" => array:2 [ 0 => "xml" 1 => 3 ] "PHP" => array:2 [ 0 => "php" 1 => 3 ] "MS Word" => array:2 [ 0 => "doc,docx" 1 => 5 ] "Stylesheet" => array:2 [ 0 => "css" 1 => 3 ] "MP4" => array:4 [ 0 => "mp4" 1 => 2 2 => false 3 => "video" ] "FLV" => array:3 [ 0 => "flv" 1 => 2 2 => "flv" ] "MP3" => array:4 [ 0 => "mp3" 1 => 4 2 => false 3 => "audio" ] "MP4 Audio" => array:4 [ 0 => "m4a" 1 => 4 2 => false 3 => "audio" ] "Realaudio" => array:2 [ 0 => "ra,ram" 1 => 4 ] "Windows Audio" => array:2 [ 0 => "wma" 1 => 4 ] "Rich Text" => array:2 [ 0 => "rtf" 1 => 5 ] "JavaScript" => array:2 [ 0 => "js" 1 => 3 ] "PDF" => array:2 [ 0 => "pdf" 1 => 5 ] "Photoshop" => array:2 [ 0 => "psd" 1 => 1 ] "MPEG" => array:2 [ 0 => "mpeg,mpg" 1 => 2 ] "MS Excel" => array:2 [ 0 => "xla,xls,xlsx,xlt,xlw" 1 => 5 ] "MS Powerpoint" => array:2 [ 0 => "pps,ppt,pptx,pot" 1 => 5 ] "TAR Archive" => array:2 [ 0 => "tar" 1 => 6 ] "Zip Archive" => array:2 [ 0 => "zip" 1 => 6 ] "GZip Archive" => array:2 [ 0 => "gz,gzip" 1 => 6 ] "OGG" => array:4 [ 0 => "ogg" 1 => 4 2 => false 3 => "audio" ] "OGG Video" => array:4 [ 0 => "ogv" 1 => 2 2 => false 3 => "video" ] "WebM" => array:4 [ 0 => "webm" 1 => 2 2 => false 3 => "video" ] ] "importer_attributes" => array:3 [ "width" => array:3 [ 0 => "Width" 1 => "NUMBER" 2 => false ] "height" => array:3 [ 0 => "Height" 1 => "NUMBER" 2 => false ] "duration" => array:3 [ 0 => "Duration" 1 => "NUMBER" 2 => false ] ] "import_processors" => array:7 [ "ccm.file.exists" => "Concrete\Core\File\Import\Processor\FileExistingValidator" "ccm.file.extension" => "Concrete\Core\File\Import\Processor\FileExtensionValidator" "ccm.image.autorotate" => "Concrete\Core\File\Import\Processor\ImageAutorotator" "ccm.image.svg" => "Concrete\Core\File\Import\Processor\SvgProcessor" "ccm.image.resize" => "Concrete\Core\File\Import\Processor\ImageSizeConstrain" "ccm.image.thumbnails" => "Concrete\Core\File\Import\Processor\ThumbnailGenerator" "ccm.image.exif_data" => "Concrete\Core\File\Import\Processor\ExifDataExtractor" ] "assets" => array:36 [ "jquery" => array:1 [ 0 => array:3 [ 0 => "javascript" 1 => "js/jquery.js" 2 => array:3 [ "position" => "H" "minify" => false "combine" => false ] ] ] "vue" => array:1 [ 0 => array:3 [ 0 => "javascript" 1 => "js/vue.js" 2 => array:2 [ "minify" => false "combine" => false ] ] ] "bootstrap" => array:1 [ 0 => array:3 [ 0 => "javascript" 1 => "js/bootstrap.js" 2 => array:4 [ "position" => "F" "minify" => false "combine" => false "version" => "5.0.0" ] ] ] "moment" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/moment.js" 2 => array:2 [ "minify" => false "combine" => false ] ] 1 => array:2 [ 0 => "javascript-localized" 1 => "/ccm/assets/localization/moment/js" ] ] "ckeditor" => array:1 [ 0 => array:3 [ 0 => "javascript" 1 => "js/ckeditor/ckeditor.js" 2 => array:2 [ "minify" => false "combine" => false ] ] ] "ckeditor/concrete" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/ckeditor/concrete.js" 2 => array:2 [ "minify" => false "combine" => false ] ] 1 => array:2 [ 0 => "css" 1 => "css/ckeditor/concrete.css" ] ] "fullcalendar" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/fullcalendar.js" 2 => array:2 [ "minify" => false "combine" => false ] ] 1 => array:2 [ 0 => "css" 1 => "css/fullcalendar.css" ] ] "font-awesome" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/fontawesome/all.css" 2 => array:2 [ "minify" => false "combine" => false ] ] ] "google-charts" => array:1 [ 0 => array:3 [ 0 => "javascript" 1 => "https://www.gstatic.com/charts/loader.js" 2 => array:1 [ "local" => false ] ] ] "core/cms" => array:3 [ 0 => array:3 [ 0 => "javascript" 1 => "js/cms.js" 2 => array:2 [ "minify" => false "combine" => false ] ] 1 => array:2 [ 0 => "javascript-localized" 1 => "/ccm/assets/localization/core/js" ] 2 => array:3 [ 0 => "css" 1 => "css/cms.css" 2 => array:2 [ "minify" => false "combine" => false ] ] ] "feature/accordions/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/accordions/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/accordions/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/account/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/account/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/account/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/profile/frontend" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/features/profile/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/desktop/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/desktop/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/desktop/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/boards/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/boards/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/boards/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/calendar/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/calendar/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/calendar/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/conversations/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/conversations/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/conversations/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "ace" => array:1 [ 0 => array:3 [ 0 => "javascript" 1 => "js/ace/ace.js" 2 => array:2 [ "minify" => false "combine" => false ] ] ] "feature/documents/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/documents/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/documents/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/testimonials/frontend" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/features/testimonials/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/faq/frontend" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/features/faq/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/forms/frontend" => array:1 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/forms/frontend.js" 2 => array:1 [ "minify" => false ] ] ] "feature/basics/frontend" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/features/basics/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/navigation/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/navigation/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/navigation/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/imagery/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/imagery/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/imagery/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/express/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/express/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/express/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/search/frontend" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/features/search/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/social/frontend" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/features/social/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/video/frontend" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/features/video/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/taxonomy/frontend" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/features/taxonomy/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/maps/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/maps/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/maps/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/multilingual/frontend" => array:2 [ 0 => array:3 [ 0 => "javascript" 1 => "js/features/multilingual/frontend.js" 2 => array:1 [ "minify" => false ] ] 1 => array:3 [ 0 => "css" 1 => "css/features/multilingual/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "feature/staging/frontend" => array:1 [ 0 => array:3 [ 0 => "css" 1 => "css/features/staging/frontend.css" 2 => array:1 [ "minify" => false ] ] ] "tui-image-editor" => array:2 [ 0 => array:2 [ 0 => "css" 1 => "css/tui-image-editor.css" ] 1 => array:3 [ 0 => "javascript" 1 => "js/tui-image-editor.js" 2 => array:2 [ "minify" => false "combine" => false ] ] ] "core/translator" => array:3 [ 0 => array:3 [ 0 => "javascript" 1 => "js/translator.js" 2 => array:1 [ "minify" => false ] ] 1 => array:2 [ 0 => "javascript-localized" 1 => "/ccm/assets/localization/translator/js" ] 2 => array:3 [ 0 => "css" 1 => "css/translator.css" 2 => array:1 [ "minify" => false ] ] ] "htmldiff" => array:1 [ 0 => array:2 [ 0 => "css" 1 => "css/htmldiff.css" ] ] ] "asset_groups" => array:34 [ "jquery" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "javascript" 1 => "jquery" ] ] ] "bootstrap" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "javascript" 1 => "bootstrap" ] ] ] "moment" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "moment" ] 1 => array:2 [ 0 => "javascript-localized" 1 => "moment" ] ] ] "vue" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "javascript" 1 => "vue" ] ] ] "font-awesome" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "font-awesome" ] ] ] "ckeditor" => array:1 [ 0 => array:3 [ 0 => array:2 [ 0 => "javascript" 1 => "ckeditor" ] 1 => array:2 [ 0 => "javascript" 1 => "ckeditor/concrete" ] 2 => array:2 [ 0 => "css" 1 => "ckeditor/concrete" ] ] ] "ace" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "javascript" 1 => "ace" ] ] ] "core/cms" => array:1 [ 0 => array:8 [ 0 => array:2 [ 0 => "javascript" 1 => "jquery" ] 1 => array:2 [ 0 => "javascript" 1 => "bootstrap" ] 2 => array:2 [ 0 => "javascript" 1 => "moment" ] 3 => array:2 [ 0 => "javascript" 1 => "vue" ] 4 => array:2 [ 0 => "css" 1 => "font-awesome" ] 5 => array:2 [ 0 => "javascript" 1 => "core/cms" ] 6 => array:2 [ 0 => "javascript-localized" 1 => "core/cms" ] 7 => array:2 [ 0 => "css" 1 => "core/cms" ] ] ] "fullcalendar" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "fullcalendar" ] 1 => array:2 [ 0 => "css" 1 => "fullcalendar" ] ] ] "tui-image-editor" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "css" 1 => "tui-image-editor" ] 1 => array:2 [ 0 => "javascript" 1 => "tui-image-editor" ] ] ] "core/translator" => array:1 [ 0 => array:3 [ 0 => array:2 [ 0 => "css" 1 => "core/translator" ] 1 => array:2 [ 0 => "javascript" 1 => "core/translator" ] 2 => array:2 [ 0 => "javascript-localized" 1 => "core/translator" ] ] ] "feature/accordions/frontend" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/accordions/frontend" ] 1 => array:2 [ 0 => "css" 1 => "feature/accordions/frontend" ] ] ] "feature/account/frontend" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/account/frontend" ] 1 => array:2 [ 0 => "css" 1 => "feature/account/frontend" ] ] ] "feature/profile/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "feature/profile/frontend" ] ] ] "feature/desktop/frontend" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/desktop/frontend" ] 1 => array:2 [ 0 => "css" 1 => "feature/desktop/frontend" ] ] ] "feature/calendar/frontend" => array:1 [ 0 => array:3 [ 0 => array:2 [ 0 => "javascript" 1 => "moment" ] 1 => array:2 [ 0 => "javascript" 1 => "feature/calendar/frontend" ] 2 => array:2 [ 0 => "css" 1 => "feature/calendar/frontend" ] ] ] "feature/conversations/frontend" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/conversations/frontend" ] 1 => array:2 [ 0 => "css" 1 => "feature/conversations/frontend" ] ] ] "feature/documents/frontend" => array:1 [ 0 => array:3 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/documents/frontend" ] 1 => array:2 [ 0 => "javascript-localized" 1 => "core/cms" ] 2 => array:2 [ 0 => "css" 1 => "feature/documents/frontend" ] ] ] "feature/faq/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "feature/faq/frontend" ] ] ] "feature/forms/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/forms/frontend" ] ] ] "feature/imagery/frontend" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/imagery/frontend" ] 1 => array:2 [ 0 => "css" 1 => "feature/imagery/frontend" ] ] ] "feature/navigation/frontend" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/navigation/frontend" ] 1 => array:2 [ 0 => "css" 1 => "feature/navigation/frontend" ] ] ] "feature/video/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "feature/video/frontend" ] ] ] "feature/social/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "feature/social/frontend" ] ] ] "feature/express/frontend" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/express/frontend" ] 1 => array:2 [ 0 => "css" 1 => "feature/express/frontend" ] ] ] "feature/maps/frontend" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/maps/frontend" ] 1 => array:2 [ 0 => "css" 1 => "feature/maps/frontend" ] ] ] "feature/multilingual/frontend" => array:1 [ 0 => array:2 [ 0 => array:2 [ 0 => "javascript" 1 => "feature/multilingual/frontend" ] 1 => array:2 [ 0 => "css" 1 => "feature/multilingual/frontend" ] ] ] "feature/search/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "feature/search/frontend" ] ] ] "feature/staging/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "feature/staging/frontend" ] ] ] "feature/taxonomy/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "feature/taxonomy/frontend" ] ] ] "feature/testimonials/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "feature/testimonials/frontend" ] ] ] "feature/basics/frontend" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "feature/basics/frontend" ] ] ] "core/conversation" => array:2 [ 0 => [] 1 => true ] "htmldiff" => array:1 [ 0 => array:1 [ 0 => array:2 [ 0 => "css" 1 => "htmldiff" ] ] ] ] "http_client" => array:21 [ "sslverifypeer" => true "sslverifypeername" => false "sslcafile" => null "sslcapath" => null "connecttimeout" => 5 "timeout" => 60 "keepalive" => false "maxredirects" => 5 "rfc3986strict" => false "sslcert" => null "sslpassphrase" => null "storeresponse" => true "streamtmpdir" => null "strictredirects" => false "useragent" => "Concrete CMS" "encodecookies" => true "httpversion" => "1.1" "ssltransport" => "tls" "sslallowselfsigned" => false "persistent" => false "logger" => null ] "middleware" => array:5 [ 0 => array:2 [ "priority" => 1 "class" => "Concrete\Core\Http\Middleware\ApplicationMiddleware" ] "core_cookie" => "Concrete\Core\Http\Middleware\CookieMiddleware" "core_csp" => "Concrete\Core\Http\Middleware\ContentSecurityPolicyMiddleware" "core_hsts" => "Concrete\Core\Http\Middleware\StrictTransportSecurityMiddleware" "core_xframeoptions" => "Concrete\Core\Http\Middleware\FrameOptionsMiddleware" ] "command_handlers" => [] "server_timezone" => "Europe/Amsterdam" "api_keys" => array:1 [ "google" => array:1 [ "maps" => "" ] ] ] |
Key | Value |
USER | "*****"
|
HOME | "************************************"
|
SCRIPT_NAME | "**********"
|
REQUEST_URI | "****************************************"
|
QUERY_STRING | "" |
REQUEST_METHOD | "***"
|
SERVER_PROTOCOL | "********"
|
GATEWAY_INTERFACE | "*******"
|
REDIRECT_URL | "****************************************"
|
REMOTE_PORT | "*****"
|
SCRIPT_FILENAME | "*******************************************************"
|
SERVER_ADMIN | "******************"
|
CONTEXT_DOCUMENT_ROOT | "*********************************************"
|
CONTEXT_PREFIX | "" |
REQUEST_SCHEME | "*****"
|
DOCUMENT_ROOT | "*********************************************"
|
REMOTE_ADDR | "*************"
|
SERVER_PORT | "***"
|
SERVER_ADDR | "**************"
|
SERVER_NAME | "************************"
|
SERVER_SOFTWARE | "******"
|
SERVER_SIGNATURE | "**********************************************************************"
|
PATH | "************************************************************"
|
HTTP_CF_CONNECTING_IP | "*************"
|
HTTP_USER_AGENT | "*********"
|
HTTP_ACCEPT | "***"
|
HTTP_CF_VISITOR | "******************"
|
HTTP_X_FORWARDED_PROTO | "*****"
|
HTTP_CF_RAY | "********************"
|
HTTP_ACCEPT_ENCODING | "********"
|
HTTP_CF_IPCOUNTRY | "**"
|
HTTP_CDN_LOOP | "**********"
|
HTTP_X_REMOTE_IP | "**************"
|
HTTP_CONNECTION | "*****"
|
HTTP_X_ACCEL_INTERNAL | "*******************************"
|
HTTP_X_FORWARDED_FOR | "*****************************"
|
HTTP_X_REAL_IP | "*************"
|
HTTP_HOST | "************************"
|
proxy-nokeepalive | "*"
|
HTTPS | "**"
|
UNIQUE_ID | "***************************"
|
REDIRECT_STATUS | "***"
|
REDIRECT_HTTPS | "**"
|
REDIRECT_UNIQUE_ID | "***************************"
|
FCGI_ROLE | "*********"
|
PHP_SELF | "**********"
|
REQUEST_TIME_FLOAT | "***"
|
REQUEST_TIME | "***"
|