Fixed sitemap so it will display roots properly

This commit is contained in:
JT Smith 2002-12-14 23:09:12 +00:00
parent 5c090ae981
commit fdd2e2ddc7
3 changed files with 37 additions and 12 deletions

View file

@ -40,7 +40,7 @@ INSERT INTO template VALUES (1,'Default Link List','<tmpl_if displayTitle>\r\n
INSERT INTO template VALUES (2,'Unordered List','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<tmpl_if session.var.adminOn>\r\n <a href=\"<tmpl_var addlink.url>\"><tmpl_var addlink.label></a><p />\r\n</tmpl_if>\r\n\r\n<ul>\r\n<tmpl_loop link_loop>\r\n<li>\r\n <tmpl_if session.var.adminOn>\r\n <tmpl_var link.controls>\r\n </tmpl_if>\r\n \r\n <a href=\"<tmpl_var link.url>\"\r\n <tmpl_if link.newwindow>\r\n target=\"_blank\"\r\n </tmpl_if>\r\n ><span class=\"linkTitle\"><tmpl_var link.name></span></a>\r\n\r\n <tmpl_if link.description>\r\n - <tmpl_var link.description>\r\n </tmpl_if>\r\n </li>\r\n</tmpl_loop>\r\n</u>','LinkList');
INSERT INTO template VALUES (3,'Ordered List','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<tmpl_if session.var.adminOn>\r\n <a href=\"<tmpl_var addlink.url>\"><tmpl_var addlink.label></a><p />\r\n</tmpl_if>\r\n\r\n<ol>\r\n<tmpl_loop link_loop>\r\n <li>\r\n <tmpl_if session.var.adminOn>\r\n <tmpl_var link.controls>\r\n </tmpl_if>\r\n\r\n <a href=\"<tmpl_var link.url>\"\r\n <tmpl_if link.newwindow>\r\n target=\"_blank\"\r\n </tmpl_if>\r\n ><span class=\"linkTitle\"><tmpl_var link.name></span></a>\r\n\r\n <tmpl_if link.description>\r\n - <tmpl_var link.description>\r\n </tmpl_if>\r\n </li>\r\n</tmpl_loop>\r\n</ol>','LinkList');
INSERT INTO template VALUES (4,'Descriptive','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<tmpl_if session.var.adminOn>\r\n <a href=\"<tmpl_var addlink.url>\"><tmpl_var addlink.label></a><p />\r\n</tmpl_if>\r\n\r\n<tmpl_loop link_loop>\r\n <tmpl_if session.var.adminOn>\r\n <tmpl_var link.controls> <br />\r\n </tmpl_if>\r\n\r\n <a href=\"<tmpl_var link.url>\"\r\n <tmpl_if link.newwindow>\r\n target=\"_blank\"\r\n </tmpl_if>\r\n ><span class=\"linkTitle\"><tmpl_var link.name></span></a>\r\n\r\n <tmpl_if link.description>\r\n - <tmpl_var link.description>\r\n </tmpl_if>\r\n <p />\r\n</tmpl_loop>\r\n','LinkList');
INSERT INTO template VALUES (1,'Default Site Map','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<tmpl_loop page_loop>\r\n <tmpl_var page.indent>&middot;<a href=\"<tmpl_var page.url>\"><tmpl_var page.title></a><br />\r\n</tmpl_loop>','SiteMap');
INSERT INTO template VALUES (1,'Default Site Map','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<tmpl_loop page_loop>\r\n <tmpl_if page.isRoot><p /></tmpl_if>\r\n <tmpl_var page.indent>&middot;<a href=\"<tmpl_var page.url>\"><tmpl_var page.title></a><br />\r\n</tmpl_loop>','SiteMap');
INSERT INTO template VALUES (2,'Descriptive Site Map','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<tmpl_loop page_loop>\r\n <tmpl_var page.indent><a href=\"<tmpl_var page.url>\"><tmpl_var page.title></a> \r\n <tmpl_if page.synopsis>\r\n - <tmpl_var page.synopsis>\r\n </tmpl_if>\r\n <p />\r\n</tmpl_loop>','SiteMap');
INSERT INTO template VALUES (6,'Guest Book','<tmpl_if displayTitle>\r\n <h1><tmpl_var title></h1>\r\n</tmpl_if>\r\n\r\n<tmpl_if description>\r\n <tmpl_var description><p />\r\n</tmpl_if>\r\n\r\n<tmpl_if canPost>\r\n <a href=\"<tmpl_var post.url>\"><tmpl_var post.label></a> <p />\r\n</tmpl_if>\r\n\r\n\r\n<tmpl_loop submissions_loop>\r\n\r\n<tmpl_if __odd__>\r\n<div class=\"highlight\">\r\n</tmpl_if>\r\n\r\n<b>On <tmpl_var submission.date> <a href=\"<tmpl_var submission.userProfile>\"><tmpl_var submission.username></a> from <a href=\"<tmpl_var submission.url>\">the <tmpl_var submission.title> department</a> wrote</b>, <i><tmpl_var submission.content></i>\r\n\r\n<tmpl_if __odd__>\r\n</div >\r\n</tmpl_if>\r\n\r\n<p/>\r\n\r\n</tmpl_loop>\r\n\r\n<tmpl_if multiplePages>\r\n <div class=\"pagination\">\r\n <tmpl_var previousPage> · <tmpl_var nextPage>\r\n </div>\r\n</tmpl_if>\r\n','USS');
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (848,1,'WebGUI','There is a syntax error in this template. Please correct.', 1039892202);
@ -2519,6 +2519,23 @@ delete from international where languageId=4 and namespace='Article' and interna
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (22,4,'Article','Autor', 1039564293);
delete from international where languageId=4 and namespace='EventsCalendar' and internationalId=20;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (20,4,'EventsCalendar','Agregar un Evento', 1039564281);
delete from international where languageId=1 and namespace='SiteMap' and internationalId=75;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (75,1,'SiteMap','All Roots', 1039908572);
delete from international where languageId=1 and namespace='SiteMap' and internationalId=74;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (74,1,'SiteMap','This Page', 1039908565);
delete from international where languageId=1 and namespace='SiteMap' and internationalId=71;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (71,1,'SiteMap','Site maps are used to provide additional navigation in WebGUI. You could set up a traditional site map that would display a hierarchical view of all the pages in the site. On the other hand, you could use site maps to provide extra navigation at certain levels in your site.\r\n<br><br>\r\n\r\n<b>Template</b><br/>\r\nChoose a layout for this site map.\r\n<p/>\r\n\r\n<b>Start With</b><br>\r\nSelect the page that this site map should start from.\r\n<br><br>\r\n\r\n<b>Depth To Traverse</b><br>\r\nHow many levels deep of navigation should the Site Map show? If 0 (zero) is specified, it will show as many levels as there are.\r\n<p>\r\n\r\n<b>Indent\r\nHow many characters should indent each level?\r\n</b></p><p><b>\r\n\r\n', 1039908464);
delete from international where languageId=1 and namespace='SiteMap' and internationalId=3;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (3,1,'SiteMap','Start With', 1039908390);
create table SiteMap2 (wobjectId int not null primary key,startAtThisLevel int not null default 0, depth int not null default 0, indent int not null default 5, templateId int not null default 1);
insert into SiteMap2 select wobject.wobjectId,wobject.pageId,SiteMap.depth,SiteMap.indent,SiteMap.templateId from wobject,SiteMap where wobject.wobjectId=SiteMap.wobjectId and SiteMap.startAtThisLevel=1;
insert into SiteMap2 select wobject.wobjectId,1,SiteMap.depth,SiteMap.indent,SiteMap.templateId from wobject,SiteMap where wobject.wobjectId=SiteMap.wobjectId and SiteMap.startAtThisLevel=0;
drop table SiteMap;
alter table SiteMap2 rename SiteMap;
delete from international where languageId=1 and namespace='SiteMap' and internationalId=73;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (73,1,'SiteMap','This is the list of template variables available for site map templates.\r\n<p/>\r\n\r\n<b>page_loop</b><br/>\r\nThis loop contains all of the pages in the site map.\r\n<blockquote>\r\n\r\n<b>page.indent</b><br/>\r\nThe indent spacer for this page indicating the depth of the page in the tree.\r\n<p/>\r\n\r\n<b>page.url</b><br/>\r\nThe URL to the page.\r\n<p/>\r\n\r\n<b>page.id</b><br/>\r\nThe unique identifier for this page that WebGUI uses internally.\r\n<p/>\r\n\r\n<b>page.title</b><br/>\r\nThe title of this page.\r\n<p/>\r\n\r\n<b>page.menutitle</b><br/>\r\nThe title of this page that appears in navigation.\r\n<p/>\r\n\r\n<b>page.synopsis</b><br/>\r\nThe description of the contents of this page (if any).\r\n<p/>\r\n\r\n<b>page.isRoot</b><br/>\r\nA condition indicating whether or not this page is a root.\r\n<p/>\r\n\r\n</blockquote>\r\n<p/>', 1039910987);

View file

@ -39,14 +39,15 @@ sub _traversePageTree {
$sth = WebGUI::SQL->read("select urlizedTitle, title, pageId, synopsis from page
where parentId='$parent' order by sequenceNumber");
while ($data = $sth->hashRef) {
if (WebGUI::Privilege::canViewPage($data->{pageId})) {
if (($data->{pageId}>999 || $data->{pageId}==1) && WebGUI::Privilege::canViewPage($data->{pageId})) {
push(@pages,{
"page.indent" => $indentString,
"page.url" => WebGUI::URL::gateway($data->{urlizedTitle}),
"page.id" => $data->{pageId},
"page.title" => $data->{title},
"page.menuTitle" => $data->{menuTitle},
"page.synopsis" => $data->{synopsis}
"page.synopsis" => $data->{synopsis},
"page.isRoot" => ($parent == 0)
});
push(@pages,@{_traversePageTree($data->{pageId},($currentDepth+1),$depth,$indent)});
}
@ -78,6 +79,9 @@ sub set {
sub www_edit {
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditPage());
my ($output, $f, $indent);
my $startLevel = $_[0]->get("startAtThisLevel") || 1;
my $options = WebGUI::SQL->buildHashRef("select pageId,title from page where parentId=0
and (pageId=1 or pageId>999) order by title");
$indent = $_[0]->get("indent") || 5;
$output = helpIcon(1,$_[0]->get("namespace"));
$output .= '<h1>'.WebGUI::International::get(5,$namespace).'</h1>';
@ -88,7 +92,16 @@ sub www_edit {
-namespace=>$namespace,
-afterEdit=>'func=edit&wid='.$_[0]->get("wobjectId")
);
$f->yesNo("startAtThisLevel",WebGUI::International::get(3,$namespace),$_[0]->get("startAtThisLevel"));
$f->select(
-name=>"startAtThisLevel",
-label=>WebGUI::International::get(3,$namespace),
-value=>[$startLevel],
-options=>{
0=>WebGUI::International::get(75,$namespace),
$session{page}{pageId}=>WebGUI::International::get(74,$namespace),
%{$options}
}
);
$f->integer("depth",WebGUI::International::get(4,$namespace),$_[0]->get("depth"));
$f->integer("indent",WebGUI::International::get(6,$namespace),$indent);
$output .= $_[0]->SUPER::www_edit($f->printRowsOnly);
@ -109,13 +122,8 @@ sub www_editSave {
#-------------------------------------------------------------------
sub www_view {
my (%var, $parent);
if ($_[0]->get("startAtThisLevel")) {
$parent = $session{page}{pageId};
} else {
$parent = 1;
}
$var{page_loop} = _traversePageTree($parent,0,$_[0]->get("depth"),$_[0]->get("indent"));
my (%var);
$var{page_loop} = _traversePageTree($_[0]->get("startAtThisLevel"),0,$_[0]->get("depth"),$_[0]->get("indent"));
return $_[0]->processMacros($_[0]->processTemplate($_[0]->get("templateId"),\%var));
}

View file

@ -348,7 +348,7 @@ sub www_editAnswerSave {
$session{form}{qid} = "new";
} elsif ($session{form}{proceed} eq "addAnswer") {
$session{form}{aid} = "new";
$_[0]->www_editAnswer();
return $_[0]->www_editAnswer();
} elsif ($session{form}{proceed} eq "backToPage") {
return "";
}