TakeIT mě nepřestává fascinovat. Neznám podobně absurdní… cosi, u nás a snad ani v zahraničí. Chtěl bych napsat, že je TakeIT anachronismus, ale ve skutečnosti netuším, v jaké vůbec době by nebyl. Také se mi chce napsat, že je to esence toho nejhoršího z českého internetu, ale ani to by nebyla pravda. TakeIT je prostě jen směšnou ukázkou toho, jak se taktika podomních prodejců předraženého nefunkčního zboží dá úspěšně aplikovat i na internet.
Na Lupě dnes vyšel skvělý rozhovor Jana Ambrože se šéfem Internet Tradingu provozujícího TakeIT. Vtipností přitom mnohonásobně převyšuje můj aprílový pokus, holt originál je originál. Úžasné na celém TakeITu je, o jak otevřené okrádání nebohých internetově negramotných obchodníků se jedná. Podmínky i ceny které platí Internet Tradingu jsou tak absolutně nevýhodné, že prodávat lidem vodu z vodovodu za cenu šampaňského by nemohlo být okatější. Pokud jsem to správně pochopil:
Partnerští obchodníci Internet Tradingu platí prý 70 resp. 49 korun za 1000 zobrazení všemi nenáviděné reklamy. Míra prokliku se prý drží na 0,2 %, tzn. platí 49 korun za 2 prokliky! Ty však nevedou na jejich stránky, ale na naprosto otřesný TakeIT, kde potenciální zákazník nenajde v podstatě žádnou jednoduchou možnost, co dělat dál – kromě nějakého nesmyslného emailového objednávkového formuláře. Za to, aby v popisu zboží mohl být alespoň uveden odkaz na stránky obchodníka, který platí takovéto neuvěřitelné částky, musí zaplatit ještě něco navrch.
To zní opravdu neodolatelně, že? Milan Hronec přitom neváhá používat ironické výrazy typu „bezkonkurenční cena“ a naprosto otevřeně uznává, že TakeIT je úplně na nic. Dovolím si z rozhovoru tu nejvtipnější pasáž vyříznout:
Firmy třeba investovaly velké peníze do kvalitního webu a nevidí důvod, proč někde vystavovat duplicitní obsah?Pokud budou chtít zasáhnout uživatele v obsahu prostřednictvím TakeIT, nemají jinou možnost, není tady alternativa. TakeIT jim umožňuje oslovit z jednoho místa uživatele v článcích napříč jednotlivými weby za bezkonkurenční cenu. Chceme je donutit i tím, že všichni ostatní tam budou, tudíž tam musí být také oni. Jestli se to podaří nebo ne, je jiná otázka. My takovou ambici ale máme. Když jsme začali prodávat klíčová slova ve vyhledávání, některé firmy se ptaly, proč by za to měly platit. Poté, co se tam objevila konkurence, začaly mít potřebu tam být taky.Budou si moc lidé alespoň objednat to zboží přímo z TakeIT?Není naším cílem dělat jen srovnávač cen nebo internetový obchod.Jaký má smysl tam ty produkty vystavovat, když nejdou koupit online?Pokud firma není internetovým obchodem, je tam e-mailový formulář, přes který lidé mohou poslat poptávku. Když se jedná o e-shop, můžete na jeho web proskočit přes odkaz „objednat“. Nová verze TakeITu, kterou pustíme během května, bude určitě uživatelsky přívětivější.A za tento přímý odkaz na web se platí?Musíte mít zaplacený export dat k nám.
Jenže v další části Milan Hronec říká, že se připravuje spuštění zobrazování reklam TakeIT na libovolných webech, které o to projeví zájem. Díky tomu jsem si uvědomil, proč mě vlastně ve skutečnosti ten TakeIT tak dráždí. Není to proto, že okrádá neznalé obchodníky. Je to jen závist, že sám takto snadno vydělávat nedokážu, že neumím přemisťovat peníze z peněženky lidí, kteří si je vůbec nezaslouží, do té vlastní.
Internet Trading prý nabídne korunu za 1000 zobrazení té své zelené hrůzy, počet na jedné stránce by přitom mohl být průměrně okolo 4. To je hodně. Že to jsou asi 2 % z provize IT? To je mi fuk, oni jsou ti, kdo celý model vytvořili, oni do něj dokáží nahnat to nebohé stádo nadšeně mířící na porážku.
Spoluprovozuji poměrně malý komunitní server Aragorn.cz s asi 1100 UIP denně. Nevynáší nic, vlastně jsem jej ještě nedávno musel dotovat, nyní běží z občasných sbírek svých uživatelů. Experimentoval jsem kdysi s různými formáty reklamy, ale byly to v zásadě drobky. Google AdSense jsme již ani nenasazovali, ale pravděpodobně by to také nebylo nic moc. Komunity nejsou v tomto ohledu nic moc.
Zkoušel jsem také bbText na kterém je postaveno řešení TakeITu. Během párhodinového experimentu, kdy byl nasazen po celém webu, měl skutečně stovky prokliků, ale to jistě byla jen šoková reakce. Zdálo se mi to příliš protivné a nakonec jsme jej dali pouze na chat, kam se svým formátem podle mého názoru docela hodil – na chatu jiné odkazy nejsou, takže každý ví, že je to reklama, jiná forma kontextové reklamy je přitom nepoužitelná, protože by jej zpomalovala a znepřehledňovala. Ani mezi uživateli to nebylo přijato negativně, někteří to doknoce brali jako novou hru a pravidelně mi nadšeně oznamovali fráze, které to taky zazelenilo. Fungovalo to však v zásadě jen po krátký čas, protože bbText nějak vyhodnocoval míru prokliku a ta u nás byla logicky špatná. Pokud na chatu bylo třeba 10 lidí a měli nastavenou aktualizaci na 5 vteřin, mohla se reklama zobrazit třeba i 3600×, což i při dejme tomu 3 kliknutí vypadalo jako hrozně neúčinné.
Bez chatu má Aragorn asi 25 000 zobrazených stránek denně. Podle počtů Internet Tradingu by tak nasazení jejich reklamy mohlo vytvářet 100 korun denně, tzn. asi 35 000 ročně. To je na takový malý komunitní projekt dost peněz. Pokud by nám reklamu byli ochotni pustit i na chat (zvláště když nyní díky nové AJAX podobě nemáme tolik refreshů), mohlo by to ještě poskočit třeba až na čtyřnásobek.
To úplně mění situaci. TakeIT se chystá nabídnout pár drobků ze své kořisti a podle mého názoru po tom spousta lidí nadšeně skočí. Vlastně jen přemýšlím, co rychle do května, kdy má být program zahájen, vytvořit, čím by se dal počet zobrazených stránek nahnat. Že na TakeITu půjde dobře vydělat jsem přesvědčen zvláště z jednoho důvodu – že je to jen krádež vědí všichni participující. Všichni vědí, že jde jen o to najít způsob, jak někoho oškubat a nic mu za to nevrátit. IT by proto mohl naprosto kašlat na míru prokliku. Mohl by kašlat na umístění reklamy. Mohl by kašlat na podvody typu automatických refreshů. Vždyť tohle je přece úplně fuk – je úplně jedno, jakým způsobem se ta reklama protočí, inzerentovi se stejně vůbec nevrátí. Jde jen o to toho protočit co nejvíc, spokojený budu já, spokojený bude i IT, dokonce padesátkrát víc. Skutečně se na to těším, internet se stále více kultivuje a profesionalizuje, TakeIT je jako zjevení. Možná poslední šance, jak na internetu z někoho vytřískat peníze ve stylu Divokého Západu.
TakeIT je krádež. Doufám, že mě taky přibere do party.
Osobně bych firmě nedoporučil inzerovat na TakeIT.cz. Cílem všech kampaní je většinou dostat zákazníka na server, kde má obchodník více možností, jak na zákazníka působit. TakeIT končí někde uprostřed tohoto cíle. Připlácet si za odkaz na web je nesmysl.
Navíc na http://klient.takeit.cz/klient/ je uvedeno, že je vše zdarma.
Na webu Internet Trading stále nemohu nalézt ceník a podmínky pro spolupráci s TakeIT - to jsem přitom v sekci Služby:
Suhlasim s jilmom, ze TakeIt je zjavenie. Presne otypoval tento system ako sposob akym chce IT vytahovat peniaze od klientov, ktori si s internetom moc netykaju ale uz by sa chceli "zaclenit" do kolotoca internetovej reklamy, lebo sa im postupne dostava do povedomia, ze je to "dobre".
TakeIt chce teda ryzovat prave v tejto oblasti.
Naozaj som rovnako ako jilm v pomykove ako to ohodnotit. Nechat to tak, nech sa daju napalit blbci alebo dosledne upozornovat na to, ze konkurencne systemy su hodnovernejsie?
No a my ostatni, co do toho trosku vidime, sa dokazeme iba cudovat aky paskvil IT vypustilo von. Ale zaroven sami vieme, ze ten pekar od ktoreho IT skasiruje peniaze sa na internet ledva dostane...
Tak je alebo nie je vsetko v poriadku?
take it easy, make it easy. tento produkt mi neříká nic stejně jako mi nic neříkají zlaté stránky (již jsou též online) a zápis do jejich seznamu stojí též dost peněz. prostě pro někoho kdo dolezl na tenhle blog je takeit naprostá zbytečnost. sám použije google a pokud sám chce inzerovat tak sklikem nebo adwords.
jestli ten jejich produkt (ty 3x podtržený odkazy) k něčemu můžu přirovnat tak jedině k tomu jak BPA.cz dokázala rozprodat ledovou plochu v české extralize. Kdo se kouká na NHL tak se nestíhá divit, místo seriózní a pro diváka kvalitní plochy nezasrané reklamou máme kluziště polepený jak auto v motosportu. no není se čemu divit, jakej pán takovej holt krám.
hlavně aby se vlk nažral a koza zůstala pokud možno celá. fuckit.
[2]
a) Ale kde je ta cena nyní, se nedozvíme ani z oficiálních stránek ani od zástupce firmy v rozhovoru. Nechápu, proč na otázku "Kolik zaplatí klienti?" neuvedete jasnou odpověď a místo toho mlžíte něco o původních cenách, které vzápětí sám shazujete.
b) Jak se podle vás počítají procenta? Podle mě takto: 1 Kč / 49 Kč = 2 %. Tvrzení "70/2 není 49 ale 35" je kouzelné, co jste nám jím chtěl sdělit?
d) K tomu zápisu, který jak podotkl Radim Hasalík, je "zdarma a v nezkrácené podobě" včetně všech produktů?
e) Proč v rozhovoru uvádíte "Korunu za tisíc podtržení" a teď tvrdíte něco o 4-7 Kč? Proč zase stejně jako v případě "původních cen" uvádíte informace, které pro vás vyznívají hůř? (Pokud tedy "někde jinde" neznamená, že ceny jsou nyní vyšší.)
Děkuji za perfektní vysvětlení, co je to TakeIT. Zrovna včera jsem po tom začal pátrat, jestli to má pro mě jakžto obchodníka vůbec nějaký přínost, takže tento článek mi přišel do cesty jako na zavolanou.
[1] pokud jsou věci tak okaté, doporučil bych nechat žít jeden nepříjemný článek, než se poškodit a vše rozmáznout veřejně "v rovině trestněprávní".
[7] proč se nestat klientem v rozsahu, kde je vše zdarma?
uz kdyz byl takeit se vsi slavou spusten, sem po navsteve toho blikajiciho hnusu nechapal, jestli to nekdo mysli vazne
jak to tak vypada, myslel, a zrejme to bude i vydelavat, co na tom, ze vsichni vime, ze je to vlastne vedoma kradez, nekoho premlouvat na skvely takeit ktery je k smichu
TakeIT dle meho bude bohuzel dobre slapat pac si velmi dobre uvedomuje, ze jedine ta spravna stadni metoda je klic k uspechu na ceskem Inet pisecku. A jelikoz se o tom hodne mluvi tak jim to minimalne prinese ten efekt, ze to kazdy bude chtit zkusit jen aby se dozvedel co na tech povestech o TakeIT je.
Nyní bloguji na jilm.cz.
Přečteno 70 040×
Přečteno 69 251×
Přečteno 58 736×
Přečteno 58 439×
Přečteno 57 049×
Warning
File: .../stable/php-libs/appShare/libs/Blogs/BlogsSelection.php:147
137: ->where("opinions.status = %s", "active") 138: ->orderBy("opinions.insert_date DESC") 139: ->limit($count); 140: $data = $query->fetchAll(); 141: foreach ($data as $row) { 142: $row->user_deleted = null; 143: if ($row->user_id) { 144: $user = dibi::getConnection('usersys') 145: ->query('SELECT * FROM users WHERE user_id = %i', $row->user_id) 146: ->fetch(); 147: $row->user_deleted = $user->deleted; 148: } 149: } 150: // ulozeni do CACHE 151: $cache->save($cacheKey, $data, array(
22: protected $commentsCount = 5; 23: 24: public function __construct($blogId = 0) { 25: $this->blogId = $blogId; 26: } 27: 28: public function render() { 29: if (!$this->blogId) return; 30: 31: // [future] Zrefaktorovat komponentu tak, aby se jí daly předávat závislosti 32: $this->getTemplate()->opinions = BlogsSelection::getLastOpinionsForBlog($this->blogId, $this->commentsCount, $this->getPresenter()->getContext()->getByType(CacheFactory::class), $this->getPresenter()->getContext()->getByType(Shared_Blogs_Helper::class)); 33: // render sablony zajisti predek 34: parent::render(); 35: } 36:
| $blogId | 8
 | 
|---|---|
| $count | 5
 | 
| $cacheFactory | |
| $blogsHelper | 
90: $control->setExtraParameters($parameters[\Shared_BaseComponent::EXTRA_PARAM_NAME]); 91: unset($parameters[\Shared_BaseComponent::EXTRA_PARAM_NAME]); 92: } else { 93: $control->clearExtraParameters(); 94: } 95: } 96: 97: if ($isDebug) { 98: // call method this way is much faster 99: // see http://grokbase.com/t/php/php-internals/115qyp1bjk/call-user-func-performance-and-dynamic-code 100: if (!$parameters) $control->$method(); 101: else call_user_func_array([$control, $method], array_values($parameters)); 102: return; 103: } 104:
87: ob_end_clean(); 88: } else { 89: echo ob_get_clean(); 90: } 91: } 92: ob_start(function () {}); 93: try { 94: echo '<div class="section section--sidebar-in">'; 95: ob_start(); 96: try { 97: IInfo\LatteMacros::renderControl("lastBlogComments", "render", [], $this->global->uiControl); 98: } finally { 99: $ʟ_ifc[3] = rtrim(ob_get_flush()) === ''; 100: } 101: echo '</div>
1: {extends '../@default.latte'} 2: 3: 4: {block sidebarMain-aboveWrapper} 5: {control footerInfo} 6: {/block} 7: 8: 9: {block sidebarMain-content} 10: <div class="page-block--actualities page-block design-box"> 11: {control blogAuthorInfo} 12: <div class="section section--sidebar-in" n:ifcontent>{control htmlBadges}</div> 13: <div class="section section--sidebar-in" n:ifcontent>{control mostReadBlogArticles}</div> 14: <div class="section section--sidebar-in" n:ifcontent>{control lastBlogComments}</div> 15: <div class="section section--sidebar-in" n:ifcontent>{control blogsLabelsTagcloud}</div>
| $control | |
|---|---|
| $method | 'render'
 | 
| $parameters | array (0)
 | 
| $container | 
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:
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: ); 314: } 315: 316:
| $function | |
|---|---|
| $mod | null
 | 
| $contentType | 'html'
 | 
| $name | 'block sidebarMain-content'
 | 
89: public function blockSidebarMain_adverts_sticky_1(array $ʟ_args): void 90: { 91: extract($this->params); 92: extract($ʟ_args); 93: unset($ʟ_args); 94: echo '<div class="page-block--ad_square1 page-block design-box"> 95: '; 96: IInfo\LatteMacros::renderControl("ad", "render", ['sidebar-sticky-1'], $this->global->uiControl); 97: $this->renderBlock('sidebarMain-adverts--sticky-1-aditional-content', get_defined_vars()) /* line 13 */; 98: echo "\n"; 99: $this->renderBlock('sidebarMain-content', get_defined_vars()) /* line 14 */; 100: echo ' 101: </div> 102: '; 103: }
4: 5: {block content}{* [future] possibly remove this block completely since the layout (DOM structure) of all pages should be the same. difference(s) should be present in CSS if needed *} 6: <div id="sidebar" class="js-sticker-wrapper sidebar layout-columns__item--sidebar layout-columns__item design-sidebar design-tile--version-2 design-tile"> 7: 8: {block sidebarMain-adSidebarPartner} 9: {control ad 'sidebar-partner'} 10: {/block} 11: 12: {block sidebarMain-aboveContent}{/block} 13: 14: <div class="js-sticker-wrapper__items"> 15: {block sidebarMain-adverts--sticky-1} 16: <div class="page-block--ad_square1 page-block design-box"> 17: {control ad 'sidebar-sticky-1'} 18:
| $name | 'sidebarMain-content'
 | 
|---|---|
| $params | 
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:
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: ); 314: } 315: 316:
| $function | |
|---|---|
| $mod | null
 | 
| $contentType | 'html'
 | 
| $name | 'block sidebarMain-adverts--sticky-1'
 | 
47: extract($ʟ_args); 48: unset($ʟ_args); 49: echo '<div id="sidebar" class="js-sticker-wrapper sidebar layout-columns__item--sidebar layout-columns__item design-sidebar design-tile--version-2 design-tile"> 50: '; 51: $this->renderBlock('sidebarMain-adSidebarPartner', get_defined_vars()) /* line 5 */; 52: echo "\n"; 53: $this->renderBlock('sidebarMain-aboveContent', get_defined_vars()) /* line 8 */; 54: echo ' 55: <div class="js-sticker-wrapper__items"> 56: '; 57: $this->renderBlock('sidebarMain-adverts--sticky-1', get_defined_vars()) /* line 10 */; 58: echo "\n"; 59: $this->renderBlock('sidebarMain-adverts--sticky-2', get_defined_vars()) /* line 28 */; 60: echo "\n"; 61: $this->renderBlock('sidebarMain-adverts--sticky-3', get_defined_vars()) /* line 36 */;
1: {block sidebar__default--columnMainAdditionalContent}{/block} 2: </div> {* for "layout-columns" and related to $isLayoutPageColumnsClosed in "@footer--RootLike.latte" *} 3: 4: 5: {block content}{* [future] possibly remove this block completely since the layout (DOM structure) of all pages should be the same. difference(s) should be present in CSS if needed *} 6: <div id="sidebar" class="js-sticker-wrapper sidebar layout-columns__item--sidebar layout-columns__item design-sidebar design-tile--version-2 design-tile"> 7: 8: {block sidebarMain-adSidebarPartner} 9: {control ad 'sidebar-partner'} 10: {/block} 11: 12: {block sidebarMain-aboveContent}{/block} 13: 14: <div class="js-sticker-wrapper__items"> 15: {block sidebarMain-adverts--sticky-1}
| $name | 'sidebarMain-adverts--sticky-1'
 | 
|---|---|
| $params | 
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:
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: ); 314: } 315: 316:
| $function | |
|---|---|
| $mod | null
 | 
| $contentType | 'html'
 | 
| $name | 'block content'
 | 
13: public function main(): array 14: { 15: extract($this->params); 16: if ($this->getParentName()) { 17: return get_defined_vars(); 18: } 19: $this->renderBlock('sidebar__default--columnMainAdditionalContent', get_defined_vars()) /* line 1 */; 20: echo ' 21: </div> 22: '; 23: $this->renderBlock('content', get_defined_vars()) /* line 3 */; 24: return get_defined_vars(); 25: } 26: 27:
1: {block sidebar__default--columnMainAdditionalContent}{/block} 2: </div> {* for "layout-columns" and related to $isLayoutPageColumnsClosed in "@footer--RootLike.latte" *} 3: 4: 5: {block content}{* [future] possibly remove this block completely since the layout (DOM structure) of all pages should be the same. difference(s) should be present in CSS if needed *} 6: <div id="sidebar" class="js-sticker-wrapper sidebar layout-columns__item--sidebar layout-columns__item design-sidebar design-tile--version-2 design-tile"> 7: 8: {block sidebarMain-adSidebarPartner} 9: {control ad 'sidebar-partner'} 10: {/block} 11: 12: {block sidebarMain-aboveContent}{/block} 13: 14: <div class="js-sticker-wrapper__items"> 15: {block sidebarMain-adverts--sticky-1}
| $name | 'content'
 | 
|---|---|
| $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
 | 
|---|
53: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/ArchiveModule/actualities.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 54: } elseif ($isSidebarTypeArchiveLabelDetail) /* line 45 */ { 55: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/ArchiveModule/detail.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 56: } elseif ($isSidebarTypeArticle) /* line 47 */ { 57: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/TextModule/article.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 58: } elseif ($isSidebarTypeGeneralText) /* line 49 */ { 59: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/TextModule/generalText.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 60: } elseif ($isSidebarTypeBlogs) /* line 51 */ { 61: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/BlogsModule/shared.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 62: } elseif ($isSidebarTypeBlogsDetail) /* line 53 */ { 63: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/BlogsModule/detail.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 64: } elseif ($isSidebarTypeBlogsIndex) /* line 55 */ { 65: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/BlogsModule/index.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render(); 66: } elseif ($isSidebarTypeDatabaseCatalog) /* line 57 */ { 67: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('sidebar/DatabaseNew/catalog.latte', $this->getName(), false), ['isErrorPage' => $isErrorPage] + $this->getParameters(), "includeX")->render();
1: {default $isSidebarTypeActuality = false} 2: {default $isSidebarTypeAnniversaryComics = false} 3: {default $isSidebarTypeArchiveActualities = false} 4: {default $isSidebarTypeArchiveLabelDetail = false} 5: {default $isSidebarTypeArticle = false} 6: {default $isSidebarTypeAwards = false} 7: {default $isSidebarTypeBlogs = false} 8: {default $isSidebarTypeBlogsDetail = false} 9: {default $isSidebarTypeBlogsIndex = false} 10: {default $isSidebarTypeConsultingDetail = false} 11: {default $isSidebarTypeConsultingQuestions = false} 12: {default $isSidebarTypeDatabaseCatalog = false} 13: {default $isSidebarTypeDatabaseView = false} 14: {default $isSidebarTypeDiscussionDetail = false} 15: {default $isSidebarTypeIndex = false}
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
 | 
|---|
110: '; 111: IInfo\LatteMacros::renderControl("similarArticles", "render", [], $this->global->uiControl); 112: echo '</div> 113: '; 114: if (isset($opinionsListing) && $opinionsListing) /* line 80 */ { 115: $_HT_macro_arg = $opinionsListing /* line 81 */; 116: IInfo\LatteMacros::renderLazyControl($this->global->uiPresenter, $_HT_macro_arg, []); 117: } 118: echo '</div> 119: '; 120: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('../../../footer.latte', $this->getName(), false), ['isSidebarTypeBlogsDetail' => true] + $this->getParameters(), "includeX")->render(); 121: return get_defined_vars(); 122: } 123: 124:
1: {includeX '../../../header.latte'} 2: 3: 4: {includeShared '/common/additionalCssResolver.inc.latte', 5: isPageWithFancyBox => true, 6: } 7: {includeShared '/common/additionalJsResolver.inc.latte', 8: isPageWithEasing => true, 9: isPageWithMouseWheel => true, 10: isPageWithFancyBox => true, 11: } 12: 13: 14: <div class="design-tile--version-1 design-tile"> 15:
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
 | 
|---|
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: if (\cfg::$debug['tmplDump']) { 47: $filePath = strstr($file ? : $this->file, "templates/"); 48: echo '<pre class="nette-dump"><span class="nette-dump-object">' . get_class($this->control) . ": $filePath" . '</span></pre>'; 49: } 50: $this->latte->render($file ?: $this->file, $this); 51: } 52: 53: 54: /**
| $name | '/www/virtual/martin/stable/lupa/app/templates/BlogsModule/ArticleModule/Article/default.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 | 
|---|
13: !empty($_SERVER["HTTPS"]), 14: 'http://forum.lupa.cz/', 15: trim(AppConfig::$modulesUrl['blogs'], '/'), 16: true 17: ); 18: $redirector->injectDibiConnections($bootstrap->getContext()->getService('dibiConnections')); 19: $redirector->redirectUrl(); 20: unset($redirector); 21: 22: $bootstrap->setupRouting(); 23: $bootstrap->getApplication()->run(); 24:
| HTTPS | 'on'
 | 
|---|---|
| SCRIPT_URL | '/jilm/miluji-tejkit/'
 | 
| SCRIPT_URI | 'http://blog-lupa-martin.imho.cz/jilm/miluji-tejkit/'
 | 
| TZ | 'Europe/Prague'
 | 
| HTTP_HOST | 'blog-lupa-martin.imho.cz'
 | 
| HTTP_ACCESS_CONTROL_ALLOW_ORIGIN | '*'
 | 
| HTTP_REFERRER_POLICY | 'no-referrer-when-downgrade'
 | 
| HTTP_X_REAL_IP | '216.73.216.123'
 | 
| HTTP_CONNECTION | 'close'
 | 
| HTTP_ACCEPT | '*/*'
 | 
| HTTP_USER_AGENT | 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)'
 | 
| HTTP_ACCEPT_ENCODING | 'gzip, br, zstd, deflate'
 | 
| HTTP_COOKIE | '_nss=1; opinionsOrdering=insert; tracy-session=edc24e091c'
 | 
| HTTP_X_HTTPS | '1'
 | 
| PATH | '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
 | 
| LD_LIBRARY_PATH | '/opt/mozjpeg/lib64'
 | 
| SERVER_SIGNATURE | |
| SERVER_SOFTWARE | 'Apache/2.4.38 (Debian)'
 | 
| SERVER_NAME | 'blog-lupa-martin.imho.cz'
 | 
| SERVER_ADDR | '127.0.0.1'
 | 
| SERVER_PORT | '80'
 | 
| REMOTE_ADDR | '216.73.216.123'
 | 
| DOCUMENT_ROOT | '/www/virtual/martin/stable/lupa/document_root/'
 | 
| REQUEST_SCHEME | 'http'
 | 
| CONTEXT_PREFIX | ''
 | 
| CONTEXT_DOCUMENT_ROOT | '/www/virtual/martin/stable/lupa/document_root/'
 | 
| SERVER_ADMIN | '[no address given]'
 | 
| SCRIPT_FILENAME | '/www/virtual/martin/stable/lupa/document_root/index.php'
 | 
| REMOTE_PORT | '47832'
 | 
| GATEWAY_INTERFACE | 'CGI/1.1'
 | 
| SERVER_PROTOCOL | 'HTTP/1.0'
 | 
| REQUEST_METHOD | 'GET'
 | 
| QUERY_STRING | 'XDEBUG_SESSION_STOP=1'
 | 
| REQUEST_URI | '/jilm/miluji-tejkit/?XDEBUG_SESSION_STOP=1'
 | 
| SCRIPT_NAME | '/jilm/miluji-tejkit/'
 | 
| PHP_SELF | '/jilm/miluji-tejkit/'
 | 
| REQUEST_TIME_FLOAT | 1762255355.7268
 | 
| REQUEST_TIME | 1762255355
 | 
| __NF | Nette Session | 
|---|
| Nette.Http.UserStorage/ | null
 | 
|---|
| APP_DIR | '/www/virtual/martin/stable/lupa/app'
 | 
|---|---|
| APP_LIB_DIR | '/www/virtual/martin/stable/lupa/app/libs'
 | 
| LIB_DIR | '/www/virtual/martin/stable/php-libs'
 | 
| APP_SHARED_DIR | '/www/virtual/martin/stable/php-libs/appShare'
 | 
| APP_SHARED_LIB_DIR | '/www/virtual/martin/stable/php-libs/appShare/libs'
 | 
| APP_TEMPLATE_DIR | '/www/virtual/martin/stable/lupa/app/templates'
 | 
| APP_SHARED_TEMPLATE_DIR | '/www/virtual/martin/stable/php-libs/appShare/templates'
 | 
| WWW_DIR | '/www/virtual/martin/stable/lupa/document_root'
 | 
| RAMDISK | '/mnt/ramdisk'
 | 
| WORK_DIR | '/www/virtual/martin/stable/lupa/work'
 | 
| CACHE_DIR | '/www/virtual/martin/stable/lupa/work/cache'
 | 
| NETTE_CACHE_DIR | '/www/virtual/martin/stable/lupa/work/cache.nette'
 | 
| LOCAL_CACHE_DIR | '/www/virtual/martin/stable/lupa/work/cache.local'
 | 
| CHARSET | 'utf-8'
 | 
| DB_CHARSET | 'utf8'
 | 
| DB_ERROR_DUPLICATE_ENTRY | 1062
 | 
| MYSQLI_REFRESH_REPLICA | 64
 | 
| HTMLPURIFIER_PREFIX | '/www/virtual/martin/stable/lupa/vendor/ezyang/htmlpurifier/library'
 | 
| GEOIP_COUNTRY_BEGIN | 16776960
 | 
| GEOIP_STATE_BEGIN_REV0 | 16700000
 | 
| GEOIP_STATE_BEGIN_REV1 | 16000000
 | 
| GEOIP_STANDARD | 0
 | 
| GEOIP_MEMORY_CACHE | 1
 | 
| GEOIP_SHARED_MEMORY | 2
 | 
| STRUCTURE_INFO_MAX_SIZE | 20
 | 
| DATABASE_INFO_MAX_SIZE | 100
 | 
| GEOIP_COUNTRY_EDITION | 1
 | 
| GEOIP_PROXY_EDITION | 8
 | 
| GEOIP_ASNUM_EDITION | 9
 | 
| GEOIP_NETSPEED_EDITION | 10
 | 
| GEOIP_REGION_EDITION_REV0 | 7
 | 
| GEOIP_REGION_EDITION_REV1 | 3
 | 
| GEOIP_CITY_EDITION_REV0 | 6
 | 
| GEOIP_CITY_EDITION_REV1 | 2
 | 
| GEOIP_ORG_EDITION | 5
 | 
| GEOIP_ISP_EDITION | 4
 | 
| SEGMENT_RECORD_LENGTH | 3
 | 
| STANDARD_RECORD_LENGTH | 3
 | 
| ORG_RECORD_LENGTH | 4
 | 
| MAX_RECORD_LENGTH | 4
 | 
| MAX_ORG_RECORD_LENGTH | 300
 | 
| GEOIP_SHM_KEY | 1329681409
 | 
| US_OFFSET | 1
 | 
| CANADA_OFFSET | 677
 | 
| WORLD_OFFSET | 1353
 | 
| FIPS_RANGE | 360
 | 
| GEOIP_UNKNOWN_SPEED | 0
 | 
| GEOIP_DIALUP_SPEED | 1
 | 
| GEOIP_CABLEDSL_SPEED | 2
 | 
| GEOIP_CORPORATE_SPEED | 3
 | 
| GEOIP_DOMAIN_EDITION | 11
 | 
| GEOIP_COUNTRY_EDITION_V6 | 12
 | 
| GEOIP_LOCATIONA_EDITION | 13
 | 
| GEOIP_ACCURACYRADIUS_EDITION | 14
 | 
| GEOIP_CITYCOMBINED_EDITION | 15
 | 
| GEOIP_CITY_EDITION_REV1_V6 | 30
 | 
| GEOIP_CITY_EDITION_REV0_V6 | 31
 | 
| GEOIP_NETSPEED_EDITION_REV1 | 32
 | 
| GEOIP_NETSPEED_EDITION_REV1_V6 | 33
 | 
| GEOIP_USERTYPE_EDITION | 28
 | 
| GEOIP_USERTYPE_EDITION_V6 | 29
 | 
| GEOIP_ASNUM_EDITION_V6 | 21
 | 
| GEOIP_ISP_EDITION_V6 | 22
 | 
| GEOIP_ORG_EDITION_V6 | 23
 | 
| GEOIP_DOMAIN_EDITION_V6 | 24
 | 
| CITYCOMBINED_FIXED_RECORD | 7
 | 
| FULL_RECORD_LENGTH | 50
 | 
| TEXY_ALL | true
 | 
| TEXY_NONE | false
 | 
| TEXY_CONTENT_MARKUP | |
| TEXY_CONTENT_REPLACED | |
| TEXY_CONTENT_TEXTUAL | |
| TEXY_CONTENT_BLOCK | |
| TEXY_VERSION | '2.9.3'
 | 
| TEXY_HEADING_DYNAMIC | 1
 | 
| TEXY_HEADING_FIXED | 2
 | 
| TEXY_CHAR | 'A-Za-z\x{C0}-\x{2FF}\x{370}-\x{1EFF}'
 | 
| TEXY_MARK | '\x14-\x1F'
 | 
| TEXY_MODIFIER | |
| TEXY_MODIFIER_H | |
| TEXY_MODIFIER_HV | |
| TEXY_IMAGE | |
| TEXY_LINK_URL | |
| TEXY_LINK | |
| TEXY_LINK_N | |
| TEXY_EMAIL | |
| TEXY_URLSCHEME | '[a-z][a-z0-9+.-]{0,20}:'
 | 
| Apache Version | Apache/2.4.38 (Debian) | 
| Apache API Version | 20120211 | 
| Server Administrator | [no address given] | 
| Hostname:Port | lupa-martin.imho.cz:0 | 
| User/Group | www-data(33)/33 | 
| Max Requests | Per Child: 0 - Keep Alive: on - Max Per Connection: 100 | 
| Timeouts | Connection: 300 - Keep-Alive: 5 | 
| Virtual Server | Yes | 
| Server Root | /etc/apache2 | 
| Loaded Modules | core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cache mod_cgi mod_deflate mod_dir mod_env mod_expires mod_fcgid mod_file_cache mod_filter mod_headers mod_include mod_mime prefork mod_negotiation mod_php mod_proxy mod_proxy_connect mod_proxy_fcgi mod_proxy_http mod_remoteip mod_reqtimeout mod_rewrite mod_setenvif mod_slotmem_shm mod_socache_shmcb mod_ssl mod_status mod_userdir | 
| Directive | Local Value | Master Value | 
|---|---|---|
| engine | On | On | 
| last_modified | Off | Off | 
| xbithack | Off | Off | 
| Variable | Value | 
|---|---|
| HTTPS | on | 
| SCRIPT_URL | /jilm/miluji-tejkit/ | 
| SCRIPT_URI | http://blog-lupa-martin.imho.cz/jilm/miluji-tejkit/ | 
| TZ | Europe/Prague | 
| HTTP_HOST | blog-lupa-martin.imho.cz | 
| HTTP_ACCESS_CONTROL_ALLOW_ORIGIN | * | 
| HTTP_REFERRER_POLICY | no-referrer-when-downgrade | 
| HTTP_X_REAL_IP | 216.73.216.123 | 
| HTTP_CONNECTION | close | 
| HTTP_ACCEPT | */* | 
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) | 
| HTTP_ACCEPT_ENCODING | gzip, br, zstd, deflate | 
| HTTP_COOKIE | _nss=1; opinionsOrdering=insert; tracy-session=edc24e091c | 
| HTTP_X_HTTPS | 1 | 
| PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | 
| LD_LIBRARY_PATH | /opt/mozjpeg/lib64 | 
| SERVER_SIGNATURE | <address>Apache/2.4.38 (Debian) Server at blog-lupa-martin.imho.cz Port 80</address> | 
| SERVER_SOFTWARE | Apache/2.4.38 (Debian) | 
| SERVER_NAME | blog-lupa-martin.imho.cz | 
| SERVER_ADDR | 127.0.0.1 | 
| SERVER_PORT | 80 | 
| REMOTE_ADDR | 216.73.216.123 | 
| DOCUMENT_ROOT | /www/virtual/martin/stable/lupa/document_root/ | 
| REQUEST_SCHEME | http | 
| CONTEXT_PREFIX | no value | 
| CONTEXT_DOCUMENT_ROOT | /www/virtual/martin/stable/lupa/document_root/ | 
| SERVER_ADMIN | [no address given] | 
| SCRIPT_FILENAME | /www/virtual/martin/stable/lupa/document_root/index.php | 
| REMOTE_PORT | 47832 | 
| GATEWAY_INTERFACE | CGI/1.1 | 
| SERVER_PROTOCOL | HTTP/1.0 | 
| REQUEST_METHOD | GET | 
| QUERY_STRING | XDEBUG_SESSION_STOP=1 | 
| REQUEST_URI | /jilm/miluji-tejkit/?XDEBUG_SESSION_STOP=1 | 
| SCRIPT_NAME | /jilm/miluji-tejkit/ | 
| HTTP Request Headers | |
|---|---|
| HTTP Request | GET /jilm/miluji-tejkit/?XDEBUG_SESSION_STOP=1 HTTP/1.0 | 
| Host | blog-lupa-martin.imho.cz | 
| HTTP_X_FORWARDED_PROTO | https | 
| Access-Control-Allow-Origin | * | 
| Referrer-Policy | no-referrer-when-downgrade | 
| X-Real-IP | 216.73.216.123 | 
| Connection | close | 
| accept | */* | 
| user-agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) | 
| accept-encoding | gzip, br, zstd, deflate | 
| cookie | _nss=1; opinionsOrdering=insert; tracy-session=edc24e091c | 
| X-HTTPS | 1 | 
| HTTP Response Headers | |
| Set-Cookie | XDEBUG_SESSION=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; SameSite=Lax | 
| X-Powered-By | Nette Framework 3 | 
| X-Frame-Options | SAMEORIGIN | 
| Set-Cookie | _nss=1; path=/; secure; HttpOnly; SameSite=Strict | 
| Vary | X-Requested-With,Accept-Encoding | 
| Content-Security-Policy | upgrade-insecure-requests | 
| Content-Encoding | gzip | 
| Referrer-Policy | no-referrer-when-downgrade | 
| Access-Control-Allow-Origin | * | 
| Access-Control-Allow-Headers | * | 
| Connection | close | 
| Content-Type | text/html; charset=utf-8 | 
| BCMath support | enabled | 
| Directive | Local Value | Master Value | 
|---|---|---|
| bcmath.scale | 0 | 0 | 
| 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 | 
| PHP Version | 8.0.30 | 
| 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 | pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, | pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, | 
| display_errors | On | 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_prepend_string | no value | no value | 
| error_reporting | 32767 | 22527 | 
| expose_php | Off | Off | 
| extension_dir | /usr/lib/php/20200930 | /usr/lib/php/20200930 | 
| 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 | .:/usr/share/php:/www/virtual/martin/stable/php-libs:/www/virtual/martin/stable/lupa/app/libs:/www/virtual/martin/stable/php-libs/appShare/libs | .:/usr/share/php | 
| input_encoding | no value | no value | 
| internal_encoding | no value | no value | 
| log_errors | Off | On | 
| log_errors_max_len | 1024 | 1024 | 
| mail.add_x_header | Off | Off | 
| mail.force_extra_parameters | no value | no value | 
| mail.log | no value | no value | 
| max_execution_time | 3600 | 3600 | 
| 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 | 256M | 256M | 
| 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 | 128M | 128M | 
| 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 | /usr/sbin/sendmail -t -i | 
| serialize_precision | -1 | -1 | 
| short_open_tag | Off | Off | 
| 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 | 128M | 128M | 
| upload_tmp_dir | no value | no value | 
| 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 | On | 
| zend.exception_string_param_max_len | 0 | 0 | 
| 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.64.0 | 
| 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 | No | 
| Protocols | dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, ldaps, pop3, pop3s, rtmp, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp | 
| Host | x86_64-pc-linux-gnu | 
| SSL Version | OpenSSL/1.1.1d | 
| ZLib Version | 1.2.11 | 
| libSSH Version | libssh2/1.8.0 | 
| Directive | Local Value | Master Value | 
|---|---|---|
| curl.cainfo | no value | no value | 
| date/time support | enabled | 
| timelib version | 2020.03 | 
| "Olson" Timezone Database Version | 0.system | 
| Timezone Database | internal | 
| Default timezone | Europe/Berlin | 
| 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 | no value | no value | 
| DOM/XML | enabled | 
| DOM/XML API Version | 20031129 | 
| libxml Version | 2.9.14 | 
| 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 | 
| FFI support | enabled | 
|---|
| Directive | Local Value | Master Value | 
|---|---|---|
| ffi.enable | preload | preload | 
| ffi.preload | no value | no value | 
| fileinfo support | enabled | 
| libmagic | 539 | 
| 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 headers Version | 2.3.3 | 
| GD library Version | 2.2.5 | 
| FreeType Support | enabled | 
| FreeType Linkage | with freetype | 
| GIF Read Support | enabled | 
| GIF Create Support | enabled | 
| JPEG Support | enabled | 
| PNG Support | enabled | 
| WBMP Support | enabled | 
| XPM Support | enabled | 
| XBM Support | enabled | 
| WebP Support | enabled | 
| BMP Support | enabled | 
| TGA Read Support | enabled | 
| Directive | Local Value | Master Value | 
|---|---|---|
| gd.jpeg_ignore_warning | 1 | 1 | 
| 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 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 | 
| igbinary support | enabled | 
| igbinary version | 3.2.13 | 
| igbinary APCu serializer ABI | 0 | 
| igbinary session support | yes | 
| Directive | Local Value | Master Value | 
|---|---|---|
| igbinary.compact_strings | On | On | 
| imagick module | enabled | 
|---|---|
| imagick module version | 3.6.0 | 
| imagick classes | Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel | 
| Imagick compiled with ImageMagick version | ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org | 
| Imagick using ImageMagick library version | ImageMagick 6.9.10-23 Q16 x86_64 20190101 https://imagemagick.org | 
| ImageMagick copyright | © 1999-2019 ImageMagick Studio LLC | 
| ImageMagick release date | 20190101 | 
| ImageMagick number of supported formats: | 242 | 
| ImageMagick supported formats | 3FR, 3G2, 3GP, AAI, AI, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HEIC, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV | 
| Directive | Local Value | Master Value | 
|---|---|---|
| imagick.allow_zero_dimension_images | 0 | 0 | 
| imagick.locale_fix | 0 | 0 | 
| imagick.progress_monitor | 0 | 0 | 
| imagick.set_single_thread | 1 | 1 | 
| imagick.shutdown_sleep_count | 10 | 10 | 
| imagick.skip_version_check | 1 | 1 | 
| IMAP c-Client Version | 2007f | 
| SSL Support | enabled | 
| Kerberos Support | enabled | 
| Directive | Local Value | Master Value | 
|---|---|---|
| imap.enable_insecure_rsh | Off | Off | 
| Internationalization support | enabled | 
|---|---|
| ICU version | 65.1 | 
| ICU Data version | 65.1 | 
| ICU Unicode version | 12.1 | 
| Directive | Local Value | Master Value | 
|---|---|---|
| intl.default_locale | cs-CZ | no value | 
| intl.error_level | 0 | 0 | 
| intl.use_exceptions | Off | Off | 
| json support | enabled | 
| LDAP Support | enabled | 
| Total Links | 0/unlimited | 
| API Version | 3001 | 
| Vendor Name | OpenLDAP | 
| Vendor Version | 20447 | 
| SASL Support | Enabled | 
| Directive | Local Value | Master Value | 
|---|---|---|
| ldap.max_links | Unlimited | Unlimited | 
| libXML support | active | 
| libXML Compiled Version | 2.9.14 | 
| libXML Loaded Version | 20912 | 
| 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.9.1 | 
| 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 | 
| MysqlI Support | enabled | 
|---|---|
| Client API library version | mysqlnd 8.0.30 | 
| Active Persistent Links | 0 | 
| Inactive Persistent Links | 0 | 
| Active Links | 3 | 
| 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/run/mysqld/mysqld.sock | /var/run/mysqld/mysqld.sock | 
| mysqli.default_user | no value | no value | 
| mysqli.max_links | Unlimited | Unlimited | 
| mysqli.max_persistent | Unlimited | Unlimited | 
| mysqli.reconnect | Off | Off | 
| mysqli.rollback_on_cached_plink | Off | Off | 
| mysqlnd | enabled | 
|---|---|
| Version | mysqlnd 8.0.30 | 
| 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 | 
| ODBC Support | enabled | 
|---|---|
| Active Persistent Links | 0 | 
| Active Links | 0 | 
| ODBC library | unixODBC | 
| ODBCVER | 0x0380 | 
| ODBC_CFLAGS | -I/usr/include | 
| ODBC_LFLAGS | -L/usr/lib | 
| ODBC_LIBS | -lodbc | 
| Directive | Local Value | Master Value | 
|---|---|---|
| odbc.allow_persistent | On | On | 
| odbc.check_persistent | On | On | 
| odbc.default_cursortype | Static cursor | Static cursor | 
| odbc.default_db | no value | no value | 
| odbc.default_pw | no value | no value | 
| odbc.default_user | no value | no value | 
| odbc.defaultbinmode | return as is | return as is | 
| odbc.defaultlrl | return up to 4096 bytes | return up to 4096 bytes | 
| odbc.max_links | Unlimited | Unlimited | 
| odbc.max_persistent | Unlimited | Unlimited | 
| OpenSSL support | enabled | 
| OpenSSL Library Version | OpenSSL 1.1.1d 10 Sep 2019 | 
| OpenSSL Header Version | OpenSSL 1.1.1n 15 Mar 2022 | 
| Openssl default config | /usr/lib/ssl/openssl.cnf | 
| Directive | Local Value | Master Value | 
|---|---|---|
| openssl.cafile | no value | no value | 
| openssl.capath | no value | no value | 
| PCRE (Perl Compatible Regular Expressions) Support | enabled | 
| PCRE Library Version | 10.39 2021-10-29 | 
| 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 | 1 | 1 | 
| pcre.recursion_limit | 100000 | 100000 | 
| PDO support | enabled | 
|---|---|
| PDO drivers | firebird, mysql, odbc, sqlite, sqlsrv | 
| PDO Driver for Firebird | enabled | 
|---|---|
| Client Library Version | LI-V6.3.5.33100 Firebird 3.0 | 
| PDO Driver for MySQL | enabled | 
|---|---|
| Client API version | mysqlnd 8.0.30 | 
| Directive | Local Value | Master Value | 
|---|---|---|
| pdo_mysql.default_socket | /var/run/mysqld/mysqld.sock | /var/run/mysqld/mysqld.sock | 
| PDO Driver for ODBC (unixODBC) | enabled | 
|---|---|
| ODBC Connection Pooling | Enabled, strict matching | 
| PDO Driver for SQLite 3.x | enabled | 
|---|---|
| SQLite Library | 3.27.2 | 
| pdo_sqlsrv support | enabled | 
|---|---|
| ExtensionVer | 5.11.0 | 
| Directive | Local Value | Master Value | 
|---|---|---|
| pdo_sqlsrv.client_buffer_max_kb_size | 10240 | 10240 | 
| pdo_sqlsrv.log_severity | 0 | 0 | 
| pdo_sqlsrv.report_additional_errors | 1 | 1 | 
| pdo_sqlsrv.set_locale_info | 2 | 2 | 
| 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 | 
| POSIX support | enabled | 
| PSpell Support | enabled | 
| 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 | 
| Registered serializer handlers | php_serialize php php_binary igbinary | 
| 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 | no value | no value | 
| session.cookie_lifetime | 0 | 0 | 
| session.cookie_path | / | / | 
| session.cookie_samesite | no value | no value | 
| session.cookie_secure | 0 | 0 | 
| session.gc_divisor | 1000 | 1000 | 
| session.gc_maxlifetime | 1440 | 1440 | 
| session.gc_probability | 0 | 0 | 
| 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/lib/php/sessions | /var/lib/php/sessions | 
| session.serialize_handler | php | php | 
| session.sid_bits_per_character | 5 | 5 | 
| session.sid_length | 26 | 26 | 
| 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 | 1 | 1 | 
| session.use_only_cookies | 1 | 1 | 
| session.use_strict_mode | 0 | 0 | 
| session.use_trans_sid | 0 | 0 | 
| shmop support | enabled | 
| SimpleXML support | enabled | 
| Schema support | enabled | 
| NET-SNMP Support | enabled | 
| NET-SNMP Version | 5.7.3 | 
| Soap Client | enabled | 
| Soap Server | enabled | 
| Directive | Local Value | Master Value | 
|---|---|---|
| soap.wsdl_cache | 1 | 1 | 
| soap.wsdl_cache_dir | /tmp | /tmp | 
| soap.wsdl_cache_enabled | On | On | 
| soap.wsdl_cache_limit | 5 | 5 | 
| soap.wsdl_cache_ttl | 86400 | 86400 | 
| Sockets Support | enabled | 
| sodium support | enabled | 
|---|---|
| libsodium headers version | 1.0.18 | 
| libsodium library version | 1.0.18 | 
| 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.27.2 | 
| Directive | Local Value | Master Value | 
|---|---|---|
| sqlite3.defensive | On | On | 
| sqlite3.extension_dir | no value | no value | 
| sqlsrv support | enabled | 
|---|---|
| ExtensionVer | 5.11.0 | 
| Directive | Local Value | Master Value | 
|---|---|---|
| sqlsrv.ClientBufferMaxKBSize | 10240 | 10240 | 
| sqlsrv.LogSeverity | 0 | 0 | 
| sqlsrv.LogSubsystems | 0 | 0 | 
| sqlsrv.SetLocaleInfo | 2 | 2 | 
| sqlsrv.WarningsReturnAsErrors | On | On | 
| Dynamic Library Support | enabled | 
| Path to sendmail | /usr/sbin/sendmail -t -i | 
| 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 | form= | form= | 
| user_agent | no value | no value | 
| sysvmsg support | enabled | 
| sysvsem support | enabled | 
| sysvshm support | enabled | 
| Tidy support | enabled | 
| libTidy Version | 5.6.0 | 
| libTidy Release | 2017/11/25 | 
| Directive | Local Value | Master Value | 
|---|---|---|
| tidy.clean_output | no value | no value | 
| tidy.default_config | no value | no value | 
| Tokenizer Support | enabled | 
| Version | 3.2.1 | 
| Support Xdebug on Patreon, GitHub, or as a business | |
| Enabled Features (through 'xdebug.mode' setting)  | ||
|---|---|---|
| Feature | Enabled/Disabled | Docs | 
| Development Helpers | ✘ disabled | ⊕ | 
| Coverage | ✘ disabled | ⊕ | 
| GC Stats | ✘ disabled | ⊕ | 
| Profiler | ✘ disabled | ⊕ | 
| Step Debugger | ✔ enabled | ⊕ | 
| Tracing | ✘ disabled | ⊕ | 
| Optional Features | |
|---|---|
| Compressed File Support | no | 
| Clock Source | clock_gettime | 
| 'xdebug://gateway' pseudo-host support | yes | 
| 'xdebug://nameserver' pseudo-host support | yes | 
| Systemd Private Temp Directory | /tmp/systemd-private-3221d60dabd645c689c09873db6cf172-apache2.service-95ACom | 
| Debugger | enabled | 
|---|---|
| IDE Key | no value | 
| Directive | Local Value | Master Value | 
|---|---|---|
| xdebug.auto_trace | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.cli_color | 0 | 0 | 
| xdebug.client_discovery_header | HTTP_X_FORWARDED_FOR,REMOTE_ADDR | HTTP_X_FORWARDED_FOR,REMOTE_ADDR | 
| xdebug.client_host | localhost | localhost | 
| xdebug.client_port | 9003 | 9003 | 
| xdebug.cloud_id | no value | no value | 
| xdebug.collect_assignments | Off | Off | 
| xdebug.collect_includes | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) | 
| xdebug.collect_params | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) | 
| xdebug.collect_return | Off | Off | 
| xdebug.collect_vars | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) | 
| xdebug.connect_timeout_ms | 200 | 200 | 
| xdebug.coverage_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.default_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.discover_client_host | On | On | 
| xdebug.dump.COOKIE | no value | no value | 
| xdebug.dump.ENV | no value | no value | 
| xdebug.dump.FILES | no value | no value | 
| xdebug.dump.GET | no value | no value | 
| xdebug.dump.POST | no value | no value | 
| xdebug.dump.REQUEST | no value | no value | 
| xdebug.dump.SERVER | no value | no value | 
| xdebug.dump.SESSION | no value | no value | 
| xdebug.dump_globals | On | On | 
| xdebug.dump_once | On | On | 
| xdebug.dump_undefined | Off | Off | 
| xdebug.file_link_format | no value | no value | 
| xdebug.filename_format | no value | no value | 
| xdebug.force_display_errors | Off | Off | 
| xdebug.force_error_reporting | 0 | 0 | 
| xdebug.gc_stats_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.gc_stats_output_dir | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.gc_stats_output_name | gcstats.%p | gcstats.%p | 
| xdebug.halt_level | 0 | 0 | 
| xdebug.idekey | no value | no value | 
| xdebug.log | no value | no value | 
| xdebug.log_level | 7 | 7 | 
| xdebug.max_nesting_level | 256 | 256 | 
| xdebug.max_stack_frames | -1 | -1 | 
| xdebug.mode | debug | debug | 
| xdebug.output_dir | /tmp | /tmp | 
| xdebug.overload_var_dump | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) | 
| xdebug.profiler_append | Off | Off | 
| xdebug.profiler_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.profiler_enable_trigger | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.profiler_enable_trigger_value | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.profiler_output_dir | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.profiler_output_name | cachegrind.out.%p | cachegrind.out.%p | 
| xdebug.remote_autostart | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.remote_connect_back | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.remote_enable | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.remote_host | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.remote_log | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.remote_log_level | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.remote_mode | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.remote_port | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.remote_timeout | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.scream | Off | Off | 
| xdebug.show_error_trace | Off | Off | 
| xdebug.show_exception_trace | Off | Off | 
| xdebug.show_local_vars | Off | Off | 
| xdebug.show_mem_delta | (setting removed in Xdebug 3) | (setting removed in Xdebug 3) | 
| xdebug.start_upon_error | default | default | 
| xdebug.start_with_request | default | default | 
| xdebug.trace_enable_trigger | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.trace_enable_trigger_value | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.trace_format | 0 | 0 | 
| xdebug.trace_options | 0 | 0 | 
| xdebug.trace_output_dir | (setting renamed in Xdebug 3) | (setting renamed in Xdebug 3) | 
| xdebug.trace_output_name | trace.%c | trace.%c | 
| xdebug.trigger_value | no value | no value | 
| xdebug.use_compression | 0 | 0 | 
| xdebug.var_display_max_children | 128 | 128 | 
| xdebug.var_display_max_data | 512 | 512 | 
| xdebug.var_display_max_depth | 3 | 3 | 
| XML Support | active | 
| XML Namespace Support | active | 
| libxml2 Version | 2.9.14 | 
| XMLReader | enabled | 
| XMLRPC extension version | 1.0.0RC3 | 
| core library version | xmlrpc-epi v. 0.54 | 
| author | Dan Libby | 
| homepage | http://xmlrpc-epi.sourceforge.net | 
| open sourced by | Epinions.com | 
| XMLWriter | enabled | 
| XSL | enabled | 
| libxslt Version | 1.1.32 | 
| libxslt compiled against libxml Version | 2.9.4 | 
| EXSLT | enabled | 
| libexslt Version | 1.1.32 | 
| Opcode Caching | Up and Running | 
| Optimization | Disabled | 
| SHM Cache | Enabled | 
| File Cache | Disabled | 
| JIT | Disabled | 
| Startup | OK | 
| Shared memory model | mmap | 
| Cache hits | 36709973 | 
| Cache misses | 53322 | 
| Used memory | 127942936 | 
| Free memory | 35720 | 
| Wasted memory | 6239072 | 
| Interned Strings Used memory | 6290968 | 
| Interned Strings Free memory | 24 | 
| Cached scripts | 4320 | 
| Cached keys | 6205 | 
| 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 | no value | no value | 
| 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 | 0 | 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.19.5 | 
| Libzip version | 1.7.3 | 
| BZIP2 compression | Yes | 
| XZ compression | No | 
| ZSTD compression | No | 
| AES-128 encryption | Yes | 
| AES-192 encryption | Yes | 
| AES-256 encryption | Yes | 
| 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 (3)0 => array (7)| 'name' => 'default output handler' | 'type' => 0 | 'flags' => 20592 | 'level' => 0 | 'chunk_size' => 4096 | 'buffer_size' => 159744 | 'buffer_used' => 34571 => array (7)| 'name' => 'Closure::__invoke' | 'type' => 1 | 'flags' => 113 | 'level' => 1 | 'chunk_size' => 0 | 'buffer_size' => 16384 | 'buffer_used' => 412 => array (7)| 'name' => 'default output handler' | 'type' => 0 | 'flags' => 112 | 'level' => 2 | 'chunk_size' => 0 | 'buffer_size' => 16384 | 'buffer_used' => 0
| Host | 'blog-lupa-martin.imho.cz'
 | 
|---|---|
| HTTP_X_FORWARDED_PROTO | 'https'
 | 
| Access-Control-Allow-Origin | '*'
 | 
| Referrer-Policy | 'no-referrer-when-downgrade'
 | 
| X-Real-IP | '216.73.216.123'
 | 
| Connection | 'close'
 | 
| accept | '*/*'
 | 
| user-agent | 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)'
 | 
| accept-encoding | 'gzip, br, zstd, deflate'
 | 
| cookie | '_nss=1; opinionsOrdering=insert; tracy-session=edc24e091c'
 | 
| X-HTTPS | '1'
 | 
| XDEBUG_SESSION_STOP | '1'
 | 
|---|
empty
| _nss | '1'
 | 
|---|---|
| opinionsOrdering | 'insert'
 | 
| tracy-session | 'edc24e091c'
 | 
| Set-Cookie | 'XDEBUG_SESSION=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; SameSite=Lax'
 | 
|---|---|
| X-Powered-By | 'Nette Framework 3'
 | 
| Content-Type | 'text/html; charset=utf-8'
 | 
| X-Frame-Options | 'SAMEORIGIN'
 | 
| Set-Cookie | '_nss=1; path=/; secure; HttpOnly; SameSite=Strict'
 | 
| Vary | 'X-Requested-With'
 | 
| Content-Security-Policy | 'upgrade-insecure-requests'
 | 
Headers have been sent, output started at .../templates-common-@HtmlDocument--RootLike.inc.latte--3f2affa234.php:97 source
87: IInfo\LatteMacros::renderControlX($this->global->uiControl, "Shared_Ipn_PaginationLinks", "render", []); 88: IInfo\LatteMacros::renderControlX($this->global->uiControl, "Shared_Favicons", "render", []); 89: $this->renderBlock('common__HtmlDocument--rss', get_defined_vars()) /* line 53 */; 90: echo "\n"; 91: if ($rssFeeds) /* line 54 */ { 92: $iterations = 0; 93: foreach ($rssFeeds as $rssFeed) /* line 55 */ { 94: echo '<link rel="alternate" title="'; 95: echo LR\Filters::escapeHtmlAttr($rssFeed['title']) /* line 56 */; 96: echo '" href="'; 97: echo LR\Filters::escapeHtmlAttr(LR\Filters::safeUrl($rssFeed['url'])) /* line 56 */; 98: echo '" type="application/rss+xml"> 99: '; 100: $iterations++; 101: }