aowow/template/bricks/pageTemplate.tpl.php
Sarjuuk 226f521439 Template/Endpoints (Base)
* redo page render following the logic of:
      Response ─┬─> TextResponse ─> TextResponseImpl
                └─> TemplateResponse ─> TemplateResponseImpl
    * split up giant files, one per response path
    * caching becomes a trait, implemented where necessary
        * TextResponses (Ajax) can now be cached
    * make use of previously defined php classes for js objects
        * Tabs, Listview, Tooltip, Announcement, Markup, Book, ...
    * \Aowow\Template\PageTemplate is the new class to be cached
    * do not discard error messages generated after vars have been sent to template
      and store in session for display at a later time
    * implement tracking consent management
    * move logic out of template into their respective endpoints
2025-09-25 15:32:18 +02:00

40 lines
1.8 KiB
PHP

<?php
namespace Aowow\Template;
?>
<script type="text/javascript">//<![CDATA[
<?php
if ($this->contribute & CONTRIBUTE_CO):
echo " var lv_comments = ".$this->community['co'].";\n";
endif;
if ($this->contribute & CONTRIBUTE_SS):
echo " var lv_screenshots = ".$this->community['ss'].";\n";
endif;
if ($this->contribute & CONTRIBUTE_VI):
echo " var lv_videos = ".$this->community['vi'].";\n";
endif;
if ($this->gPageInfo):
echo " var g_pageInfo = ".$this->json('gPageInfo').";\n";
// set by ItemBaseEndpoint
if ($this->user::isLoggedIn() && !empty($this->redButtons[BUTTON_EQUIP])):
echo " \$(document).ready(function() { pr_addEquipButton('equip-pinned-button', ".$this->typeId."); });\n";
endif;
endif;
if ($this->pageTemplate):
if ($this->locale->value && $this->pageTemplate['pageName'] != 'home'):
echo " Locale.set(".$this->locale->value.");\n";
endif;
echo " PageTemplate.set(".$this->json('pageTemplate').");\n";
endif;
echo " PageTemplate.init();\n";
if (isset($fiQuery) && count($fiMenuItem) > 1 && array_slice($fiMenuItem, 0, 2) == [1, 5]):
echo " \$(document).ready(function(){ Menu.modifyUrl(Menu.findItem(mn_path, ".$this->json($fiMenuItem)."), { filter: '".$this->escJS($fiQuery)."'}, { onAppendCollision: fi_mergeFilterParams }) });\n";
elseif (isset($fiQuery)):
echo " Menu.modifyUrl(Menu.findItem(mn_database, ".$this->json($fiMenuItem)."), { filter: '+=".$this->escJS($fiQuery)."' }, { onAppendCollision: fi_mergeFilterParams, onAppendEmpty: fi_setFilterParams, menuUrl: Menu.getItemUrl(Menu.findItem(mn_database, ".$this->json($fiMenuItem).")) });\n";
endif;
?>
//]]></script>