return new Image($resource, $palette, $metadata);
}
private function loadGdInfo()
{
if (!function_exists('gd_info')) {
throw new RuntimeException('Gd not installed');
}
private $info;
/**
* @throws RuntimeException
*/
public function __construct()
{
$this->loadGdInfo();
$this->requireGdVersion('2.0.1');
}
$dependencies, $parameters ); $instances = $this->getDependencies( $dependencies, $parameters ); return $reflector->newInstanceArgs($instances); }
* @param array $parameters
* @return mixed
*
* @throws BindingResolutionException
*/
public function build($concrete, $parameters = array())
{
$object = parent::build($concrete, $parameters);
if (is_object($object) && $object instanceof ApplicationAwareInterface) {
$object->setApplication($this);
$concrete = $this->getConcrete($abstract);
// We're ready to instantiate an instance of the concrete type registered for
// the binding. This will instantiate the types, as well as resolve any of
// its "nested" dependencies recursively until all have gotten resolved.
if ($this->isBuildable($concrete, $abstract))
{
$object = $this->build($concrete, $parameters);
}
else
*/
protected function getClosure($abstract, $concrete)
{
return function($c, $parameters = array()) use ($abstract, $concrete)
{
$method = ($abstract == $concrete) ? 'build' : 'make';
return $c->$method($concrete, $parameters);
};
}
public function build($concrete, $parameters = array())
{
// If the concrete type is actually a Closure, we will just execute it and
// hand back the results of the functions, which allows functions to be
// used as resolvers for more fine-tuned resolution of these objects.
if ($concrete instanceof Closure)
{
return $concrete($this, $parameters);
}
* @param array $parameters
* @return mixed
*
* @throws BindingResolutionException
*/
public function build($concrete, $parameters = array())
{
$object = parent::build($concrete, $parameters);
if (is_object($object) && $object instanceof ApplicationAwareInterface) {
$object->setApplication($this);
$concrete = $this->getConcrete($abstract);
// We're ready to instantiate an instance of the concrete type registered for
// the binding. This will instantiate the types, as well as resolve any of
// its "nested" dependencies recursively until all have gotten resolved.
if ($this->isBuildable($concrete, $abstract))
{
$object = $this->build($concrete, $parameters);
}
else
* Get the value at a given offset.
*
* @param string $key
* @return mixed
*/
public function offsetGet($key)
{
return $this->make($key);
}
return $name;
}
if (isset(static::$resolvedInstance[$name])) {
return static::$resolvedInstance[$name];
}
return static::$resolvedInstance[$name] = static::$app[$name];
}
*
* @param string $method
* @param array $args
* @return mixed
*/
public static function __callStatic($method, $args)
{
$instance = static::resolveFacadeInstance(static::getFacadeAccessor());
if (!method_exists($instance, $method)) {
} else {
$filename = md5(implode(':', array($obj, $maxWidth, $maxHeight, $crop, filemtime($obj))))
. '.' . $fh->getExtension($obj);
}
if (!file_exists(Config::get('concrete.cache.directory') . '/' . $filename)) {
if ($obj instanceof File) {
$image = \Image::load($fr->read());
} else {
$image = \Image::open($obj);
<?php
defined('C5_EXECUTE') or die(_("Access Denied."));
$ih = Loader::helper("image");
$img = File::getByID($fID);
if(is_object($img)){
$thumb = $ih->getThumbnail($img,$maxThumbWidth,$maxThumbHeight,true);
$large = $ih->getThumbnail($img,$maxImageWidth,$maxImageHeight,false);
}
$c = Page::getCurrentPage();
?>
}
public function renderViewContents($scopeItems)
{
extract($scopeItems);
if (!$this->outputContent) {
ob_start();
include $this->template;
$this->outputContent = ob_get_contents();
ob_end_clean();
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);
$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;
<div id="primary" class="content-primary col-xs-10 col-md-10 col-sm-12">
<main role="main">
<article>
<?php
$a = new Area('Main');
$a->setAreaGridMaximumColumns(12);
$a->display($c);
?>
</article>
$innerContent = ob_get_contents();
ob_end_clean();
}
if (file_exists($this->template)) {
ob_start();
$this->onBeforeGetContents();
include $this->template;
$contents = ob_get_contents();
$this->onAfterGetContents();
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);
use Core;
use Session;
class DispatcherRouteCallback extends RouteCallback
{
protected function sendResponse(View $v, $code = 200)
{
$contents = $v->render();
$response = new Response($contents, $code);
}
}
}
// we update the current page with the one bound to this controller.
$request->setCurrentPage($c);
return $this->sendResponse($view);
}
$request->attributes->add($matcher->match($path));
$matched = $matcher->match($path);
$route = $collection->get($matched['_route']);
Route::setRequest($request);
$response = Route::execute($route, $matched);
} catch (ResourceNotFoundException $e) {
$callback = new DispatcherRouteCallback('dispatcher');
$response = $callback->execute($request);
}
}
\Events::dispatch('on_before_dispatch');
/**
* ----------------------------------------------------------------------------
* Get the response to the current request
* ----------------------------------------------------------------------------
*/
$response = $cms->dispatch($request);
/**
* ----------------------------------------------------------------------------
/** * ---------------------------------------------------------------------------- * Begin concrete5 startup. * ---------------------------------------------------------------------------- */ $cms = require $__DIR__ . '/bootstrap/start.php';
$updates = array();
if (file_exists($update_file)) {
$updates = (array) include $update_file;
}
if (!defined('APP_UPDATED_PASSTHRU') && isset($updates['core'])) {
define('APP_UPDATED_PASSTHRU', true);
if (is_dir(DIR_BASE . '/' . DIRNAME_UPDATES . '/' . $updates['core'])) {
require(DIR_BASE . '/' . DIRNAME_UPDATES . '/' . $updates['core'] . '/' . DIRNAME_CORE . '/' . 'dispatcher.php');
} else if(file_exists(DIRNAME_UPDATES . '/' . $updates['core'] . '/' . DIRNAME_CORE . '/' . 'dispatcher.php')){
require(DIRNAME_UPDATES . '/' . $updates['core'] . '/' . DIRNAME_CORE . '/' . 'dispatcher.php');
/** * ---------------------------------------------------------------------------- * Set required constants, including directory names, attempt to include site configuration file with database * information, attempt to determine if we ought to skip to an updated core, etc... * ---------------------------------------------------------------------------- */ require $__DIR__ . '/bootstrap/configure.php';
<?php
require('concrete/dispatcher.php');
| Key | Value |
| Version | 5.7.5.13 |
| Installed Version | 5.7.5.13 |
| Key | Value |
| concrete.version | 5.7.5.13 |
| concrete.version_installed | 5.7.5.13 |
| concrete.version_db | 20160615000000 |
| concrete.installed | true |
| concrete.site | Электронный атлас |
| concrete.locale | ru_RU |
| 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.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.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 | default |
| concrete.cache.full_page_lifetime_value | null |
| concrete.cache.full_contents_assets_hash | false |
| concrete.cache.directory | /var/www/html/tatarhistory.ru/application/files/cache |
| concrete.cache.directory_relative | null |
| concrete.cache.page.directory | /var/www/html/tatarhistory.ru/application/files/cache/pages |
| concrete.cache.page.adapter | file |
| concrete.cache.environment.file | environment.cache |
| concrete.cache.levels.expensive.drivers.core_ephemeral.class | \Stash\Driver\Ephemeral |
| concrete.cache.levels.expensive.drivers.core_filesystem.class | \Stash\Driver\FileSystem |
| concrete.cache.levels.expensive.drivers.core_filesystem.options.path | /var/www/html/tatarhistory.ru/application/files/cache |
| concrete.cache.levels.expensive.drivers.core_filesystem.options.dirPermissions | 509 |
| concrete.cache.levels.expensive.drivers.core_filesystem.options.filePermissions | 436 |
| concrete.cache.levels.object.drivers.core_ephemeral.class | \Stash\Driver\Ephemeral |
| concrete.multilingual.redirect_home_to_default_locale | 1 |
| concrete.multilingual.use_browser_detected_locale | null |
| concrete.multilingual.default_locale | ru_RU |
| concrete.multilingual.default_source_locale | ru_RU |
| concrete.multilingual.keep_users_locale | 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 | 436 |
| concrete.filesystem.permissions.directory | 509 |
| concrete.editor.concrete.enable_filemanager | 1 |
| concrete.editor.concrete.enable_sitemap | 1 |
| 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 | fontsize |
| concrete.editor.plugins.selected.6 | fontcolor |
| concrete.editor.plugins.selected.7 | add_remove_class_id |
| concrete.email.enabled | true |
| concrete.email.default.address | concrete5-noreply@tatarhistory.ru |
| 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.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 | true |
| concrete.external.news | true |
| concrete.misc.user_timezones | false |
| concrete.misc.package_backup_directory | /var/www/html/tatarhistory.ru/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.help_overlay | true |
| concrete.misc.require_version_comments | false |
| concrete.misc.access_entity_updated | 1468915775 |
| concrete.misc.do_page_reindex_check | false |
| concrete.misc.latest_version | 5.7.5.13 |
| concrete.theme.compress_preprocessor_output | true |
| concrete.theme.generate_less_sourcemap | false |
| concrete.updates.enable_auto_update_core | 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.user_avatar.width | 80 |
| concrete.icons.user_avatar.height | 80 |
| concrete.icons.user_avatar.default | /updates/concrete5.7.5.13/concrete/images/avatar_none.png |
| concrete.file_manager.images.use_exim_data_to_rotate_images | false |
| concrete.file_manager.images.manipulation_library | gd |
| concrete.file_manager.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.i18n.choose_language_login | false |
| 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.help.developer | http://www.concrete5.org/documentation/developers/5.7/ |
| concrete.urls.help.user | http://www.concrete5.org/documentation/using-concrete5-7 |
| 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.dashboard_background | null |
| concrete.session.name | CONCRETE5 |
| concrete.session.handler | file |
| 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.user.registration.enabled | true |
| concrete.user.registration.type | enabled |
| concrete.user.registration.captcha | true |
| concrete.user.registration.email_registration | true |
| concrete.user.registration.validate_email | false |
| concrete.user.registration.approval | false |
| concrete.user.registration.notification | 1 |
| concrete.user.registration.notification_email | damir-82@bk.ru |
| concrete.user.gravatar.enabled | true |
| concrete.user.gravatar.max_level | g |
| concrete.user.gravatar.image_set | 404 |
| concrete.user.group.badge.default_point_value | 50 |
| concrete.user.profiles_enabled | true |
| 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.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 | <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter43817234 = new Ya.Metrika({ id:43817234, clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); </script> <noscript><div><img src="https://mc.yandex.ru/watch/43817234" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> |
| concrete.seo.tracking.code_position | top |
| 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 | http://tatarhistory.ru |
| concrete.seo.canonical_ssl_url | https://tatarhistory.ru |
| concrete.seo.trailing_slash | false |
| concrete.seo.title_format | %1$s :: %2$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 |
| 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] => 5 [petHandle] => group [label] => Гость ) ) [accessEntitiesUpdated] => 1762036029 [previous_locale] => tt_RU ) |
| _sf2_flashes | Array ( ) |
| _sf2_meta | Array ( [u] => 1762036029 [c] => 1762036029 [l] => 7200 ) |
| Key | Value |
| USER | www-data |
| HOME | /var/www |
| SCRIPT_NAME | /index.php |
| REQUEST_URI | /tt/atlas/tatarstan-na-karte-rossii |
| QUERY_STRING | |
| REQUEST_METHOD | GET |
| SERVER_PROTOCOL | HTTP/1.1 |
| GATEWAY_INTERFACE | CGI/1.1 |
| REDIRECT_URL | /tt/atlas/tatarstan-na-karte-rossii |
| REMOTE_PORT | 4411 |
| SCRIPT_FILENAME | /var/www/html/tatarhistory.ru/index.php |
| SERVER_ADMIN | damir-82@bk.ru |
| CONTEXT_DOCUMENT_ROOT | /var/www/html/tatarhistory.ru |
| CONTEXT_PREFIX | |
| REQUEST_SCHEME | https |
| DOCUMENT_ROOT | /var/www/html/tatarhistory.ru |
| REMOTE_ADDR | 216.73.216.176 |
| SERVER_PORT | 443 |
| SERVER_ADDR | 188.127.254.104 |
| SERVER_NAME | tatarhistory.ru |
| SERVER_SOFTWARE | Apache/2.4.52 (Ubuntu) |
| SERVER_SIGNATURE | <address>Apache/2.4.52 (Ubuntu) Server at tatarhistory.ru Port 443</address> |
| PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin |
| HTTP_HOST | tatarhistory.ru |
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_ACCEPT | */* |
| proxy-nokeepalive | 1 |
| SSL_TLS_SNI | tatarhistory.ru |
| HTTPS | on |
| SCRIPT_URI | https://tatarhistory.ru/tt/atlas/tatarstan-na-karte-rossii |
| SCRIPT_URL | /tt/atlas/tatarstan-na-karte-rossii |
| REDIRECT_STATUS | 200 |
| REDIRECT_SSL_TLS_SNI | tatarhistory.ru |
| REDIRECT_HTTPS | on |
| REDIRECT_SCRIPT_URI | https://tatarhistory.ru/tt/atlas/tatarstan-na-karte-rossii |
| REDIRECT_SCRIPT_URL | /tt/atlas/tatarstan-na-karte-rossii |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1762036029.4847 |
| REQUEST_TIME | 1762036029 |