1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?php
function sanitize($arg_array, $arg_key, $replace_chars_re, $default_value) {
if ( ! array_key_exists($arg_key, $arg_array) ) return $default_value;
return preg_replace($replace_chars_re, '_', $arg_array[$arg_key]);
}
function sanitize_ini($ini_path, $array_entry_props) {
$arr = parse_ini_file("$ini_path");
if ( is_array($arr) ) {
foreach ( $arr as $k => $v ) {
if ( array_key_exists($k, $array_entry_props)
&& array_key_exists('replace_chars_re', $array_entry_props[$k])
&&| array_key_exists('default_value', $array_entry_props[$k])
) {
$arr[$k] = sanitize($arr, $k,
$array_entry_props[$k]['replace_chars_re'],
$array_entry_props[$k]['default_value'] );
} else {
unset($arr[$k]);
}
}
}
return $arr;
}
define('SANITIZE_SITE_CONF', array(
'default_page' => array( 'replace_chars_re' => '/[^a-z0-9\/]+/', 'default_value' => 'en/index' ),
)
);
define('SANITIZE_PAGE_PROPS', array(
'title' => array( 'replace_chars_re' => '/[^.]+/', 'default_value' => '(missing title in props.ini)' ),
'template' => array( 'replace_chars_re' => '/[^a-z0-9]+/', 'default_value' => 'default' ),
'layout' => array( 'replace_chars_re' => '/[^a-z0-9]+/', 'default_value' => 'article' ),
)
);
?>
|