Variable Dump\n\n";
foreach($VariableArray as $key=>$value) {
$text .= "$key = [{$value['value']}, {$value['isset']}])
\n";
}
return $text;
}
return '';
}
function CleanUp($k) {
global $KeepArray;
return $KeepArray[$k];
}
function SetVar($name, $value) {
global $VariableArray;
$VariableArray[$name] = array('value'=>$value, 'isset'=>0);
return "(:set $name \"$value\":)";
}
function ResetVar($name, $value) {
global $VariableArray, $FmtPV;
$VariableArray[$name] = array('value'=>$value, 'isset'=>1);
$FmtPV["\$$name"] = "'$value'";
return "";
}
function CheckIf($pagename,$text,$condspec,$condtext) {
global $Conditions, $KeepArray, $KeepCount;
if (!preg_match("/^(\\S+)\\s*(!?)\\s*(\\S+)?\\s*(.*?)\\s*$/",
$condspec,$match)) {
$k = $KeepCount;
$KeepCount++;
$KeepArray[$k] = "$text";
return "(:cleanup $k cleanup:)";
}
@list($condstr,$condtype,$not,$condname,$condparm) = $match;
if (isset($Conditions[$condname])) {
$condparm = CheckVars($pagename, $condparm);
$tf = @eval("return (".$Conditions[$condname].");");
if (!$tf xor $not) {
$k = $KeepCount;
$KeepCount++;
$KeepArray[$k] = "$text";
return "(:cleanup $k cleanup:)";
}
}
$k = $KeepCount;
$KeepCount++;
$KeepArray[$k] = "$text";
return "(:cleanup $k $condtext cleanup:)";
}
function CheckVars($pagename, $line) {
if(preg_match('/\\{(!?[-\\w.\\/]*)(\\$\\w+)\\}/', $line)) {
$line = preg_replace('/\\{(!?[-\\w.\\/]*)(\\$\\w+)\\}/e',
"htmlspecialchars(GetVars('$pagename', '$2', '$1'), ENT_NOQUOTES)",
$line);
}
return $line;
}
function GetVars($pagename, $var, $pn = '') {
global $Cursor, $PCache, $FmtPV, $AsSpacedFunction, $ScriptUrl,
$EnablePathInfo, $VariableArray;
if ($var == '$ScriptUrl') return PUE($ScriptUrl);
if ($pn) {
$pn = isset($Cursor[$pn]) ? $Cursor[$pn] : MakePageName($pagename, $pn);
} else $pn = $pagename;
if ($pn == '') return '';
if (preg_match('/^(.+)[.\\/]([^.\\/]+)$/', $pn, $match)
&& !isset($PCache[$pn]['time'])
&& (!@$FmtPV[$var] || strpos($FmtPV[$var], '$page') !== false))
PCache($pn, ReadPage($pn, READPAGE_CURRENT));
@list($d, $group, $name) = $match;
$page = &$PCache[$pn];
if (@$FmtPV[$var]) return eval("return ({$FmtPV[$var]});");
if ($VariableArray[substr($var,1)]) return $VariableArray[substr($var,1)]['value'];
return '';
}
?>