diff --git a/lib/WebGUI/Macro/AdminToggle.pm b/lib/WebGUI/Macro/AdminToggle.pm index 83c1f4d02..e09029f86 100644 --- a/lib/WebGUI/Macro/AdminToggle.pm +++ b/lib/WebGUI/Macro/AdminToggle.pm @@ -7,33 +7,38 @@ package WebGUI::Macro::AdminToggle; # (docs/license.txt) that came with this distribution before using # this software. #------------------------------------------------------------------- -# http://www.plainblack.com info@plainblack.com +# http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------- use strict; use WebGUI::International; +use WebGUI::Macro; use WebGUI::Session; use WebGUI::URL; #------------------------------------------------------------------- sub _replacement { - my ($temp); - if (WebGUI::Privilege::isInGroup(4)) { - if ($session{var}{adminOn}) { - $temp = ''.WebGUI::International::get(517).''; - } else { - $temp = ''.WebGUI::International::get(516).''; - } - } - return $temp; + my ($temp, @param, $turnOn, $turnOff); + if (WebGUI::Privilege::isInGroup(4)) { + @param = WebGUI::Macro::getParams($_[0]); + if ($session{var}{adminOn}) { + $turnOff = $param[1] || WebGUI::International::get(517); + $temp = ''.$turnOff.''; + } else { + $turnOn = $param[0] || WebGUI::International::get(516); + $temp = ''.$turnOn.''; + } + } + return $temp; } #------------------------------------------------------------------- sub process { - my ($output, $temp); - $output = $_[0]; - $output =~ s/\^AdminToggle\;/_replacement()/ge; - return $output; + my ($output, $temp); + $output = $_[0]; + $output =~ s/\^AdminToggle\((.*?)\)\;/_replacement($1)/ge; + $output =~ s/\^AdminToggle\;/_replacement()/ge; + return $output; } 1;