Added a whats next action to the page editor page.

This commit is contained in:
JT Smith 2002-12-01 01:43:21 +00:00
parent 009e52320b
commit 1246c811eb
3 changed files with 63 additions and 49 deletions

View file

@ -976,6 +976,7 @@ alter table SiteMap drop column lineSpacing;
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 (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');
alter table page add column languageId int not null default 1;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (823,1,'WebGUI','Go to the new page.', 1038706332);

View file

@ -318,6 +318,19 @@ sub www_editPage {
-subtext=>' &nbsp; '.WebGUI::International::get(116),
-uiLevel=>9
);
$f->raw(
-value=>'<tr><td colspan=2><hr size=1/></td></tr>',
-uiLevel=>5
);
if ($page{pageId} eq "new") {
$f->whatNext(
-options=>{
gotoNewPage=>WebGUI::International::get(823),
backToPage=>WebGUI::International::get(745)
},
-value=>"gotoNewPage"
);
}
$f->submit;
$output .= $f->print;
return $output;
@ -334,51 +347,51 @@ sub www_editPageSave {
} else {
$pageId = $session{form}{pageId};
}
if (WebGUI::Privilege::canEditPage($pageId)) {
if ($session{form}{pageId} eq "new") {
($nextSeq) = WebGUI::SQL->quickArray("select max(sequenceNumber) from page where parentId=$session{form}{parentId}");
$nextSeq++;
$session{form}{pageId} = getNextId("pageId");
WebGUI::SQL->write("insert into page (pageId,sequenceNumber,parentId)
values ($session{form}{pageId},$nextSeq,$session{form}{parentId})");
}
$session{form}{title} = "no title" if ($session{form}{title} eq "");
$session{form}{menuTitle} = $session{form}{title} if ($session{form}{menuTitle} eq "");
$session{form}{urlizedTitle} = $session{form}{menuTitle} if ($session{form}{urlizedTitle} eq "");
$session{form}{urlizedTitle} = WebGUI::URL::makeUnique(WebGUI::URL::urlize($session{form}{urlizedTitle}),$session{form}{pageId});
$session{form}{startDate} = setToEpoch($session{form}{startDate}) || setToEpoch(time());
$session{form}{endDate} = setToEpoch($session{form}{endDate}) || setToEpoch(addToDate(time(),10));
WebGUI::SQL->write("update page set
title=".quote($session{form}{title}).",
styleId=$session{form}{styleId},
ownerId=$session{form}{ownerId},
ownerView=$session{form}{ownerView},
ownerEdit=$session{form}{ownerEdit},
groupId='$session{form}{groupId}',
groupView=$session{form}{groupView},
groupEdit=$session{form}{groupEdit},
worldView=$session{form}{worldView},
worldEdit=$session{form}{worldEdit},
startDate=$session{form}{startDate},
endDate=$session{form}{endDate},
metaTags=".quote($session{form}{metaTags}).",
urlizedTitle='$session{form}{urlizedTitle}',
redirectURL='$session{form}{redirectURL}',
languageId='$session{form}{languageId}',
defaultMetaTags='$session{form}{defaultMetaTags}',
templateId='$session{form}{templateId}',
menuTitle=".quote($session{form}{menuTitle}).",
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}));
_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});
return "";
} else {
return WebGUI::Privilege::insufficient();
}
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::canEditPage($pageId));
if ($session{form}{pageId} eq "new") {
($nextSeq) = WebGUI::SQL->quickArray("select max(sequenceNumber) from page where parentId=$session{form}{parentId}");
$nextSeq++;
$session{form}{pageId} = getNextId("pageId");
WebGUI::SQL->write("insert into page (pageId,sequenceNumber,parentId)
values ($session{form}{pageId},$nextSeq,$session{form}{parentId})");
}
$session{form}{title} = "no title" if ($session{form}{title} eq "");
$session{form}{menuTitle} = $session{form}{title} if ($session{form}{menuTitle} eq "");
$session{form}{urlizedTitle} = $session{form}{menuTitle} if ($session{form}{urlizedTitle} eq "");
$session{form}{urlizedTitle} = WebGUI::URL::makeUnique(WebGUI::URL::urlize($session{form}{urlizedTitle}),$session{form}{pageId});
$session{form}{startDate} = setToEpoch($session{form}{startDate}) || setToEpoch(time());
$session{form}{endDate} = setToEpoch($session{form}{endDate}) || setToEpoch(addToDate(time(),10));
WebGUI::SQL->write("update page set
title=".quote($session{form}{title}).",
styleId=$session{form}{styleId},
ownerId=$session{form}{ownerId},
ownerView=$session{form}{ownerView},
ownerEdit=$session{form}{ownerEdit},
groupId='$session{form}{groupId}',
groupView=$session{form}{groupView},
groupEdit=$session{form}{groupEdit},
worldView=$session{form}{worldView},
worldEdit=$session{form}{worldEdit},
startDate=$session{form}{startDate},
endDate=$session{form}{endDate},
metaTags=".quote($session{form}{metaTags}).",
urlizedTitle='$session{form}{urlizedTitle}',
redirectURL='$session{form}{redirectURL}',
languageId='$session{form}{languageId}',
defaultMetaTags='$session{form}{defaultMetaTags}',
templateId='$session{form}{templateId}',
menuTitle=".quote($session{form}{menuTitle}).",
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}));
_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});
if ($session{form}{proceed} eq "gotoNewPage") {
WebGUI::Session::refreshPageInfo($session{form}{pageId});
}
return "";
}
#-------------------------------------------------------------------

View file

@ -46,7 +46,7 @@ sub _setupPageInfo {
if ($pageName ne "") {
($pageId) = WebGUI::SQL->quickArray("select pageId from page where urlizedTitle='".$pageName."'");
if ($pageId eq "") {
$pageId = $_[1];
$pageId = $session{setting}{notFoundPage};
if($ENV{"MOD_PERL"}) {
my $r = Apache->request;
if(defined($r)) {
@ -62,7 +62,7 @@ sub _setupPageInfo {
}
}
%page = WebGUI::SQL->quickHash("select * from page where pageId='".$pageId."'");
$page{url} = $_[2]."/".$page{urlizedTitle};
$page{url} = $session{config}{scripturl}."/".$page{urlizedTitle};
$session{page} = \%page;
}
@ -334,7 +334,7 @@ sub open {
}
###----------------------------
### current page's properties (from page table)
_setupPageInfo("",$session{setting}{notFoundPage},$session{config}{scripturl});
_setupPageInfo("");
###----------------------------
### current user's account and profile information (from users and userProfileData tables)
_setupUserInfo($session{var}{userId});
@ -356,7 +356,7 @@ sub refreshPageInfo {
} else {
$pageId = $_[0];
}
_setupPageInfo($pageId,$session{setting}{notFoundPage},$session{config}{scripturl});
_setupPageInfo($pageId);
}
#-------------------------------------------------------------------