templated these macros
This commit is contained in:
parent
7648c6c13f
commit
577554b904
7 changed files with 110 additions and 38 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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 )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue