templated these macros

This commit is contained in:
JT Smith 2004-07-10 05:36:05 +00:00
parent 7648c6c13f
commit 577554b904
7 changed files with 110 additions and 38 deletions

View file

@ -15,22 +15,40 @@ use WebGUI::Grouping;
use WebGUI::International;
use WebGUI::Macro;
use WebGUI::Session;
use WebGUI::Template;
use WebGUI::URL;
#-------------------------------------------------------------------
sub process {
my ($temp, @param, $turnOn, $turnOff);
if (WebGUI::Grouping::isInGroup(12)) {
@param = WebGUI::Macro::getParams($_[0]);
if ($session{var}{adminOn}) {
$turnOff = $param[1] || WebGUI::International::get(517);
$temp = '<a href="'.WebGUI::URL::page('op=switchOffAdmin').'">'.$turnOff.'</a>';
} else {
$turnOn = $param[0] || WebGUI::International::get(516);
$temp = '<a href="'.WebGUI::URL::page('op=switchOnAdmin').'">'.$turnOn.'</a>';
}
}
return $temp;
if (WebGUI::Grouping::isInGroup(12)) {
my %var;
my @param = WebGUI::Macro::getParams($_[0]);
my $templateId = 1; ##Set default template in the namespace
##1 param means use my template with default text
my ($turnOff, $turnOn) = (WebGUI::International::get(517),WebGUI::International::get(516));
if (@param == 1) {
$templateId = WebGUI::Template::getIdByName($param[0],"Macro/AdminToggle");
}
##2 params means use my text with the default template
elsif (@param == 2) {
($turnOff, $turnOn) = @param;
}
##3 or more params means use my text and template, other args ignored
elsif (@param >= 3) {
($turnOff, $turnOn) = @param[1,2];
$templateId = WebGUI::Template::getIdByName($param[0],"Macro/AdminToggle");
}
if ($session{var}{adminOn}) {
$var{'toggle.url'} = WebGUI::URL::page('op=switchOffAdmin');
$var{'toggle.text'} = $turnOff;
} else {
$var{'toggle.url'} = WebGUI::URL::page('op=switchOnAdmin');
$var{'toggle.text'} = $turnOn;
}
$templateId = 1 if $templateId == 0;
return WebGUI::Template::process($templateId,"Macro/AdminToggle",\%var);
}
return "";
}
1;

View file

@ -16,22 +16,39 @@ use WebGUI::International;
use WebGUI::Macro;
use WebGUI::Page;
use WebGUI::Session;
use WebGUI::Template;
use WebGUI::URL;
#-------------------------------------------------------------------
sub process {
my ($temp, @param, $turnOn, $turnOff);
if (WebGUI::Page::canEdit() && WebGUI::Grouping::isInGroup(12)) {
@param = WebGUI::Macro::getParams($_[0]);
if ($session{var}{adminOn}) {
$turnOff = $param[1] || WebGUI::International::get(517);
$temp = '<a href="'.WebGUI::URL::page('op=switchOffAdmin').'">'.$turnOff.'</a>';
} else {
$turnOn = $param[0] || WebGUI::International::get(516);
$temp = '<a href="'.WebGUI::URL::page('op=switchOnAdmin').'">'.$turnOn.'</a>';
}
if (WebGUI::Page::canEdit() && WebGUI::Grouping::isInGroup(12)) {
my %var;
my @param = WebGUI::Macro::getParams($_[0]);
my $templateId = 1; ##Set default template in the namespace
my ($turnOff, $turnOn) = (WebGUI::International::get(517),WebGUI::International::get(516));
##1 param means use my template with default text
if (@param == 1) {
$templateId = WebGUI::Template::getIdByName($param[0],"Macro/EditableToggle");
}
##2 params means use my text with the default template
elsif (@param == 2) {
($turnOff, $turnOn) = @param;
}
##3 or more params means use my text and template, other args ignored
elsif (@param >= 3) {
($turnOff, $turnOn) = @param[1,2];
}
if ($session{var}{adminOn}) {
$var{'toggle.url'} = WebGUI::URL::page('op=switchOffAdmin');
$var{'toggle.text'} = $turnOff;
} else {
$var{'toggle.url'} = WebGUI::URL::page('op=switchOnAdmin');
$var{'toggle.text'} = $turnOn;
}
$templateId = 1 if $templateId == 0;
return WebGUI::Template::process($templateId,"Macro/EditableToggle",\%var);
}
return $temp;
return "";
}
1;

View file

@ -14,23 +14,25 @@ use strict;
use WebGUI::International;
use WebGUI::Macro;
use WebGUI::Session;
use WebGUI::Template;
use WebGUI::URL;
#-------------------------------------------------------------------
sub process {
my (@param, $temp);
@param = WebGUI::Macro::getParams($_[0]);
$temp = WebGUI::URL::page('op=displayAccount');
if ($param[0] ne "linkonly") {
$temp = '<a class="myAccountLink" href="'.$temp.'">';
if ($param[0] ne "") {
$temp .= $param[0];
} else {
$temp .= WebGUI::International::get(46);
}
$temp .= '</a>';
}
return $temp;
my %var;
my @param = WebGUI::Macro::getParams($_[0]);
$var{'account.url'} = WebGUI::URL::page('op=displayAccount');
my $templateId = 1; ##Set default template in the namespace
$var{'account.text'} = WebGUI::International::get(46);
if (@param == 1) {
$var{'account.text'} = $param[0] if $param[0];
}
elsif (@param == 2) {
$var{'account.text'} = $param[0] if $param[0];
$templateId = WebGUI::Template::getIdByName($param[1],"Macro/a_account");
$templateId = 1 if $templateId == 0;
}
return WebGUI::Template::process($templateId,"Macro/a_account",\%var);
}

View file

@ -38,6 +38,7 @@ This package contains utility methods for WebGUI's template system.
use WebGUI::Template;
$hashRef = WebGUI::Template::get($templateId, $namespace);
$hashRef = WebGUI::Template::getList($namespace);
$templateId = WebGUI::Template::getIdByName($name,$namespace);
$html = WebGUI::Template::process($templateId, $namespace, $vars);
$templateId = WebGUI::Template::set(\%data);
@ -134,6 +135,35 @@ sub getList {
}
#-------------------------------------------------------------------
=head2 getIdByName ( name, namespace ) {
Returns a template ID by looking up the name for it.
=over
=item name
The name to look up.
=item namespace
The namespace to focus on when searching.
=back
=cut
sub getIdByName {
my $name = shift;
my $namespace = shift;
my ($templateId) = WebGUI::SQL->quickArray("select templateId from template where namespace=".quote($namespace)." and name=".quote($name),WebGUI::SQL->getSlave);
return $templateId;
}
#-------------------------------------------------------------------
=head2 process ( templateId, namespace, vars )