Velikosti 1
Nette\Database\DriverException #42000
SELECT `eshop_productVariants`.*
FROM `eshop_productVariants`
LEFT JOIN `eshop_products` `product` ON `eshop_productVariants`.`idProduct` = `product`.`id`
LEFT JOIN `eshop_productsLang` ON `product`.`id` = `eshop_productsLang`.`idProduct`
LEFT JOIN `base_languages` `idLanguage` ON `eshop_productsLang`.`idLanguage` = `idLanguage`.`id`
LEFT JOIN `eshop_products` `idProduct` ON `eshop_productVariants`.`idProduct` = `idProduct`.`id`
LEFT JOIN `eshop_productsHaveOptions` `productsHaveOptions` ON `idProduct`.`id` =
`productsHaveOptions`.`idProduct`
LEFT JOIN `eshop_productOptions` `option` ON `productsHaveOptions`.`idOption` = `option`.`id`
WHERE (`eshop_productVariants`.`id` IS NULL AND FALSE) AND (`product`.`active` = 1) AND
(`eshop_productsLang`.`active` = 1) AND (`idLanguage`.`shortcut` = 'cs') AND (.`option`.`idGroup` = 8)
File: .../garko.cz/vendor/nette/database/src/Database/ResultSet.php:78
68: $connection->getPdo()->{substr($queryString, 2)}(); 69: } elseif ($queryString !== null) { 70: $types = ['boolean' => PDO::PARAM_BOOL, 'integer' => PDO::PARAM_INT, 'resource' => PDO::PARAM_LOB, 'NULL' => PDO::PARAM_NULL]; 71: $this->pdoStatement = $connection->getPdo()->prepare($queryString); 72: foreach ($params as $key => $value) { 73: $type = gettype($value); 74: $this->pdoStatement->bindValue(is_int($key) ? $key + 1 : $key, $value, $types[$type] ?? PDO::PARAM_STR); 75: } 76: 77: $this->pdoStatement->setFetchMode(PDO::FETCH_ASSOC); 78: @$this->pdoStatement->execute(); // @ PHP generates warning when ATTR_ERRMODE = ERRMODE_EXCEPTION bug #73878 79: } 80: } catch (\PDOException $e) { 81: $e = $connection->getDriver()->convertException($e); 82: $e->queryString = $queryString;
57: } elseif (in_array($code, [1062, 1557, 1569, 1586], true)) { 58: return Nette\Database\UniqueConstraintViolationException::from($e); 59: 60: } elseif ($code >= 2001 && $code <= 2028) { 61: return Nette\Database\ConnectionException::from($e); 62: 63: } elseif (in_array($code, [1048, 1121, 1138, 1171, 1252, 1263, 1566], true)) { 64: return Nette\Database\NotNullConstraintViolationException::from($e); 65: 66: } else { 67: return Nette\Database\DriverException::from($e); 68: } 69: } 70: 71:
$src |
---|
71: $this->pdoStatement = $connection->getPdo()->prepare($queryString); 72: foreach ($params as $key => $value) { 73: $type = gettype($value); 74: $this->pdoStatement->bindValue(is_int($key) ? $key + 1 : $key, $value, $types[$type] ?? PDO::PARAM_STR); 75: } 76: 77: $this->pdoStatement->setFetchMode(PDO::FETCH_ASSOC); 78: @$this->pdoStatement->execute(); // @ PHP generates warning when ATTR_ERRMODE = ERRMODE_EXCEPTION bug #73878 79: } 80: } catch (\PDOException $e) { 81: $e = $connection->getDriver()->convertException($e); 82: $e->queryString = $queryString; 83: $e->params = $params; 84: throw $e; 85: }
$e |
---|
223: 224: 225: /** 226: * Generates and executes SQL query. 227: * @param literal-string $sql 228: */ 229: public function query(string $sql, ...$params): ResultSet 230: { 231: [$this->sql, $params] = $this->preprocess($sql, ...$params); 232: try { 233: $result = new ResultSet($this, $this->sql, $params, $this->rowNormalizer); 234: } catch (PDOException $e) { 235: Arrays::invoke($this->onQuery, $this, $e); 236: throw $e; 237: }
$connection | |
---|---|
$queryString | |
$params | |
$normalizer |
80: return $this->connection->getInsertId($sequence); 81: } 82: 83: 84: /** 85: * Generates and executes SQL query. 86: * @param literal-string $sql 87: */ 88: public function query(string $sql, ...$params): ResultSet 89: { 90: return $this->connection->query($sql, ...$params); 91: } 92: 93: 94: /** @deprecated use query() */
$sql | |
---|---|
#1 | true
|
#2 | true
|
#3 | 'cs'
|
#4 | 8
|
601: 602: 603: protected function createGroupedSelectionInstance(string $table, string $column): GroupedSelection 604: { 605: return new GroupedSelection($this->explorer, $this->conventions, $table, $column, $this, $this->cache ? $this->cache->getStorage() : null); 606: } 607: 608: 609: protected function query(string $query): Nette\Database\ResultSet 610: { 611: return $this->explorer->query($query, ...$this->sqlBuilder->getParameters()); 612: } 613: 614: 615: protected function emptyResultSet(bool $clearCache = true, bool $deleteRererencedCache = true): void
$sql | |
---|---|
#1 | true
|
#2 | true
|
#3 | 'cs'
|
#4 | 8
|
550: return; 551: } 552: 553: $this->observeCache = $this; 554: 555: if ($this->primary === null && $this->sqlBuilder->getSelect() === null) { 556: throw new Nette\InvalidStateException('Table with no primary key requires an explicit select clause.'); 557: } 558: 559: try { 560: $result = $this->query($this->getSql()); 561: 562: } catch (Nette\Database\DriverException $exception) { 563: if (!$this->sqlBuilder->getSelect() && $this->previousAccessedColumns) { 564: $this->previousAccessedColumns = false;
$query |
---|
496: } 497: 498: 499: /** 500: * Counts number of rows. 501: * @param string $column if it is not provided returns count of result rows, otherwise runs new sql counting query 502: */ 503: public function count(?string $column = null): int 504: { 505: if (!$column) { 506: $this->execute(); 507: return count($this->data); 508: } 509: 510: return (int) $this->aggregation("COUNT($column)", 'SUM');
189: throw new RuntimeException('Collection is readonly.'); 190: } 191: 192: /** 193: * Counts number of rows. 194: * 195: * @param ?string $column if it is not provided returns count of result rows, otherwise runs new sql counting query 196: */ 197: public function count(?string $column = null): int 198: { 199: return $this->data->count($column); 200: } 201: 202: /** 203: * Fetches all rows as associative array.
$column | null
|
---|
123: $connectedVariants = $orm->productVariants->findBy([ 124: 'eshop_productVariants.id' => $ids, 125: 'product.active' => true, 126: 'product:' . App\Model\Repository\Products::tableLang() . '.active' => true, 127: 'product:' . App\Model\Repository\Products::tableLang() . '.idLanguage.shortcut' => $locale, 128: ]) /* line 56 */; 129: $customizationSteps = new Theme\FrontendModule\CustomizationSteps() /* line 62 */; 130: $customizationSteps->emblem->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 5])->count() /* line 63 */; 131: $customizationSteps->label->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 6])->count() /* line 64 */; 132: $customizationSteps->cup->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 20])->count() /* line 65 */; 133: $customizationSteps->ribbon->isActive = (bool) $connectedVariants->where(['product:productsHaveOptions.option.idGroup' => 8])->count() /* line 66 */; 134: $customizationSteps->ownRibbonVariantText->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'potisk_stuhy', 'idOption.isUserSpecified' => false])->count() /* line 67 */; 135: $customizationSteps->ownLabelDesign->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'vlastni_text_na_stitku', 'idOption.isUserSpecified' => true])->count() /* line 68 */; 136: $customizationSteps->backSideOfMedal->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'zadni_emblem'])->first()?->allEshopProductValues->where(['idOptionValue !=' => 240])->count() /* line 69 */; 137: $customizationSteps->ownText->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['idOption.label' => 'vlastni_text', 'idOption.isUserSpecified' => true])->count() /* line 70 */;
56: {var $connectedVariants = $orm->productVariants->findBy([ 57: 'eshop_productVariants.id' => $ids, 58: 'product.active' => true, 59: 'product:' . App\Model\Repository\Products::tableLang() . '.active' => true, 60: 'product:' . App\Model\Repository\Products::tableLang() . '.idLanguage.shortcut' => $locale, 61: ])} 62: {var $customizationSteps = new Theme\FrontendModule\CustomizationSteps()} 63: {var $customizationSteps->emblem->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 5])->count()} 64: {var $customizationSteps->label->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 6])->count()} 65: {var $customizationSteps->cup->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 20])->count()} 66: {var $customizationSteps->ribbon->isActive = (bool) $connectedVariants->where(['product:productsHaveOptions.option.idGroup' => 8])->count()} 67: {var $customizationSteps->ownRibbonVariantText->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'potisk_stuhy', 'idOption.isUserSpecified' => false])->count()} 68: {var $customizationSteps->ownLabelDesign->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'vlastni_text_na_stitku', 'idOption.isUserSpecified' => true])->count()} 69: {var $customizationSteps->backSideOfMedal->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'zadni_emblem'])->first()?->allEshopProductValues->where(['idOptionValue !=' => 240])->count()} 70: {var $customizationSteps->ownText->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['idOption.label' => 'vlastni_text', 'idOption.isUserSpecified' => true])->count()}
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
250: } 251: 252: 253: /** 254: * @param string|\Closure|null $mod content-type name or modifier closure 255: * @internal 256: */ 257: public function renderToContentType($mod, ?string $block = null): void 258: { 259: $this->filter( 260: function () use ($block) { $this->render($block); }, 261: $mod, 262: static::CONTENT_TYPE, 263: "'$this->name'" 264: );
$block | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
249: return $referred; 250: } 251: 252: 253: /** 254: * @param string|\Closure|null $mod content-type name or modifier closure 255: * @internal 256: */ 257: public function renderToContentType($mod, ?string $block = null): void 258: { 259: $this->filter( 260: function () use ($block) { $this->render($block); }, 261: $mod, 262: static::CONTENT_TYPE, 263: "'$this->name'"
$function | |
---|---|
$mod | 'html'
|
$contentType | 'html'
|
$name | ''/var/www/garko.cz/data/www/garko.cz/theme/FrontendModule/templates/@eshop-variant-box.latte''
|
83: $this->createTemplate($useSpecificTemplate, ['variant' => $variant, 'variants' => $allVariants, 'locale' => $locale, 'forBasketItemId' => $forBasketItemId ?? NULL, 'orm' => $orm ?? null] + $this->params, 'include')->renderToContentType('html') /* line 46 */; 84: echo ' </div> 85: '; 86: $iterations++; 87: } 88: } else /* line 49 */ { 89: $iterations = 0; 90: foreach ($variants as $variant) /* line 50 */ { 91: echo ' <div class="uk-width-1-4@m uk-width-1-3@s uk-width-1-2"> 92: '; 93: $this->createTemplate('../@eshop-variant-box.latte', ['variant' => $variant, 'variants' => $variants, 'locale' => $locale, 'forBasketItemId' => $forBasketItemId ?? NULL, 'orm' => $orm ?? null] + $this->params, 'include')->renderToContentType('html') /* line 52 */; 94: echo ' </div> 95: '; 96: $iterations++; 97: }
42: <div class="uk-grid-small uk-grid-match" data-uk-grid> 43: {ifset $useSpecificTemplate} 44: {foreach $variants as $variant} 45: <div class="uk-width-1-4@m uk-width-1-3@s uk-width-1-2"> 46: {include $useSpecificTemplate, variant => $variant, variants => $allVariants, locale => $locale, forBasketItemId => $forBasketItemId ?? NULL, orm => $orm ?? null} 47: </div> 48: {/foreach} 49: {else} 50: {foreach $variants as $variant} 51: <div class="uk-width-1-4@m uk-width-1-3@s uk-width-1-2"> 52: {include '../@eshop-variant-box.latte', variant => $variant, variants => $variants, locale => $locale, forBasketItemId => $forBasketItemId ?? NULL, orm => $orm ?? null} 53: </div> 54: {/foreach} 55: {/ifset} 56: </div>
$mod | 'html'
|
---|
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
250: } 251: 252: 253: /** 254: * @param string|\Closure|null $mod content-type name or modifier closure 255: * @internal 256: */ 257: public function renderToContentType($mod, ?string $block = null): void 258: { 259: $this->filter( 260: function () use ($block) { $this->render($block); }, 261: $mod, 262: static::CONTENT_TYPE, 263: "'$this->name'" 264: );
$block | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
249: return $referred; 250: } 251: 252: 253: /** 254: * @param string|\Closure|null $mod content-type name or modifier closure 255: * @internal 256: */ 257: public function renderToContentType($mod, ?string $block = null): void 258: { 259: $this->filter( 260: function () use ($block) { $this->render($block); }, 261: $mod, 262: static::CONTENT_TYPE, 263: "'$this->name'"
$function | |
---|---|
$mod | 'html'
|
$contentType | 'html'
|
$name | ''/var/www/garko.cz/data/www/garko.cz/theme/FrontendModule/templates/Category/detail-container.latte''
|
284: 285: 286: /** {snippet itemsSnippet} on line 124 */ 287: public function blockItemsSnippet(array $ʟ_args): void 288: { 289: extract($this->params); 290: extract($ʟ_args); 291: unset($ʟ_args); 292: $this->global->snippetDriver->enter("itemsSnippet", 'static'); 293: try { 294: $this->createTemplate('detail-container.latte', $this->params, 'include')->renderToContentType('html') /* line 125 */; 295: } finally { 296: $this->global->snippetDriver->leave(); 297: } 298:
115: {*<a href="" class="filterTop"><i class="mdi mdi-menu-left"></i>Všechny kategorie</a>*} 116: <div class="filterPackContent"> 117: {control variantFilter} 118: </div> 119: </div> 120: </div> 121: </div> 122: <div class="uk-width-4-5@l"> 123: 124: {snippet itemsSnippet} 125: {include 'detail-container.latte'} 126: {/snippet} 127: {include '../@items-up.latte', 'goToAnchor' => null} 128: 129: </div>
$mod | 'html'
|
---|
299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name" 313: );
$ʟ_args | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
298: : ($this->blocks[self::LAYER_LOCAL][$name] ?? $this->blocks[self::LAYER_TOP][$name] ?? null); 299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name"
$function | |
---|---|
$mod | null
|
$contentType | 'html'
|
$name | 'block itemsSnippet'
|
258: $_tmp->render(); 259: echo ' </div> 260: </div> 261: </div> 262: </div> 263: <div class="uk-width-4-5@l"> 264: 265: <div id="'; 266: echo htmlspecialchars($this->global->snippetDriver->getHtmlId('itemsSnippet')); 267: echo '">'; 268: $this->renderBlock('itemsSnippet', [], null, 'snippet') /* line 124 */; 269: echo '</div> 270: '; 271: $this->createTemplate('../@items-up.latte', ['goToAnchor' => null] + $this->params, 'include')->renderToContentType('html') /* line 127 */; 272: echo '
114: <span class="filterClose uk-hidden@l"><i class="mdi mdi-close"></i></span> 115: {*<a href="" class="filterTop"><i class="mdi mdi-menu-left"></i>Všechny kategorie</a>*} 116: <div class="filterPackContent"> 117: {control variantFilter} 118: </div> 119: </div> 120: </div> 121: </div> 122: <div class="uk-width-4-5@l"> 123: 124: {snippet itemsSnippet} 125: {include 'detail-container.latte'} 126: {/snippet} 127: {include '../@items-up.latte', 'goToAnchor' => null} 128:
$name | 'itemsSnippet'
|
---|---|
$params | array (0)
|
$mod | null
|
$layer | 'snippet'
|
299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name" 313: );
$ʟ_args | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
298: : ($this->blocks[self::LAYER_LOCAL][$name] ?? $this->blocks[self::LAYER_TOP][$name] ?? null); 299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name"
$function | |
---|---|
$mod | 'html'
|
$contentType | 'html'
|
$name | 'block content'
|
176: 177: /** {block bodyStructure} on line 65 */ 178: public function blockBodyStructure(array $ʟ_args): void 179: { 180: extract($this->params); 181: extract($ʟ_args); 182: unset($ʟ_args); 183: echo "\n"; 184: $this->createTemplate('@header.latte', $this->params, 'include')->renderToContentType('html') /* line 67 */; 185: echo "\n"; 186: $this->renderBlock('content', [], 'html') /* line 69 */; 187: echo ' 188: '; 189: $this->createTemplate('@footer.latte', $this->params, 'include')->renderToContentType('html') /* line 71 */; 190: echo "\n";
59: <link n:ifset="$canonicalLink" rel="canonical" href="{$canonicalLink}"/> 60: {/ifset} 61: </head> 62: <body n:class="$bodyClass ? $bodyClass"> 63: {control scripts, 'body'} 64: 65: {block bodyStructure} 66: 67: {include '@header.latte'} 68: 69: {include block content} 70: 71: {include '@footer.latte'} 72: 73: {/block}
$name | 'content'
|
---|---|
$params | array (0)
|
$mod | 'html'
|
299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name" 313: );
$ʟ_args | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
298: : ($this->blocks[self::LAYER_LOCAL][$name] ?? $this->blocks[self::LAYER_TOP][$name] ?? null); 299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name"
$function | |
---|---|
$mod | null
|
$contentType | 'html'
|
$name | 'block bodyStructure'
|
126: } 127: echo ' </head> 128: <body'; 129: echo ($ʟ_tmp = array_filter([$bodyClass ? $bodyClass : null])) ? ' class="' . LR\Filters::escapeHtmlAttr(implode(" ", array_unique($ʟ_tmp))) . '"' : "" /* line 62 */; 130: echo '> 131: '; 132: /* line 63 */ $_tmp = $this->global->uiControl->getComponent("scripts"); 133: if ($_tmp instanceof Nette\Application\UI\Renderable) $_tmp->redrawControl(null, false); 134: $_tmp->render('body'); 135: echo "\n"; 136: $this->renderBlock('bodyStructure', get_defined_vars()) /* line 65 */; 137: echo ' 138: 139: '; 140: $this->createTemplate('@form-sent-window.latte', $this->params, 'include')->renderToContentType('html') /* line 75 */;
55: 56: {ifset block canonical} 57: {include block canonical} 58: {else} 59: <link n:ifset="$canonicalLink" rel="canonical" href="{$canonicalLink}"/> 60: {/ifset} 61: </head> 62: <body n:class="$bodyClass ? $bodyClass"> 63: {control scripts, 'body'} 64: 65: {block bodyStructure} 66: 67: {include '@header.latte'} 68: 69: {include block content}
$name | 'bodyStructure'
|
---|---|
$params |
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
193: 194: if ($this->referenceType === 'import') { 195: if ($this->parentName) { 196: throw new Latte\RuntimeException('Imported template cannot use {extends} or {layout}, use {import}'); 197: } 198: 199: } elseif ($this->parentName) { // extends 200: ob_start(function () {}); 201: $this->params = $this->main(); 202: ob_end_clean(); 203: $this->createTemplate($this->parentName, $this->params, 'extends')->render($block); 204: 205: } elseif ($block !== null) { // single block rendering 206: $this->renderBlock($block, $this->params); 207:
$block | null
|
---|
160: 161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) {
$block | null
|
---|
92: 93: /** 94: * Renders template to output. 95: * @param object|mixed[] $params 96: */ 97: public function render(string $name, $params = [], ?string $block = null): void 98: { 99: $template = $this->createTemplate($name, $this->processParams($params)); 100: $template->global->coreCaptured = false; 101: ($this->probe)($template); 102: $template->render($block); 103: } 104: 105: 106: /**
$block | null
|
---|
36: return $this->latte; 37: } 38: 39: 40: /** 41: * Renders template to output. 42: */ 43: public function render(?string $file = null, array $params = []): void 44: { 45: Nette\Utils\Arrays::toObject($params, $this); 46: $this->latte->render($file ?: $this->file, $this); 47: } 48: 49: 50: /**
$name | '/var/www/garko.cz/data/www/garko.cz/theme/FrontendModule/templates/Category/detail.latte'
|
---|---|
$params |
40: return $this->source; 41: } 42: 43: 44: /** 45: * Sends response to output. 46: */ 47: public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse): void 48: { 49: if ($this->source instanceof Nette\Application\UI\Template) { 50: $this->source->render(); 51: 52: } else { 53: echo $this->source; 54: }
161: 162: Arrays::invoke($this->onPresenter, $this, $this->presenter); 163: $response = $this->presenter->run(clone $request); 164: 165: if ($response instanceof Responses\ForwardResponse) { 166: $request = $response->getRequest(); 167: goto process; 168: } 169: 170: Arrays::invoke($this->onResponse, $this, $response); 171: $response->send($this->httpRequest, $this->httpResponse); 172: } 173: 174: 175: public function processException(\Throwable $e): void
$httpRequest | |
---|---|
$httpResponse |
80: } 81: 82: 83: /** 84: * Dispatch a HTTP request to a front controller. 85: */ 86: public function run(): void 87: { 88: try { 89: Arrays::invoke($this->onStartup, $this); 90: $this->processRequest($this->createInitialRequest()); 91: Arrays::invoke($this->onShutdown, $this); 92: 93: } catch (\Throwable $e) { 94: Arrays::invoke($this->onError, $this, $e);
$request |
---|
15: if ( array_key_exists('time_limit', $parameters)) { 16: @set_time_limit($parameters['time_limit']); 17: } 18: 19: @set_time_limit(300); 20: 21: if ( array_key_exists('memory_limit', $parameters)) { 22: @ini_set('memory_limit', $parameters['memory_limit'] . 'M'); 23: } 24: 25: $container->getByType(Application::class)->run(); 26:
PDOException #42000
File: .../garko.cz/vendor/nette/database/src/Database/ResultSet.php:78
68: $connection->getPdo()->{substr($queryString, 2)}(); 69: } elseif ($queryString !== null) { 70: $types = ['boolean' => PDO::PARAM_BOOL, 'integer' => PDO::PARAM_INT, 'resource' => PDO::PARAM_LOB, 'NULL' => PDO::PARAM_NULL]; 71: $this->pdoStatement = $connection->getPdo()->prepare($queryString); 72: foreach ($params as $key => $value) { 73: $type = gettype($value); 74: $this->pdoStatement->bindValue(is_int($key) ? $key + 1 : $key, $value, $types[$type] ?? PDO::PARAM_STR); 75: } 76: 77: $this->pdoStatement->setFetchMode(PDO::FETCH_ASSOC); 78: @$this->pdoStatement->execute(); // @ PHP generates warning when ATTR_ERRMODE = ERRMODE_EXCEPTION bug #73878 79: } 80: } catch (\PDOException $e) { 81: $e = $connection->getDriver()->convertException($e); 82: $e->queryString = $queryString;
68: $connection->getPdo()->{substr($queryString, 2)}(); 69: } elseif ($queryString !== null) { 70: $types = ['boolean' => PDO::PARAM_BOOL, 'integer' => PDO::PARAM_INT, 'resource' => PDO::PARAM_LOB, 'NULL' => PDO::PARAM_NULL]; 71: $this->pdoStatement = $connection->getPdo()->prepare($queryString); 72: foreach ($params as $key => $value) { 73: $type = gettype($value); 74: $this->pdoStatement->bindValue(is_int($key) ? $key + 1 : $key, $value, $types[$type] ?? PDO::PARAM_STR); 75: } 76: 77: $this->pdoStatement->setFetchMode(PDO::FETCH_ASSOC); 78: @$this->pdoStatement->execute(); // @ PHP generates warning when ATTR_ERRMODE = ERRMODE_EXCEPTION bug #73878 79: } 80: } catch (\PDOException $e) { 81: $e = $connection->getDriver()->convertException($e); 82: $e->queryString = $queryString;
223: 224: 225: /** 226: * Generates and executes SQL query. 227: * @param literal-string $sql 228: */ 229: public function query(string $sql, ...$params): ResultSet 230: { 231: [$this->sql, $params] = $this->preprocess($sql, ...$params); 232: try { 233: $result = new ResultSet($this, $this->sql, $params, $this->rowNormalizer); 234: } catch (PDOException $e) { 235: Arrays::invoke($this->onQuery, $this, $e); 236: throw $e; 237: }
$connection | |
---|---|
$queryString | |
$params | |
$normalizer |
80: return $this->connection->getInsertId($sequence); 81: } 82: 83: 84: /** 85: * Generates and executes SQL query. 86: * @param literal-string $sql 87: */ 88: public function query(string $sql, ...$params): ResultSet 89: { 90: return $this->connection->query($sql, ...$params); 91: } 92: 93: 94: /** @deprecated use query() */
$sql | |
---|---|
#1 | true
|
#2 | true
|
#3 | 'cs'
|
#4 | 8
|
601: 602: 603: protected function createGroupedSelectionInstance(string $table, string $column): GroupedSelection 604: { 605: return new GroupedSelection($this->explorer, $this->conventions, $table, $column, $this, $this->cache ? $this->cache->getStorage() : null); 606: } 607: 608: 609: protected function query(string $query): Nette\Database\ResultSet 610: { 611: return $this->explorer->query($query, ...$this->sqlBuilder->getParameters()); 612: } 613: 614: 615: protected function emptyResultSet(bool $clearCache = true, bool $deleteRererencedCache = true): void
$sql | |
---|---|
#1 | true
|
#2 | true
|
#3 | 'cs'
|
#4 | 8
|
550: return; 551: } 552: 553: $this->observeCache = $this; 554: 555: if ($this->primary === null && $this->sqlBuilder->getSelect() === null) { 556: throw new Nette\InvalidStateException('Table with no primary key requires an explicit select clause.'); 557: } 558: 559: try { 560: $result = $this->query($this->getSql()); 561: 562: } catch (Nette\Database\DriverException $exception) { 563: if (!$this->sqlBuilder->getSelect() && $this->previousAccessedColumns) { 564: $this->previousAccessedColumns = false;
$query |
---|
496: } 497: 498: 499: /** 500: * Counts number of rows. 501: * @param string $column if it is not provided returns count of result rows, otherwise runs new sql counting query 502: */ 503: public function count(?string $column = null): int 504: { 505: if (!$column) { 506: $this->execute(); 507: return count($this->data); 508: } 509: 510: return (int) $this->aggregation("COUNT($column)", 'SUM');
189: throw new RuntimeException('Collection is readonly.'); 190: } 191: 192: /** 193: * Counts number of rows. 194: * 195: * @param ?string $column if it is not provided returns count of result rows, otherwise runs new sql counting query 196: */ 197: public function count(?string $column = null): int 198: { 199: return $this->data->count($column); 200: } 201: 202: /** 203: * Fetches all rows as associative array.
$column | null
|
---|
123: $connectedVariants = $orm->productVariants->findBy([ 124: 'eshop_productVariants.id' => $ids, 125: 'product.active' => true, 126: 'product:' . App\Model\Repository\Products::tableLang() . '.active' => true, 127: 'product:' . App\Model\Repository\Products::tableLang() . '.idLanguage.shortcut' => $locale, 128: ]) /* line 56 */; 129: $customizationSteps = new Theme\FrontendModule\CustomizationSteps() /* line 62 */; 130: $customizationSteps->emblem->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 5])->count() /* line 63 */; 131: $customizationSteps->label->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 6])->count() /* line 64 */; 132: $customizationSteps->cup->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 20])->count() /* line 65 */; 133: $customizationSteps->ribbon->isActive = (bool) $connectedVariants->where(['product:productsHaveOptions.option.idGroup' => 8])->count() /* line 66 */; 134: $customizationSteps->ownRibbonVariantText->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'potisk_stuhy', 'idOption.isUserSpecified' => false])->count() /* line 67 */; 135: $customizationSteps->ownLabelDesign->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'vlastni_text_na_stitku', 'idOption.isUserSpecified' => true])->count() /* line 68 */; 136: $customizationSteps->backSideOfMedal->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'zadni_emblem'])->first()?->allEshopProductValues->where(['idOptionValue !=' => 240])->count() /* line 69 */; 137: $customizationSteps->ownText->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['idOption.label' => 'vlastni_text', 'idOption.isUserSpecified' => true])->count() /* line 70 */;
56: {var $connectedVariants = $orm->productVariants->findBy([ 57: 'eshop_productVariants.id' => $ids, 58: 'product.active' => true, 59: 'product:' . App\Model\Repository\Products::tableLang() . '.active' => true, 60: 'product:' . App\Model\Repository\Products::tableLang() . '.idLanguage.shortcut' => $locale, 61: ])} 62: {var $customizationSteps = new Theme\FrontendModule\CustomizationSteps()} 63: {var $customizationSteps->emblem->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 5])->count()} 64: {var $customizationSteps->label->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 6])->count()} 65: {var $customizationSteps->cup->isActive = (bool) $connectedVariants->where([':variantValues.optionValue.option.idGroup' => 20])->count()} 66: {var $customizationSteps->ribbon->isActive = (bool) $connectedVariants->where(['product:productsHaveOptions.option.idGroup' => 8])->count()} 67: {var $customizationSteps->ownRibbonVariantText->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'potisk_stuhy', 'idOption.isUserSpecified' => false])->count()} 68: {var $customizationSteps->ownLabelDesign->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'vlastni_text_na_stitku', 'idOption.isUserSpecified' => true])->count()} 69: {var $customizationSteps->backSideOfMedal->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['option.label' => 'zadni_emblem'])->first()?->allEshopProductValues->where(['idOptionValue !=' => 240])->count()} 70: {var $customizationSteps->ownText->isActive = (bool) $variant->product->allEshopProductsHaveOptions->where(['idOption.label' => 'vlastni_text', 'idOption.isUserSpecified' => true])->count()}
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
250: } 251: 252: 253: /** 254: * @param string|\Closure|null $mod content-type name or modifier closure 255: * @internal 256: */ 257: public function renderToContentType($mod, ?string $block = null): void 258: { 259: $this->filter( 260: function () use ($block) { $this->render($block); }, 261: $mod, 262: static::CONTENT_TYPE, 263: "'$this->name'" 264: );
$block | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
249: return $referred; 250: } 251: 252: 253: /** 254: * @param string|\Closure|null $mod content-type name or modifier closure 255: * @internal 256: */ 257: public function renderToContentType($mod, ?string $block = null): void 258: { 259: $this->filter( 260: function () use ($block) { $this->render($block); }, 261: $mod, 262: static::CONTENT_TYPE, 263: "'$this->name'"
$function | |
---|---|
$mod | 'html'
|
$contentType | 'html'
|
$name | ''/var/www/garko.cz/data/www/garko.cz/theme/FrontendModule/templates/@eshop-variant-box.latte''
|
83: $this->createTemplate($useSpecificTemplate, ['variant' => $variant, 'variants' => $allVariants, 'locale' => $locale, 'forBasketItemId' => $forBasketItemId ?? NULL, 'orm' => $orm ?? null] + $this->params, 'include')->renderToContentType('html') /* line 46 */; 84: echo ' </div> 85: '; 86: $iterations++; 87: } 88: } else /* line 49 */ { 89: $iterations = 0; 90: foreach ($variants as $variant) /* line 50 */ { 91: echo ' <div class="uk-width-1-4@m uk-width-1-3@s uk-width-1-2"> 92: '; 93: $this->createTemplate('../@eshop-variant-box.latte', ['variant' => $variant, 'variants' => $variants, 'locale' => $locale, 'forBasketItemId' => $forBasketItemId ?? NULL, 'orm' => $orm ?? null] + $this->params, 'include')->renderToContentType('html') /* line 52 */; 94: echo ' </div> 95: '; 96: $iterations++; 97: }
42: <div class="uk-grid-small uk-grid-match" data-uk-grid> 43: {ifset $useSpecificTemplate} 44: {foreach $variants as $variant} 45: <div class="uk-width-1-4@m uk-width-1-3@s uk-width-1-2"> 46: {include $useSpecificTemplate, variant => $variant, variants => $allVariants, locale => $locale, forBasketItemId => $forBasketItemId ?? NULL, orm => $orm ?? null} 47: </div> 48: {/foreach} 49: {else} 50: {foreach $variants as $variant} 51: <div class="uk-width-1-4@m uk-width-1-3@s uk-width-1-2"> 52: {include '../@eshop-variant-box.latte', variant => $variant, variants => $variants, locale => $locale, forBasketItemId => $forBasketItemId ?? NULL, orm => $orm ?? null} 53: </div> 54: {/foreach} 55: {/ifset} 56: </div>
$mod | 'html'
|
---|
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
250: } 251: 252: 253: /** 254: * @param string|\Closure|null $mod content-type name or modifier closure 255: * @internal 256: */ 257: public function renderToContentType($mod, ?string $block = null): void 258: { 259: $this->filter( 260: function () use ($block) { $this->render($block); }, 261: $mod, 262: static::CONTENT_TYPE, 263: "'$this->name'" 264: );
$block | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
249: return $referred; 250: } 251: 252: 253: /** 254: * @param string|\Closure|null $mod content-type name or modifier closure 255: * @internal 256: */ 257: public function renderToContentType($mod, ?string $block = null): void 258: { 259: $this->filter( 260: function () use ($block) { $this->render($block); }, 261: $mod, 262: static::CONTENT_TYPE, 263: "'$this->name'"
$function | |
---|---|
$mod | 'html'
|
$contentType | 'html'
|
$name | ''/var/www/garko.cz/data/www/garko.cz/theme/FrontendModule/templates/Category/detail-container.latte''
|
284: 285: 286: /** {snippet itemsSnippet} on line 124 */ 287: public function blockItemsSnippet(array $ʟ_args): void 288: { 289: extract($this->params); 290: extract($ʟ_args); 291: unset($ʟ_args); 292: $this->global->snippetDriver->enter("itemsSnippet", 'static'); 293: try { 294: $this->createTemplate('detail-container.latte', $this->params, 'include')->renderToContentType('html') /* line 125 */; 295: } finally { 296: $this->global->snippetDriver->leave(); 297: } 298:
115: {*<a href="" class="filterTop"><i class="mdi mdi-menu-left"></i>Všechny kategorie</a>*} 116: <div class="filterPackContent"> 117: {control variantFilter} 118: </div> 119: </div> 120: </div> 121: </div> 122: <div class="uk-width-4-5@l"> 123: 124: {snippet itemsSnippet} 125: {include 'detail-container.latte'} 126: {/snippet} 127: {include '../@items-up.latte', 'goToAnchor' => null} 128: 129: </div>
$mod | 'html'
|
---|
299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name" 313: );
$ʟ_args | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
298: : ($this->blocks[self::LAYER_LOCAL][$name] ?? $this->blocks[self::LAYER_TOP][$name] ?? null); 299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name"
$function | |
---|---|
$mod | null
|
$contentType | 'html'
|
$name | 'block itemsSnippet'
|
258: $_tmp->render(); 259: echo ' </div> 260: </div> 261: </div> 262: </div> 263: <div class="uk-width-4-5@l"> 264: 265: <div id="'; 266: echo htmlspecialchars($this->global->snippetDriver->getHtmlId('itemsSnippet')); 267: echo '">'; 268: $this->renderBlock('itemsSnippet', [], null, 'snippet') /* line 124 */; 269: echo '</div> 270: '; 271: $this->createTemplate('../@items-up.latte', ['goToAnchor' => null] + $this->params, 'include')->renderToContentType('html') /* line 127 */; 272: echo '
114: <span class="filterClose uk-hidden@l"><i class="mdi mdi-close"></i></span> 115: {*<a href="" class="filterTop"><i class="mdi mdi-menu-left"></i>Všechny kategorie</a>*} 116: <div class="filterPackContent"> 117: {control variantFilter} 118: </div> 119: </div> 120: </div> 121: </div> 122: <div class="uk-width-4-5@l"> 123: 124: {snippet itemsSnippet} 125: {include 'detail-container.latte'} 126: {/snippet} 127: {include '../@items-up.latte', 'goToAnchor' => null} 128:
$name | 'itemsSnippet'
|
---|---|
$params | array (0)
|
$mod | null
|
$layer | 'snippet'
|
299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name" 313: );
$ʟ_args | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
298: : ($this->blocks[self::LAYER_LOCAL][$name] ?? $this->blocks[self::LAYER_TOP][$name] ?? null); 299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name"
$function | |
---|---|
$mod | 'html'
|
$contentType | 'html'
|
$name | 'block content'
|
176: 177: /** {block bodyStructure} on line 65 */ 178: public function blockBodyStructure(array $ʟ_args): void 179: { 180: extract($this->params); 181: extract($ʟ_args); 182: unset($ʟ_args); 183: echo "\n"; 184: $this->createTemplate('@header.latte', $this->params, 'include')->renderToContentType('html') /* line 67 */; 185: echo "\n"; 186: $this->renderBlock('content', [], 'html') /* line 69 */; 187: echo ' 188: '; 189: $this->createTemplate('@footer.latte', $this->params, 'include')->renderToContentType('html') /* line 71 */; 190: echo "\n";
59: <link n:ifset="$canonicalLink" rel="canonical" href="{$canonicalLink}"/> 60: {/ifset} 61: </head> 62: <body n:class="$bodyClass ? $bodyClass"> 63: {control scripts, 'body'} 64: 65: {block bodyStructure} 66: 67: {include '@header.latte'} 68: 69: {include block content} 70: 71: {include '@footer.latte'} 72: 73: {/block}
$name | 'content'
|
---|---|
$params | array (0)
|
$mod | 'html'
|
299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name" 313: );
$ʟ_args | null
|
---|
354: $block->functions = array_merge($block->functions, $functions); 355: } 356: 357: 358: /** 359: * @param string|\Closure|null $mod content-type name or modifier closure 360: */ 361: private function filter(callable $function, $mod, string $contentType, string $name): void 362: { 363: if ($mod === null || $mod === $contentType) { 364: $function(); 365: 366: } elseif ($mod instanceof \Closure) { 367: echo $mod($this->capture($function), $contentType); 368:
298: : ($this->blocks[self::LAYER_LOCAL][$name] ?? $this->blocks[self::LAYER_TOP][$name] ?? null); 299: 300: if (!$block) { 301: $hint = ($t = Latte\Helpers::getSuggestion($this->getBlockNames($layer), $name)) 302: ? ", did you mean '$t'?" 303: : '.'; 304: $name = $layer ? "$layer $name" : $name; 305: throw new Latte\RuntimeException("Cannot include undefined block '$name'$hint"); 306: } 307: 308: $this->filter( 309: function () use ($block, $params): void { reset($block->functions)($params); }, 310: $mod, 311: $block->contentType, 312: "block $name"
$function | |
---|---|
$mod | null
|
$contentType | 'html'
|
$name | 'block bodyStructure'
|
126: } 127: echo ' </head> 128: <body'; 129: echo ($ʟ_tmp = array_filter([$bodyClass ? $bodyClass : null])) ? ' class="' . LR\Filters::escapeHtmlAttr(implode(" ", array_unique($ʟ_tmp))) . '"' : "" /* line 62 */; 130: echo '> 131: '; 132: /* line 63 */ $_tmp = $this->global->uiControl->getComponent("scripts"); 133: if ($_tmp instanceof Nette\Application\UI\Renderable) $_tmp->redrawControl(null, false); 134: $_tmp->render('body'); 135: echo "\n"; 136: $this->renderBlock('bodyStructure', get_defined_vars()) /* line 65 */; 137: echo ' 138: 139: '; 140: $this->createTemplate('@form-sent-window.latte', $this->params, 'include')->renderToContentType('html') /* line 75 */;
55: 56: {ifset block canonical} 57: {include block canonical} 58: {else} 59: <link n:ifset="$canonicalLink" rel="canonical" href="{$canonicalLink}"/> 60: {/ifset} 61: </head> 62: <body n:class="$bodyClass ? $bodyClass"> 63: {control scripts, 'body'} 64: 65: {block bodyStructure} 66: 67: {include '@header.latte'} 68: 69: {include block content}
$name | 'bodyStructure'
|
---|---|
$params |
161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) { 175: while (ob_get_level() > $level) {
193: 194: if ($this->referenceType === 'import') { 195: if ($this->parentName) { 196: throw new Latte\RuntimeException('Imported template cannot use {extends} or {layout}, use {import}'); 197: } 198: 199: } elseif ($this->parentName) { // extends 200: ob_start(function () {}); 201: $this->params = $this->main(); 202: ob_end_clean(); 203: $this->createTemplate($this->parentName, $this->params, 'extends')->render($block); 204: 205: } elseif ($block !== null) { // single block rendering 206: $this->renderBlock($block, $this->params); 207:
$block | null
|
---|
160: 161: /** 162: * Renders template. 163: * @internal 164: */ 165: public function render(?string $block = null): void 166: { 167: $level = ob_get_level(); 168: try { 169: $this->prepare(); 170: if (!$this->doRender($block)) { 171: $this->main(); 172: } 173: 174: } catch (\Throwable $e) {
$block | null
|
---|
92: 93: /** 94: * Renders template to output. 95: * @param object|mixed[] $params 96: */ 97: public function render(string $name, $params = [], ?string $block = null): void 98: { 99: $template = $this->createTemplate($name, $this->processParams($params)); 100: $template->global->coreCaptured = false; 101: ($this->probe)($template); 102: $template->render($block); 103: } 104: 105: 106: /**
$block | null
|
---|
36: return $this->latte; 37: } 38: 39: 40: /** 41: * Renders template to output. 42: */ 43: public function render(?string $file = null, array $params = []): void 44: { 45: Nette\Utils\Arrays::toObject($params, $this); 46: $this->latte->render($file ?: $this->file, $this); 47: } 48: 49: 50: /**
$name | '/var/www/garko.cz/data/www/garko.cz/theme/FrontendModule/templates/Category/detail.latte'
|
---|---|
$params |
40: return $this->source; 41: } 42: 43: 44: /** 45: * Sends response to output. 46: */ 47: public function send(Nette\Http\IRequest $httpRequest, Nette\Http\IResponse $httpResponse): void 48: { 49: if ($this->source instanceof Nette\Application\UI\Template) { 50: $this->source->render(); 51: 52: } else { 53: echo $this->source; 54: }
161: 162: Arrays::invoke($this->onPresenter, $this, $this->presenter); 163: $response = $this->presenter->run(clone $request); 164: 165: if ($response instanceof Responses\ForwardResponse) { 166: $request = $response->getRequest(); 167: goto process; 168: } 169: 170: Arrays::invoke($this->onResponse, $this, $response); 171: $response->send($this->httpRequest, $this->httpResponse); 172: } 173: 174: 175: public function processException(\Throwable $e): void
$httpRequest | |
---|---|
$httpResponse |
80: } 81: 82: 83: /** 84: * Dispatch a HTTP request to a front controller. 85: */ 86: public function run(): void 87: { 88: try { 89: Arrays::invoke($this->onStartup, $this); 90: $this->processRequest($this->createInitialRequest()); 91: Arrays::invoke($this->onShutdown, $this); 92: 93: } catch (\Throwable $e) { 94: Arrays::invoke($this->onError, $this, $e);
$request |
---|
15: if ( array_key_exists('time_limit', $parameters)) { 16: @set_time_limit($parameters['time_limit']); 17: } 18: 19: @set_time_limit(300); 20: 21: if ( array_key_exists('memory_limit', $parameters)) { 22: @ini_set('memory_limit', $parameters['memory_limit'] . 'M'); 23: } 24: 25: $container->getByType(Application::class)->run(); 26:
Note: the last muted error may have nothing to do with the thrown exception.
.../nette/caching/src/Caching/Storages/FileStorage.php:306
296: } 297: } 298: } 299: 300: 301: /** 302: * Reads cache data from disk. 303: */ 304: protected function readMetaAndLock(string $file, int $lock): ?array 305: { 306: $handle = @fopen($file, 'r+b'); // @ - file may not exist 307: if (!$handle) { 308: return null; 309: } 310:
REDIRECT_REDIRECT_UNIQUE_ID | 'Z47PHPJXW0JtEd6YSkO8-QAAAAo'
|
---|---|
REDIRECT_PERL5LIB | '/usr/share/awstats/lib:/usr/share/awstats/plugins'
|
HTTP_HOST | 'www.garko.cz'
|
HTTP_X_FORWARDED_PROTO | 'http'
|
HTTP_X_FORWARDED_PORT | '80'
|
CONTEXT_DOCUMENT_ROOT | '/var/www/php-bin-isp-php82/garko.cz/garko.cz/'
|
HTTP_USER_AGENT | 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)'
|
PHP_INI_SCAN_DIR | '/var/www/garko.cz/data/php-bin-isp-php82/garko.cz:'
|
SERVER_ADMIN | 'webmaster@garko.cz'
|
REDIRECT_UNIQUE_ID | 'Z47PHPJXW0JtEd6YSkO8-QAAAAo'
|
REDIRECT_URL | '/index.php'
|
PHPRC | '/var/www/garko.cz/data/php-bin-isp-php82'
|
CONTEXT_PREFIX | '/php-bin/'
|
SERVER_PORT | 80
|
SERVER_NAME | 'www.garko.cz'
|
QUERY_STRING | ''
|
SCRIPT_FILENAME | '/var/www/garko.cz/data/www/garko.cz/index.php'
|
PWD | |
HTTP_ACCEPT | '*/*'
|
REDIRECT_STATUS | '200'
|
REDIRECT_REDIRECT_PERL5LIB | '/usr/share/awstats/lib:/usr/share/awstats/plugins'
|
REQUEST_METHOD | 'GET'
|
SERVER_SIGNATURE | ''
|
REDIRECT_HANDLER | 'application/x-httpd-php5'
|
SCRIPT_NAME | '/index.php'
|
HTTP_CONNECTION | 'close'
|
REMOTE_PORT | '40136'
|
UNIQUE_ID | 'Z47PHPJXW0JtEd6YSkO8-QAAAAo'
|
PERL5LIB | '/usr/share/awstats/lib:/usr/share/awstats/plugins'
|
DOCUMENT_ROOT | '/var/www/garko.cz/data/www/garko.cz'
|
SHLVL | '0'
|
SERVER_PROTOCOL | 'HTTP/1.0'
|
REQUEST_URI | '/bowling/diplomy/strana-38'
|
PATH | '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin'
|
SERVER_ADDR | '127.0.0.1'
|
GATEWAY_INTERFACE | 'CGI/1.1'
|
HTTP_ACCEPT_ENCODING | 'gzip, br, zstd, deflate'
|
REDIRECT_REDIRECT_STATUS | '200'
|
REQUEST_SCHEME | 'http'
|
REMOTE_ADDR | '3.145.101.119'
|
SERVER_SOFTWARE | 'Apache/2.4.37 (AlmaLinux) mpm-itk/2.4.7-04 OpenSSL/1.1.1k PHP/7.2.24'
|
ORIG_SCRIPT_FILENAME | '/var/www/php-bin-isp-php82/garko.cz/garko.cz/php'
|
ORIG_PATH_INFO | '/index.php'
|
ORIG_PATH_TRANSLATED | '/var/www/garko.cz/data/www/garko.cz/index.php'
|
ORIG_SCRIPT_NAME | '/php-bin/php'
|
PHP_SELF | '/index.php'
|
REQUEST_TIME_FLOAT | 1737412380.682454
|
REQUEST_TIME | 1737412380
|
HTTPS | 'Off'
|
__NF | Nette Session |
---|
layout | |
---|---|
shippingHolydays | |
Basket | |
Eshop | |
Nette.Http.UserStorage/ | null
|
antispam | |
Nette\Forms\Controls\CsrfProtection | |
favorite | null
|
TWISTO_PATH | '/var/www/garko.cz/data/www/garko.cz/libs/twisto/Twisto/'
|
---|---|
APP_DIR | '/var/www/garko.cz/data/www/garko.cz/App'
|
BZip2 Support | Enabled |
Stream Wrapper support | compress.bzip2:// |
Stream Filter support | bzip2.decompress, bzip2.compress |
BZip2 Version | 1.0.6, 6-Sept-2010 |
Calendar support | enabled |
Directive | Local Value | Master Value |
---|---|---|
cgi.check_shebang_line | On | On |
cgi.discard_path | Off | Off |
cgi.fix_pathinfo | On | On |
cgi.force_redirect | On | On |
cgi.nph | Off | Off |
cgi.redirect_status_env | no value | no value |
cgi.rfc2616_headers | Off | Off |
fastcgi.logging | On | On |
PHP Version | 8.2.14 |
Directive | Local Value | Master Value |
---|---|---|
allow_url_fopen | On | On |
allow_url_include | Off | Off |
arg_separator.input | & | & |
arg_separator.output | & | & |
auto_append_file | no value | no value |
auto_globals_jit | On | On |
auto_prepend_file | no value | no value |
browscap | no value | no value |
default_charset | UTF-8 | UTF-8 |
default_mimetype | text/html | text/html |
disable_classes | no value | no value |
disable_functions | no value | no value |
display_errors | Off | Off |
display_startup_errors | Off | Off |
doc_root | no value | no value |
docref_ext | no value | no value |
docref_root | no value | no value |
enable_dl | Off | Off |
enable_post_data_reading | On | On |
error_append_string | no value | no value |
error_log | no value | no value |
error_log_mode | 0644 | 0644 |
error_prepend_string | no value | no value |
error_reporting | 32767 | 22527 |
expose_php | On | On |
extension_dir | /opt/php82/lib/php/modules | /opt/php82/lib/php/modules |
fiber.stack_size | no value | no value |
file_uploads | On | On |
hard_timeout | 2 | 2 |
highlight.comment | #998; font-style: italic | #FF8000 |
highlight.default | #000 | #0000BB |
highlight.html | #06B | #000000 |
highlight.keyword | #D24; font-weight: bold | #007700 |
highlight.string | #080 | #DD0000 |
html_errors | Off | On |
ignore_repeated_errors | Off | Off |
ignore_repeated_source | Off | Off |
ignore_user_abort | Off | Off |
implicit_flush | Off | Off |
include_path | .:/opt/php82/share/pear | .:/opt/php82/share/pear |
input_encoding | no value | no value |
internal_encoding | no value | no value |
log_errors | Off | On |
mail.add_x_header | On | On |
mail.force_extra_parameters | no value | no value |
mail.log | no value | no value |
mail.mixed_lf_and_crlf | Off | Off |
max_execution_time | 300 | 30 |
max_file_uploads | 20 | 20 |
max_input_nesting_level | 64 | 64 |
max_input_time | 60 | 60 |
max_input_vars | 1000 | 1000 |
max_multipart_body_parts | -1 | -1 |
memory_limit | 4000M | 128M |
open_basedir | no value | no value |
output_buffering | 4096 | 4096 |
output_encoding | no value | no value |
output_handler | no value | no value |
post_max_size | 8M | 8M |
precision | 14 | 14 |
realpath_cache_size | 4096K | 4096K |
realpath_cache_ttl | 120 | 120 |
register_argc_argv | Off | Off |
report_memleaks | On | On |
report_zend_debug | Off | Off |
request_order | GP | GP |
sendmail_from | no value | no value |
sendmail_path | /usr/sbin/sendmail -t -i -f webmaster@garko.cz | /usr/sbin/sendmail -t -i -f webmaster@garko.cz |
serialize_precision | 17 | 17 |
short_open_tag | On | On |
SMTP | localhost | localhost |
smtp_port | 25 | 25 |
sys_temp_dir | no value | no value |
syslog.facility | LOG_USER | LOG_USER |
syslog.filter | no-ctrl | no-ctrl |
syslog.ident | php | php |
unserialize_callback_func | no value | no value |
upload_max_filesize | 2M | 2M |
upload_tmp_dir | /var/www/garko.cz/data/bin-tmp/ | /var/www/garko.cz/data/bin-tmp/ |
user_dir | no value | no value |
user_ini.cache_ttl | 300 | 300 |
user_ini.filename | .user.ini | .user.ini |
variables_order | GPCS | GPCS |
xmlrpc_error_number | 0 | 0 |
xmlrpc_errors | Off | Off |
zend.assertions | 1 | 1 |
zend.detect_unicode | On | On |
zend.enable_gc | On | On |
zend.exception_ignore_args | Off | Off |
zend.exception_string_param_max_len | 15 | 15 |
zend.multibyte | Off | Off |
zend.script_encoding | no value | no value |
zend.signal_check | Off | Off |
ctype functions | enabled |
cURL support | enabled |
cURL Information | 7.61.1 |
Age | 4 |
Features | |
AsynchDNS | Yes |
CharConv | No |
Debug | No |
GSS-Negotiate | No |
IDN | Yes |
IPv6 | Yes |
krb4 | No |
Largefile | Yes |
libz | Yes |
NTLM | Yes |
NTLMWB | Yes |
SPNEGO | Yes |
SSL | Yes |
SSPI | No |
TLS-SRP | Yes |
HTTP2 | Yes |
GSSAPI | Yes |
KERBEROS5 | Yes |
UNIX_SOCKETS | Yes |
PSL | Yes |
HTTPS_PROXY | Yes |
MULTI_SSL | No |
BROTLI | Yes |
Protocols | dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp |
Host | x86_64-redhat-linux-gnu |
SSL Version | OpenSSL/1.1.1k |
ZLib Version | 1.2.11 |
libSSH Version | libssh/0.9.6/openssl/zlib |
Directive | Local Value | Master Value |
---|---|---|
curl.cainfo | no value | no value |
date/time support | enabled |
timelib version | 2022.10 |
"Olson" Timezone Database Version | 2023.3 |
Timezone Database | internal |
Default timezone | Europe/Prague |
Directive | Local Value | Master Value |
---|---|---|
date.default_latitude | 31.7667 | 31.7667 |
date.default_longitude | 35.2333 | 35.2333 |
date.sunrise_zenith | 90.833333 | 90.833333 |
date.sunset_zenith | 90.833333 | 90.833333 |
date.timezone | Europe/Prague | Europe/Prague |
DOM/XML | enabled |
DOM/XML API Version | 20031129 |
libxml Version | 2.9.7 |
HTML Support | enabled |
XPath Support | enabled |
XPointer Support | enabled |
Schema Support | enabled |
RelaxNG Support | enabled |
EXIF Support | enabled |
Supported EXIF Version | 0220 |
Supported filetypes | JPEG, TIFF |
Multibyte decoding support using mbstring | enabled |
Extended EXIF tag formats | Canon, Casio, Fujifilm, Nikon, Olympus, Samsung, Panasonic, DJI, Sony, Pentax, Minolta, Sigma, Foveon, Kyocera, Ricoh, AGFA, Epson |
Directive | Local Value | Master Value |
---|---|---|
exif.decode_jis_intel | JIS | JIS |
exif.decode_jis_motorola | JIS | JIS |
exif.decode_unicode_intel | UCS-2LE | UCS-2LE |
exif.decode_unicode_motorola | UCS-2BE | UCS-2BE |
exif.encode_jis | no value | no value |
exif.encode_unicode | ISO-8859-15 | ISO-8859-15 |
fileinfo support | enabled |
libmagic | 540 |
Input Validation and Filtering | enabled |
Directive | Local Value | Master Value |
---|---|---|
filter.default | unsafe_raw | unsafe_raw |
filter.default_flags | no value | no value |
FTP support | enabled |
FTPS support | enabled |
GD Support | enabled |
GD Version | bundled (2.1.0 compatible) |
FreeType Support | enabled |
FreeType Linkage | with freetype |
FreeType Version | 2.9.1 |
GIF Read Support | enabled |
GIF Create Support | enabled |
JPEG Support | enabled |
libJPEG Version | 6b |
PNG Support | enabled |
libPNG Version | 1.6.34 |
WBMP Support | enabled |
XPM Support | enabled |
libXpm Version | 30411 |
XBM Support | enabled |
WebP Support | enabled |
BMP Support | enabled |
TGA Read Support | enabled |
Directive | Local Value | Master Value |
---|---|---|
gd.jpeg_ignore_warning | On | On |
GetText Support | enabled |
gmp support | enabled |
GMP version | 6.1.2 |
hash support | enabled |
Hashing Engines | md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b crc32c fnv132 fnv1a32 fnv164 fnv1a64 joaat murmur3a murmur3c murmur3f xxh32 xxh64 xxh3 xxh128 haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 |
MHASH support | Enabled |
MHASH API Version | Emulated Support |
iconv support | enabled |
iconv implementation | glibc |
iconv library version | 2.28 |
Directive | Local Value | Master Value |
---|---|---|
iconv.input_encoding | no value | no value |
iconv.internal_encoding | no value | no value |
iconv.output_encoding | no value | no value |
Internationalization support | enabled |
---|---|
ICU version | 60.3 |
ICU Data version | 60.3 |
ICU TZData version | 2019a |
ICU Unicode version | 10.0 |
Directive | Local Value | Master Value |
---|---|---|
intl.default_locale | no value | no value |
intl.error_level | 0 | 0 |
intl.use_exceptions | Off | Off |
json support | enabled |
libXML support | active |
libXML Compiled Version | 2.9.7 |
libXML Loaded Version | 20907 |
libXML streams | enabled |
Multibyte Support | enabled |
Multibyte string engine | libmbfl |
HTTP input encoding translation | disabled |
libmbfl version | 1.3.2 |
mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. |
---|
Multibyte (japanese) regex support | enabled |
Multibyte regex (oniguruma) version | 6.8.2 |
Directive | Local Value | Master Value |
---|---|---|
mbstring.detect_order | no value | no value |
mbstring.encoding_translation | Off | Off |
mbstring.http_input | no value | no value |
mbstring.http_output | no value | no value |
mbstring.http_output_conv_mimetypes | ^(text/|application/xhtml\+xml) | ^(text/|application/xhtml\+xml) |
mbstring.internal_encoding | no value | no value |
mbstring.language | neutral | neutral |
mbstring.regex_retry_limit | 1000000 | 1000000 |
mbstring.regex_stack_limit | 100000 | 100000 |
mbstring.strict_detection | Off | Off |
mbstring.substitute_character | no value | no value |
memcache support | enabled |
---|---|
Version | 8.2 |
Directive | Local Value | Master Value |
---|---|---|
memcache.allow_failover | 1 | 1 |
memcache.chunk_size | 32768 | 32768 |
memcache.compress_threshold | 20000 | 20000 |
memcache.default_port | 11211 | 11211 |
memcache.hash_function | crc32 | crc32 |
memcache.hash_strategy | consistent | consistent |
memcache.lock_timeout | 15 | 15 |
memcache.max_failover_attempts | 20 | 20 |
memcache.prefix_host_key | Off | Off |
memcache.prefix_host_key_remove_subdomain | Off | Off |
memcache.prefix_host_key_remove_www | On | On |
memcache.prefix_static_key | no value | no value |
memcache.protocol | ascii | ascii |
memcache.redundancy | 1 | 1 |
memcache.session_prefix_host_key | Off | Off |
memcache.session_prefix_host_key_remove_subdomain | Off | Off |
memcache.session_prefix_host_key_remove_www | On | On |
memcache.session_prefix_static_key | no value | no value |
memcache.session_redundancy | 2 | 2 |
memcache.session_save_path | no value | no value |
MysqlI Support | enabled |
---|---|
Client API library version | mysqlnd 8.2.14 |
Active Persistent Links | 0 |
Inactive Persistent Links | 0 |
Active Links | 0 |
Directive | Local Value | Master Value |
---|---|---|
mysqli.allow_local_infile | Off | Off |
mysqli.allow_persistent | On | On |
mysqli.default_host | no value | no value |
mysqli.default_port | 3306 | 3306 |
mysqli.default_pw | no value | no value |
mysqli.default_socket | /var/lib/mysql/mysql.sock | /var/lib/mysql/mysql.sock |
mysqli.default_user | no value | no value |
mysqli.local_infile_directory | no value | no value |
mysqli.max_links | Unlimited | Unlimited |
mysqli.max_persistent | Unlimited | Unlimited |
mysqli.rollback_on_cached_plink | Off | Off |
mysqlnd | enabled |
---|---|
Version | mysqlnd 8.2.14 |
Compression | supported |
core SSL | supported |
extended SSL | supported |
Command buffer size | 4096 |
Read buffer size | 32768 |
Read timeout | 86400 |
Collecting statistics | Yes |
Collecting memory statistics | No |
Tracing | n/a |
Loaded plugins | mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password |
API Extensions | mysqli,pdo_mysql |
OpenSSL support | enabled |
OpenSSL Library Version | OpenSSL 1.1.1k FIPS 25 Mar 2021 |
OpenSSL Header Version | OpenSSL 1.1.1k FIPS 25 Mar 2021 |
Openssl default config | /etc/pki/tls/openssl.cnf |
Directive | Local Value | Master Value |
---|---|---|
openssl.cafile | no value | no value |
openssl.capath | no value | no value |
pcntl support | enabled |
---|
PCRE (Perl Compatible Regular Expressions) Support | enabled |
PCRE Library Version | 10.40 2022-04-14 |
PCRE Unicode Version | 14.0.0 |
PCRE JIT Support | enabled |
PCRE JIT Target | x86 64bit (little endian + unaligned) |
Directive | Local Value | Master Value |
---|---|---|
pcre.backtrack_limit | 1000000 | 1000000 |
pcre.jit | On | On |
pcre.recursion_limit | 100000 | 100000 |
PDO support | enabled |
---|---|
PDO drivers | mysql, sqlite |
PDO Driver for MySQL | enabled |
---|---|
Client API version | mysqlnd 8.2.14 |
Directive | Local Value | Master Value |
---|---|---|
pdo_mysql.default_socket | /var/lib/mysql/mysql.sock | /var/lib/mysql/mysql.sock |
PDO Driver for SQLite 3.x | enabled |
---|---|
SQLite Library | 3.26.0 |
Phar: PHP Archive support | enabled |
---|---|
Phar API version | 1.1.1 |
Phar-based phar archives | enabled |
Tar-based phar archives | enabled |
ZIP-based phar archives | enabled |
gzip compression | enabled |
bzip2 compression | enabled |
Native OpenSSL support | enabled |
Phar based on pear/PHP_Archive, original concept by Davey Shafik. Phar fully realized by Gregory Beaver and Marcus Boerger. Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle. |
Directive | Local Value | Master Value |
---|---|---|
phar.cache_list | no value | no value |
phar.readonly | On | On |
phar.require_hash | On | On |
Version | 8.2.14 |
Readline Support | enabled |
---|---|
Readline library | EditLine wrapper |
Directive | Local Value | Master Value |
---|---|---|
cli.pager | no value | no value |
cli.prompt | \b \> | \b \> |
Reflection | enabled |
Session Support | enabled |
Registered save handlers | files user memcache |
Registered serializer handlers | php_serialize php php_binary |
Directive | Local Value | Master Value |
---|---|---|
session.auto_start | Off | Off |
session.cache_expire | 180 | 180 |
session.cache_limiter | nocache | nocache |
session.cookie_domain | no value | no value |
session.cookie_httponly | On | Off |
session.cookie_lifetime | 1209600 | 0 |
session.cookie_path | / | / |
session.cookie_samesite | Lax | no value |
session.cookie_secure | Off | Off |
session.gc_divisor | 1000 | 1000 |
session.gc_maxlifetime | 1209600 | 1440 |
session.gc_probability | 1 | 1 |
session.lazy_write | On | On |
session.name | PHPSESSID | PHPSESSID |
session.referer_check | no value | no value |
session.save_handler | files | files |
session.save_path | /var/www/garko.cz/data/bin-tmp/ | /var/www/garko.cz/data/bin-tmp/ |
session.serialize_handler | php | php |
session.sid_bits_per_character | 4 | 4 |
session.sid_length | 32 | 32 |
session.upload_progress.cleanup | On | On |
session.upload_progress.enabled | On | On |
session.upload_progress.freq | 1% | 1% |
session.upload_progress.min_freq | 1 | 1 |
session.upload_progress.name | PHP_SESSION_UPLOAD_PROGRESS | PHP_SESSION_UPLOAD_PROGRESS |
session.upload_progress.prefix | upload_progress_ | upload_progress_ |
session.use_cookies | On | On |
session.use_only_cookies | On | On |
session.use_strict_mode | On | Off |
session.use_trans_sid | Off | Off |
shmop support | enabled |
SimpleXML support | enabled |
Schema support | enabled |
Sockets Support | enabled |
SPL support | enabled |
---|---|
Interfaces | OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject |
Classes | AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException |
SQLite3 support | enabled |
---|---|
SQLite Library | 3.26.0 |
Directive | Local Value | Master Value |
---|---|---|
sqlite3.defensive | On | On |
sqlite3.extension_dir | no value | no value |
Dynamic Library Support | enabled |
Path to sendmail | /usr/sbin/sendmail -t -i -f webmaster@garko.cz |
Directive | Local Value | Master Value |
---|---|---|
assert.active | On | On |
assert.bail | Off | Off |
assert.callback | no value | no value |
assert.exception | On | On |
assert.warning | On | On |
auto_detect_line_endings | Off | Off |
default_socket_timeout | 60 | 60 |
from | no value | no value |
session.trans_sid_hosts | no value | no value |
session.trans_sid_tags | a=href,area=href,frame=src,form= | a=href,area=href,frame=src,form= |
unserialize_max_depth | 4096 | 4096 |
url_rewriter.hosts | no value | no value |
url_rewriter.tags | a=href,area=href,frame=src,input=src,form=fakeentry | a=href,area=href,frame=src,input=src,form=fakeentry |
user_agent | no value | no value |
Tokenizer Support | enabled |
XML Support | active |
XML Namespace Support | active |
libxml2 Version | 2.9.7 |
XMLReader | enabled |
XMLWriter | enabled |
Opcode Caching | Up and Running |
Optimization | Enabled |
SHM Cache | Enabled |
File Cache | Disabled |
JIT | Disabled |
Startup | OK |
Shared memory model | mmap |
Cache hits | 24 |
Cache misses | 676 |
Used memory | 21556144 |
Free memory | 112661584 |
Wasted memory | 0 |
Interned Strings Used memory | 4111536 |
Interned Strings Free memory | 4277072 |
Cached scripts | 676 |
Cached keys | 1311 |
Max keys | 16229 |
OOM restarts | 0 |
Hash keys restarts | 0 |
Manual restarts | 0 |
Directive | Local Value | Master Value |
---|---|---|
opcache.blacklist_filename | no value | no value |
opcache.consistency_checks | 0 | 0 |
opcache.dups_fix | Off | Off |
opcache.enable | On | On |
opcache.enable_cli | Off | Off |
opcache.enable_file_override | Off | Off |
opcache.error_log | no value | no value |
opcache.file_cache | no value | no value |
opcache.file_cache_consistency_checks | On | On |
opcache.file_cache_only | Off | Off |
opcache.file_update_protection | 2 | 2 |
opcache.force_restart_timeout | 180 | 180 |
opcache.huge_code_pages | Off | Off |
opcache.interned_strings_buffer | 8 | 8 |
opcache.jit | tracing | tracing |
opcache.jit_bisect_limit | 0 | 0 |
opcache.jit_blacklist_root_trace | 16 | 16 |
opcache.jit_blacklist_side_trace | 8 | 8 |
opcache.jit_buffer_size | 0 | 0 |
opcache.jit_debug | 0 | 0 |
opcache.jit_hot_func | 127 | 127 |
opcache.jit_hot_loop | 64 | 64 |
opcache.jit_hot_return | 8 | 8 |
opcache.jit_hot_side_exit | 8 | 8 |
opcache.jit_max_exit_counters | 8192 | 8192 |
opcache.jit_max_loop_unrolls | 8 | 8 |
opcache.jit_max_polymorphic_calls | 2 | 2 |
opcache.jit_max_recursive_calls | 2 | 2 |
opcache.jit_max_recursive_returns | 2 | 2 |
opcache.jit_max_root_traces | 1024 | 1024 |
opcache.jit_max_side_traces | 128 | 128 |
opcache.jit_prof_threshold | 0.005 | 0.005 |
opcache.lockfile_path | /tmp | /tmp |
opcache.log_verbosity_level | 1 | 1 |
opcache.max_accelerated_files | 10000 | 10000 |
opcache.max_file_size | 0 | 0 |
opcache.max_wasted_percentage | 5 | 5 |
opcache.memory_consumption | 128 | 128 |
opcache.opt_debug_level | 0 | 0 |
opcache.optimization_level | 0x7FFEBFFF | 0x7FFEBFFF |
opcache.preferred_memory_model | no value | no value |
opcache.preload | no value | no value |
opcache.preload_user | no value | no value |
opcache.protect_memory | Off | Off |
opcache.record_warnings | Off | Off |
opcache.restrict_api | no value | no value |
opcache.revalidate_freq | 2 | 2 |
opcache.revalidate_path | Off | Off |
opcache.save_comments | On | On |
opcache.use_cwd | On | On |
opcache.validate_permission | Off | Off |
opcache.validate_root | Off | Off |
opcache.validate_timestamps | On | On |
Zip | enabled |
Zip version | 1.21.1 |
Libzip version | 1.5.1 |
ZLib Support | enabled |
---|---|
Stream Wrapper | compress.zlib:// |
Stream Filter | zlib.inflate, zlib.deflate |
Compiled Version | 1.2.11 |
Linked Version | 1.2.11 |
Directive | Local Value | Master Value |
---|---|---|
zlib.output_compression | Off | Off |
zlib.output_compression_level | -1 | -1 |
zlib.output_handler | no value | no value |
Module Name |
---|
array (1)0 => array (7)| 'name' => 'default output handler' | 'type' => 0 | 'flags' => 20592 | 'level' => 0 | 'chunk_size' => 4096 | 'buffer_size' => 8192 | 'buffer_used' => 967
Host | 'www.garko.cz'
|
---|---|
X-Forwarded-Proto | 'http'
|
X-Forwarded-Port | '80'
|
User-Agent | 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)'
|
Accept | '*/*'
|
Connection | 'close'
|
Accept-Encoding | 'gzip, br, zstd, deflate'
|
empty
empty
empty
Set-Cookie | 'tracy-session=895badd5d3; expires=Wed, 21 Jan 2026 04:33:00 GMT; Max-Age=31557600; path=/; HttpOnly'
|
---|---|
X-Powered-By | 'Nette Framework 3'
|
Content-Type | 'text/html; charset=utf-8'
|
X-Frame-Options | 'SAMEORIGIN'
|
Set-Cookie | '_nss=1; path=/; HttpOnly; SameSite=Strict'
|
Set-Cookie | 'PHPSESSID=db31c43bab1502b4dacb85d01956d3b2; expires=Mon, 03 Feb 2025 22:33:00 GMT; Max-Age=1209600; path=/; HttpOnly; SameSite=Lax'
|
Expires | 'Thu, 19 Nov 1981 08:52:00 GMT'
|
Cache-Control | 'no-store, no-cache, must-revalidate'
|
Pragma | 'no-cache'
|
Vary | 'X-Requested-With'
|
Headers have been sent, output started at .../FrontendModule-templates-@layout.latte--090ebeed4c.php:121 source
111: echo '> 112: '; 113: $this->renderBlock('metaSnippet', [], null, 'snippet'); 114: echo ' </title> 115: 116: '; 117: if ($this->hasBlock("canonical")) /* line 56 */ { 118: $this->renderBlock('canonical', [], 'html') /* line 57 */; 119: } else /* line 58 */ { 120: if (isset($canonicalLink)) /* line 59 */ { 121: echo ' <link rel="canonical" href="'; 122: echo LR\Filters::escapeHtmlAttr(LR\Filters::safeUrl($canonicalLink)) /* line 59 */; 123: echo '"> 124: '; 125: }