$r = true; if (!empty($layer['parent'])) { //Пустой слой не должен обрывать наследования если какой=то родитель скрывает всю ветку $r = $layer['parent']['is_save_branch']; if (is_null($r)) { $r = true; } } $layer['is_save_branch'] = $r; return false; }, 'tpl:div,is'); Event::handler('layer.isshow', function (&$layer) { //tpl depricated if (is_string(@$layer['tpl']) && @$layer['tplcheck']) { //Мы не можем делать проверку пока другой плагин не подменит tpl $res = Load::loadTEXT($layer['tpl']); if (!$res) { 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;
*/ $ans = Load::srcInfo('test.site.ru/folder/upload.php?test=1&test2=2'); assert($ans['query'] === '?test=1&test2=2'); assert($ans['src'] === 'test.site.ru/folder/upload.php?test=1&test2=2'); assert($ans['path'] === 'test.site.ru/folder/upload.php'); assert($ans['folder'] === 'test.site.ru/folder/'); $ans = Load::srcInfo('~test.site.ru'); assert($ans['path'] === '~/test.site.ru'); /** * Load::nameInfo - Принимает имя файла и возвращает в массиве следующую информацию по нему: * 'id' => boolean false, если в имени файла присутствует @ и после данного знака стоит число, то возвращает это число * в текстовом формате * 'name' => строковое имя файла до расширения (.php, .xml, .xlsx и т.п.), при этом если вначале имени файла стоит * шестизначное число и после этого числа стоит точка или пробел, то это число не включается в имя. * если в имени файла имеется знак @ и после этого знака идет целое число, то это число так же не включается в имя. * 'fname' => строковое полное имя файла до расширения (.php, .xml, .xlsx и т.п.) * 'file' => строковое полное имя файла с расширением * 'date' => null, если спереди имени файла стоит шестизначное число и после этого числа стоит точка или пробел, то возвращается это число * 'ext' => строковое расширение файла (php, xml, xlsx и т.п.) */ $ans = Load::nameInfo('*****@*****.**'); assert($ans['id'] === '24'); assert($ans['name'] === 'test'); assert($ans['fname'] === '110316.test@24'); assert($ans['file'] === '*****@*****.**'); assert($ans['date'] === '110316'); assert($ans['ext'] === 'txt'); assert(!!Load::loadTEXT('-load/load.js')); $conf = Load::loadJSON('-load/.infra.json'); assert($conf['tester'] == 'tester.php'); echo '{"result":1,"msg":"Все тесты выполнены"}';
public static function getTpl(&$layer) { $tpl = $layer['tpl']; if (is_string($tpl)) { $tpl = Load::loadTEXT($tpl); //M доп параметры после : } elseif (is_array($tpl)) { $tpl = $tpl[0]; } else { $tpl = ''; } if (!$tpl) { $tpl = ''; } return $tpl; }