Added an option to open menu links in a new window.
This commit is contained in:
parent
e531f31665
commit
690864df45
5 changed files with 47 additions and 19 deletions
|
|
@ -30,10 +30,12 @@ sub process {
|
|||
sub _reversePageTree {
|
||||
my ($sth, @data, $output, $parentId);
|
||||
($parentId) = WebGUI::SQL->quickArray("select parentId from page where pageId='$_[0]'");
|
||||
$sth = WebGUI::SQL->read("select pageId,parentId,menuTitle,urlizedTitle,hideFromNavigation from page where parentId=$_[0] order by sequenceNumber");
|
||||
$sth = WebGUI::SQL->read("select pageId,parentId,menuTitle,urlizedTitle,hideFromNavigation,newWindow from page where parentId=$_[0] order by sequenceNumber");
|
||||
while (@data = $sth->array) {
|
||||
if (!($data[4]) && WebGUI::Privilege::canViewPage($data[0])) {
|
||||
$output .= '<a class="verticalMenu" href="'.WebGUI::URL::gateway($data[3]).'">';
|
||||
$output .= '<a class="verticalMenu" ';
|
||||
$output .= ' target="_blank"' if ($data[5]);
|
||||
$output .= 'href="'.WebGUI::URL::gateway($data[3]).'">';
|
||||
if ($session{page}{pageId} == $data[0]) {
|
||||
$output .= '<span class="selectedMenuItem">'.$data[2].'</span>';
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -81,7 +81,9 @@ sub drawHorizontal {
|
|||
} else {
|
||||
$output .= ' '.$seperator.' ';
|
||||
}
|
||||
$output .= '<a class="'.$class.'" href="'.$tree->{$pageId}{url}.'">';
|
||||
$output .= '<a class="'.$class.'"';
|
||||
$output .= ' target="_blank"' if ($tree->{$pageId}{newWindow});
|
||||
$output .= ' href="'.$tree->{$pageId}{url}.'">';
|
||||
if ($pageId == $session{page}{pageId}) {
|
||||
$output .= '<span class="selectedMenuItem">'.$tree->{$pageId}{title}.'</span>';
|
||||
} else {
|
||||
|
|
@ -136,7 +138,9 @@ sub drawVertical {
|
|||
$leading .= "<br>";
|
||||
}
|
||||
foreach $pageId (keys %{$tree}) {
|
||||
$output .= $padding.$bullet.'<a class="'.$class.'" href="'.$tree->{$pageId}{url}.'">';
|
||||
$output .= $padding.$bullet.'<a class="'.$class.'"';
|
||||
$output .= ' target="_blank"' if ($tree->{$pageId}{newWindow});
|
||||
$output .= ' href="'.$tree->{$pageId}{url}.'">';
|
||||
if ($pageId == $session{page}{pageId}) {
|
||||
$output .= '<span class="selectedMenuItem">'.$tree->{$pageId}{title}.'</span>';
|
||||
} else {
|
||||
|
|
@ -152,17 +156,21 @@ sub drawVertical {
|
|||
|
||||
=head2 tree ( parentId [, toLevel ] )
|
||||
|
||||
Generates and returns a hash reference containing a page tree with keys of "url", "title", and "sub" with orignating keys of page ids. The tree looks like this:
|
||||
Generates and returns a hash reference containing a page tree with keys of "url", "title", "fullTitle", "synopsis", "newWindow" and "sub" with orignating keys of page ids. The tree looks like this:
|
||||
|
||||
root
|
||||
|-pageId
|
||||
| |-url
|
||||
| |-title
|
||||
| |-fullTitle
|
||||
| |-synopsis
|
||||
| |-newWindow
|
||||
| `-sub (pageId)
|
||||
| |-url
|
||||
| |-title
|
||||
| |-fullTitle
|
||||
| |-synopsis
|
||||
| |-newWindow
|
||||
| `-sub (pageId)
|
||||
| `-etc
|
||||
`-pageId
|
||||
|
|
@ -189,13 +197,16 @@ sub tree {
|
|||
tie %tree, 'Tie::IxHash';
|
||||
tie %data, 'Tie::CPHash';
|
||||
if ($depth < $toLevel) {
|
||||
$sth = WebGUI::SQL->read("select urlizedTitle, menuTitle, pageId, synopsis, hideFromNavigation from page
|
||||
$sth = WebGUI::SQL->read("select urlizedTitle, menuTitle, pageId, synopsis, hideFromNavigation,
|
||||
newWindow, title from page
|
||||
where parentId='$parentId' order by sequenceNumber");
|
||||
while (%data = $sth->hash) {
|
||||
if (!($data{hideFromNavigation}) && WebGUI::Privilege::canViewPage($data{pageId})) {
|
||||
$tree{$data{pageId}}{url} = WebGUI::URL::gateway($data{urlizedTitle});
|
||||
$tree{$data{pageId}}{title} = $data{menuTitle};
|
||||
$tree{$data{pageId}}{synopsis} = $data{synopsis};
|
||||
$tree{$data{pageId}}{fullTitle} = $data{title};
|
||||
$tree{$data{pageId}}{newWindow} = $data{newWindow};
|
||||
$tree{$data{pageId}}{sub} = tree($data{pageId},$toLevel,($depth+1));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,8 @@ sub _recursePageTree {
|
|||
userDefined3,
|
||||
userDefined4,
|
||||
userDefined5,
|
||||
hideFromNavigation
|
||||
hideFromNavigation,
|
||||
newWindow
|
||||
) values (
|
||||
$newPageId,
|
||||
$_[1],
|
||||
|
|
@ -98,7 +99,8 @@ sub _recursePageTree {
|
|||
".quote($newParent{userDefined3}).",
|
||||
".quote($newParent{userDefined4}).",
|
||||
".quote($newParent{userDefined5}).",
|
||||
$package{hideFromNavigation}
|
||||
$package{hideFromNavigation},
|
||||
$package{newWindow}
|
||||
)");
|
||||
_recursePageTree($package{pageId},$newPageId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -266,17 +266,29 @@ sub www_editPage {
|
|||
-value=>$page{menuTitle},
|
||||
-uiLevel=>1
|
||||
);
|
||||
$f->getTab("properties")->text(
|
||||
-name=>"urlizedTitle",
|
||||
-label=>WebGUI::International::get(104),
|
||||
-value=>$page{urlizedTitle},
|
||||
-uiLevel=>3
|
||||
);
|
||||
$f->getTab("properties")->url(
|
||||
-name=>"redirectURL",
|
||||
-label=>WebGUI::International::get(715),
|
||||
-value=>$page{redirectURL},
|
||||
-uiLevel=>9
|
||||
);
|
||||
$f->getTab("properties")->yesNo(
|
||||
-name=>"hideFromNavigation",
|
||||
-value=>$page{hideFromNavigation},
|
||||
-label=>WebGUI::International::get(886),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$f->getTab("properties")->text(
|
||||
-name=>"urlizedTitle",
|
||||
-label=>WebGUI::International::get(104),
|
||||
-value=>$page{urlizedTitle},
|
||||
-uiLevel=>3
|
||||
$f->getTab("properties")->yesNo(
|
||||
-name=>"newWindow",
|
||||
-value=>$page{newWindow},
|
||||
-label=>WebGUI::International::get(940),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$f->getTab("properties")->select(
|
||||
-name=>"languageId",
|
||||
|
|
@ -285,12 +297,6 @@ sub www_editPage {
|
|||
-uiLevel=>1,
|
||||
-options=>WebGUI::International::getLanguages()
|
||||
);
|
||||
$f->getTab("properties")->url(
|
||||
-name=>"redirectURL",
|
||||
-label=>WebGUI::International::get(715),
|
||||
-value=>$page{redirectURL},
|
||||
-uiLevel=>9
|
||||
);
|
||||
$f->getTab("properties")->textarea(
|
||||
-name=>"synopsis",
|
||||
-label=>WebGUI::International::get(412),
|
||||
|
|
@ -444,6 +450,7 @@ sub www_editPageSave {
|
|||
ownerId=$session{form}{ownerId},
|
||||
groupIdView=$session{form}{groupIdView},
|
||||
groupIdEdit=$session{form}{groupIdEdit},
|
||||
newWindow=$session{form}{newWindow},
|
||||
hideFromNavigation=$session{form}{hideFromNavigation},
|
||||
startDate=$session{form}{startDate},
|
||||
endDate=$session{form}{endDate},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue