20 'dbx_design' =>
'first',
21 'dbx_activ_design' =>
'first',
27 if ($this->baseDir !==
'') {
30 return __DIR__ . DIRECTORY_SEPARATOR .
'fixtures' . DIRECTORY_SEPARATOR .
'dbxTPL' . DIRECTORY_SEPARATOR;
35 return $this->
system[$name] ?? $default;
50 return 'https://localhost/dbxapp/';
65 return 'skin-default';
70 return str_replace(
'\\',
'/', $path);
73 public function os_path(
string $path): string
75 return str_replace(array(
'/',
'\\'), DIRECTORY_SEPARATOR, $path);
92$_SESSION = array(
'dbx' => array(
'cache' => array(
'tpl' => array())));
94require_once dirname(__DIR__) . DIRECTORY_SEPARATOR .
'dbxTPL.class.php';
97$first =
$tpl->get_tpl(
'dbx|test-dbx-runtime-cache', array());
99if (trim(
$first) !==
'first') {
100 fwrite(STDERR,
"FAIL: Erster DBX-Systemwert wurde nicht eingesetzt.\n");
104$cached =
$_SESSION[
'dbx'][
'cache'][
'tpl'][
'dbx'][
'test-dbx-runtime-cache'][
'htm'][
''][
'tpl'] ??
'';
105if (strpos(
$cached,
'{dbx:design}') ===
false) {
106 fwrite(STDERR,
"FAIL: Template-Cache enthält keinen rohen DBX-Platzhalter.\n");
110dbx()->set_system_var(
'dbx_activ_design',
'second');
113if (trim(
$second) !==
'second') {
114 fwrite(STDERR,
"FAIL: Cache-Treffer verwendet einen veralteten DBX-Systemwert.\n");
119if (trim(
$design) !==
'visible') {
120 fwrite(STDERR,
"FAIL: Design-Template-Bedingung sieht den aktuellen DBX-Systemwert nicht.\n");
124$tempRoot = sys_get_temp_dir() . DIRECTORY_SEPARATOR .
'dbx-tpl-cache-' . bin2hex(random_bytes(6));
126 . DIRECTORY_SEPARATOR .
'dbx' . DIRECTORY_SEPARATOR .
'tpl' . DIRECTORY_SEPARATOR .
'htm';
128 fwrite(STDERR,
"FAIL: Temporaeres Template-Verzeichnis konnte nicht angelegt werden.\n");
132file_put_contents(
$tempTpl,
'erste Version');
137file_put_contents(
$tempTpl,
'zweite, laengere Version');
146@rmdir(dirname(dirname(dirname(dirname(
$tempTplDir)))));
150 fwrite(STDERR,
"FAIL: Geaenderte Template-Datei blieb in der Session veraltet.\n");
154echo
"OK: dbxTPL cached rohe Templates, aktualisiert geaenderte Quellen und setzt DBX-Systemwerte bei jeder Ausgabe neu ein.\n";
Gemeinsame Basisklasse fuer dbXapp-System-, Modul- und Include-Objekte.
get_request_var(string $name, $default='')
set_system_var(string $name, $value)
get_system_var(string $name, $default='')
register_editor_file(string $kind, string $path)
editor_file_path(string $path)
$api system['dbx_permalink']
if($web->content_permalink_redirect_target() !=='') $tpl
if(trim($second) !=='second') $design
if(!mkdir($tempTplDir, 0777, true) &&!is_dir($tempTplDir)) $tempTpl
if(trim($first) !=='first') $cached
if(trim($design) !=='visible') $tempRoot