Updated help for the 5.0 release.

This commit is contained in:
JT Smith 2002-12-03 04:39:39 +00:00
parent 12ce4aa372
commit a6c161cc33
14 changed files with 587 additions and 142 deletions

File diff suppressed because one or more lines are too long

View file

@ -22,6 +22,7 @@ use WebGUI::Privilege;
use WebGUI::Session;
use WebGUI::SQL;
use WebGUI::Style;
use WebGUI::Page;
use WebGUI::Template;
use WebGUI::URL;
use WebGUI::Utility;
@ -74,7 +75,7 @@ sub _generatePage {
order by sequenceNumber, wobjectId");
while ($wobject = $sth->hashRef) {
if ($session{var}{adminOn} && $canEdit) {
$contentHash{"template.position".${$wobject}{templatePosition}} .= "\n<hr>"
$contentHash{"page.position".${$wobject}{templatePosition}} .= "\n<hr>"
.wobjectIcon()
.deleteIcon('func=delete&wid='.${$wobject}{wobjectId})
.editIcon('func=edit&wid='.${$wobject}{wobjectId})
@ -108,19 +109,19 @@ sub _generatePage {
$w = eval{$cmd->new($wobject)};
WebGUI::ErrorHandler::fatalError("Couldn't instanciate wobject: ${$wobject}{namespace}. Root cause: ".$@) if($@);
if ($w->inDateRange) {
$contentHash{"template.position".${$wobject}{templatePosition}} .= '<div class="wobject'
$contentHash{"page.position".${$wobject}{templatePosition}} .= '<div class="wobject'
.${$wobject}{namespace}.'" id="wobjectId'.${$wobject}{wobjectId}.'">';
$contentHash{"template.position".${$wobject}{templatePosition}} .= '<a name="'
$contentHash{"page.position".${$wobject}{templatePosition}} .= '<a name="'
.${$wobject}{wobjectId}.'"></a>';
$contentHash{"template.position".${$wobject}{templatePosition}} .= eval{$w->www_view};
$contentHash{"page.position".${$wobject}{templatePosition}} .= eval{$w->www_view};
WebGUI::ErrorHandler::fatalError("Wobject runtime error: ${$wobject}{namespace}. Root cause: ".$@) if($@);
$contentHash{"template.position".${$wobject}{templatePosition}} .= "</div>\n\n";
$contentHash{"page.position".${$wobject}{templatePosition}} .= "</div>\n\n";
}
}
$sth->finish;
$template = $session{page}{templateId};
} else {
$contentHash{"template.position".1} = WebGUI::Privilege::noAccess();
$contentHash{"page.position1"} = WebGUI::Privilege::noAccess();
}
return (\%contentHash,$template,$pageEdit);
}
@ -234,7 +235,7 @@ sub page {
WebGUI::Session::close();
return $httpHeader.$operationOutput.$wobjectOutput;
} elsif ($operationOutput ne "") {
$positions->{"template.position".1} = $operationOutput;
$positions->{"page.position1"} = $operationOutput;
} elsif ($session{page}{redirectURL}) {
$httpHeader = WebGUI::Session::httpRedirect(WebGUI::Macro::process($session{page}{redirectURL}));
WebGUI::Session::close();
@ -244,20 +245,12 @@ sub page {
WebGUI::Session::close();
return $httpHeader;
} elsif ($wobjectOutput ne "") {
$positions->{"template.position".1} = $wobjectOutput;
$positions->{"page.position1"} = $wobjectOutput;
} else {
($positions, $template, $pageEdit) = _generatePage();
}
$httpHeader = WebGUI::Session::httpHeader();
$content = WebGUI::Template::process(
WebGUI::Macro::process(
WebGUI::Style::get(
$pageEdit
.WebGUI::Template::get($template)
)
),
$positions
);
$content = WebGUI::Template::process(WebGUI::Style::get($pageEdit.WebGUI::Page::getTemplate($template)), $positions);
$debug = _generateDebug();
WebGUI::Session::close();
return $httpHeader.$content.$debug;

View file

@ -19,6 +19,7 @@ use WebGUI::DateTime;
use WebGUI::International;
use WebGUI::Session;
use WebGUI::SQL;
use WebGUI::Template;
use WebGUI::URL;
=head1 NAME
@ -1079,13 +1080,11 @@ sub submit {
=cut
sub template {
my ($templates, $templateId, $where);
my ($templateId, $where);
$templateId = $_[0]->{value} || 1;
$templates = WebGUI::SQL->buildHashRef("select templateId,name from template where namespace="
.quote($_[0]->{namespace})." order by name");
return selectList({
name=>$_[0]->{name},
options=>$templates,
options=>WebGUI::Template::getList($_[0]->{namespace}),
value=>[$templateId]
});
}

View file

@ -32,10 +32,9 @@ sub _replacement {
$hash{WebGUI::URL::page('op=selectPackageToDeploy')} = WebGUI::International::get(376);
}
foreach $key (keys %{$session{wobject}}) {
$hash2{WebGUI::URL::page('func=edit&wid=new&namespace='.$key)} = $session{wobject}{$key};
$hash{WebGUI::URL::page('func=edit&wid=new&namespace='.$key)} = $session{wobject}{$key};
}
%hash2 = sortHash(%hash2);
%hash = (%hash, %hash2);
%hash = sortHash(%hash);
$contentSelect = WebGUI::Form::selectList({
name=>"contentSelect",
options=>\%hash,

View file

@ -19,7 +19,7 @@ use WebGUI::International;
use WebGUI::Privilege;
use WebGUI::Session;
use WebGUI::SQL;
use WebGUI::Template;
use WebGUI::Page;
use WebGUI::URL;
use WebGUI::Utility;
@ -64,6 +64,66 @@ sub _reorderPages {
$sth->finish;
}
#-------------------------------------------------------------------
sub _selectPositions {
my ($templates, $output, $f, $key);
$f = WebGUI::HTMLForm->new(1);
$templates = WebGUI::Page::getTemplateList();
$f->select("templateId",$templates,'',[$_[0]],'','','onChange="changeTemplatePreview(this.form.templateId.value)"');
$output = '
<script language="JavaScript">
function checkBrowser(){
this.ver=navigator.appVersion;
this.dom=document.getElementById?1:0;
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5 || this.dom);
return this;
}
bw=new checkBrowser();
function makeChangeTextObj(obj){
this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?document.layers[obj]:0;
this.writeref=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj].document:0
;
this.writeIt=b_writeIt;
}
function b_writeIt(text){
var obj;
if(bw.ns4) {
if (document.loading) document.loading.visibility = "hidden";
this.writeref.write(text + "&nbsp;&nbsp;&nbsp;");
this.writeref.close();
} else {
if (bw.ie4) {
if (document.all.loading) obj = document.all.loading;
}
if (obj) obj.style.visibility = "hidden";
this.writeref.innerHTML=text;
}
}
function init(){
if(bw.bw){
oMessage=new makeChangeTextObj("templatePreview");
oMessage.css.visibility="visible";
changeTemplatePreview('.$_[0].');
}
}
onload=init
function changeTemplatePreview(value) {
oMessage.writeIt(eval("b"+value));
}
';
foreach $key (keys %{$templates}) {
$output .= " var b".$key." = '".WebGUI::Page::drawTemplate($key)."';\n";
}
$output .= '</script>';
$output .= $f->printRowsOnly;
$output .= '<div id="templatePreview" style="padding: 5px;"></div>';
return $output;
}
#-------------------------------------------------------------------
sub _traversePageTree {
my ($a, $b, %page, %wobject, $output, $depth, $i, $spacer);
@ -240,7 +300,7 @@ sub www_editPage {
-uiLevel=>9
);
$f->readOnly(
-value=>WebGUI::Template::select($page{templateId}),
-value=>_selectPositions($page{templateId}),
-label=>WebGUI::International::get(356),
-uiLevel=>5
);
@ -384,7 +444,7 @@ sub www_editPageSave {
synopsis=".quote($session{form}{synopsis})."
where pageId=$session{form}{pageId}");
WebGUI::SQL->write("update wobject set templatePosition=1 where pageId=$session{form}{pageId}
and templatePosition>".WebGUI::Template::countPositions($session{form}{templateId}));
and templatePosition>".WebGUI::Page::countTemplatePositions($session{form}{templateId}));
_recursivelyChangeStyle($session{page}{pageId}) if ($session{form}{recurseStyle});
_recursivelyChangePrivileges($session{page}{pageId}) if ($session{form}{recursePrivs});
WebGUI::Session::refreshPageInfo($session{page}{pageId}) if ($session{form}{pageId} == $session{page}{pageId});

View file

@ -93,7 +93,7 @@ sub www_editTemplate {
if (WebGUI::Privilege::isInGroup($session{setting}{templateManagersGroup})) {
if ($session{form}{tid} eq "new") {
if ($session{form}{namespace} eq "Page") {
$template{template} = "<table>\n <tr>\n <td>\n\n<tmpl_var template.position1>\n\n".
$template{template} = "<table>\n <tr>\n <td>\n\n<tmpl_var page.position1>\n\n".
"</td>\n </tr>\n</table>\n";
} else {
$template{template} = "<h1><tmpl_var title></h1>\n\n";
@ -146,7 +146,7 @@ sub www_editTemplateSave {
($session{form}{tid}, ".quote($session{form}{namespace}).")");
}
if ($session{form}{template} eq "" && $session{form}{namespace} eq "Page") {
$session{form}{template} = "<table>\n<tr>\n<td>\n\n<tmpl_var template.position1>\n\n</td>\n </tr>\n</table>\n";
$session{form}{template} = "<table>\n<tr>\n<td>\n\n<tmpl_var page.position1>\n\n</td>\n </tr>\n</table>\n";
}
WebGUI::SQL->write("update template set name=".quote($session{form}{name}).",
template=".quote($session{form}{template})."

74
lib/WebGUI/Page.pm Normal file
View file

@ -0,0 +1,74 @@
package WebGUI::Page;
#-------------------------------------------------------------------
# WebGUI is Copyright 2001-2002 Plain Black LLC.
#-------------------------------------------------------------------
# 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 HTML::Template;
use strict;
use Tie::IxHash;
use WebGUI::ErrorHandler;
use WebGUI::HTMLForm;
use WebGUI::Session;
use WebGUI::SQL;
use WebGUI::Template;
#-------------------------------------------------------------------
sub _newPositionFormat {
return "<tmpl_var page.position".($_[0]+1).">";
}
#-------------------------------------------------------------------
sub countTemplatePositions {
my ($template, $i);
$template = getTemplate($_[0]);
$i = 1;
while ($template =~ m/page\.position$i/) {
$i++;
}
return $i-1;
}
#-------------------------------------------------------------------
sub drawTemplate {
my $template = getTemplate($_[0]);
$template =~ s/\n//g;
$template =~ s/\r//g;
$template =~ s/\'/\\\'/g;
$template =~ s/\<table.*?\>/\<table cellspacing=0 cellpadding=3 width=100 height=80 border=1\>/ig;
$template =~ s/\<tmpl_var\s+page\.position(\d+)\>/$1/ig;
return $template;
}
#-------------------------------------------------------------------
sub getTemplateList {
return WebGUI::Template::getList("Page");
}
#-------------------------------------------------------------------
sub getTemplate {
my $template = WebGUI::Template::get($_[0],"Page");
$template =~ s/\^(\d+)\;/_newPositionFormat($1)/eg; #compatibility with old-style templates
return $template;
}
#-------------------------------------------------------------------
sub getTemplatePositions {
my (%hash, $template, $i);
tie %hash, "Tie::IxHash";
for ($i=1; $i<=countTemplatePositions($_[0]); $i++) {
$hash{$i} = $i;
}
return \%hash;
}
1;

View file

@ -46,7 +46,7 @@ sub get {
}
$header .= '</head>'.$body[0];
$footer = $body[1].' </html>';
return $header.$_[0].$footer;
return WebGUI::Macro::process($header.$_[0].$footer);
}

View file

@ -12,66 +12,24 @@ package WebGUI::Template;
use HTML::Template;
use strict;
use Tie::IxHash;
use WebGUI::ErrorHandler;
use WebGUI::HTMLForm;
use WebGUI::Session;
use WebGUI::SQL;
#-------------------------------------------------------------------
sub _newPositionFormat {
return "<tmpl_var template.position".($_[0]+1).">";
}
#-------------------------------------------------------------------
sub countPositions {
my ($template, $i);
$template = get($_[0]);
$i = 1;
while ($template =~ m/template\.position$i/) {
$i++;
}
return $i-1;
}
#-------------------------------------------------------------------
sub draw {
my $template = get($_[0]);
$template =~ s/\n//g;
$template =~ s/\r//g;
$template =~ s/\'/\\\'/g;
$template =~ s/\<table.*?\>/\<table cellspacing=0 cellpadding=3 width=100 height=80 border=1\>/ig;
$template =~ s/\<tmpl_var\s+template\.position(\d+)\>/$1/ig;
return $template;
}
#-------------------------------------------------------------------
sub get {
my $templateId = $_[0] || 1;
my $namespace = $_[1] || "Page";
my ($template) = WebGUI::SQL->quickArray("select template from template
where templateId=".$templateId." and namespace=".quote($namespace));
$template =~ s/\^(\d+)\;/_newPositionFormat($1)/eg; #compatibility with old-style templates
return $template;
}
#-------------------------------------------------------------------
sub getList {
my (%list);
tie %list, 'Tie::IxHash';
%list = WebGUI::SQL->buildHash("select templateId,name from template where namespace='Page' order by name");
return \%list;
}
#-------------------------------------------------------------------
sub getPositions {
my (%hash, $template, $i);
tie %hash, "Tie::IxHash";
for ($i=1; $i<=countPositions($_[0]); $i++) {
$hash{$i} = $i;
}
return \%hash;
my $namespace = $_[0] || "Page";
return WebGUI::SQL->buildHashRef("select templateId,name from template where namespace=".quote($namespace)." order by name");
}
#-------------------------------------------------------------------
@ -104,64 +62,6 @@ sub process {
return $t->output;
}
#-------------------------------------------------------------------
sub select {
my ($templates, $output, $f, $key);
$f = WebGUI::HTMLForm->new(1);
$templates = getList();
$f->select("templateId",$templates,'',[$_[0]],'','','onChange="changeTemplatePreview(this.form.templateId.value)"');
$output = '
<script language="JavaScript">
function checkBrowser(){
this.ver=navigator.appVersion;
this.dom=document.getElementById?1:0;
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5 || this.dom);
return this;
}
bw=new checkBrowser();
function makeChangeTextObj(obj){
this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?document.layers[obj]:0;
this.writeref=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj].document:0;
this.writeIt=b_writeIt;
}
function b_writeIt(text){
var obj;
if(bw.ns4) {
if (document.loading) document.loading.visibility = "hidden";
this.writeref.write(text + "&nbsp;&nbsp;&nbsp;");
this.writeref.close();
} else {
if (bw.ie4) {
if (document.all.loading) obj = document.all.loading;
}
if (obj) obj.style.visibility = "hidden";
this.writeref.innerHTML=text;
}
}
function init(){
if(bw.bw){
oMessage=new makeChangeTextObj("templatePreview");
oMessage.css.visibility="visible";
changeTemplatePreview('.$_[0].');
}
}
onload=init
function changeTemplatePreview(value) {
oMessage.writeIt(eval("b"+value));
}
';
foreach $key (keys %{$templates}) {
$output .= " var b".$key." = '".draw($key)."';\n";
}
$output .= '</script>';
$output .= $f->printRowsOnly;
$output .= '<div id="templatePreview" style="padding: 5px;"></div>';
return $output;
}
1;

View file

@ -26,6 +26,7 @@ use WebGUI::Macro;
use WebGUI::Node;
use WebGUI::Session;
use WebGUI::SQL;
use WebGUI::Page;
use WebGUI::Template;
use WebGUI::URL;
use WebGUI::Utility;
@ -1070,8 +1071,8 @@ sub www_edit {
-label=>WebGUI::International::get(363),
-value=>[$templatePosition],
-uiLevel=>5,
-options=>WebGUI::Template::getPositions($session{page}{templateId}),
-subtext=>WebGUI::Template::draw($session{page}{templateId})
-options=>WebGUI::Page::getTemplatePositions($session{page}{templateId}),
-subtext=>WebGUI::Page::drawTemplate($session{page}{templateId})
);
$f->date(
-name=>"startDate",

View file

@ -266,7 +266,7 @@ sub www_edit {
-options=>{
addEvent=>WebGUI::International::get(91,$namespace),
backToPage=>WebGUI::International::get(745)
}
},
-value=>"addEvent"
);
}
@ -343,7 +343,7 @@ sub www_editEvent {
-options=>{
addEvent=>WebGUI::International::get(91,$namespace),
backToPage=>WebGUI::International::get(745)
}
},
-value=>"addEvent"
);
}

View file

@ -19,6 +19,7 @@ use WebGUI::International;
use WebGUI::Privilege;
use WebGUI::Session;
use WebGUI::SQL;
use WebGUI::Page;
use WebGUI::Template;
use WebGUI::Wobject;
@ -74,8 +75,8 @@ sub www_edit {
-label=>WebGUI::International::get(363),
-value=>[$templatePosition],
-uiLevel=>5,
-options=>WebGUI::Template::getPositions($session{page}{templateId}),
-subtext=>WebGUI::Template::draw($session{page}{templateId})
-options=>WebGUI::Page::getTemplatePositions($session{page}{templateId}),
-subtext=>WebGUI::Page::drawTemplate($session{page}{templateId})
);
$f->date("startDate",WebGUI::International::get(497),$startDate);
$f->date("endDate",WebGUI::International::get(498),$endDate);

View file

@ -19,6 +19,7 @@ use WebGUI::International;
use WebGUI::Privilege;
use WebGUI::Session;
use WebGUI::SQL;
use WebGUI::Page;
use WebGUI::Template;
use WebGUI::Wobject;
@ -72,8 +73,8 @@ sub www_edit {
-label=>WebGUI::International::get(363),
-value=>[$templatePosition],
-uiLevel=>5,
-options=>WebGUI::Template::getPositions($session{page}{templateId}),
-subtext=>WebGUI::Template::draw($session{page}{templateId})
-options=>WebGUI::Page::getTemplatePositions($session{page}{templateId}),
-subtext=>WebGUI::Page::drawTemplate($session{page}{templateId})
);
$f->date("startDate",WebGUI::International::get(497),$startDate);
$f->date("endDate",WebGUI::International::get(498),$endDate);

View file

@ -80,6 +80,7 @@ use WebGUI::Operation::Style ();
use WebGUI::Operation::Template ();
use WebGUI::Operation::Trash ();
use WebGUI::Operation::User ();
use WebGUI::Page ();
use WebGUI::Paginator ();
use WebGUI::Privilege ();
#use WebGUI::Profile (); # compile problems when this is included