Beispiel #1
0
            return false;
        }
    }
}, 'tpl:div,is');
Event::handler('layer.isshow', function (&$layer) {
    //tpl depricated
    if (Layer::pop($layer, 'onlyclient')) {
        return;
    }
    return Tpl::jsoncheck($layer);
}, 'tpl:div,is');
Event::handler('layer.onshow', function (&$layer) {
    if (Layer::pop($layer, 'onlyclient')) {
        return;
    }
    $layer['html'] = Tpl::getHtml($layer);
}, 'tpl:div');
Event::handler('layer.onshow', function (&$layer) {
    //tpl
    if (Layer::pop($layer, 'onlyclient')) {
        return;
    }
    if (!empty($layer['div'])) {
        $div = $layer['div'];
    } else {
        $div = null;
    }
    $r = View::html($layer['html'], $div);
    if (!$r && (!isset($layer['divcheck']) || !$layer['divcheck'])) {
        echo 'Не найден div ' . $layer['div'] . ' infra_html<br>';
    }
Beispiel #2
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;
 }