* @throws \Punic\Exception throws a generic exception in case of other problems (for instance if you specify an invalid locale) */ public static function getMonthName($value, $width = 'wide', $locale = '', $standAlone = false) { $result = ''; if ((!empty($value)) || ($value === 0) || ($value === '0')) { $month = null; if (is_int($value)) { $month = $value; } elseif (is_float($value)) { $month = intval($value); } elseif (is_string($value)) { if (is_numeric($value)) { $month = intval($value); } } elseif (is_a($value, '\DateTime')) { $month = intval($value->format('n')); } if (($month === null) || (($month < 1) || ($month > 12))) { throw new Exception\BadArgumentType($value, 'month number'); } $data = Data::get('calendar', $locale); $data = $data['months'][$standAlone ? 'stand-alone' : 'format']; if (!isset($data[$width])) { throw new Exception\ValueNotInList($width, array_keys($data)); } $result = $data[$width][$month]; } return $result; } /** * Get the name of a week day. * * @param number|\DateTime $value a week day number (from 0-Sunday to 6-Saturnday) or a \DateTime instance for which you want the name of the day of the week * @param string $width the format name; it can be 'wide' (eg 'Sunday'), 'abbreviated' (eg 'Sun'), 'short' (eg 'Su') or 'narrow' (eg 'S') * @param string $locale The locale to use. If empty we'll use the default locale set with {@link \Punic\Data::setDefaultLocale()}. * @param bool $standAlone set to true to return the form used independently (such as in calendar header), set to false if the week day name will be part of a date *
if ($month) { $month = str_pad($month, 2, '0', STR_PAD_LEFT); $lastDayInMonth = date('t', strtotime("$year-$month-01")); $start = "$year-$month-01 00:00:00"; $end = "$year-$month-$lastDayInMonth 23:59:59"; } else { $start = "$year-01-01 00:00:00"; $end = "$year-12-31 23:59:59"; } $dh = Core::make('helper/date'); /* @var $dh \Concrete\Core\Localization\Service\Date */ if ($timezone !== 'system') { $start = $dh->toDB($start, $timezone); $end = $dh->toDB($end, $timezone); } $this->list->filterByPublicDate($start, '>='); $this->list->filterByPublicDate($end, '<='); $seo = Core::make('helper/seo'); $date = ucfirst(\Punic\Calendar::getMonthName($month, 'wide', '', true).' '.$year); $seo->addTitleSegment($date); } $this->view(); } public function getYears(){ $list = $this->list->getResults(); $yearArray = []; $unique = []; $dh = Core::make('helper/date'); foreach($list as $listItem){ $yearArray[] .= $dh->date('Y',$listItem->getCollectionDatePublic()); } $unique = array_keys(array_flip($yearArray)); rsort($unique); return $unique; } public function validate($args)
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); } }
public function validateRequest() { if (isset($this->requestValidated)) { return $this->requestValidated; } $valid = true; if (!$this->isValidControllerTask($this->action, $this->parameters)) { $valid = false; // we check the blocks on the page. $blocks = array_merge($this->getPageObject()->getBlocks(), $this->getPageObject()->getGlobalBlocks()); foreach ($blocks as $b) { $controller = $b->getController(); list($method, $parameters) = $controller->getPassThruActionAndParameters($this->parameters); if ($controller->isValidControllerTask($method, $parameters)) { $controller->on_start(); $response = $controller->runAction($method, $parameters); if ($response instanceof Response) { return $response; } // old school blocks have already terminated at this point. They are redirecting // or exiting. But new blocks like topics, etc... can actually rely on their $set // data persisting and being passed into the view. // so if we make it down here we have to return true –so that we don't fire a 404. $valid = true; // then, we need to save the persisted data that may have been set. $controller->setPassThruBlockController($this); } } if (!$valid) { // finally, we check additional page paths. $paths = $this->getPageObject()->getAdditionalPagePaths(); foreach ($paths as $path) { if ($path->getPagePath() == $this->request->getPath()) {
} /** * {@inheritdoc} */ public function controller(Controller $controller, $code = Response::HTTP_OK, $headers = []) { $request = $this->request; if ($response = $controller->on_start()) { return $response; } if ($controller instanceof PageController) { if ($controller->isReplaced()) { return $this->controller($controller->getReplacement(), $code, $headers); } $controller->setupRequestActionAndParameters($request); $response = $controller->validateRequest(); // If validaterequest returned a response if ($response instanceof \Symfony\Component\HttpFoundation\Response) { return $response; } else { // If validateRequest did not return true if ($response == false) { return $this->notFound('', Response::HTTP_NOT_FOUND, $headers); } } $requestTask = $controller->getRequestAction(); $requestParameters = $controller->getRequestActionParameters(); $response = $controller->runAction($requestTask, $requestParameters); if ($response instanceof \Symfony\Component\HttpFoundation\Response) { return $response; } if ($controller->isReplaced()) { return $this->controller($controller->getReplacement(), $code, $headers); } } else {
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) {
protected $factory; /** * DispatcherRouteCallback constructor. * * @param $callback * @param $factory */ public function __construct($callback, ResponseFactoryInterface $factory) { parent::__construct($callback); $this->factory = $factory; } public function execute(Request $request, Route $route = null, $parameters = []) { // figure out where we need to go $c = Page::getFromRequest($request); return $this->factory->collection($c); } public static function getRouteAttributes($callback) { $callback = Core::make(self::class, [$callback]); return ['callback' => $callback]; } /** * @deprecated Use CollectionResponseFactory * * @param \Concrete\Core\View\View $view * @param int $code * * @return \Symfony\Component\HttpFoundation\Response */ protected function sendResponse(View $view, $code = 200) { return $this->factory->view($view, $code);
$context->fromRequest($request); $matcher = new UrlMatcher($collection, $context); $path = rtrim($request->getPathInfo(), '/') . '/'; $callDispatcher = false; try { $matched = $matcher->match($path); $request->attributes->add($matched); $route = $collection->get($matched['_route']); $this->router->setRequest($request); $response = $this->router->execute($route, $matched); } catch (ResourceNotFoundException $e) { $callDispatcher = true; } catch (MethodNotAllowedException $e) { $callDispatcher = true; } if ($callDispatcher) { $callback = $this->app->make(DispatcherRouteCallback::class, ['dispatcher']); $response = $callback->execute($request); } return $response; } }
/** * @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() { $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 function validateUser()
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 the thumbnail generator is async, we do not use the thumbnail middleware. if ($this->app->isInstalled() && $this->config->get('concrete.misc.basic_thumbnailer_generation_strategy') == 'now') { if ($response->getStatusCode() == 200) { /* @var Connection $database */ try { $database = $this->getConnection(); } catch (\InvalidArgumentException $e) { // Don't die here if there's no available database connection $database = null; } if ($database) { try { $paths = $database->executeQuery('SELECT * FROM FileImageThumbnailPaths WHERE isBuilt=0 LIMIT 5'); if ($paths->rowCount()) { $this->generateThumbnails($paths, $database); } } catch (InvalidFieldNameException $e) {
/** * @var \Concrete\Core\Http\Middleware\DelegateInterface */ private $nextDelegate; public function __construct(MiddlewareInterface $middleware, DelegateInterface $nextDelegate) { $this->middleware = $middleware; $this->nextDelegate = $nextDelegate; } /** * Dispatch the next available middleware and return the response. * * @param Request $request * @return Response */ public function next(Request $request) { return $this->middleware->process($request, $this->nextDelegate); } }
private $config; /** * @var \Concrete\Core\Utility\Service\Validation\Strings */ private $stringValidator; public function __construct(Repository $config, Strings $stringValidator) { $this->config = $config; $this->stringValidator = $stringValidator; } /** * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame * @return Response */ public function process(Request $request, DelegateInterface $frame) { $response = $frame->next($request); if ($response->headers->has('X-Frame-Options') === false) { $x_frame_options = $this->config->get('concrete.security.misc.x_frame_options'); if ($this->stringValidator->notempty($x_frame_options)) { $response->headers->set('X-Frame-Options', $x_frame_options); } } return $response; } }
/** * @var \Concrete\Core\Http\Middleware\DelegateInterface */ private $nextDelegate; public function __construct(MiddlewareInterface $middleware, DelegateInterface $nextDelegate) { $this->middleware = $middleware; $this->nextDelegate = $nextDelegate; } /** * Dispatch the next available middleware and return the response. * * @param Request $request * @return Response */ public function next(Request $request) { return $this->middleware->process($request, $this->nextDelegate); } }
*/ private $cookies; public function __construct(CookieJar $cookies) { $this->cookies = $cookies; } /** * Add or remove cookies from the * @param Request $request * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame * @return Response */ public function process(Request $request, DelegateInterface $frame) { $this->cookies->setRequest($request); /** @var Response $response */ $response = $frame->next($request); $cleared = $this->cookies->getClearedCookies(); foreach ($cleared as $cookie) { $response->headers->clearCookie($cookie, DIR_REL . '/'); } $cookies = $this->cookies->getCookies(); foreach ($cookies as $cookie) { $response->headers->setCookie($cookie); } return $response; } }
/** * @var \Concrete\Core\Http\Middleware\DelegateInterface */ private $nextDelegate; public function __construct(MiddlewareInterface $middleware, DelegateInterface $nextDelegate) { $this->middleware = $middleware; $this->nextDelegate = $nextDelegate; } /** * Dispatch the next available middleware and return the response. * * @param Request $request * @return Response */ public function next(Request $request) { return $this->middleware->process($request, $this->nextDelegate); } }
* Middleware for applying state changes to the application * @package Concrete\Core\Http\Middleware */ class ApplicationMiddleware implements MiddlewareInterface, ApplicationAwareInterface { use ApplicationAwareTrait; /** * Apply the request instance to the request singleton * @param \Symfony\Component\HttpFoundation\Request $request * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame * @return \Symfony\Component\HttpFoundation\Response */ public function process(Request $request, DelegateInterface $frame) { \Concrete\Core\Http\Request::setInstance($request); $this->app->instance('Concrete\Core\Http\Request', $request); return $frame->next($request); } }
/** * @var \Concrete\Core\Http\Middleware\DelegateInterface */ private $nextDelegate; public function __construct(MiddlewareInterface $middleware, DelegateInterface $nextDelegate) { $this->middleware = $middleware; $this->nextDelegate = $nextDelegate; } /** * Dispatch the next available middleware and return the response. * * @param Request $request * @return Response */ public function next(Request $request) { return $this->middleware->process($request, $this->nextDelegate); } }
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); } }
'registerLegacyRoutes', // Register legacy config values 'registerLegacyConfigValues', // Handle loading permission keys 'handlePermissionKeys', // Handle eventing 'handleEventing', ]); } else { $this->initializeSystemTimezone(); } // Create the request to use $request = $this->createRequest(); if (!$response) { $response = $this->server->handleRequest($request); } // Prepare and return the response return $response->prepare($request); } /** * Define the base url if not defined * This will define `BASE_URL` to whatever is resolved from the resolver. * * @deprecated In a future major version this will be part of HTTP middleware * * @return Response|void Returns a response if an error occurs */ protected function initializeLegacyURLDefinitions() { if (!defined('BASE_URL')) { $resolver = $this->getUrlResolver(); try {
$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. * ---------------------------------------------------------------------------- */ /** @var \Concrete\Core\Application\Application $cms */ $cms = require __DIR__ . '/bootstrap/start.php'; /* * ---------------------------------------------------------------------------- * Run the runtime. * ---------------------------------------------------------------------------- */ $runtime = $cms->getRuntime(); if ($response = $runtime->run()) { /* * ------------------------------------------------------------------------ * Shut it down. * ------------------------------------------------------------------------ */ $cms->shutdown(); } else { return $cms; }
<?php require 'concrete/dispatcher.php';
Key | Value |
Version | 8.3.2 |
Installed Version | 8.3.2 |
Key | Value |
concrete.version | 8.3.2 |
concrete.version_installed | 8.3.2 |
concrete.version_db | 20180122213656 |
concrete.installed | true |
concrete.locale | fi_FI |
concrete.charset | UTF-8 |
concrete.maintenance_mode | false |
concrete.debug.display_errors | true |
concrete.debug.detail | debug |
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.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 | true |
concrete.cache.assets | true |
concrete.cache.theme_css | true |
concrete.cache.pages | 0 |
concrete.cache.doctrine_dev_mode | false |
concrete.cache.full_page_lifetime | default |
concrete.cache.full_page_lifetime_value | null |
concrete.cache.full_contents_assets_hash | false |
concrete.cache.directory | /home/ladec/public_html/application/files/cache |
concrete.cache.directory_relative | null |
concrete.cache.page.directory | /home/ladec/public_html/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 | /home/ladec/public_html/application/files/cache/overrides |
concrete.cache.levels.overrides.drivers.core_filesystem.options.dirPermissions | 493 |
concrete.cache.levels.overrides.drivers.core_filesystem.options.filePermissions | 420 |
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 | /home/ladec/public_html/application/files/cache/expensive |
concrete.cache.levels.expensive.drivers.core_filesystem.options.dirPermissions | 493 |
concrete.cache.levels.expensive.drivers.core_filesystem.options.filePermissions | 420 |
concrete.cache.levels.object.drivers.core_ephemeral.class | \Stash\Driver\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.queries.log | false |
concrete.log.queries.clear_on_reload | false |
concrete.jobs.enable_scheduling | true |
concrete.filesystem.temp_directory | null |
concrete.filesystem.permissions.file | 420 |
concrete.filesystem.permissions.directory | 493 |
concrete.email.enabled | true |
concrete.email.default.address | concrete5-noreply@concrete5 |
concrete.email.default.name | |
concrete.email.form_block.address | info@ladec.fi |
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.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_overlay | false |
concrete.external.news | true |
concrete.misc.user_timezones | false |
concrete.misc.package_backup_directory | /home/ladec/public_html/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.basic_thumbnailer_generation_strategy | now |
concrete.misc.help_overlay | true |
concrete.misc.require_version_comments | false |
concrete.misc.login_redirect | HOMEPAGE |
concrete.misc.access_entity_updated | 1516694976 |
concrete.misc.latest_version | 8.3.2 |
concrete.misc.do_page_reindex_check | false |
concrete.misc.login_redirect_cid | 0 |
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.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.results | 10 |
concrete.search_users.results | 10 |
concrete.sitemap_xml.file | sitemap.xml |
concrete.sitemap_xml.frequency | weekly |
concrete.sitemap_xml.priority | 0.5 |
concrete.accessibility.toolbar_titles | 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.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.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.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.white_label.dashboard_background | null |
concrete.session.name | CONCRETE5 |
concrete.session.handler | database |
concrete.session.save_path | /temp |
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.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.allow_spaces | false |
concrete.user.password.maximum | 128 |
concrete.user.password.minimum | 5 |
concrete.user.password.hash_portable | false |
concrete.user.password.hash_cost_log2 | 12 |
concrete.user.password.legacy_salt | |
concrete.user.private_messages.throttle_max | 20 |
concrete.user.private_messages.throttle_max_timespan | 15 |
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.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 | advanced |
concrete.seo.tracking.code | |
concrete.seo.tracking.code_position | bottom |
concrete.seo.exclude_words | a, an, as, at, before, but, by, for, from, is, in, into, like, of, off, on, onto, per, since, than, the, this, that, to, up, via, with |
concrete.seo.url_rewriting | true |
concrete.seo.url_rewriting_all | false |
concrete.seo.redirect_to_canonical_url | 1 |
concrete.seo.canonical_url | null |
concrete.seo.canonical_url_alternative | null |
concrete.seo.trailing_slash | false |
concrete.seo.title_format | %2$s - %1$s |
concrete.seo.title_segment_separator | :: |
concrete.seo.page_path_separator | - |
concrete.seo.group_name_separator | / |
concrete.seo.segment_max_length | 128 |
concrete.seo.paging_string | ccm_paging_p |
concrete.statistics.track_downloads | true |
concrete.limits.sitemap_pages | 100 |
concrete.limits.delete_pages | 100 |
concrete.limits.copy_pages | 10 |
concrete.limits.page_search_index_batch | 200 |
concrete.limits.job_queue_batch | 10 |
concrete.limits.style_customizer.size_min | -50 |
concrete.limits.style_customizer.size_max | 200 |
concrete.page.search.always_reindex | false |
concrete.version_db_installed | 20180122213656 |
concrete.authify | null |
concrete.maintenance.version_job_page_num | 422 |
concrete.site | LADEC |
Key | Value |
_sf2_attributes | Array ( [uGroups] => Array ( [1] => 1 ) [accessEntities] => Array ( [0] => Concrete\Core\Permission\Access\Entity\GroupEntity Object ( [group:protected] => Concrete\Core\User\Group\Group Object ( [ctID] => [permissionSet] => [permissions:Concrete\Core\User\Group\Group:private] => Array ( ) [error] => [gID] => 1 [gName] => Guest [gDescription] => The guest group represents unregistered visitors to your site. [gUserExpirationIsEnabled] => 0 [gUserExpirationMethod] => [gUserExpirationSetDateTime] => [gUserExpirationInterval] => 0 [gUserExpirationAction] => [gIsBadge] => 0 [gBadgeFID] => 0 [gBadgeDescription] => [gBadgeCommunityPointValue] => 0 [gIsAutomated] => 0 [gCheckAutomationOnRegister] => 0 [gCheckAutomationOnLogin] => 0 [gCheckAutomationOnJobRun] => 0 [gPath] => /Guest [pkgID] => 0 ) [error] => [petID] => 1 [peID] => 2 [petHandle] => group [label] => Vieras ) ) [accessEntitiesUpdated] => 1711726623 [multilingual_default_locale] => en_GB ) |
_sf2_flashes | Array ( ) |
_sf2_meta | Array ( [u] => 1711726622 [c] => 1711726622 [l] => 0 ) |
Key | Value |
PATH | /usr/local/bin:/usr/bin:/bin |
TEMP | /tmp |
TMP | /tmp |
TMPDIR | /tmp |
PWD | / |
HTTP_ACCEPT | */* |
CONTENT_LENGTH | 0 |
HTTP_HOST | www.ladec.fi |
HTTP_USER_AGENT | claudebot |
HTTP_X_HTTPS | 1 |
REDIRECT_UNIQUE_ID | ZgbgHlVkBPtj3BLSUJQoTgAAUB8 |
REDIRECT_SCRIPT_URL | /en/news/535/ten_finnish_cleantech_growth_companies_nominated_for_an_international_cleantech_competition |
REDIRECT_SCRIPT_URI | https://www.ladec.fi/en/news/535/ten_finnish_cleantech_growth_companies_nominated_for_an_international_cleantech_competition |
REDIRECT_HTTPS | on |
REDIRECT_SSL_TLS_SNI | www.ladec.fi |
REDIRECT_HTTP2 | on |
REDIRECT_H2PUSH | off |
REDIRECT_H2_PUSH | off |
REDIRECT_H2_PUSHED | |
REDIRECT_H2_PUSHED_ON | |
REDIRECT_H2_STREAM_ID | 3 |
REDIRECT_H2_STREAM_TAG | 2918447-532-3 |
REDIRECT_STATUS | 200 |
UNIQUE_ID | ZgbgHlVkBPtj3BLSUJQoTgAAUB8 |
SCRIPT_URL | /en/news/535/ten_finnish_cleantech_growth_companies_nominated_for_an_international_cleantech_competition |
SCRIPT_URI | https://www.ladec.fi/en/news/535/ten_finnish_cleantech_growth_companies_nominated_for_an_international_cleantech_competition |
HTTPS | on |
SSL_TLS_SNI | www.ladec.fi |
HTTP2 | on |
H2PUSH | off |
H2_PUSH | off |
H2_PUSHED | |
H2_PUSHED_ON | |
H2_STREAM_ID | 3 |
H2_STREAM_TAG | 2918447-532-3 |
SERVER_SIGNATURE | |
SERVER_SOFTWARE | Apache |
SERVER_NAME | www.ladec.fi |
SERVER_ADDR | 83.143.219.69 |
SERVER_PORT | 443 |
REMOTE_ADDR | 44.200.196.38 |
DOCUMENT_ROOT | /home/ladec/public_html |
REQUEST_SCHEME | https |
CONTEXT_PREFIX | |
CONTEXT_DOCUMENT_ROOT | /home/ladec/public_html |
SERVER_ADMIN | webmaster@ladec.fi |
SCRIPT_FILENAME | /home/ladec/public_html/index.php |
REMOTE_PORT | 52200 |
REDIRECT_URL | /en/news/535/ten_finnish_cleantech_growth_companies_nominated_for_an_international_cleantech_competition |
SERVER_PROTOCOL | HTTP/2.0 |
REQUEST_METHOD | GET |
QUERY_STRING | |
REQUEST_URI | /en/news/535/ten_finnish_cleantech_growth_companies_nominated_for_an_international_cleantech_competition |
SCRIPT_NAME | /index.php |
PHP_SELF | /index.php |
REQUEST_TIME_FLOAT | 1711726622.704 |
REQUEST_TIME | 1711726622 |
argv | Array ( ) |
argc | 0 |