Subversion Repositories prepend

Rev

Rev 13 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 daniel-mar 1
<?php
2
 
9 daniel-mar 3
$xxx_vts_prepend_config = array();
10 daniel-mar 4
if (file_exists($xxx_vts_prepend_config_file = __DIR__.'/../config.local.php')) include $xxx_vts_prepend_config_file;
9 daniel-mar 5
unset($xxx_vts_prepend_config_file);
12 daniel-mar 6
$xxx_directories_need_registerglobals = $xxx_vts_prepend_config['directories_need_registerglobals'] ?? array(); /* @phpstan-ignore-line */
9 daniel-mar 7
unset($xxx_vts_prepend_config);
2 daniel-mar 8
 
9
$xxx_go = false;
12 daniel-mar 10
foreach ($xxx_directories_need_registerglobals as $xxx_directory_need_registerglobals) { /* @phpstan-ignore-line */
9 daniel-mar 11
        if ($xxx_negate = (substr($xxx_directory_need_registerglobals,0,1) === '!')) {
12
                $xxx_directory_need_registerglobals = substr($xxx_directory_need_registerglobals,1);
13
        }
15 daniel-mar 14
        if (strpos($_SERVER['SCRIPT_FILENAME']??'', $xxx_directory_need_registerglobals) === 0) {
9 daniel-mar 15
                $xxx_go = !$xxx_negate;
2 daniel-mar 16
        }
15 daniel-mar 17
        if (strpos(rtrim($_SERVER['PWD']??'',DIRECTORY_SEPARATOR), rtrim($xxx_directory_need_registerglobals,DIRECTORY_SEPARATOR)) === 0) {
13 daniel-mar 18
                $xxx_go = !$xxx_negate;
19
        }
9 daniel-mar 20
        unset($xxx_negate);
2 daniel-mar 21
}
22
unset($xxx_directories_need_registerglobals);
23
unset($xxx_directory_need_registerglobals);
9 daniel-mar 24
 
12 daniel-mar 25
if ($xxx_go) { /* @phpstan-ignore-line */
9 daniel-mar 26
        # Warum so viele ___ ? Damit man auf keinen Fall ein GET/POST Argument mit diesen Variablen überschreibt!
2 daniel-mar 27
        foreach ($_REQUEST as $___key___ => $___val___) {
28
                global ${$___key___};
29
                ${$___key___} = $___val___;
30
        }
31
        unset($___key___);
32
        unset($___val___);
33
}
34
unset($xxx_go);