Adding reverse page loop

This commit is contained in:
Martin Kamerbeek 2006-07-19 15:57:12 +00:00
parent e3b558fc2b
commit 75b03b006e
5 changed files with 42 additions and 3 deletions

View file

@ -25,7 +25,8 @@
Kamerbeek / Procolix)
- Fixed a bug where WebGUI::Asset::File->addRevision did not set correct
privs to the storage associated with it. (Martin Kamerbeek / Procolix)
- Added a reverse page loop option to the navigation asset (Martin
Kamerbeek / Procolix)
7.0.1
- fix: User profile field "Department" needs i18n

View file

@ -12,7 +12,7 @@ use lib "../../lib";
use strict;
use Getopt::Long;
use WebGUI::Session;
use WebGUI::Utility;
my $toVersion = "7.0.2"; # make this match what version you're going to
my $quiet; # this line required
@ -22,6 +22,7 @@ my $session = start(); # this line required
# upgrade functions go here
addAdminToVisitorGroup($session);
addReversePageLoopColumn($session);
finish($session); # this line required
@ -32,6 +33,16 @@ sub addAdminToVisitorGroup {
return 1;
}
sub addReversePageLoopColumn {
my $session = shift;
print "\tAdding the reversePageLoop column to the Navigation table\n" unless ($quiet);
my @columns = $session->db->buildArray('describe Navigation');
unless (isIn('reversePageLoop', @columns)) {
$session->db->write('alter table Navigation add column reversePageLoop tinyint(1) default 0');
}
}
##-------------------------------------------------
#sub exampleFunction {
# my $session = shift;

View file

@ -73,7 +73,11 @@ sub definition {
showUnprivilegedPages=>{
fieldType=>'yesNo',
defaultValue=>0
}
},
reversePageLoop=>{
fieldType=>'yesNo',
defaultValue=>0
},
}
});
return $class->SUPER::definition($session, $definition);
@ -222,6 +226,12 @@ sub getEditForm {
-hoverHelp=>$i18n->get('32 description'),
-value=>$self->getValue("showUnprivilegedPages")
);
$tabform->getTab("display")->yesNo(
-name=>'reversePageLoop',
-label=>$i18n->get('reverse page loop'),
-hoverHelp => $i18n->get('reverse page loop description'),
-value=>$self->getValue('reversePageLoop'),
);
my $start = $self->getValue("startPoint");
$tabform->getTab("properties")->raw("<script type=\"text/javascript\">
//<![CDATA[
@ -345,11 +355,14 @@ sub view {
}
$start = $current unless (defined $start); # if none of the above results in a start point, then the current page must be it
my @includedRelationships = split("\n",$self->get("assetsToInclude"));
my %rules;
$rules{returnObjects} = 1;
$rules{endingLineageLength} = $start->getLineageLength+$self->get("descendantEndPoint");
$rules{assetToPedigree} = $current if (isIn("pedigree",@includedRelationships));
$rules{ancestorLimit} = $self->get("ancestorEndPoint");
$rules{orderByClause} = 'rpad(asset.lineage, 255, 9) desc' if ($self->get('reversePageLoop'));
my $assets = $start->getLineage(\@includedRelationships,\%rules);
my $var = {'page_loop' => []};
my @interestingProperties = ('assetId', 'parentId', 'ownerUserId', 'synopsis', 'newWindow');

View file

@ -55,6 +55,11 @@ our $HELP = {
description => '32 description',
namespace => 'Asset_Navigation',
},
{
title => 'reverse page loop',
description => 'reverse page loop description',
namespace => 'Asset_Navigation',
},
],
related => [
{

View file

@ -534,6 +534,15 @@ a Google sitemap of your site.</p>
lastUpdated => 1153314572,
},
'reverse page loop' => {
message => q|Reverse page loop|,
lastUpdated => 1153314572,
},
'reverse page loop description' => {
message => q|Reverses the order of all pages while maintaining hierarchy.|,
lastUpdated => 1153314572,
},
'1097' => {
message => q|<p>These variables are available in Navigation Templates:</p>