3declare(strict_types=1);
11$fail =
static function(
string $message,
int $code): void {
12 fwrite(STDERR,
"FAIL: $message\n");
16if (!str_contains(
$config,
"\$config['demo_notice_enabled'] = true;")) {
17 $fail(
'Der kompatible Standardwert für den Demo-Hinweis fehlt.', 1);
19if (!str_contains(
$service,
"\$this->settingsBool(\$this->shopConfig(), 'demo_notice_enabled', true)")) {
20 $fail(
'Das Shop-Frontend wertet den Demo-Hinweis-Schalter nicht zentral aus.', 2);
22if (substr_count(
$admin,
"'demo_notice_enabled'") < 3
23 || !str_contains(
$admin,
'dbxContentPageCache::invalidateAllFullPages()')) {
24 $fail(
'Speichern, Formulardaten oder Cache-Invalidierung der Shop-Einstellung fehlen.', 3);
27foreach (array(
'',
'_en',
'_es') as $suffix) {
28 $fd = (string)file_get_contents(
29 $projectModules .
'/dbxShop_admin/fd/shop-settings' . $suffix .
'.fd.php'
32 $projectModules .
'/dbxShop_admin/tpl/htm/shop-settings-form' . $suffix .
'.htm'
34 if (!str_contains(
$fd,
"'demo_notice_enabled'")) {
35 $fail(
'Sprach-FD enthält den Demo-Hinweis-Schalter nicht: ' . ($suffix ?:
'_de'), 4);
37 if (!str_contains(
$template,
'{obj:demo_notice_enabled}')
38 || !str_contains(
$template,
'id="{frame_id}"')
39 || str_contains(
$template,
'id="dbxForm_{i}"')) {
40 $fail(
'Sprach-Template zeigt den Demo-Hinweis-Schalter nicht: ' . ($suffix ?:
'_de'), 5);
44echo
"OK shop demo notice configuration\n";
if($resolved !==$expectedBase . 'files/test/') $config
foreach( $valid as $email) foreach($invalid as $email) $fd