public function storeData($key, $data, $expiration) { $path = $this->makePath($key); // MAX_PATH is 260 - http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx if (strlen($path) > 259 && stripos(PHP_OS, 'WIN') === 0) { throw new WindowsPathMaxLengthException(); } if (!file_exists($path)) { $dirname = dirname($path); if (!is_dir($dirname)) { if (!@mkdir($dirname, $this->dirPermissions, true)) { if (!is_dir($dirname)) { return false; } } } if (!(touch($path) && chmod($path, $this->filePermissions))) { return false; } } $storeString = $this->getEncoder()->serialize($this->makeKeyString($key), $data, $expiration); $result = file_put_contents($path, $storeString, LOCK_EX); // If opcache is switched on, it will try to cache the PHP data file // The new php opcode caching system only revalidates against the source files once every few seconds, // so some changes will not be caught. // This fix immediately invalidates that opcode cache after a file is written, // so that future includes are not using the stale opcode cached file. if (function_exists('opcache_invalidate')) { $invalidate = true; if ($restrictedDirectory = ini_get('opcache.restrict_api')) { if (strpos(__FILE__, $restrictedDirectory) !== 0) { $invalidate = false; } }
public function storeData($key, $data, $expiration) { $path = $this->makePath($key); // MAX_PATH is 260 - http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx if (strlen($path) > 259 && stripos(PHP_OS, 'WIN') === 0) { throw new WindowsPathMaxLengthException(); } if (!file_exists($path)) { $dirname = dirname($path); if (!is_dir($dirname)) { if (!@mkdir($dirname, $this->dirPermissions, true)) { if (!is_dir($dirname)) { return false; } } } if (!(touch($path) && chmod($path, $this->filePermissions))) { return false; } } $storeString = $this->getEncoder()->serialize($this->makeKeyString($key), $data, $expiration); $result = file_put_contents($path, $storeString, LOCK_EX); // If opcache is switched on, it will try to cache the PHP data file // The new php opcode caching system only revalidates against the source files once every few seconds, // so some changes will not be caught. // This fix immediately invalidates that opcode cache after a file is written, // so that future includes are not using the stale opcode cached file. if (function_exists('opcache_invalidate')) { $invalidate = true; if ($restrictedDirectory = ini_get('opcache.restrict_api')) { if (strpos(__FILE__, $restrictedDirectory) !== 0) { $invalidate = false; } }
$cacheTime = $expiration - $store['createdOn']; } else { $cacheTime = self::$cacheTime; } $expiration = $store['createdOn'] + $cacheTime; if ($cacheTime > 0) { $expirationDiff = rand(0, floor($cacheTime * .15)); $expiration -= $expirationDiff; } if ($this->stampedeRunning === true) { $spkey = $this->key; $spkey[0] = 'sp'; // change "cache" data namespace to stampede namespace $this->driver->clear($spkey); $this->stampedeRunning = false; } return $this->driver->storeData($this->key, $store, $expiration); } /** * {@inheritdoc} */ public function extend($ttl = null) { if ($this->isDisabled()) { return false; } return $this->set($this->get(), $ttl); } /** * {@inheritdoc} */ public function isDisabled() { return self::$runtimeDisable
} else { $date->sub($dateInterval); } $this->expiration = $date; } elseif ($time instanceof \DateInterval) { $date->add($time); $this->expiration = $date; } else { } return $this; } /** * {@inheritdoc} */ public function save() { try { return $this->executeSet($this->data, $this->expiration); } catch (Exception $e) { $this->logException('Setting value in cache caused exception.', $e); $this->disable(); return false; } } private function executeSet($data, $time) { if ($this->isDisabled() || !isset($this->key)) { return false; } $store = array(); $store['return'] = $data; $store['createdOn'] = time(); if (isset($time) && (($time instanceof \DateTime) || ($time instanceof \DateTimeInterface))) { $expiration = $time->getTimestamp();
$items[$item->getKey()] = $item; } return new \ArrayIterator($items); } /** * {@inheritdoc} */ public function hasItem($key) { return $this->getItem($key)->isHit(); } /** * {@inheritdoc} */ public function save(CacheItemInterface $item) { return $item->save(); } /** * {@inheritdoc} */ public function saveDeferred(CacheItemInterface $item) { return $this->save($item); } /** * {@inheritdoc} */ public function commit() { return true; } /**
public function flush() { return $this->pool->clear(); } /** * Gets a value from the cache. * * @param string $key Name of the cache item ID * * @return \Stash\Interfaces\ItemInterface */ public function getItem($key) { return $this->pool->getItem($key); } public function save(CacheItemInterface $item) { $this->pool->save($item); } /** * Enables the cache. */ public function enable() { if ($this->driver !== null) { $this->pool->setDriver($this->driver); } $this->enabled = true; } /** * Disables the cache. */ public function disable() { // save the current driver if not yet black hole so it can be restored on enable() if (!($this->pool->getDriver() instanceof BlackHole)) {
return false; } return $this->getC5Cache()->exists('doctrine/' . $id); } /** * {@inheritdoc} */ protected function doSave($id, $data, $lifeTime = 0) { $cache = $this->getC5Cache(); if (!$cache->isEnabled()) { return false; } if ($lifeTime === 0) { $lifeTime = null; } return $cache->save($cache->getItem('doctrine/' . $id)->set($data, $lifeTime)); } /** * {@inheritdoc} */ protected function doDelete($id) { if (!$this->getC5Cache()->isEnabled()) { return false; } return $this->getC5Cache()->delete('doctrine/' . $id); } /** * {@inheritdoc} */ protected function doFlush() { if (!$this->getC5Cache()->isEnabled()) {
$namespacedKeysAndValues[$this->getNamespacedId($key)] = $value; } return $this->doSaveMultiple($namespacedKeysAndValues, $lifetime); } /** * {@inheritdoc} */ public function contains($id) { return $this->doContains($this->getNamespacedId($id)); } /** * {@inheritdoc} */ public function save($id, $data, $lifeTime = 0) { return $this->doSave($this->getNamespacedId($id), $data, $lifeTime); } /** * {@inheritdoc} */ public function delete($id) { return $this->doDelete($this->getNamespacedId($id)); } /** * {@inheritdoc} */ public function getStats() { return $this->doGetStats(); } /** * {@inheritDoc}
if (!$this->debug || $this->isCacheFresh($cacheKey, $class)) { return $data; } } return false; } /** * Saves a value to the cache. * * @param string $rawCacheKey The cache key. * @param mixed $value The value. * * @return void */ private function saveToCache($rawCacheKey, $value) { $cacheKey = $rawCacheKey . self::$CACHE_SALT; $this->cache->save($cacheKey, $value); if ($this->debug) { $this->cache->save('[C]'.$cacheKey, time()); } } /** * Checks if the cache is fresh. * * @param string $cacheKey * @param \ReflectionClass $class * * @return boolean */ private function isCacheFresh($cacheKey, \ReflectionClass $class) { if (false === $filename = $class->getFilename()) { return true; } return $this->cache->fetch('[C]'.$cacheKey) >= filemtime($filename);
} return null; } /** * {@inheritDoc} */ public function getPropertyAnnotations(\ReflectionProperty $property) { $class = $property->getDeclaringClass(); $cacheKey = $class->getName().'$'.$property->getName(); if (isset($this->loadedAnnotations[$cacheKey])) { return $this->loadedAnnotations[$cacheKey]; } if (false === ($annots = $this->fetchFromCache($cacheKey, $class))) { $annots = $this->delegate->getPropertyAnnotations($property); $this->saveToCache($cacheKey, $annots); } return $this->loadedAnnotations[$cacheKey] = $annots; } /** * {@inheritDoc} */ public function getPropertyAnnotation(\ReflectionProperty $property, $annotationName) { foreach ($this->getPropertyAnnotations($property) as $annot) { if ($annot instanceof $annotationName) { return $annot; } } return null; } /**
$cacheKey = $class->getName().'$'.$property->getName(); if (isset($this->loadedAnnotations[$cacheKey])) { return $this->loadedAnnotations[$cacheKey]; } if (false === ($annots = $this->fetchFromCache($cacheKey, $class))) { $annots = $this->delegate->getPropertyAnnotations($property); $this->saveToCache($cacheKey, $annots); } return $this->loadedAnnotations[$cacheKey] = $annots; } /** * {@inheritDoc} */ public function getPropertyAnnotation(\ReflectionProperty $property, $annotationName) { foreach ($this->getPropertyAnnotations($property) as $annot) { if ($annot instanceof $annotationName) { return $annot; } } return null; } /** * {@inheritDoc} */ public function getMethodAnnotations(\ReflectionMethod $method) { $class = $method->getDeclaringClass(); $cacheKey = $class->getName().'#'.$method->getName(); if (isset($this->loadedAnnotations[$cacheKey])) { return $this->loadedAnnotations[$cacheKey]; }
// Evaluate annotations on properties/fields /* @var $property \ReflectionProperty */ foreach ($class->getProperties() as $property) { if ($metadata->isMappedSuperclass && ! $property->isPrivate() || $metadata->isInheritedField($property->name) || $metadata->isInheritedAssociation($property->name) || $metadata->isInheritedEmbeddedClass($property->name)) { continue; } $mapping = array(); $mapping['fieldName'] = $property->getName(); // Check for JoinColumn/JoinColumns annotations $joinColumns = array(); if ($joinColumnAnnot = $this->reader->getPropertyAnnotation($property, 'Doctrine\ORM\Mapping\JoinColumn')) { $joinColumns[] = $this->joinColumnToArray($joinColumnAnnot); } else if ($joinColumnsAnnot = $this->reader->getPropertyAnnotation($property, 'Doctrine\ORM\Mapping\JoinColumns')) { foreach ($joinColumnsAnnot->value as $joinColumn) { $joinColumns[] = $this->joinColumnToArray($joinColumn); } } // Field can only be annotated with one of: // @Column, @OneToOne, @OneToMany, @ManyToOne, @ManyToMany if ($columnAnnot = $this->reader->getPropertyAnnotation($property, 'Doctrine\ORM\Mapping\Column')) { if ($columnAnnot->type == null) { throw MappingException::propertyTypeIsRequired($className, $property->getName()); } $mapping = $this->columnToArray($property->getName(), $columnAnnot); if ($idAnnot = $this->reader->getPropertyAnnotation($property, 'Doctrine\ORM\Mapping\Id')) { $mapping['id'] = true; }
/** * Gets the array of nested drivers. * * @return array $drivers */ public function getDrivers() { return $this->drivers; } /** * {@inheritDoc} */ public function loadMetadataForClass($className, ClassMetadata $metadata) { /* @var $driver MappingDriver */ foreach ($this->drivers as $namespace => $driver) { if (strpos($className, $namespace) === 0) { $driver->loadMetadataForClass($className, $metadata); return; } } if (null !== $this->defaultDriver) { $this->defaultDriver->loadMetadataForClass($className, $metadata); return; } throw MappingException::classNotFoundInNamespaces($className, array_keys($this->drivers)); } /** * {@inheritDoc} */ public function getAllClassNames() { $classNames = []; $driverClasses = [];
$this->addInheritedEmbeddedClasses($class, $parent); $class->setIdentifier($parent->identifier); $class->setVersioned($parent->isVersioned); $class->setVersionField($parent->versionField); $class->setDiscriminatorMap($parent->discriminatorMap); $class->setLifecycleCallbacks($parent->lifecycleCallbacks); $class->setChangeTrackingPolicy($parent->changeTrackingPolicy); if ( ! empty($parent->customGeneratorDefinition)) { $class->setCustomGeneratorDefinition($parent->customGeneratorDefinition); } if ($parent->isMappedSuperclass) { $class->setCustomRepositoryClass($parent->customRepositoryClassName); } } // Invoke driver try { $this->driver->loadMetadataForClass($class->getName(), $class); } catch (ReflectionException $e) { throw MappingException::reflectionFailure($class->getName(), $e); } // If this class has a parent the id generator strategy is inherited. // However this is only true if the hierarchy of parents contains the root entity, // if it consists of mapped superclasses these don't necessarily include the id field. if ($parent && $rootEntityFound) { if ($parent->isIdGeneratorSequence()) { $class->setSequenceGeneratorDefinition($parent->sequenceGeneratorDefinition); } else if ($parent->isIdGeneratorTable()) { $class->tableGeneratorDefinition = $parent->tableGeneratorDefinition; } if ($parent->generatorType) { $class->setIdGeneratorType($parent->generatorType); } if ($parent->idGenerator) { $class->setIdGenerator($parent->idGenerator);
// Move down the hierarchy of parent classes, starting from the topmost class $parent = null; $rootEntityFound = false; $visited = []; $reflService = $this->getReflectionService(); foreach ($parentClasses as $className) { if (isset($this->loadedMetadata[$className])) { $parent = $this->loadedMetadata[$className]; if ($this->isEntity($parent)) { $rootEntityFound = true; array_unshift($visited, $className); } continue; } $class = $this->newClassMetadataInstance($className); $this->initializeReflection($class, $reflService); $this->doLoadMetadata($class, $parent, $rootEntityFound, $visited); $this->loadedMetadata[$className] = $class; $parent = $class; if ($this->isEntity($class)) { $rootEntityFound = true; array_unshift($visited, $className); } $this->wakeupReflection($class, $reflService); $loaded[] = $className; } return $loaded; } /** * Provides a fallback hook for loading metadata when loading failed due to reflection/mapping exceptions
* @var \Doctrine\Common\Persistence\Mapping\Driver\MappingDriver */ private $driver; /** * @var \Doctrine\Common\EventManager */ private $evm; /** * @var array */ private $embeddablesActiveNesting = array(); /** * {@inheritDoc} */ protected function loadMetadata($name) { $loaded = parent::loadMetadata($name); array_map([$this, 'resolveDiscriminatorValue'], array_map([$this, 'getMetadataFor'], $loaded)); return $loaded; } /** * @param EntityManagerInterface $em */ public function setEntityManager(EntityManagerInterface $em) { $this->em = $em; } /** * {@inheritDoc} */ protected function initialize() { $this->driver = $this->em->getConfiguration()->getMetadataDriverImpl();
$realClassName = $this->getFqcnFromAlias($namespaceAlias, $simpleClassName); } else { $realClassName = ClassUtils::getRealClass($className); } if (isset($this->loadedMetadata[$realClassName])) { // We do not have the alias name in the map, include it return $this->loadedMetadata[$className] = $this->loadedMetadata[$realClassName]; } $loadingException = null; try { if ($this->cacheDriver) { if (($cached = $this->cacheDriver->fetch($realClassName . $this->cacheSalt)) instanceof ClassMetadata) { $this->loadedMetadata[$realClassName] = $cached; $this->wakeupReflection($cached, $this->getReflectionService()); } else { foreach ($this->loadMetadata($realClassName) as $loadedClassName) { $this->cacheDriver->save( $loadedClassName . $this->cacheSalt, $this->loadedMetadata[$loadedClassName], null ); } } } else { $this->loadMetadata($realClassName); } } catch (MappingException $loadingException) { if (! $fallbackMetadataResponse = $this->onNotFoundMetadata($realClassName)) { throw $loadingException; } $this->loadedMetadata[$realClassName] = $fallbackMetadataResponse; } if ($className !== $realClassName) { // We do not have the alias name in the map, include it
* Finds an Entity by its identifier. * * @param string $entityName The class name of the entity to find. * @param mixed $id The identity of the entity to find. * @param integer|null $lockMode One of the \Doctrine\DBAL\LockMode::* constants * or NULL if no specific lock mode should be used * during the search. * @param integer|null $lockVersion The version of the entity to find when using * optimistic locking. * * @return object|null The entity instance or NULL if the entity can not be found. * * @throws OptimisticLockException * @throws ORMInvalidArgumentException * @throws TransactionRequiredException * @throws ORMException */ public function find($entityName, $id, $lockMode = null, $lockVersion = null) { $class = $this->metadataFactory->getMetadataFor(ltrim($entityName, '\\')); if ( ! is_array($id)) { if ($class->isIdentifierComposite) { throw ORMInvalidArgumentException::invalidCompositeIdentifier(); } $id = array($class->identifier[0] => $id); } foreach ($id as $i => $value) { if (is_object($value) && $this->metadataFactory->hasMetadataFor(ClassUtils::getClass($value))) { $id[$i] = $this->unitOfWork->getSingleIdentifierValue($value); if ($id[$i] === null) { throw ORMInvalidArgumentException::invalidIdentifierBindingEntity(); } } } $sortedId = array();
$em = \ORM::entityManager(); $site = is_object($site) ? $site : \Core::make('site')->getSite(); return $em->getRepository('\Concrete\Core\Entity\Sharing\SocialNetwork\Link')->findBy(array('site' => $site), array('ssHandle' => 'asc')); } public static function exportList($node) { $child = $node->addChild('sociallinks'); $list = static::getList(); foreach ($list as $link) { $linkNode = $child->addChild('link'); $linkNode->addAttribute('service', $link->getServiceObject()->getHandle()); $linkNode->addAttribute('url', $link->getURL()); } } public static function getByID($id) { $em = \ORM::entityManager(); $r = $em->find('\Concrete\Core\Entity\Sharing\SocialNetwork\Link', $id); return $r; } public static function getByServiceHandle($ssHandle, Site $site = null) { $em = \ORM::entityManager(); $site = is_object($site) ? $site : \Core::make('site')->getSite(); return $em->getRepository('\Concrete\Core\Entity\Sharing\SocialNetwork\Link')->findOneBy( array('ssHandle' => $ssHandle, 'site' => $site) ); } }
} $this->set('links', $final); $this->set('selectedLinks', $selected); } public function add() { $links = Link::getList(); $this->set('links', $links); } protected function getSelectedLinks() { $links = []; $db = Database::get(); $slIDs = $db->GetCol('select slID from btSocialLinks where bID = ? order by displayOrder asc', [$this->bID] ); foreach ($slIDs as $slID) { $link = Link::getByID($slID); if (is_object($link)) { $links[] = $link; } } return $links; } public function export(\SimpleXMLElement $blockNode) { foreach ($this->getSelectedLinks() as $link) { $linkNode = $blockNode->addChild('link'); $linkNode->addAttribute('service', $link->getServiceObject()->getHandle()); } } public function getImportData($blockNode, $page) { $args = []; foreach ($blockNode->link as $link) {
$statement = $db->prepare('insert into btSocialLinks (bID, slID, displayOrder) values (?, ?, ?)'); $displayOrder = 0; foreach ($slIDs as $linkID) { $statement->bindValue(1, $this->bID); $statement->bindValue(2, $linkID); $statement->bindValue(3, $displayOrder); $statement->execute(); ++$displayOrder; } } public function delete() { $db = Database::get(); $db->delete('btSocialLinks', ['bID' => $this->bID]); } public function view() { $links = $this->getSelectedLinks(); $this->set('links', $links); } public function registerViewAssets($outputContent = '') { $this->requireAsset('css', 'font-awesome'); } }
public function runTask($action, $parameters) { $this->runAction($action, $parameters); } /** * Perform an action of this controller (if shouldRunControllerTask returns true). * * @param string $action the action to be performed * @param array $parameters the action parameters * * @return mixed in case the action is executed, you'll receive the result of the action, or NULL otherwise */ public function runAction($action, $parameters = []) { $this->action = $action; $this->parameters = $parameters; if (is_callable([$this, $action])) { if ($this->shouldRunControllerTask()) { return call_user_func_array([$this, $action], $parameters); } } } /** * Get the whole $_REQUEST array or a specific requested value. * * @param string|null $key set to null to get the whole $_REQUEST array, or a string to get a specific value in $_GET or in $_POST * * @return mixed */ public function request($key = null) { return Request::request($key); } }
public function runTask($action, $parameters) { $this->runAction($action, $parameters); } /** * Perform an action of this controller (if shouldRunControllerTask returns true). * * @param string $action the action to be performed * @param array $parameters the action parameters * * @return mixed in case the action is executed, you'll receive the result of the action, or NULL otherwise */ public function runAction($action, $parameters = []) { $this->action = $action; $this->parameters = $parameters; if (is_callable([$this, $action])) { if ($this->shouldRunControllerTask()) { return call_user_func_array([$this, $action], $parameters); } } } /** * Get the whole $_REQUEST array or a specific requested value. * * @param string|null $key set to null to get the whole $_REQUEST array, or a string to get a specific value in $_GET or in $_POST * * @return mixed */ public function request($key = null) { return Request::request($key); } }
$method = $this->viewToRender; } else { $method = 'view'; } $passthru = false; if ($method == 'view' && is_object($this->block)) { $c = Page::getCurrentPage(); if (is_object($c)) { $cnt = $c->getController(); $controller = $cnt->getPassThruBlockController($this->block); if (is_object($controller)) { $passthru = true; $this->controller = $controller; } } } $parameters = []; if (!$passthru) { $this->controller->runAction($method, $parameters); } $this->controller->on_before_render(); } } /** * Legacy. */ public function getThemePath() { $v = View::getInstance(); return $v->getThemePath(); } /** * Fire an event just before the block is outputted on the page. * * Custom code can modify the block contents before * the block contents are 'echoed' out on the page.
} } /** * @deprecated in views, use $controller->getActionURL() using the same arguments * * @return \Concrete\Core\Url\UrlImmutable|null */ public function action($task) { return call_user_func_array([$this->controller, 'getActionURL'], func_get_args()); } public function startRender() { } public function setupRender() { $this->runControllerTask(); $view = $this->viewToRender; $env = Environment::get(); if ($this->viewToRender == 'scrapbook') { $scrapbookTemplate = $this->getBlockPath( FILENAME_BLOCK_VIEW_SCRAPBOOK ) . '/' . FILENAME_BLOCK_VIEW_SCRAPBOOK; if (file_exists($scrapbookTemplate)) { $view = 'scrapbook'; } else { $view = 'view'; } } $customFilenameToRender = null; if (!in_array($this->viewToRender, ['view', 'add', 'edit', 'scrapbook'])) { // then we're trying to render a custom view file, which we'll pass to the bottom functions as $_filename $customFilenameToRender = $view . '.php'; $view = 'view'; }
{ if (is_object($this->controller)) { $sets = $this->controller->getSets(); $helpers = $this->controller->getHelperObjects(); $return = array_merge($this->scopeItems, $sets, $helpers); } else { $return = $this->scopeItems; } $return['view'] = $this; $return['controller'] = $this->controller; return $return; } public function render($state = false) { if ($this instanceof View) { $this->setRequestInstance($this); } $this->start($state); $this->setupRender(); $this->startRender(); $scopeItems = $this->getScopeItems(); $contents = $this->renderViewContents($scopeItems); $contents = $this->postProcessViewContents($contents); $response = $this->finishRender($contents); if ($this instanceof View) { $this->revertRequestInstance(); } return $response; } public function renderViewContents($scopeItems) { if (file_exists($this->template)) { extract($scopeItems); ob_start(); $this->onBeforeGetContents(); include $this->template; $this->onAfterGetContents();
$loc = Localization::getInstance(); // now, we iterate through these block groups (which are actually arrays of block objects), and display them on the page $loc->pushActiveContext(Localization::CONTEXT_UI); if ($this->showControls && $c->isEditMode() && $ap->canViewAreaControls()) { View::element('block_area_header', array('a' => $this)); } else { View::element('block_area_header_view', array('a' => $this)); } $loc->popActiveContext(); foreach ($blocksToDisplay as $b) { $bv = new BlockView($b); $bv->setAreaObject($this); $p = new Permissions($b); if ($p->canViewBlock()) { if (!$c->isEditMode()) { echo $this->enclosingStart; } $bv->render('view'); if (!$c->isEditMode()) { echo $this->enclosingEnd; } } } $loc->pushActiveContext(Localization::CONTEXT_UI); if ($this->showControls && $c->isEditMode() && $ap->canViewAreaControls()) { View::element('block_area_footer', array('a' => $this)); } else { View::element('block_area_footer_view', array('a' => $this)); } $loc->popActiveContext(); } /** * Exports the area to content format. * * @param \SimpleXMLElement $p * @param Page $page
if (is_object($stack)) { $blocksTmp = $stack->getBlocks(STACKS_AREA_NAME); $globalArea = self::get($stack, STACKS_AREA_NAME); } $blocks = []; foreach ($blocksTmp as $ab) { $ab->setBlockAreaObject($globalArea); $ab->setBlockActionCollectionID($stack->getCollectionID()); $blocks[] = $ab; } unset($blocksTmp); return $blocks; } public function display($c = false, $fake = null) { parent::display($c, null); } /** * Note that this function does not delete the global area's stack. * You probably want to call the "delete" method of the Stack model instead. * * @param string $arHandle */ public static function deleteByName($arHandle) { $db = Loader::db(); $db->Execute('select cID from Areas where arHandle = ? and arIsGlobal = 1', [$arHandle]); $db->Execute('delete from Areas where arHandle = ? and arIsGlobal = 1', [$arHandle]); } /** * Searches for global areas without any blocks in it and deletes them. * This will have a positive impact on the performance as every global area is rendered for every page. */ public static function deleteEmptyAreas()
$footerSocialBlocks = $footerSocial->getTotalBlocksInArea(); $displayFirstSection = $footerSiteTitleBlocks > 0 || $footerSocialBlocks > 0 || $c->isEditMode(); ?> <footer id="footer-theme"> <?php if ($displayFirstSection) { ?> <section> <div class="container"> <div class="row"> <div class="col-sm-9"> <?php $a = new GlobalArea('Footer Site Title'); $a->display(); ?> </div> <div class="col-sm-3"> <?php $a = new GlobalArea('Footer Social'); $a->display(); ?> </div> </div> </div> </section> <?php } ?> <section> <div class="container"> <div class="row"> <div class="col-sm-6"> <?php $a = new GlobalArea('Footer Legal'); $a->display(); ?> </div> <div class="col-sm-3"> <?php $a = new GlobalArea('Footer Navigation'); $a->display(); ?>
$path = $env->getPath(DIRNAME_THEMES.'/'.$this->themeHandle.'/'.$file, $this->themePkgHandle); if (!file_exists($path)) { $path2 = $env->getPath(DIRNAME_THEMES.'/'.$this->themeHandle.'/'.$file, $this->viewPkgHandle); if (file_exists($path2)) { $path = $path2; } unset($path2); } $__data__['path'] = $path; unset($file); unset($args); unset($env); unset($path); if (!empty($__data__['scopedItems'])) { if (array_key_exists('__data__', $__data__['scopedItems'])) { throw new \Exception(t(/*i18n: %1$s is a variable name, %2$s is a function name*/'Illegal variable name \'%1$s\' in %2$s args.', '__data__', __CLASS__.'::'.__METHOD__)); } extract($__data__['scopedItems']); } include $__data__['path']; } /** * A shortcut to posting back to the current page with a task and optional parameters. Only works in the context of. * * @param string $action * @param string $task * * @return string $url */ public function action($action) { $a = func_get_args(); $controllerPath = $this->controller->getControllerActionPath(); array_unshift($a, $controllerPath); $ret = call_user_func_array([$this, 'url'], $a); return $ret; }
<div class="col-sm-offset-1 col-sm-3 col-sidebar"> <?php $a = new Area('Sidebar'); $a->display($c); $a = new Area('Sidebar Footer'); $a->display($c); ?> </div> </div> </div> <?php $a = new Area('Page Footer'); $a->enableGridContainer(); $a->display($c); ?> </main> <?php $this->inc('elements/footer.php'); ?>
ob_end_clean(); return $innerContent; } /** * Render the file set to $this->template * @param $scopeItems * @return string */ protected function renderTemplate($scopeItems, $innerContent) { // Extract the items into the current scope extract($scopeItems); ob_start(); // Fire a `before` event $this->onBeforeGetContents(); include $this->template; // Fire an `after` event $this->onAfterGetContents(); $contents = ob_get_contents(); ob_end_clean(); return $contents; } public function finishRender($contents) { $event = new \Symfony\Component\EventDispatcher\GenericEvent(); $event->setArgument('view', $this); Events::dispatch('on_render_complete', $event); return $contents; } /** * Function responsible for outputting header items.
protected function onBeforeGetContents() { $event = new \Symfony\Component\EventDispatcher\GenericEvent(); $event->setArgument('view', $this); Events::dispatch('on_before_render', $event); $this->themeObject->registerAssets(); } public function renderViewContents($scopeItems) { $contents = ''; // Render the main view file if ($this->innerContentFile) { $contents = $this->renderInnerContents($scopeItems); } // Render the template around it if (file_exists($this->template)) { $contents = $this->renderTemplate($scopeItems, $contents); } return $contents; } /** * Render the file set to $this->innerContentFile * @param $scopeItems * @return string */ protected function renderInnerContents($scopeItems) { // Extract the items into the current scope extract($scopeItems); ob_start(); include $this->innerContentFile; $innerContent = ob_get_contents(); ob_end_clean();
$helpers = $this->controller->getHelperObjects(); $return = array_merge($this->scopeItems, $sets, $helpers); } else { $return = $this->scopeItems; } $return['view'] = $this; $return['controller'] = $this->controller; return $return; } public function render($state = false) { if ($this instanceof View) { $this->setRequestInstance($this); } $this->start($state); $this->setupRender(); $this->startRender(); $scopeItems = $this->getScopeItems(); $contents = $this->renderViewContents($scopeItems); $contents = $this->postProcessViewContents($contents); $response = $this->finishRender($contents); if ($this instanceof View) { $this->revertRequestInstance(); } return $response; } public function renderViewContents($scopeItems) { if (file_exists($this->template)) { extract($scopeItems); ob_start(); $this->onBeforeGetContents(); include $this->template; $this->onAfterGetContents(); $contents = ob_get_contents(); ob_end_clean();
$cnt = $this->app->make(PageForbidden::class); $this->controller($cnt, $code, $headers); } /** * {@inheritdoc} */ public function redirect($to, $code = Response::HTTP_MOVED_PERMANENTLY, $headers = []) { return RedirectResponse::create($to, $code, $headers); } /** * {@inheritdoc} */ public function view(View $view, $code = Response::HTTP_OK, $headers = []) { $this->localization->pushActiveContext(Localization::CONTEXT_SITE); try { $contents = $view->render(); return $this->create($contents, $code, $headers); } finally { $this->localization->popActiveContext(); } } /** * {@inheritdoc} */ public function controller(Controller $controller, $code = Response::HTTP_OK, $headers = []) { $this->localization->pushActiveContext(Localization::CONTEXT_SITE); try { $request = $this->request; if ($response = $controller->on_start()) { return $response; }
if ($response = $controller->runAction('view')) { return $response; } } $view = $controller->getViewObject(); // Mobile theme if ($this->config->get('concrete.misc.mobile_theme_id') > 0) { $md = $this->app->make(MobileDetect::class); if ($md->isMobile()) { $mobileTheme = Theme::getByID($this->app->config->get('concrete.misc.mobile_theme_id')); if ($mobileTheme instanceof Theme) { $view->setViewTheme($mobileTheme); $controller->setTheme($mobileTheme); } } } 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; }
require DIR_BASE_CORE . '/bootstrap/process.php'; $u = $this->app->make(User::class); // On page view event. $pe = new Event($collection); $pe->setUser($u); $pe->setRequest($request); $this->app['director']->dispatch('on_page_view', $pe); // Core menu items $item = new RelationListItem(); $menu = $this->app->make('helper/concrete/ui/menu'); $menu->addMenuItem($item); $controller = $collection->getPageController(); // we update the current page with the one bound to this controller. $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) {
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;
/** * @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; } } }
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 \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); } } }
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; } }
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; } }
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 \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; } }
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; } }
* 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); } }
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; } }
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; }
*/ 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); } }
// Register legacy config values 'registerLegacyConfigValues', // Handle loading permission keys 'handlePermissionKeys', // Handle eventing 'handleEventing', ]); } else { $this->initializeSystemTimezone(); $this->preloadClassAliases(); } // 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 {
$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 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; }
<?php require('concrete/dispatcher.php');
Key | Value |
Version | 8.5.2 |
Installed Version | 8.5.2 |
Key | Value |
concrete.version | 8.5.2 |
concrete.version_installed | 8.5.2 |
concrete.version_db | 20190925072210 |
concrete.installed | true |
concrete.locale | de_DE |
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 | PHP_MAIL |
concrete.mail.methods.smtp.server | |
concrete.mail.methods.smtp.port | |
concrete.mail.methods.smtp.username | |
concrete.mail.methods.smtp.password | |
concrete.mail.methods.smtp.encryption | |
concrete.mail.methods.smtp.messages_per_connection | null |
concrete.cache.enabled | true |
concrete.cache.lifetime | 21600 |
concrete.cache.overrides | false |
concrete.cache.blocks | false |
concrete.cache.assets | false |
concrete.cache.theme_css | false |
concrete.cache.pages | 0 |
concrete.cache.doctrine_dev_mode | false |
concrete.cache.full_page_lifetime | custom |
concrete.cache.full_page_lifetime_value | 10 |
concrete.cache.full_contents_assets_hash | false |
concrete.cache.directory | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de/application/files/cache |
concrete.cache.directory_relative | null |
concrete.cache.page.directory | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de/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 | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de/application/files/cache/overrides |
concrete.cache.levels.overrides.drivers.core_filesystem.options.dirPermissions | 453 |
concrete.cache.levels.overrides.drivers.core_filesystem.options.filePermissions | 388 |
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 | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de/application/files/cache/expensive |
concrete.cache.levels.expensive.drivers.core_filesystem.options.dirPermissions | 453 |
concrete.cache.levels.expensive.drivers.core_filesystem.options.filePermissions | 388 |
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 | false |
concrete.design.enable_custom | true |
concrete.design.enable_layouts | true |
concrete.log.emails | true |
concrete.log.errors | true |
concrete.log.spam | false |
concrete.log.enable_dashboard_report | true |
concrete.log.configuration.mode | simple |
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 | 388 |
concrete.filesystem.permissions.directory | 453 |
concrete.email.enabled | true |
concrete.email.default.address | concrete5-noreply@concrete5 |
concrete.email.default.name | |
concrete.email.form_block.address | false |
concrete.email.forgot_password.address | null |
concrete.email.forgot_password.name | null |
concrete.email.validate_registration.address | null |
concrete.email.validate_registration.name | null |
concrete.email.workflow_notification.address | null |
concrete.email.workflow_notification.name | null |
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 | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de/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.access_entity_updated | 1590825155 |
concrete.misc.latest_version | 8.5.6 |
concrete.misc.do_page_reindex_check | false |
concrete.misc.login_redirect | DESKTOP |
concrete.theme.compress_preprocessor_output | false |
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.enabled | true |
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.file_manager.restrict_uploaded_image_sizes | null |
concrete.file_manager.restrict_max_width | 1920 |
concrete.file_manager.restrict_max_height | 1080 |
concrete.file_manager.restrict_resize_quality | 85 |
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 | false |
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 | |
concrete.calendar.colors.text | #ffffff |
concrete.calendar.colors.background | #3A87AD |
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.ban.ip.enabled | true |
concrete.security.ban.ip.attempts | 5 |
concrete.security.ban.ip.time | 300 |
concrete.security.ban.ip.length | 10 |
concrete.security.misc.x_frame_options | SAMEORIGIN |
concrete.permissions.forward_to_login | true |
concrete.permissions.model | simple |
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 | 1 |
concrete.seo.url_rewriting_all | false |
concrete.seo.redirect_to_canonical_url | 0 |
concrete.seo.canonical_url | |
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.seo.canonical_ssl_url | |
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.editor.plugins.selected.0 | undoredo |
concrete.editor.plugins.selected.1 | underline |
concrete.editor.plugins.selected.2 | concrete5lightbox |
concrete.editor.plugins.selected.3 | specialcharacters |
concrete.editor.plugins.selected.4 | table |
concrete.editor.plugins.selected.5 | fontfamily |
concrete.editor.plugins.selected.6 | fontsize |
concrete.editor.plugins.selected.7 | fontcolor |
concrete.editor.concrete.enable_filemanager | 1 |
concrete.editor.concrete.enable_sitemap | 1 |
concrete.composer.idle_timeout | 1 |
concrete.api.enabled | false |
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.site | valiebt.de |
concrete.version_db_installed | 20190925072210 |
concrete.maintenance.version_job_page_num | 210 |
Key | Value |
REDIRECT_REDIRECT_UNIQUE_ID | ZiFG1h4qFUjo7_pmKrer1QAAABo |
REDIRECT_REDIRECT_WAAS_MODE | 0 |
REDIRECT_REDIRECT_DOCUMENT_ROOT | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de |
REDIRECT_REDIRECT_UI_SUEXEC_DEFAULT_CHROOT_ID | 14 |
REDIRECT_REDIRECT_UI_SUEXEC_FSTATD_UNIXSOCKET | /run/ui-fstatd.suexec.socket |
REDIRECT_REDIRECT_UI_SUEXEC_STATISTICS_UNIXSOCKET | /homepages/sclientMF/http.sock.bin |
REDIRECT_REDIRECT_HTTPS | on |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU | 40 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT | 15 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD | 27 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_JIMDO | 800 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU_JIMDO | 60 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM_JIMDO | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY_HOST | valiebt.de |
REDIRECT_REDIRECT_DBENTRY_VALUE | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de:d0000#CPU 60 #MEM 524288 #CGI 524618 #NPROC 16 #TAID 83477142 #LANG 0 #PARKING 1 #RSCLVL 300 #STAT 1 #CHROOT 13 |
REDIRECT_REDIRECT_DBENTRY_DOCROOT | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de |
REDIRECT_REDIRECT_DBENTRY_HASH | d0000 |
REDIRECT_REDIRECT_DBENTRY__CPU | 60 |
REDIRECT_REDIRECT_DBENTRY__MEM | 524288 |
REDIRECT_REDIRECT_DBENTRY__CGI | 524618 |
REDIRECT_REDIRECT_DBENTRY__NPROC | 16 |
REDIRECT_REDIRECT_DBENTRY__TAID | 83477142 |
REDIRECT_REDIRECT_DBENTRY__LANG | 0 |
REDIRECT_REDIRECT_DBENTRY__PARKING | 1 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL | 300 |
REDIRECT_REDIRECT_DBENTRY__STAT | 1 |
REDIRECT_REDIRECT_DBENTRY__CHROOT | 13 |
REDIRECT_REDIRECT_DBENTRY | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de:d0000#CPU 60 #MEM 524288 #CGI 524618 #NPROC 16 #TAID 83477142 #LANG 0 #PARKING 1 #RSCLVL 300 #STAT 1 #CHROOT 13 |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_UNIQUE_ID | ZiFG1h4qFUjo7_pmKrer1QAAABo |
REDIRECT_DOCUMENT_ROOT | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de |
REDIRECT_HTTPS | on |
REDIRECT_HANDLER | x-mapp-php5.5 |
REDIRECT_STATUS | 200 |
UNIQUE_ID | ZiFG1h4qFUjo7_pmKrer1QAAABo |
HTTPS | on |
HTTP_HOST | www.valiebt.de |
HTTP_CONNECTION | close |
HTTP_ACCEPT | */* |
HTTP_USER_AGENT | claudebot |
PATH | /bin:/usr/bin |
SERVER_SIGNATURE | |
SERVER_SOFTWARE | Apache |
SERVER_NAME | valiebt.de |
SERVER_ADDR | 82.165.85.128 |
SERVER_PORT | 443 |
REMOTE_ADDR | 3.141.8.247 |
DOCUMENT_ROOT | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de |
REQUEST_SCHEME | https |
CONTEXT_PREFIX | /system-bin/ |
CONTEXT_DOCUMENT_ROOT | /kunden/usr/lib/cgi-bin/ |
SERVER_ADMIN | webmaster@valiebt.de |
SCRIPT_FILENAME | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de/index.php |
REMOTE_PORT | 22866 |
REDIRECT_URL | /index.php |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_PROTOCOL | HTTP/1.1 |
REQUEST_METHOD | GET |
QUERY_STRING | |
REQUEST_URI | /bilder/eroeffnung |
SCRIPT_NAME | /index.php |
STATUS | 200 |
ORIG_PATH_INFO | /index.php |
ORIG_PATH_TRANSLATED | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de/index.php |
PHP_SELF | /index.php |
REQUEST_TIME_FLOAT | 1713456854.1348 |
REQUEST_TIME | 1713456854 |
argv | Array ( ) |
argc | 0 |
Key | Value |
REDIRECT_REDIRECT_UNIQUE_ID | ZiFG1h4qFUjo7_pmKrer1QAAABo |
REDIRECT_REDIRECT_WAAS_MODE | 0 |
REDIRECT_REDIRECT_DOCUMENT_ROOT | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de |
REDIRECT_REDIRECT_UI_SUEXEC_DEFAULT_CHROOT_ID | 14 |
REDIRECT_REDIRECT_UI_SUEXEC_FSTATD_UNIXSOCKET | /run/ui-fstatd.suexec.socket |
REDIRECT_REDIRECT_UI_SUEXEC_STATISTICS_UNIXSOCKET | /homepages/sclientMF/http.sock.bin |
REDIRECT_REDIRECT_HTTPS | on |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU | 40 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT | 15 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD | 27 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_JIMDO | 800 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_CPU_JIMDO | 60 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_MEM_JIMDO | 768 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCSOFT_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL_PROCHARD_JIMDO | 24 |
REDIRECT_REDIRECT_DBENTRY_HOST | valiebt.de |
REDIRECT_REDIRECT_DBENTRY_VALUE | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de:d0000#CPU 60 #MEM 524288 #CGI 524618 #NPROC 16 #TAID 83477142 #LANG 0 #PARKING 1 #RSCLVL 300 #STAT 1 #CHROOT 13 |
REDIRECT_REDIRECT_DBENTRY_DOCROOT | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de |
REDIRECT_REDIRECT_DBENTRY_HASH | d0000 |
REDIRECT_REDIRECT_DBENTRY__CPU | 60 |
REDIRECT_REDIRECT_DBENTRY__MEM | 524288 |
REDIRECT_REDIRECT_DBENTRY__CGI | 524618 |
REDIRECT_REDIRECT_DBENTRY__NPROC | 16 |
REDIRECT_REDIRECT_DBENTRY__TAID | 83477142 |
REDIRECT_REDIRECT_DBENTRY__LANG | 0 |
REDIRECT_REDIRECT_DBENTRY__PARKING | 1 |
REDIRECT_REDIRECT_DBENTRY__RSCLVL | 300 |
REDIRECT_REDIRECT_DBENTRY__STAT | 1 |
REDIRECT_REDIRECT_DBENTRY__CHROOT | 13 |
REDIRECT_REDIRECT_DBENTRY | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de:d0000#CPU 60 #MEM 524288 #CGI 524618 #NPROC 16 #TAID 83477142 #LANG 0 #PARKING 1 #RSCLVL 300 #STAT 1 #CHROOT 13 |
REDIRECT_REDIRECT_STATUS | 200 |
REDIRECT_UNIQUE_ID | ZiFG1h4qFUjo7_pmKrer1QAAABo |
REDIRECT_DOCUMENT_ROOT | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de |
REDIRECT_HTTPS | on |
REDIRECT_HANDLER | x-mapp-php5.5 |
REDIRECT_STATUS | 200 |
UNIQUE_ID | ZiFG1h4qFUjo7_pmKrer1QAAABo |
HTTPS | on |
HTTP_HOST | www.valiebt.de |
HTTP_CONNECTION | close |
HTTP_ACCEPT | */* |
HTTP_USER_AGENT | claudebot |
PATH | /bin:/usr/bin |
SERVER_SIGNATURE | |
SERVER_SOFTWARE | Apache |
SERVER_NAME | valiebt.de |
SERVER_ADDR | 82.165.85.128 |
SERVER_PORT | 443 |
REMOTE_ADDR | 3.141.8.247 |
DOCUMENT_ROOT | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de |
REQUEST_SCHEME | https |
CONTEXT_PREFIX | /system-bin/ |
CONTEXT_DOCUMENT_ROOT | /kunden/usr/lib/cgi-bin/ |
SERVER_ADMIN | webmaster@valiebt.de |
SCRIPT_FILENAME | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de/index.php |
REMOTE_PORT | 22866 |
REDIRECT_URL | /index.php |
GATEWAY_INTERFACE | CGI/1.1 |
SERVER_PROTOCOL | HTTP/1.1 |
REQUEST_METHOD | GET |
QUERY_STRING | |
REQUEST_URI | /bilder/eroeffnung |
SCRIPT_NAME | /index.php |
STATUS | 200 |
ORIG_PATH_INFO | /index.php |
ORIG_PATH_TRANSLATED | /kunden/homepages/35/d607083619/htdocs/www/valiebt.de/index.php |