<?php if (!defined('PmWiki')) exit();
/* Copyright 2006 Americo Albuquerque */
$VariableArray = array();
$IfIsSet = 0;
SDV($VariableTest, 0);
Markup("set1", "_begining", '/\\(:set ([\w\d]+) "(.*)"\s*:\\)/ie', "SetVar('$1', '$2')");
Markup("checkif", '>set1', "/\\(:if/sei",
"CheckIf()");
Markup("secondpass", ">checkif", "/\\(:set secondpass:\\)/e", 'SecondPass()');
Markup("set2", ">secondpass", '/\\(:set ([\w\d]+) "(.*)"\s*:\\)/ie', "SetVar('$1', '$2')");
Markup("vardump", "inline", '/\\(:vardump:\\)/e', "VarDump()");
function SecondPass() {
global $IfIsSet;
$IfIsSet = 1;
return "";
}
function VarDump() {
global $VariableArray, $FmtPV;
if($VariableTest) {
$text = "<h2>Variable Dump</h2>\n\n";
foreach($VariableArray as $key=>$value) {
$text .= "<b>$key</b> = <i>[{$value['value']}, {$value['isset']}])</i><br/>\n";
}
return $text;
}
return '';
}
function SetVar($name, $value) {
global $VariableArray, $IfIsSet, $FmtPV;
$VariableArray[$name] = array('value'=>$value, 'isset'=>$IfIsSet);
$FmtPV["\$$name"] = "'$value'";
if(!$IfIsSet) return "(:set $name \"$value\":)";
if($VariableArray[$name]['isset']) $FmtPV["\$$name"] = "'$value'";
return "";
}
function CheckIf() {
DisableMarkup("checkif");
return "(:set secondpass:)(:if";
}
?>