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: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60:
<?php
function rulesList() {
global $_zp_conf_vars;
list($pluginDefinitions, $rules) = getRules();
$definitions = $pluginDefinitions;
$list = array();
$break = false;
foreach ($rules as $rule) {
if ($rule = trim($rule)) {
if ($rule[0] == '#') {
if (trim(ltrim($rule, '#')) == 'Quick links') {
foreach ($pluginDefinitions as $def => $v) {
$list[] = array('Define ', $def, $v);
}
}
if ($break) {
$list[] = $break;
} else {
$break = array(' ', '', ' ');
}
$list[] = array($rule, '', ' ');
} else {
if (preg_match('~^rewriterule~i', $rule)) {
$rule = strtr($rule, $definitions);
preg_match('~^rewriterule\s+(.*?)\s+(.*?)\s*\[(.*)\]$~i', $rule, $matches);
if (array_key_exists(1, $matches)) {
$parts = preg_split('`\s+`', $rule);
$part1 = $parts[1];
$parts = array_slice($parts, 2);
$list[] = array('rewriterule', $part1, implode(' ', $parts));
} else {
$list[] = array(gettext('Error processing rewrite rule:'), '', $rule);
}
} else {
if (preg_match('~define\s+(.*?)\s*\=\>\s*(.*)$~i', $rule, $matches)) {
eval('$definitions[$matches[1]] = ' . $matches[2] . ';');
$list[] = array('Define', $matches[1], $definitions[$matches[1]]);
}
}
}
}
}
return $list;
}
?>