Na počátku všeho bylo kontroverzní, leč alespoň trochu opodstatněné, řešení kontroly bezhotovostního platebního styku firem a živnostníků z hlavy ministra financí Andreje Babiše (ANO). Živnostníci se proti tomuto novému zákonu staví od jeho prvopočátků. ANO slibovalo v roce 2014 před volbami „odstranění překážek pro podnikatele“ a toto je zřejmě prvním výsledkem jejich „slibu“.
S postupem času se však – v rámci detailnější specifikace zákona o elektronických tržbách – původní myšlenka a selským rozumem pochopitelná vize začíná vytrácet. EET postihne i eshopy. Zní to nelogicky, zní to naprosto bezhlavě, jde to proti selskému rozumu, ale je to tak. Ačkoliv právě eshopy mají zřejmě nejlépe zdokumentované veškeré platby od zákazníků a většina plateb probíhá online, budou muset mnohé z nich zavést EET.
Týkalo by se to druhé vlny nasazení EET, které bude zaměřeno na velkoobchod a maloobchod. U eshopů pak všech online prodejců, kteří nabízí osobní odběr a tedy platbu v hotovosti (to lze ještě pochopit a nikdo by proti asi nic nenamítal).
Ne vše je ovšem klasický osobní odběr jako třeba ten tradiční v provozovně eshopu nebo kamenné prodejně prozovovatele shopu. Máme tu dnes i služby jako je Zásilkovna, Uloženka a další. Tam by mohlo jít – podobně jako u dobírky realizované třetí stranou přepravce – také o hotovostní operace u třetí strany (pobočky Zásilkovny nebo Uloženky) a následně zaslání financí na bankovní účet provozovatele eshopu. Zaplatí-li zákazník v rámci košíku online rovnou převodem, pak je to úplně bez potíží.
Díky platbě předem (bankovním převodem) může zůstat zachován i klasický osobní odběr. Na místě už dojde prakticky jen k předání zboží a neprobíhá tak žádná hotovostní transakce.
UPRAVENO 27.9. NA ZÁKLADĚ VYJÁDŘENÍ MINISTRA FINANCÍ
Ještě včera (26.9.2016) to vypadalo, že do EET spadne i platba na dobírku. Že za nahlášení bude odpovídat eshop samotný a nikoliv přepravce, který hotovost / platbu kartou od zákazníka fakticky přebírá a peníze pak posílá provozovateli eshopu na účet. Ano, na podnikatelský účet, čili tam, kde se dá platba zkontrolovat a je evidována prakticky online.
Dnes po publikování vyjádření samotného Andreje Babiše na stránkách MFCR se alespoň něco v dobré obrací. Dobírka, bude-li realizována třetí stranou (tedy přepravcem jako je PPL, DHL, Česká pošta atd.), je od EET oproštěna, jelikož peníze dostane internetový prodejce od třetí strany přepravce na bankovní účet. Jsem velice rád za toto vyjádření ministra financí a věřím, že jej můžeme všichni začít brát jako „směroplatné“ a potvrzené černé na bílém.
Tohle je největší komedie. EET bylo navrženo jako nástroj pro eliminování daňových úniků u hotovostních plateb a ono postihne elektronické obchody, kde je možné platit elektronicky. Slyšíte to? A nepřijde Vám to na hlavu postavené?
Všechny eshopy, které nabízí platbu přes platební brány jako je PayPal, GoPay, PayU a další, automaticky spadne do povinnosti řešit EET ve druhé vlně (maloobchod, velkoobchod) – tedy zhruba někdy v březnu 2017. Tyto platební brány už však nepoužívají jen eshopy, ale také SAAS společnosti nabízející software jako službu nebo i jiné online služby. Trpět tak začne mnoho online podnikatelů, internetových služeb a menších internetových živnostníků.
Online platební nástroje využívají nebo díky nim dostávají platby i affiliate partneři. Jsem jedním z nich a řešení vidím několik. Předně eliminovat veškeré affiliate sítě a programy, které platí výhradně přes PayPal a podobné služby. Hodně affiliate partnerů tak opustí zahraniční trh a spolupráci se zahraničím obecně, jelikož tam je PayPal prakticky jedinou možností jak dostat peníze za provize. Další možností je směnka, která je prakticky hotovostní platbou a do EET samozřejmě spadá také. Soustředit se samozřejmě začnou výhradně tam, kde jsou platby na fakturu realizované bankovním převodem.
Kromě dobírky a online plateb spadnou do EET i platby kartou. Opět bezhotovostní forma platby, kterou lze snadno dohledat. Navíc ve většině případů je platba kartou realizována prostřednictvím prostředníka (platební brány) a peníze následně opět chodí prodejci na bankovní účet.
Tak a teď si to pěkně shrneme. Velcí hráči už mají tolik systémů a technologií, že je další bude stát jen nějaký náklad na nákup SW/HW a další lidské zdroje. Středně velké eshopy to zřejmě ustojí, ale bude je to stát nemalé náklady na vývoj a implementaci modulu pro jejich eshop a další lidské zdroje věnované administrativě.
Zajímavé to bude u malých eshopů a online služeb jednotlivců – živnostníků. Ti mají prakticky jen pár možností. Tou první, asi nejráznější, je zavřít krám. Některým už trpělivost určitě dojde. Mnoho jich má eshop jen na přilepšenou, takže to prostě nebudou chtít dál řešit a skončí s tím.
Méně rázným řešením bude útěk podnikatelů s jejich businessem mimo ČR. Prostě začnou hledat alternativy v EU, podnikání v UK, Estonsko, daňové ráje a podobně.
Ostatní, aby se vyhnuli EET, tak zcela nekompromisně eliminují osobní odběr s platbou hotově, platby kartou a online platební brány. Zbude jim tak pouhá platba převodem na účet a po vyjádření A. Babiše ze dne 26.9.2016 i dobírka, což je v dnešní době dost málo na to, aby eshop přežil a nadále fungoval. Chtě nechtě mu začnou klesat tržby, odcházet zákazníci a brzy skončí.
Všichni doufáme a modlíme se, aby druhá fáze EET nedopadla tak, jak to zatím vypadá. Nicméně pokud dojde k její implementaci v podobě, jaká je nyní popsána na etrzby.cz, pak se máme opravdu na co těšit – nebo spíš čeho děsit.
EET nevybere z online prostředí ani prd. Naopak začnou klesat počty online podnikatelů, eshopů, SAAS, affiláků a dalších, kteří přispívají do státní kasy v podobě daně z příjmů nebo daně z přidané hodnoty. EET bude blokátorem rozvoje české ecommerce, nahraje velkým hráčům a TOP eshopům a postupně zlikviduje střední a menší online obchodníky.
Dost možná zabije české online platební brány, jelikož velcí hráči často řeší platby kartou vlastním řešením a platební brány nepotřebují. Naopak malé a střední se ve velkém budou plateb přes brány zbavovat nebo je natolik zpoplatní, že je nikdo moc nebude využívat. Platební brány typu GoPay, PayU a další by tak měli být sami proti EET a iniciovat odpor k tomuto legislativnímu paskvilu v jejich vlastním zájmu.
V sousedním Německu, které takové chujoviny jako je EET nevymýšlí, roste síla PayPal coby platebního kanálu č. 1 pro online platby. V USA to bude hodně podobné a myslím, že si na sílu PayPalu zvykly už i české ecommerce firmy a čeští zákazníci. A když už si na něj tak krásně začali zvykat, tak jim ho pomalu začneme vypínat. Resp. EET bude stát za nezanedbatelným úbytkem plateb přes PayPal v ČR.
Osobně využívám PayPal pro příjem plateb z provizních systémů zahraničních hostingů nebo affiliate systémů pro prodejce grafických šablon internetových obchodů. Nejsem bábovka, většina podnikatelů nejsou bábovky, naopak. Tudíž se na to nevykašlu a dost možná to neudělá ani většina živnostníků kolem, spíš menšina. Ale prostě přestanu tyto zahraniční hostingy doporučovat, stejně tak šablony.
Affiláci obecně budou muset zvážit zda chtějí vést administrativu kolem EET nebo prostě uhnou a přeorientují se na české provizní systémy, kde se platí provize bankovním převodem na základě vystavené faktury. Alespoň tak k tomu na 90% budu přistupovat i já. Nejsem plátce DPH a nechci se jím stát a byl bych blázen, kdybych se vyhýbal DPH kvůli výrazně vyšší administrativě a věcem, které mě prudí a na druhé straně se dostal na paškál EET. Nedostanu, to mi věřte. O affilácích ještě trochu více, později / níže.
Kdo jiný by si na EET mohl více namastit kapsu? Stát ne, podnikatel ne, zákazník ne … Tím, kdo bude mít online podnikatele tak trochu jako rukojmí bude banka. Více plateb bude chodit přímo tam a půjde o naprosto zásadní element v podnikání eshopů. I proto si banky teoreticky budou moci dovolit zdražit. Ano, je to tak – trh je trh a ten se přizpůsobuje poptávce, potřebám a důležitosti…
Dosud je v ČR v rámci online prodeje nejvyužívanější dobírka. Ta by měla nakonec zůstat mimo EET (je-li realizována přepravcem mimo prodejce). Spolu s platbou převodem půjde nyní o jediné dvě platební metody online obchodování, které jsou postavené mimo EET a umožní tak pokračovat v eshopu i těm, kteří se budou chtít EET nekompromisně vyhnout.
Díky tomu poroste samozřejmě poptávka provozovatelů eshopů po modulech platby převodem, jejich max. komfortu, po lepších službách bank atd. Což tímto pohledem nemusí být špatné. Banky jsou u nás zkostnatělé, pomalé, nepřizpůsobivé a toto by mohlo do značné míry nastartovat jejich rozvoj ve smyslu lepších služeb i větších investic do online prostředí.
Už i bez EET se k tomuto dlouhodobě schyluje a je to trend dnešní doby v ecommerce obecně. Mally budou skupovat malé specializované obchůdky a jejich zboží nabízet v podkategoriích svých ohromných multishopů.
Menší prodejci a kreativní jednotlivci nebudou chtít řešit EET a další administrativu. Nabídnout tam své zboží velkým hráčům a příjmy z prodejů jim tak půjdou na účet = klid na duši a žádné EET. Dost možná se z nich stanou marketéři velkých obchodů a budou tam propagovat právě to své zboží. Mám tím na mysli to, že namísto dosavadního marketingu svého minishopu budou propagovat svého chlebodárce (chce se mi říct, svojí Alzu) a na sociálních sítích, svém blogu i jinde budou odkazovat prostě sekci eshopu s jejich zbožím.
To mi nepřijde špatné. Přijdou sice o kontakty na koncové zákazníky, ale také o starosti s provozem obchodu, vývojem eshopu, sledováním všech těch trendů a novinek v oblasti ecommerce a jejich zboží bude zřejmě ve velkém shopu sice méně vidět, ale tržní síla tam bude větší a když si to své zboží podpoří nadále svým marketingem, tak by nemuseli přijít ani o své zákazníky. Mohou si dál vést emailovou databázi, psát blog, propagovat se na soc. sítích, budovat si osobní brand atd. Jen všechnu tu sílu obsahu a podpory prodeje pohrnou na web své „Alzy“.
Alespoň tak nějak to vidím celé já. Já, který zbrojí proti EET už od doby, kdy mi mohla být ukradená a netýkala se mne ani přímo a ani nepřímo (eshopy). Dnes se mne týká přímo (přijímám platby přes PayPal a šekem) i nepřímo (eshopy, které jsem nepředpokládal, že do toho spadnou).
EET je zlo. Zlo, které ve vzorovém Chorvatsku (sakra, proč se neinspirujeme v Německu, Rakousku nebo UK?) nic nepřineslo (kromě více administrativy a prudy) a u nás skončí fiaskem – o tom jsem prakticky přesvědčen. Proč? Protože stát neumí informační technologie, neumí vývoj, neumí internet … prostě neumí. Většina takových projektů skončila v troskách (centrální registr vozidel, OpenCard a spol.). Český stát prostě neumí IT projekty a pochybuju, že na EET (které je svým rozsahem ohromné) se je naučí.
Politicky je sice šance, že se EET zastaví nebo zbrzdí, ale vzhledem k dlouhodobým preferencím ANO/ČSSD to zatím moc nevypadá. Podnikatelů je u nás menšina, provozovatelů shopů sice dost, ale s ohledem pracující lid žalostně málo. A pracující lid to vidí po svém a netrápi ho to. Naopak, konečně přeci ty Vietnamci začnou platit daně…
Tento článek a mnoho otázek kolem evidence tržeb mne dokopalo tak daleko, že jsem začal psát samostatný blog Evid.cz. Snažím se tam popisovat nejen právní předpisy a legislativní aspekty EET, ale především aktuální změny, technická řešení a marketingový pohled a možnosti využití EET pro budování značky, což si troufám tvrdit, že zatím nikdo neudělal.
Článek byl jednak napsán dávno před EET a druhak stále platí, že pokud jsou dva nákupy denně, zvládne se to třeba automatickým exportem objednávek z shopu do účta / erp a tržba se může evidovat až tam. Většinou to takové systémy umí automaticky a popravdě, dělá to tak dost lidí.
To je vidět, že netušíte vůbec o čem se tu točí. EET musí být vystavena v okamžiku platby, né až se majitel pidieshopu probudí a dostane se k počítači. Eshop běží nonstop online, malý podnikatel, který je na to sám, taky někdy spí a nebo dělá i jiné věci, nesedí u eshopu jak u pokladny. K čemu by mu byla jako pokladna do 5000,- ? Božínku, kde já se to narodil.
AG, nebrání mu samozřejmě nic a všechno. Eshop není kamenný obchod ani stánek na tržnici. Většina shopů to potřebuje mít online a nemají-li zrovna nějaké řešení (typicky pronajímané), které to už vyřeší za ně, tak je to prostě problém. Pro Vámi navrhované řešení bych byl u mikroeshopu s pár objednávkama, které ještě navíc nebudou prodávat virtuální/downloadable produkty. Na pokladnu bych se pak vykašlal a řešil to přes nějaký iDoklad a podobné služby ručně nebo si připlatil za některou z online služeb.
Dobrý den, tak krásně jste to napsal. Já prodávám také někdy přes PayPal a našla jsem, že PayPal je vlastně banka a ne platební brána. A co když někdo prodává přes Etsy nebo Ebay. To jsou přece zahraniční platformy a ty nikdy EET řešit nebudou. A cizince nějaká EET účtenka zajímat přece nebude. Co tedy dělat? Jak to bude dál? Poradí někdo?
Bohužel asi máte celým článkem pravdu. Dnes jsem si to celé zkoumala, protože mám eshop a došla jsem zatím k tomu, co píšete - nebudu mít (doufám, že jen na nějaký čas) osobní odběry s hotovostní platbou, platbu kartou ani on-line tlačítka. A počkám co se bude dít v praxi... Doteď jsem se o to nezajímala, protože jsem myslela, zdravým selským rozumem, že eshopů se to týkat nebude - proč taky, každý kousek zboží je evidovaný, zaskladovaný, na všechno je doklad - ale ne, nějak je tolik věcí na ruby, že by až na člověka spadla deprese, ale zase si říkám, prostě se dát nesmíme... Jinak volební heslo Babiše o "odstraňování překážek pro podnikatele" je tak drzý a lživý, že se tomu musím už i hořce zasmát.
Co brání malému eshopu co dělá většinu věcí ručně pořídit si základní pokladnu s tiskárnu (do 5 tisíc) která účtuje pouze částku s dph a na každou platbu co přijde kartou nebo paypalem vystavit doklad, který pošle společně s objednávkou ?
i dobírka, což je v dnešní době dost málo na to, aby eshop přežil a nadále fungoval. ...
Záleží na typu sortimentu, máme textil a máme jen dobírku, nemáme ani možnost převodu a chce to tak jeden člověk z 500. Ty ostatní nenapíšou, ale reálně je ztráta v jednotkách procent, pokud vůbec to. Průměrná cena obj. je 800,- Důvod, že nemáme platební bránu je ten, že náš programátor to za rok stále neimplementoval, je prostě nešika :-D
Na kontroverzní článek Petra Soukupa o EET a jeho vztahu k eshopům zareagoval 26.9. v 17:30 sám Babiš, který vyvrátil obavy eshopů kolem dobírky. Ta pokud bude realizována přepravcem mimo samotného prodejce (tj. přeprava není řešena samotným prodejcem, ale službou třetí strany jako je PPL, DHL apod.), tak nespadá do EET, jelikož peníze skutečně přichází na účet podnikatele až od té třetí strany, kde platba v hotovosti/kartou proběhla.
Specialista internetového marketingu a ecommerce konzultant na volné noze. Uznávaný odborník na platformu Magento eshop, PHP/MySQL vývojář a affiliate nadšenec.
Správce PPC kampaní (se zaměřením na Google AdWords, Sklik) s mnoha lety zkušeností z mediální agentury i práce na volné noze. Konzultant ecommerce a SEO, podpory online prodeje, optimalizace konverzního poměru, srovnávačů zboží a dalších souvisejících nástrojů internetového marketingu. Propagátor a evangelista obsahového marketingu (content marketing) a copywriter.
Standa je diplomovaným specialistou v oboru Informatika ve státní správě a autoritou v oboru internetového marketingu, za kterou stojí reference jako je iDNES (MAFRA a.s.), TV Nova (CET 21 s.r.o.), Toyota Material Handling CZ s.r.o., TRIOLA a.s., Eurocert a.s., Antares a.s. a mnohé další. Více o službách a projektech pod značkou Open Mage najdete na webu www.openmage.cz.
Přečteno 145 495×
Přečteno 89 012×
Přečteno 69 433×
Přečteno 66 540×
Přečteno 57 935×
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 | 1851
 | 
|---|---|
| $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 | '/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/'
 | 
| SCRIPT_URI | 'http://blog-lupa-martin.imho.cz/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/'
 | 
| 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_REFERER | 'https://blog-lupa-martin.imho.cz/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani'
 | 
| HTTP_COOKIE | 'tracy-session=35ed325dab; opinionsOrdering=insert_flat; _nss=1'
 | 
| 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 | '42212'
 | 
| GATEWAY_INTERFACE | 'CGI/1.1'
 | 
| SERVER_PROTOCOL | 'HTTP/1.0'
 | 
| REQUEST_METHOD | 'GET'
 | 
| QUERY_STRING | ''
 | 
| REQUEST_URI | '/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/'
 | 
| SCRIPT_NAME | '/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/'
 | 
| PHP_SELF | '/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/'
 | 
| REQUEST_TIME_FLOAT | 1762218807.049596
 | 
| REQUEST_TIME | 1762218807
 | 
| __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 | /ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/ | 
| SCRIPT_URI | http://blog-lupa-martin.imho.cz/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/ | 
| 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_REFERER | https://blog-lupa-martin.imho.cz/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani | 
| HTTP_COOKIE | tracy-session=35ed325dab; opinionsOrdering=insert_flat; _nss=1 | 
| 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 | 42212 | 
| GATEWAY_INTERFACE | CGI/1.1 | 
| SERVER_PROTOCOL | HTTP/1.0 | 
| REQUEST_METHOD | GET | 
| QUERY_STRING | no value | 
| REQUEST_URI | /ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/ | 
| SCRIPT_NAME | /ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/ | 
| HTTP Request Headers | |
|---|---|
| HTTP Request | GET /ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani/ 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 | 
| referer | https://blog-lupa-martin.imho.cz/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani | 
| cookie | tracy-session=35ed325dab; opinionsOrdering=insert_flat; _nss=1 | 
| X-HTTPS | 1 | 
| HTTP Response Headers | |
| 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 | 5626607 | 
| Cache misses | 3071 | 
| Used memory | 86647664 | 
| Free memory | 47570064 | 
| Wasted memory | 0 | 
| Interned Strings Used memory | 6290968 | 
| Interned Strings Free memory | 24 | 
| Cached scripts | 2461 | 
| Cached keys | 3312 | 
| 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' => 22031 => 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'
 | 
| referer | 'https://blog-lupa-martin.imho.cz/ecommerce/eet-znici-ceskou-ecommerce-a-affiliate-podnikani'
 | 
| cookie | 'tracy-session=35ed325dab; opinionsOrdering=insert_flat; _nss=1'
 | 
| X-HTTPS | '1'
 | 
empty
empty
| tracy-session | '35ed325dab'
 | 
|---|---|
| opinionsOrdering | 'insert_flat'
 | 
| _nss | '1'
 | 
| 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: }