Exemplo n.º 1
0
 public static function getHtml(&$layer)
 {
     //Вызывается как для основных так и для подслойв tpls frame. Расширяется в tpltpl.prop.js
     //if(@$layer['tplclient'])return '';
     $row = Layer::parsed($layer);
     //$row=$_SERVER['QUERY_STRING'],$layer['id'];
     //Нельзя кэшировать слои в которых показываются динамические данные, данные пользователя определяется заголовком у данных
     //Кэш создаётся от любого пользователя.
     //Чтобы узнать что кэш делать не нужно... это знают данные они либо js либо php
     //При загрузки данных те должны выкидывать заголовки не кэшировать, либо не выкидывать если это просто парсер Excel
     //Нас интересует зависит ли html слоя от пользователя, если зависит кэшировать нельзя
     //Зависит если используется $_SESSION, infra_session, infra_admin
     //примечательно что конект к базе не запрещает кэширование этого слоя
     //Узнавать о всём этом мы будем по заголовкам
     //Так чтобы следующий слой взялся уже нормально заголовки нужно заменять...
     //Тем более заменять заголовки нужно в любом случае если кэшируется чтобы и браузер кэшировал
     //Проблема при первом session_get конект к базе и вызов session_init в следующем подключении init не вызывается
     //но для следующего подключения нам нужно понять что есть динамика// По этому загловки отправляются в том числе и руками в скритпах  Cache-Control:no-cache
     $html = Access::adminCache('infrajs_getHtml', function () use(&$layer) {
         //Здесь мог быть установлен infrajs['com'] его тоже нужно вернуть/ А вот после loadTEXT мог быть кэш и ничего не установится
         $html = Tpl::_getHtml($layer);
         return $html;
     }, array($row));
     //Кэш обновляемый с последней авторизацией админа определяется строкой parsed слоя
     return $html;
 }