From b4307c02a0a29df7417f82a5fccac84a08d044e5 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Fri, 5 Jul 2002 01:19:43 +0000 Subject: [PATCH] Added AdminText and GroupText macros. --- docs/credits.txt | 3 ++- lib/WebGUI/Macro/AdminText.pm | 37 +++++++++++++++++++++++++++++++ lib/WebGUI/Macro/GroupText.pm | 41 +++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 lib/WebGUI/Macro/AdminText.pm create mode 100644 lib/WebGUI/Macro/GroupText.pm diff --git a/docs/credits.txt b/docs/credits.txt index ff36ead66..12daadf3c 100644 --- a/docs/credits.txt +++ b/docs/credits.txt @@ -4,7 +4,7 @@ The following people/companies are responsible for WebGUI: -WebGUI Core..........................JT Smith / Plain Black Software +WebGUI Core..........................JT Smith / Plain Black Contributing Developers..............Peter Beardsley / Appropriate Solutions, Inc. Richard Caelius @@ -14,6 +14,7 @@ Contributing Developers..............Peter Beardsley / Appropriate Solutions, In Frank Dillon Koen de Jonge Christophe Marcant + Daniel Quinlan Translation..........................Andreas Ljunggren Joeri de Bruin diff --git a/lib/WebGUI/Macro/AdminText.pm b/lib/WebGUI/Macro/AdminText.pm new file mode 100644 index 000000000..0ca3b9ebf --- /dev/null +++ b/lib/WebGUI/Macro/AdminText.pm @@ -0,0 +1,37 @@ +package WebGUI::Macro::AdminText; + +#------------------------------------------------------------------- +# WebGUI is Copyright 2001-2002 Plain Black Software. +#------------------------------------------------------------------- +# Please read the legal notices (docs/legal.txt) and the license +# (docs/license.txt) that came with this distribution before using +# this software. +#------------------------------------------------------------------- +# http://www.plainblack.com info@plainblack.com +#------------------------------------------------------------------- + +use strict; +use WebGUI::Macro; +use WebGUI::Session; + +#------------------------------------------------------------------- +sub _replacement { + my ($temp,@param); + @param = WebGUI::Macro::getParams(shift); + if ($session{var}{adminOn}) { + $temp = $param[0]; + } else { + $temp = ""; + } + return $temp; +} + +#------------------------------------------------------------------- +sub process { + my ($output) = @_; + $output =~ s/\^AdminText\((.*?)\)\;/$1/ge; + return $output; +} + +1; + diff --git a/lib/WebGUI/Macro/GroupText.pm b/lib/WebGUI/Macro/GroupText.pm new file mode 100644 index 000000000..adeb94bb3 --- /dev/null +++ b/lib/WebGUI/Macro/GroupText.pm @@ -0,0 +1,41 @@ +package WebGUI::Macro::GroupText; + +#------------------------------------------------------------------- +# WebGUI is Copyright 2001-2002 Plain Black Software. +#------------------------------------------------------------------- +# Please read the legal notices (docs/legal.txt) and the license +# (docs/license.txt) that came with this distribution before using +# this software. +#------------------------------------------------------------------- +# http://www.plainblack.com info@plainblack.com +#------------------------------------------------------------------- + +use strict; +use WebGUI::Macro; +use WebGUI::SQL; +use WebGUI::Session; +use WebGUI::Privilege; + +#------------------------------------------------------------------- +sub _replacement { + my ($temp,@param,$groupId); + @param = WebGUI::Macro::getParams($_[0]); + ($groupId) = WebGUI::SQL->quickArray("select groupId from groups where groupName=".quote($param[0])); + $groupId = 3 if ($groupId eq ""); + if (WebGUI::Privilege::isInGroup($groupId)) { + $temp = $param[1]; + } else { + $temp = ""; + } + return $temp; +} + +#------------------------------------------------------------------- +sub process { + my ($output) = @_; + $output =~ s/\^GroupText\((.*?)\)\;/_replacement($1)/ge; + return $output; +} + +1; +