Koupě YouTube Googlem má ten efekt, který jsem očekával – YouTube se stalo preferovanou videohostingovou službou a Google Video se postupně transformuje do role vyhledávače. Ačkoliv možnost hostovat na něm videa zrušena nebyla a možná nikdy nebude, nedochází v tomto směru k žádným inovacím a Google jasně preferuje YouTube – i pro hostování vlastních videí. To je docela smutné, protože rozhraní Google Videa je podle mého názoru pro pasivní diváky jako jsem já neskonale vhodnější než rozhraní YouTube, naštěstí tuto bolest řeší jeden pěkný Greasemonkey skript, ale o tom někdy jindy.
Začalo to pozvolna. Google Video dostalo odkaz na titulní stránce Google a pár měsíců po akvizici začalo hledat i v YouTube. To přitom jasně dominovalo a dostat se pomocí hledání k videu hostovanému přímo na Google Videu je docela oříšek. V rámci revolučních změn, kterými Google tento týden prošel (píše o tom například Milan Kryl, v pondělí by se měl objevit i článek na Lupě) došlo podstatným způsobem k vylepšení vyhledávání Google Videa.
Předně – nyní můžete rozkliknutím ikonky pluska přehrát nalezené video přímo ve výsledcích hledání, nepotřebujete chodit na samotnou jeho stránku. Velmi šikovné, řekl bych, že toho bude využívat spousta lidí. Ačkoliv spíše bych od Google Videa do budoucna očekával vytvoření nějakého pořádného rozhraní pro sledování internetové televize, dříve či později stejně musí nějaké personalizované kanálové vysílání (neboli televize 3.0, jak jsem si to pojmenoval já) přijít a Google je přesně ten, kdo by v personalizaci měl hrát první housle. Ale to budiž jen druhá odbočka na nějaký případný další spot.
Druhou novinkou je vyhledávání na některých jiných videoserverech, například na asi nejvážnějším konkurentovi YouTube – Metacafé. Postupně by však měli být schopni indexovat skoro vše – ačkoliv se podle všeho budou omezovat jen na videa publikovaná ve flashovém formátu, zajímavé. Tento krok se dříve či později dal čekat, ačkoliv jsem osobně očekával, že přijde o dost později – YouTube online videu dominuje v takové míře, že Google nemá žádnou potřebu podporovat i jiné projekty. Na druhou stranu není pravděpodobné, že by videohosting byl trvale opanován jedním poskytovatelem, nevidím k tomu v tuto chvíli žádný důvod. Bitva se bude muset odehrát na poli konkurenčních uživatelských rozhraní, kde budou videa uložena je v podstatě vedlejší. V tuto chvíli jsou tyto otázky sice v podstatě identickém, ale časem myslím uspějí spíše služby, které budou schopny agregovat videa z různých zdrojů (samozřejmě za podmínky dohody s videohostingy) a pouštět divákům.
Najít pomocí Google Videa nějaký klip, který by nebyl uložen na něm, nebo na YouTube je však docela oříšek. Zkusil jsem celou desítku nejoblíbenějších videí z Metacafé a nakonec našel jen jediný příklad. Čím je to dané je otázkou – buď je dominance YouTube skutečně tak drtivá – ovšem pak by to alespoň ta nej z Metacafé najít mělo – nebo má hledání mimo servery Googlu porodní bolesti, nebo případně Google záměrně či nezáměrně relevanci své konkurence snižuje – třeba proto, že nedokáže vysosat tolik metadat.
To je ale celkem fuk, dech mi vyrazilo něco jiného. Google tato videa umožňuje stejně jako ta z YouTube či Google Videa přehrát přímo ve výsledcích hledání. Ne však ve formě vloženého přehrávače Metacafé, který si každý může vložit na své stránky, ale v přehrávači Google Videa a podle Ionuta Alexe. Chita i je má i uložená na vlastních serverech! Přitom u videa z YouTube je jeho přehrávač respektován včetně té jeho vlastnosti, že při kliku na většinu plochy přehrávače jste přesměrován na YouTube – tedy prostě tak, jak znáte YouTube videa vkládaná na různé blogy apod. Naproti tomu přehrávač Google Videa odkazuje z přehrávače na Metacafé až po podivném kliknutí na tlačítko Google Video a odkaz „Go to Google Video“.
A co víc. Ačkoliv Google možnost přehrání cizího videa označuje jako „zhlédnutí ukázky“, mnou nalezené dvouminutové video lze takto vidět celé, žádný úryvek. Jestli by u hodinového dokumentu byla politika jiná se mi nepodařilo vypátrat, ostatně drtivá většina internetových videí je do pěti minut. Co to tedy znamená? Že lidé mohou Google Video použít ke sledování obsahu z Metacafé, aniž by vůbec zaznamenali, že se nejedná o materiál Googlu! Podívejte se sami:

To je něco naprosto jiného než zobrazování náhledů v obrázkovém vyhledávání a prvních pár vět u hledání zpráv. Kdyby udělal třeba Stream to samé s YouTube, bylo by to pravděpodobně nelegální, prostě krádež. Právě jeho podmínky jsou mimochodem poměrně striktní, ačkoliv není přísně vymáháno a některé velké příklady naznačují, že YouTube zdaleka není tak přísné jako si vyhrazuje být. Ostatně až se objeví reklama uvnitř videa bude celkem jedno, jestli ji budu absorbovat na www.youtube.com či na nějakém blogu).
Google jistě nekrade a dovedu si představit argumentaci ve stylu: „Je to jen ekvivalent cachování stránek, kdo nechce, nemusí u nás být.“ Ve skutečnosti to ale i pokud má svolení dotčených videohostingů je silně neetické, alespoň v mých očích a bez znalosti přesné dohody. Google využívá svého téměř monopolu ve vyhledávání a říká ostatním – buď přistoupíte na naše podmínky a poskytnete nám tuto zvláštní výsadu, nebo budeme dál hledat jen na YouTube a nepošleme k vám od nás ani človíčka.
Co si o tom myslíte vy?
The bias towards YouTube and Google's use of content from competitors by poppy playtime chapter 3 without clear ownership are noteworthy points.
Myslím, že to je obecný problém jakéhokoli jiného formátu než klasického webového hypertextu. Vezměme si pro příklad PDF. Najdu v Googlu nějaké pédéefko, kliknu na něj, přečtu si ho, kliknu na Zpět a jsem zase na Googlu. Nemá-li to pédéefko příslušnou informaci v sobě, jako běžný uživatel vůbec nezaznamenám, že jsem Google opustil. Především o tom nemám ani důvod přemýšlet. Prostě jsem použil Google k hledání informací a on mi je nalezl a ukázal.
Zkusím ještě jeden příklad: Pojedu tramvají po nábřeží a z jejího okénka si prohlédnu Tančící dům. Porušily tím Dopravní podniky Hl. města Prahy autorská práva Franka Gehryho?
Jasně, je to hodně ujetý příklad, mj. proto, že koukáním na dům práva architekta porušit nejdou. Jdou ale porušit práva k videu, které jeho autor dobrovolně umístí na virtuální ulici, jakou je YouTube a spol.?
Asi tahle moje úvaha vyznívá jinak, než chci, protože jsem sám v otázce autorských práv dost konzervativní a to, co v článku popisujete, se mi také moc nelíbí. Zároveň si ale myslím, že všechny tyhle nové formy internetového "sdílení" obsahu přerůstají současné pojetí autorského práva tak, že je velmi obtížné ho na ně mechanicky aplikovat. Chtělo by to nějaký autorskoprávní upgrade.
If you want to find out your true Hogwarts house, you should really check out Harry Potter house quiz .
[2] Tančící dům si můžete klidně i vyfotit a umístit například na blog, píše se to v §33 AutZ. Zajímavé je, že 3D model nebo třeba chalupu ve tvaru Národní chobotnice si ale udělat nesmíte, ani pro vlastní potřebu...
Videa na Metacafé nejsou díla vystavená na veřejném prostranství, takže je to zas o něčem jiném. Spíš bych to přirovnal k tomu, kdyby do televizního programu ke každému pořadu přidali tv-rip jako "ukázku".
S posledním odstavcem souhlasím, ale neviděl bych to tak černě. Zákony se přizpůsobují pomalu, ale přizpůsobují. Například §46 AutZ odst. 5, co přibyl loni, je toho důkazem - koho by před internetem napadlo, že to bude někdy potřeba...
Drift Boss is a unique racing game for those who love the art of drifting.
No, hlavně se mi líbí, že Google přidává výsledky z videa i do vyhledávání (i v české verzi, což např. neplatí o novém designu, co je jenom v anglické) - zkuste si například hledat "internet is for porn" - dobře, vymyslim něco lepšího, třeba "telling it all".
A k samotnému článku - já když na google video najdu něco z metacafe (ono stačí zadat výraz "metacafe") a potom klepnu na náhled videa, jsem rovnou na stránce s videem
a poslední věc- na Google Video je pořád možnost nějaká videa si kupovat. Zajímalo by mě, jestli tuhle možnost někdo využívá :)
[2] Spíš to vypadá jako že jedete tramvají se zatemnělými okny, a když přijíždíte na nábřeží tak se uprostřed tramvaje náhle objeví úplně přesná kopie tančící obludy s poznámkou "dům MHD praha" a odkazem na stažení oken a titulkem Go to tančící dům MHD... Po kliknutí na odkaz se vám zobrazí originál. Jistě chápete rozdíl :)
Your source for horror movies, scary reviews, horror dvd, clips, actors, actresses, upcoming horror movies and news. You will find the top horror movies, scary videos, scary pictures, the best horror movies and trailers. Palace of Horror is a place to satisify your bloody needs for gore.
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/krade-google-videa-sve-konkurenci/'
 | 
| SCRIPT_URI | 'http://blog-lupa-martin.imho.cz/jilm/krade-google-videa-sve-konkurenci/'
 | 
| 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; tracy-session=31147408d7'
 | 
| 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 | '60286'
 | 
| GATEWAY_INTERFACE | 'CGI/1.1'
 | 
| SERVER_PROTOCOL | 'HTTP/1.0'
 | 
| REQUEST_METHOD | 'GET'
 | 
| QUERY_STRING | 'XDEBUG_SESSION_STOP=1'
 | 
| REQUEST_URI | '/jilm/krade-google-videa-sve-konkurenci/?XDEBUG_SESSION_STOP=1'
 | 
| SCRIPT_NAME | '/jilm/krade-google-videa-sve-konkurenci/'
 | 
| PHP_SELF | '/jilm/krade-google-videa-sve-konkurenci/'
 | 
| REQUEST_TIME_FLOAT | 1762258646.828818
 | 
| REQUEST_TIME | 1762258646
 | 
| __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/krade-google-videa-sve-konkurenci/ | 
| SCRIPT_URI | http://blog-lupa-martin.imho.cz/jilm/krade-google-videa-sve-konkurenci/ | 
| 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; tracy-session=31147408d7 | 
| 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 | 60286 | 
| GATEWAY_INTERFACE | CGI/1.1 | 
| SERVER_PROTOCOL | HTTP/1.0 | 
| REQUEST_METHOD | GET | 
| QUERY_STRING | XDEBUG_SESSION_STOP=1 | 
| REQUEST_URI | /jilm/krade-google-videa-sve-konkurenci/?XDEBUG_SESSION_STOP=1 | 
| SCRIPT_NAME | /jilm/krade-google-videa-sve-konkurenci/ | 
| HTTP Request Headers | |
|---|---|
| HTTP Request | GET /jilm/krade-google-videa-sve-konkurenci/?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; tracy-session=31147408d7 | 
| 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 | 1281253 | 
| Cache misses | 2232 | 
| Used memory | 54564456 | 
| Free memory | 78861904 | 
| Wasted memory | 791368 | 
| Interned Strings Used memory | 6117488 | 
| Interned Strings Free memory | 173504 | 
| Cached scripts | 2215 | 
| Cached keys | 3160 | 
| Max keys | 16229 | 
| OOM restarts | 1 | 
| 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' => 01 => 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; tracy-session=31147408d7'
 | 
| X-HTTPS | '1'
 | 
| XDEBUG_SESSION_STOP | '1'
 | 
|---|
empty
| _nss | '1'
 | 
|---|---|
| tracy-session | '31147408d7'
 | 
| 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:94 source
84: IInfo\LatteMacros::renderControlX($this->global->uiControl, "Shared_DnsPreResolver", "render", []); 85: $this->createTemplate(IInfo\LatteMacros::getTemplateDestination('../common/socialNetworks/socialNetworks.inc.latte', $this->getName(), true), ['isSocialNetworksFacebook' => $configTemplates['common']['socialNetworks']['facebook']['enabled'], 86: 'isSocialNetworksTwitter' => $configTemplates['common']['socialNetworks']['twitter']['enabled']] + $this->getParameters(), "includeX")->render(); 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">