converting nav and more asset manager fixes
This commit is contained in:
parent
63345d79fe
commit
a287beda58
19 changed files with 1206 additions and 556 deletions
|
|
@ -279,38 +279,39 @@ sub getEditForm {
|
|||
-value=>$self->get("url"),
|
||||
-uiLevel=>3
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-name=>"isHidden",
|
||||
-value=>$self->get("isHidden"),
|
||||
-label=>WebGUI::International::get(886),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-name=>"newWindow",
|
||||
-value=>$self->get("newWindow"),
|
||||
-label=>WebGUI::International::get(940),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("properties")->yesNo(
|
||||
-name=>"encryptPage",
|
||||
-value=>$self->get("encryptPage"),
|
||||
-label=>WebGUI::International::get('encrypt page'),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("properties")->textarea(
|
||||
-name=>"synopsis",
|
||||
-label=>WebGUI::International::get(412),
|
||||
-value=>$self->get("synopsis"),
|
||||
-uiLevel=>3
|
||||
);
|
||||
$tabform->addTab("privileges",WebGUI::International::get(107),6);
|
||||
$tabform->getTab("privileges")->dateTime(
|
||||
$tabform->addTab("display",WebGUI::International::get(105),5);
|
||||
$tabform->getTab("display")->yesNo(
|
||||
-name=>"isHidden",
|
||||
-value=>$self->get("isHidden"),
|
||||
-label=>WebGUI::International::get(886),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("display")->yesNo(
|
||||
-name=>"newWindow",
|
||||
-value=>$self->get("newWindow"),
|
||||
-label=>WebGUI::International::get(940),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->addTab("security",WebGUI::International::get(107),6);
|
||||
$tabform->getTab("security")->yesNo(
|
||||
-name=>"encryptPage",
|
||||
-value=>$self->get("encryptPage"),
|
||||
-label=>WebGUI::International::get('encrypt page'),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("security")->dateTime(
|
||||
-name=>"startDate",
|
||||
-label=>WebGUI::International::get(497),
|
||||
-value=>$self->get("startDate"),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("privileges")->dateTime(
|
||||
$tabform->getTab("security")->dateTime(
|
||||
-name=>"endDate",
|
||||
-label=>WebGUI::International::get(498),
|
||||
-value=>$self->get("endDate"),
|
||||
|
|
@ -331,7 +332,7 @@ sub getEditForm {
|
|||
$clause = "userId=".quote($self->get("ownerUserId"));
|
||||
}
|
||||
my $users = WebGUI::SQL->buildHashRef("select userId,username from users where $clause order by username");
|
||||
$tabform->getTab("privileges")->selectList(
|
||||
$tabform->getTab("security")->selectList(
|
||||
-name=>"ownerUserId",
|
||||
-options=>$users,
|
||||
-label=>WebGUI::International::get(108),
|
||||
|
|
@ -339,13 +340,13 @@ sub getEditForm {
|
|||
-subtext=>$subtext,
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("privileges")->group(
|
||||
$tabform->getTab("security")->group(
|
||||
-name=>"groupIdView",
|
||||
-label=>WebGUI::International::get(872),
|
||||
-value=>[$self->get("groupIdView")],
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("privileges")->group(
|
||||
$tabform->getTab("security")->group(
|
||||
-name=>"groupIdEdit",
|
||||
-label=>WebGUI::International::get(871),
|
||||
-value=>[$self->get("groupIdEdit")],
|
||||
|
|
@ -356,6 +357,12 @@ sub getEditForm {
|
|||
}
|
||||
|
||||
|
||||
sub getFirstDescendant {
|
||||
my $self = shift;
|
||||
$self->{_firstDescendant} = WebGUI::Asset->newByLineage($self->get("lineage").$self->formatRank(1)) unless (exists $self->{_firstDescendant});
|
||||
return $self->{_firstDescendant};
|
||||
}
|
||||
|
||||
sub getIcon {
|
||||
my $self = shift;
|
||||
my $small = shift;
|
||||
|
|
@ -452,7 +459,7 @@ sub getLineageLength {
|
|||
}
|
||||
|
||||
sub getName {
|
||||
return WebGUI::International::get('asset','Asset');
|
||||
return WebGUI::International::get("asset","Asset");
|
||||
}
|
||||
|
||||
sub getNextChildRank {
|
||||
|
|
@ -560,16 +567,6 @@ sub new {
|
|||
return undef;
|
||||
}
|
||||
|
||||
sub newByPropertyHashRef {
|
||||
my $class = shift;
|
||||
my $properties = shift;
|
||||
my $className = $properties->{className};
|
||||
my $cmd = "use ".$className;
|
||||
eval ($cmd);
|
||||
WebGUI::ErrorHandler::fatalError("Couldn't compile asset package: ".$className.". Root cause: ".$@) if ($@);
|
||||
bless {_properties => $properties}, $className;
|
||||
}
|
||||
|
||||
sub newByDynamicClass {
|
||||
my $class = shift;
|
||||
my $assetId = shift;
|
||||
|
|
@ -592,6 +589,23 @@ sub newByDynamicClass {
|
|||
}
|
||||
|
||||
|
||||
sub newByLineage {
|
||||
my $class = shift;
|
||||
my $lineage = shift;
|
||||
my $asset = WebGUI::SQL->quickHashRef("select assetId, className from asset where lineage=".quote($lineage));
|
||||
return WebGUI::Asset->newByDynamicClass($asset->{assetId}, $asset->{className});
|
||||
}
|
||||
|
||||
sub newByPropertyHashRef {
|
||||
my $class = shift;
|
||||
my $properties = shift;
|
||||
my $className = $properties->{className};
|
||||
my $cmd = "use ".$className;
|
||||
eval ($cmd);
|
||||
WebGUI::ErrorHandler::fatalError("Couldn't compile asset package: ".$className.". Root cause: ".$@) if ($@);
|
||||
bless {_properties => $properties}, $className;
|
||||
}
|
||||
|
||||
sub newByUrl {
|
||||
my $class = shift;
|
||||
my $url = shift || $session{env}{PATH_INFO};
|
||||
|
|
@ -786,7 +800,7 @@ sub www_add {
|
|||
my %properties = (
|
||||
groupIdView => $self->get("groupIdView"),
|
||||
groupIdEdit => $self->get("groupIdEdit"),
|
||||
ownerId => $self->get("ownerId"),
|
||||
ownerUserId => $self->get("ownerUserId"),
|
||||
encryptPage => $self->get("encryptPage"),
|
||||
isHidden => $self->get("isHidden"),
|
||||
startDate => $self->get("startDate"),
|
||||
|
|
@ -909,7 +923,7 @@ sub www_manageAssets {
|
|||
<div id="contextMenu" class="contextMenu"></div>
|
||||
<div id="propertiesWindow" class="propertiesWindow"></div>
|
||||
<div id="crumbtrail"></div>
|
||||
<div id="workspace" style="height: 200px;">Retrieving Assets...</div>
|
||||
<div id="workspace">Retrieving Assets...</div>
|
||||
<div id="dragImage" class="dragIdentifier">hello</div>
|
||||
';
|
||||
$output .= "<script>\n";
|
||||
|
|
|
|||
|
|
@ -81,13 +81,13 @@ sub edit {
|
|||
-uiLevel=>6
|
||||
);
|
||||
$tabform->addTab("privileges",WebGUI::International::get(107),6);
|
||||
$tabform->getTab("privileges")->dateTime(
|
||||
$tabform->getTab("security")->dateTime(
|
||||
-name=>"startDate",
|
||||
-label=>WebGUI::International::get(497),
|
||||
-value=>$self->get("startDate"),
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("privileges")->dateTime(
|
||||
$tabform->getTab("security")->dateTime(
|
||||
-name=>"endDate",
|
||||
-label=>WebGUI::International::get(498),
|
||||
-value=>$self->get("endDate"),
|
||||
|
|
@ -108,7 +108,7 @@ sub edit {
|
|||
$clause = "userId=".quote($self->get("ownerUserId"));
|
||||
}
|
||||
my $users = WebGUI::SQL->buildHashRef("select userId,username from users where $clause order by username");
|
||||
$tabform->getTab("privileges")->selectList(
|
||||
$tabform->getTab("security")->selectList(
|
||||
-name=>"ownerUserId",
|
||||
-options=>$users,
|
||||
-label=>WebGUI::International::get(108),
|
||||
|
|
@ -116,13 +116,13 @@ sub edit {
|
|||
-subtext=>$subtext,
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("privileges")->group(
|
||||
$tabform->getTab("security")->group(
|
||||
-name=>"groupIdView",
|
||||
-label=>WebGUI::International::get(872),
|
||||
-value=>[$self->get("groupIdView")],
|
||||
-uiLevel=>6
|
||||
);
|
||||
$tabform->getTab("privileges")->group(
|
||||
$tabform->getTab("security")->group(
|
||||
-name=>"groupIdEdit",
|
||||
-label=>WebGUI::International::get(871),
|
||||
-value=>[$self->get("groupIdEdit")],
|
||||
|
|
|
|||
|
|
@ -175,51 +175,43 @@ Returns the TabForm object that will be used in generating the edit page for thi
|
|||
sub getEditForm {
|
||||
my $self = shift;
|
||||
my $tabform = $self->SUPER::getEditForm();
|
||||
$tabform->addTab("layout",WebGUI::International::get(105),5);
|
||||
$tabform->getTab("layout")->yesNo(
|
||||
$tabform->getTab("display")->yesNo(
|
||||
-name=>"displayTitle",
|
||||
-label=>WebGUI::International::get(174),
|
||||
-value=>$self->getValue("displayTitle"),
|
||||
-uiLevel=>5
|
||||
);
|
||||
$tabform->getTab("layout")->template(
|
||||
$tabform->getTab("display")->template(
|
||||
-value=>$self->getValue("templateId"),
|
||||
-namespace=>$self->get("namespace"),
|
||||
-afterEdit=>'func=edit&wid='.$self->get("wobjectId")."&namespace=".$self->get("namespace")
|
||||
);
|
||||
$tabform->getTab("layout")->template(
|
||||
$tabform->getTab("display")->template(
|
||||
-name=>"styleTemplateId",
|
||||
-label=>WebGUI::International::get(1073),
|
||||
-value=>$self->getValue("styleTemplateId"),
|
||||
-namespace=>'style',
|
||||
-afterEdit=>'op=editPage&npp='.$session{form}{npp}
|
||||
);
|
||||
$tabform->getTab("layout")->template(
|
||||
$tabform->getTab("display")->template(
|
||||
-name=>"printableStyleTemplateId",
|
||||
-label=>WebGUI::International::get(1079),
|
||||
-value=>$self->getValue("printableStyleTemplateId"),
|
||||
-namespace=>'style',
|
||||
-afterEdit=>'op=editPage&npp='.$session{form}{npp}
|
||||
);
|
||||
# if ($childCount) {
|
||||
$tabform->getTab("layout")->yesNo(
|
||||
-name=>"recurseStyle",
|
||||
-subtext=>' '.WebGUI::International::get(106),
|
||||
-uiLevel=>9
|
||||
);
|
||||
# }
|
||||
$tabform->getTab("properties")->HTMLArea(
|
||||
-name=>"description",
|
||||
-label=>WebGUI::International::get(85),
|
||||
-value=>$self->getValue("description")
|
||||
);
|
||||
$tabform->getTab("properties")->interval(
|
||||
$tabform->getTab("display")->interval(
|
||||
-name=>"cacheTimeout",
|
||||
-label=>WebGUI::International::get(895),
|
||||
-value=>$self->getValue("cacheTimeout"),
|
||||
-uiLevel=>8
|
||||
);
|
||||
$tabform->getTab("properties")->interval(
|
||||
$tabform->getTab("display")->interval(
|
||||
-name=>"cacheTimeoutVisitor",
|
||||
-label=>WebGUI::International::get(896),
|
||||
-value=>$self->getValue("cacheTimeoutVisitor"),
|
||||
|
|
@ -230,20 +222,6 @@ sub getEditForm {
|
|||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 getName ( )
|
||||
|
||||
This method should be overridden by all wobjects and should return an internationalized human friendly name for the wobject. This method only exists in the super class for reverse compatibility and will try to look up the name based on the old name definition.
|
||||
|
||||
=cut
|
||||
|
||||
sub getName {
|
||||
my $self = shift;
|
||||
return $self->get("className");
|
||||
}
|
||||
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -35,18 +35,18 @@ sub definition {
|
|||
tableName=>'Article',
|
||||
className=>'WebGUI::Asset::Wobject::Article',
|
||||
properties=>{
|
||||
linkURL=>{
|
||||
fieldType=>'url',
|
||||
defaultValue=>undef
|
||||
},
|
||||
linkTitle=>{
|
||||
fieldType=>'text',
|
||||
defaultValue=>undef
|
||||
},
|
||||
convertCarriageReturns=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
}
|
||||
linkURL=>{
|
||||
fieldType=>'url',
|
||||
defaultValue=>undef
|
||||
},
|
||||
linkTitle=>{
|
||||
fieldType=>'text',
|
||||
defaultValue=>undef
|
||||
},
|
||||
convertCarriageReturns=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
}
|
||||
}
|
||||
});
|
||||
return $class->SUPER::definition($definition);
|
||||
|
|
@ -70,7 +70,7 @@ sub getEditForm {
|
|||
-value=>$self->getValue("linkURL"),
|
||||
-uiLevel=>3
|
||||
);
|
||||
$tabform->getTab("layout")->yesNo(
|
||||
$tabform->getTab("display")->yesNo(
|
||||
-name=>"convertCarriageReturns",
|
||||
-label=>WebGUI::International::get(10,"Article"),
|
||||
-value=>$self->getValue("convertCarriageReturns"),
|
||||
|
|
|
|||
469
lib/WebGUI/Asset/Wobject/Navigation.pm
Normal file
469
lib/WebGUI/Asset/Wobject/Navigation.pm
Normal file
|
|
@ -0,0 +1,469 @@
|
|||
package WebGUI::Asset::Wobject::Navigation;
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
# WebGUI is Copyright 2001-2004 Plain Black Corporation.
|
||||
#-------------------------------------------------------------------
|
||||
# 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 strict;
|
||||
use Tie::IxHash;
|
||||
use WebGUI::Asset::Wobject;
|
||||
use WebGUI::ErrorHandler;
|
||||
use WebGUI::Form;
|
||||
use WebGUI::International;
|
||||
use WebGUI::Privilege;
|
||||
use WebGUI::Session;
|
||||
use WebGUI::SQL;
|
||||
use WebGUI::TabForm;
|
||||
use WebGUI::URL;
|
||||
use WebGUI::Utility;
|
||||
|
||||
our @ISA = qw(WebGUI::Asset::Wobject);
|
||||
|
||||
|
||||
|
||||
sub definition {
|
||||
my $class = shift;
|
||||
my $definition = shift;
|
||||
push(@{$definition}, {
|
||||
tableName=>'Navigation',
|
||||
className=>'WebGUI::Asset::Wobject::Navigation',
|
||||
properties=>{
|
||||
assetsToInclude=>{
|
||||
fieldType=>'checkList',
|
||||
defaultValue=>"descendants"
|
||||
},
|
||||
startType=>{
|
||||
fieldType=>'selectList',
|
||||
defaultValue=>"relativeToCurrentUrl"
|
||||
},
|
||||
startPoint=>{
|
||||
fieldType=>'text',
|
||||
defaultValue=>0
|
||||
},
|
||||
endPoint=>{
|
||||
fieldType=>'selectList',
|
||||
defaultValue=>55
|
||||
},
|
||||
showSystemPages=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
},
|
||||
showHiddenPages=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
},
|
||||
showUnprivilegedPages=>{
|
||||
fieldType=>'yesNo',
|
||||
defaultValue=>0
|
||||
}
|
||||
}
|
||||
});
|
||||
return $class->SUPER::definition($definition);
|
||||
}
|
||||
|
||||
sub getEditForm {
|
||||
my $self = shift;
|
||||
my $tabform = $self->SUPER::getEditForm;
|
||||
my ($descendantsChecked, $selfChecked, $pedigreeChecked, $siblingsChecked);
|
||||
my @assetsToInclude = split("\n",$self->getValue("assetsToInclude"));
|
||||
my $afterScript;
|
||||
foreach my $item (@assetsToInclude) {
|
||||
if ($item eq "self") {
|
||||
$selfChecked = 1;
|
||||
} elsif ($item eq "descendants") {
|
||||
$descendantsChecked = 1;
|
||||
$afterScript = "displayNavEndPoint = false;";
|
||||
} elsif ($item eq "siblings") {
|
||||
$siblingsChecked = 1;
|
||||
} elsif ($item eq "pedigree") {
|
||||
$pedigreeChecked = 1;
|
||||
}
|
||||
}
|
||||
$tabform->getTab("properties")->selectList(
|
||||
-name=>"startType",
|
||||
-options=>{
|
||||
specificUrl=>'Specific URL',
|
||||
relativeToCurrentUrl=>'Relative To Current URL',
|
||||
relativeToRoot=>'Relative To Root'
|
||||
},
|
||||
-value=>[$self->getValue("startType")],
|
||||
-label=>"Start Point Type",
|
||||
-extras=>'id="navStartType" onChange="changeStartPoint()"'
|
||||
);
|
||||
$tabform->getTab("properties")->readOnly(
|
||||
-label=>"Start Point",
|
||||
-value=>'<div id="navStartPoint"></div>'
|
||||
);
|
||||
$tabform->getTab("properties")->readOnly(
|
||||
-label=>"Assets to Include",
|
||||
-value=>WebGUI::Form::checkbox({
|
||||
checked=>$selfChecked,
|
||||
name=>"assetsToInclude",
|
||||
value=>"self"
|
||||
}).'Self<br />'
|
||||
.WebGUI::Form::checkbox({
|
||||
checked=>$siblingsChecked,
|
||||
name=>"assetsToInclude",
|
||||
value=>"siblings"
|
||||
}).'Siblings<br />'
|
||||
.WebGUI::Form::checkbox({
|
||||
checked=>$descendantsChecked,
|
||||
name=>"assetsToInclude",
|
||||
value=>"descendants",
|
||||
extras=>'onChange="toggleEndPoint()"'
|
||||
}).'Descendants<br />'
|
||||
.WebGUI::Form::checkbox({
|
||||
checked=>$pedigreeChecked,
|
||||
name=>"assetsToInclude",
|
||||
value=>"pedigree"
|
||||
}).'Pedigree<br />'
|
||||
);
|
||||
WebGUI::ErrorHandler::warn($self->getValue("startType"));
|
||||
my %options;
|
||||
tie %options, 'Tie::IxHash';
|
||||
%options = (
|
||||
'55'=>'Infinity',
|
||||
'1'=>'./a/ (+1)',
|
||||
'2'=>'./a/b/ (+2)',
|
||||
'3'=>'./a/b/c/ (+3)',
|
||||
'4'=>'./a/b/c/d/ (+4)',
|
||||
'5'=>'./a/b/c/d/e/ (+5)'
|
||||
);
|
||||
$tabform->getTab("properties")->raw(
|
||||
'</tbody><tbody id="navEnd"><tr><td class="formDescription">End Point</td><td>'
|
||||
.WebGUI::Form::selectList({
|
||||
name=>"endPoint",
|
||||
value=>[$self->getValue("endPoint")],
|
||||
options=>\%options
|
||||
})
|
||||
.'</td></tr></tbody><tbody>'
|
||||
);
|
||||
$tabform->getTab("display")->yesNo(
|
||||
-name=>'showSystemPages',
|
||||
-label=>WebGUI::International::get(30,'Navigation'),
|
||||
-value=>$self->getValue("showSystemPages")
|
||||
);
|
||||
$tabform->getTab("display")->yesNo(
|
||||
-name=>'showHiddenPages',
|
||||
-label=>WebGUI::International::get(31,'Navigation'),
|
||||
-value=>$self->getValue("showHiddenPages")
|
||||
);
|
||||
$tabform->getTab("display")->yesNo(
|
||||
-name=>'showUnprivilegedPages',
|
||||
-label=>WebGUI::International::get(32,'Navigation'),
|
||||
-value=>$self->getValue("showUnprivilegedPages")
|
||||
);
|
||||
my $start = $self->getValue("startPoint");
|
||||
$tabform->getTab("properties")->raw("<script type=\"text/javascript\">
|
||||
var displayNavEndPoint = true;
|
||||
function toggleEndPoint () {
|
||||
if (displayNavEndPoint) {
|
||||
document.getElementById('navEnd').style.display='none';
|
||||
displayNavEndPoint = false;
|
||||
} else {
|
||||
document.getElementById('navEnd').style.display='';
|
||||
displayNavEndPoint = true;
|
||||
}
|
||||
}
|
||||
function changeStartPoint () {
|
||||
var types = new Array();
|
||||
types['specificUrl']='<input type=\"text\" name=\"startPoint\" value=\"".$start."\">';
|
||||
types['relativeToRoot']='<select name=\"startPoint\"><option value=\"0\"".(($start == 0)?' selected=\"1\"':'').">/ (0)</option><option value=\"1\"".(($start eq "1")?' selected=\"1\"':'').">/a/ (+1)</option><option value=\"2\"".(($start eq "2")?' selected=\"1\"':'').">/a/b/ (+2)</option><option value=\"3\"".(($start eq "3")?' selected=\"1\"':'').">/a/b/c/ (+3)</option><option value=\"4\"".(($start eq "4")?' selected=\"1\"':'').">/a/b/c/d/ (+4)</option><option value=\"5\"".(($start eq "5")?' selected=\"1\"':'').">/a/b/c/d/e/ (+5)</option><option value=\"6\"".(($start eq "6")?' selected=\"1\"':'').">/a/b/c/d/e/f/ (+6)</option><option value=\"7\"".(($start eq "7")?' selected=\"1\"':'').">/a/b/c/d/e/f/g/h/ (+7)</option><option value=\"8\"".(($start eq "8")?' selected=\"1\"':'').">/a/b/c/d/e/f/g/h/ (+8)</option><option value=\"9\"".(($start eq "9")?' selected=\"1\"':'').">/a/b/c/d/e/f/g/h/i/ (+9)</option></select>';
|
||||
types['relativeToCurrentUrl']='<select name=\"startPoint\"><option value=\"-3\"".(($start eq "-3")?' selected=\"1\"':'').">../../.././ (-3)</option><option value=\"-2\"".(($start eq "-2")?' selected=\"1\"':'').">../.././ (-2)</option><option value=\"-1\"".(($start eq "-1")?' selected=\"1\"':'').">.././ (-1)</option><option value=\"0\"".(($start == 0)?' selected=\"1\"':'').">./ (0)</option><option value=\"1\"".(($start eq "1")?' selected=\"1\"':'').">./a/ (+1)</option><option value=\"2\"".(($start eq "2")?' selected=\"1\"':'').">./a/b/ (+2)</option><option value=\"3\"".(($start eq "3")?' selected=\"1\"':'').">./a/b/c/ (+3)</option></select>';
|
||||
document.getElementById('navStartPoint').innerHTML=types[document.getElementById('navStartType').options[document.getElementById('navStartType').selectedIndex].value];
|
||||
}
|
||||
".$afterScript."
|
||||
changeStartPoint();
|
||||
toggleEndPoint();
|
||||
</script>");
|
||||
my $previewButton = qq{
|
||||
<INPUT TYPE="button" VALUE="Preview" NAME="preview"
|
||||
OnClick="
|
||||
window.open('', 'navPreview', 'toolbar=no,status=no,location=no,scrollbars=yes,resizable=yes');
|
||||
this.form.func.value='preview';
|
||||
this.form.target = 'navPreview';
|
||||
this.form.submit()">};
|
||||
my $saveButton = ' <input type="button" value="'.WebGUI::International::get(62).'" onClick="
|
||||
this.value=\''.WebGUI::International::get(452).'\';
|
||||
this.form.func.value=\'editSave\';
|
||||
this.form.target=\'_self\';
|
||||
this.form.submit();
|
||||
" >';
|
||||
$tabform->{_submit} = $previewButton." ".$saveButton;
|
||||
return $tabform;
|
||||
}
|
||||
|
||||
sub getName {
|
||||
return WebGUI::International::get("navigation","Navigation");
|
||||
}
|
||||
|
||||
|
||||
sub view {
|
||||
my $self = shift;
|
||||
# we've got to determine what our start point is based upon user conditions
|
||||
my $start;
|
||||
if (!exists $session{asset}) {
|
||||
$start = $self;
|
||||
} elsif ($self->get("startType") eq "specificUrl") {
|
||||
$start = WebGUI::Asset->getByUrl($self->get("startPoint"));
|
||||
} elsif ($self->get("startType") eq "relativeToRoot") {
|
||||
unless (($self->get("startPoint")+1) >= $self->getLineageLength) {
|
||||
$start = WebGUI::Asset->newByLineage(substr($session{asset}->get("lineage"),0, ($self->get("startPoint") + 1) * 6));
|
||||
}
|
||||
} elsif ($self->get("startType") eq "relativeToCurrentUrl") {
|
||||
if ($self->get("startPoint") < 0) {
|
||||
$start = WebGUI::Asset->newByLineage(substr($session{asset}->get("lineage"),0,
|
||||
($session{asset}->getLineageLength - $self->get("startPoint") + 1) * 6
|
||||
));
|
||||
} elsif ($self->get("startPoint") > 0) {
|
||||
my $lineage = $session{asset}->getLineage;
|
||||
for (1..$self->get("startPoint")) {
|
||||
$lineage .= $self->formatRank(1);
|
||||
}
|
||||
$start = WebGUI::Asset->newByLineage($lineage);
|
||||
}
|
||||
}
|
||||
$start = $session{asset} unless (defined $start); # if none of the above results in a start point, then the current page must be it
|
||||
my @assets = $start->getLineage();
|
||||
|
||||
|
||||
my $config;
|
||||
my $base;
|
||||
|
||||
my (@relatives, %rules);
|
||||
foreach my $relative ("ancestors","self","siblings","descendants") {
|
||||
push(@relatives,$relative) if ($config->{relative});
|
||||
}
|
||||
$rules{returnQuickReadObjects} = 1;
|
||||
$base->getLineage(\@relatives,\%rules);
|
||||
|
||||
my @interestingPageProperties = ('pageId', 'parentId', 'title', 'ownerId', 'urlizedTitle',
|
||||
'synopsis', 'newWindow', 'menuTitle', 'encryptLogin');
|
||||
my $var = {'page_loop' => []};
|
||||
my $p = $self->_getStartPageObject();
|
||||
my $method = $self->_methods()->{$self->{_method}}{method};
|
||||
|
||||
my $cache = WebGUI::Cache->new($self->{_identifier}.'-'.$session{page}{pageId}, "Navigation-".$session{config}{configFile});
|
||||
my $cacheContent = $cache->get unless $session{var}{adminOn};
|
||||
my (@page_loop, $lastPage, %unfolded);
|
||||
tie %unfolded, "Tie::IxHash";
|
||||
|
||||
# Store current page properties in template var
|
||||
my $currentPage = WebGUI::Page->getPage();
|
||||
my $currentRoot = $currentPage->getWebGUIRoot();
|
||||
foreach my $property (@interestingPageProperties) {
|
||||
$var->{'basepage.'.$property} = $currentPage->get($property);
|
||||
}
|
||||
unless (defined $cacheContent &&
|
||||
! $session{url}{siteURL}) { # Never use cache if an alternate site url is specified.
|
||||
# The loop was not cached
|
||||
my @pages = eval $method;
|
||||
if ($@) {
|
||||
WebGUI::ErrorHandler::warn("Error in WebGUI::Navigation::build while trying to execute $method".$@);
|
||||
}
|
||||
if (@pages) {
|
||||
my $startPageDepth = $p->get("depth")+1;
|
||||
my $maxDepth = $startPageDepth + $self->{_depth};
|
||||
my $minDepth = $startPageDepth - $self->{_depth};
|
||||
|
||||
foreach my $page (@pages) {
|
||||
my $pageData = {};
|
||||
$pageData->{"page.absDepth"} = $page->{'depth'} + 1;
|
||||
$pageData->{"page.isSystem"} = $page->{isSystem};
|
||||
|
||||
# Check if in depth range
|
||||
next if ($pageData->{"page.absDepth"} > $maxDepth || $pageData->{"page.absDepth"} < $minDepth);
|
||||
|
||||
# Check stopAtLevel
|
||||
next if ($pageData->{"page.absDepth"} < $self->{_stopAtLevel});
|
||||
|
||||
# Check showSystemPages
|
||||
next if (! $self->{_showSystemPages} && $pageData->{"page.isSystem"});
|
||||
|
||||
# Deal with hidden pages, don't ever hide pages if admin mode is on
|
||||
next if(($page->{'hideFromNavigation'} && ! $self->{_showHiddenPages}) && (! $session{var}{adminOn}));
|
||||
|
||||
# Initial page info
|
||||
$pageData->{"page.url"} = WebGUI::URL::gateway($page->{'urlizedTitle'});
|
||||
if ($page->{'encryptPage'}) {
|
||||
$pageData->{"page.url"} =~ s/http:/https:/;
|
||||
}
|
||||
$pageData->{"page.relDepth"} = $pageData->{"page.absDepth"} - $startPageDepth;
|
||||
$pageData->{"page.isBasepage"} = ($page->{'pageId'} eq $session{page}{pageId});
|
||||
$pageData->{"page.isHidden"} = $page->{'hideFromNavigation'};
|
||||
|
||||
# indent
|
||||
my $indent = 0;
|
||||
if ($self->{_method} eq 'pedigree' # reverse traversing
|
||||
|| $self->{_method} eq 'ancestors' # needs another way to calculate
|
||||
|| $self->{_method} eq 'self_and_ancestors') { # the indent
|
||||
if ($self->{_stopAtLevel} <= $startPageDepth && $self->{_stopAtLevel} > 0) {
|
||||
$indent = $pageData->{"page.absDepth"} - ($self->{_stopAtLevel} - 1) - 1;
|
||||
} elsif ($self->{_stopAtLevel} > $startPageDepth && $self->{_stopAtLevel} > 0) {
|
||||
$indent = 0;
|
||||
} else {
|
||||
$indent = $pageData->{"page.absDepth"} - 1;
|
||||
}
|
||||
} else {
|
||||
$indent = $pageData->{"page.absDepth"} - $startPageDepth - 1;
|
||||
}
|
||||
$pageData->{"page.indent_loop"} = [];
|
||||
push(@{$pageData->{"page.indent_loop"}},{'indent'=>$_}) for(1..$indent);
|
||||
$pageData->{"page.indent"} = " " x $indent;
|
||||
|
||||
# Put page properties in $pageData hashref
|
||||
foreach my $property (@interestingPageProperties) {
|
||||
$pageData->{"page.".$property} = $page->{$property};
|
||||
}
|
||||
$pageData->{"page.isRoot"} = (! $page->{'parentId'});
|
||||
$pageData->{"page.isTop"} = ($pageData->{"page.absDepth"} == 2);
|
||||
$pageData->{"page.hasDaughter"} = ($page->{'nestedSetRight'} - $page->{'nestedSetLeft'} > 1);
|
||||
$pageData->{"page.isDaughter"} = ($page->{'parentId'} eq $currentPage->get('pageId'));
|
||||
$pageData->{"page.isMother"} = ($page->{'pageId'} eq $currentPage->get('parentId'));
|
||||
|
||||
$pageData->{"page.isAncestor"}
|
||||
= (($page->{'nestedSetLeft'} < $currentPage->get('nestedSetLeft'))
|
||||
&& ($page->{'nestedSetRight'} > $currentPage->get('nestedSetRight')));
|
||||
$pageData->{"page.isDescendent"}
|
||||
= (($page->{'nestedSetLeft'} > $currentPage->get('nestedSetLeft'))
|
||||
&& ($page->{'nestedSetRight'} < $currentPage->get('nestedSetRight')));
|
||||
|
||||
$pageData->{"page.inRoot"}
|
||||
= (($page->{'nestedSetLeft'} > $currentRoot->get('nestedSetLeft'))
|
||||
&& ($page->{'nestedSetRight'} < $currentRoot->get('nestedSetRight')));
|
||||
|
||||
# Some information about my mother
|
||||
my $mother = WebGUI::Page->getPage($page->{parentId});
|
||||
if ($page->{parentId} ne "0") {
|
||||
foreach (qw(title urlizedTitle parentId pageId)) {
|
||||
$pageData->{"page.mother.$_"} = $mother->get($_);
|
||||
}
|
||||
$pageData->{"page.isSister"}
|
||||
= (($mother->get("pageId") eq $currentPage->get("parentId"))
|
||||
&& !$pageData->{"page.isBasepage"});
|
||||
}
|
||||
|
||||
$pageData->{"page.inBranch"}
|
||||
= ($pageData->{"page.isAncestor"}
|
||||
|| $pageData->{"page.isDescendent"}
|
||||
|| $pageData->{"page.isSister"}
|
||||
|| $pageData->{"page.isBasepage"});
|
||||
|
||||
$pageData->{"page.isLeftMost"} = (($page->{'nestedSetLeft'} - 1) == $mother->get('nestedSetLeft'));
|
||||
$pageData->{"page.isRightMost"} = (($page->{'nestedSetRight'} + 1) == $mother->get('nestedSetRight'));
|
||||
my $depthDiff = ($lastPage) ? ($lastPage->{'page.absDepth'} - $pageData->{'page.absDepth'}) : 0;
|
||||
if ($depthDiff > 0) {
|
||||
$pageData->{"page.depthDiff"} = $depthDiff if ($depthDiff > 0);
|
||||
$pageData->{"page.depthDiffIs".$depthDiff} = 1;
|
||||
push(@{$pageData->{"page.depthDiff_loop"}},{}) for(1..$depthDiff);
|
||||
}
|
||||
|
||||
# Some information about my depth
|
||||
$pageData->{"page.depthIs".$pageData->{"page.absDepth"}} = 1;
|
||||
$pageData->{"page.relativeDepthIs".$pageData->{"page.relDepth"}} = 1;
|
||||
|
||||
# We need a copy of the last page for the depthDiffLoop
|
||||
$lastPage = $pageData;
|
||||
|
||||
# Store $pageData in page_loop. Mind the order.
|
||||
if ($self->{_reverse}) {
|
||||
unshift(@page_loop, $pageData);
|
||||
} else {
|
||||
push(@page_loop, $pageData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# We had a cache miss, so let's put the data in cache
|
||||
$cache->set(\@page_loop, 3600*24) unless $session{var}{adminOn};
|
||||
} else {
|
||||
# We had a cache hit
|
||||
@page_loop = @{$cacheContent};
|
||||
}
|
||||
|
||||
# Do the user-dependent checks (which cannot be cached globally)
|
||||
foreach my $pageData (@page_loop) {
|
||||
$pageData->{"page.isViewable"} = WebGUI::Page::canView($pageData->{'page.pageId'});
|
||||
# Check privileges
|
||||
if ($pageData->{"page.isViewable"} || $self->{_showUnprivilegedPages}) {
|
||||
push (@{$var->{page_loop}}, $pageData);
|
||||
push (@{$unfolded{$pageData->{"page.parentId"}}}, $pageData);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (values %unfolded) {
|
||||
push(@{$var->{unfolded_page_loop}}, @{$_});
|
||||
}
|
||||
|
||||
# Configure button
|
||||
$var->{'config.button'} = $self->_getEditButton();
|
||||
|
||||
# Some properties of the page the user's viewing.
|
||||
$var->{'basepage.hasDaughter'} = $currentPage->hasDaughter();
|
||||
$var->{"basepage.isHome"} = ($currentPage->get('pageId') eq '1');
|
||||
|
||||
if ($self->{_template}) {
|
||||
return WebGUI::Template::processRaw($self->{_template}, $var);
|
||||
} else {
|
||||
return WebGUI::Template::process($self->{_templateId}, "Navigation", $var);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
sub www_edit {
|
||||
my $self = shift;
|
||||
return WebGUI::Privilege::insufficient() unless $self->canEdit;
|
||||
$self->getAdminConsole->setHelp("navigation add/edit");
|
||||
return $self->getAdminConsole->render($self->getEditForm->print,WebGUI::International::get("22","Navigation"));
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_preview {
|
||||
my $self = shift;
|
||||
$session{var}{adminOn} = 0;
|
||||
return WebGUI::Privilege::insufficient() unless (WebGUI::Grouping::isInGroup(3));
|
||||
my $nav = WebGUI::Navigation->new( depth=>$session{form}{depth},
|
||||
method=>$session{form}{method},
|
||||
startAt=>$session{form}{startAt},
|
||||
stopAtLevel=>$session{form}{stopAtLevel},
|
||||
templateId=>$session{form}{templateId},
|
||||
showSystemPages=>$session{form}{showSystemPages},
|
||||
showHiddenPages=>$session{form}{showHiddenPages},
|
||||
showUnprivilegedPages=>$session{form}{showUnprivilegedPages},
|
||||
'reverse'=>$session{form}{'reverse'},
|
||||
);
|
||||
my $output = qq(
|
||||
<table width="100%" border="0" cellpadding="5" cellspacing="0">
|
||||
<tr><td class="tableHeader" valign="top">
|
||||
Configuration
|
||||
</td><td class="tableHeader" valign="top">Output</td></tr>
|
||||
<tr><td class="tableHeader" valign="top">
|
||||
<font size=1>
|
||||
Identifier: $session{form}{identifier}<br>
|
||||
startAt: $session{form}{startAt}<br>
|
||||
method: $session{form}{method}<br>
|
||||
stopAtLevel: $session{form}{stopAtLevel}<br>
|
||||
depth: $session{form}{depth}<br>
|
||||
templateId: $session{form}{templateId}<br>
|
||||
reverse: $session{form}{'reverse'}<br>
|
||||
showSystemPages: $session{form}{showSystemPages}<br>
|
||||
showHiddenPages: $session{form}{showHiddenPages}<br>
|
||||
showUnprivilegedPages: $session{form}{showUnprivilegedPages}<br>
|
||||
</font>
|
||||
</td><td class="tableData" valign="top">
|
||||
) . $nav->build . qq(</td></tr></table>);
|
||||
|
||||
# Because of the way the system is set up, the preview is cached. So let's remove it again...
|
||||
WebGUI::Cache->new($nav->{_identifier}."$session{page}{pageId}", "Navigation-".$session{config}{configFile})->delete;
|
||||
|
||||
return _submenu($output,"preview");
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
@ -82,7 +82,7 @@ sub getEditForm {
|
|||
-label=>WebGUI::International::get(1,"SyndicatedContent"),
|
||||
-value=>$self->getValue("rssUrl")
|
||||
);
|
||||
$tabform->getTab("layout")->integer(
|
||||
$tabform->getTab("display")->integer(
|
||||
-name=>"maxHeadlines",
|
||||
-label=>WebGUI::International::get(3,"SyndicatedContent"),
|
||||
-value=>$self->getValue("maxHeadlines")
|
||||
|
|
|
|||
|
|
@ -161,36 +161,36 @@ sub duplicate {
|
|||
sub getEditForm {
|
||||
my $self = shift;
|
||||
my $tabform = $self->getEditForm;
|
||||
$tabform->getTab("layout")->template(
|
||||
$tabform->getTab("display")->template(
|
||||
-name=>"submissionTemplateId",
|
||||
-value=>$self->getValue("submissionTemplateId"),
|
||||
-namespace=>$self->get("namespace")."/Submission",
|
||||
-label=>WebGUI::International::get(73,$self->get("namespace")),
|
||||
-afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
||||
);
|
||||
$tabform->getTab("layout")->template(
|
||||
$tabform->getTab("display")->template(
|
||||
-name=>"submissionFormTemplateId",
|
||||
-value=>$self->getValue("submissionFormTemplateId"),
|
||||
-namespace=>$self->get("namespace")."/SubmissionForm",
|
||||
-label=>WebGUI::International::get(87,$self->get("namespace")),
|
||||
-afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
||||
);
|
||||
$tabform->getTab("privileges")->group(
|
||||
$tabform->getTab("security")->group(
|
||||
-name=>"groupToApprove",
|
||||
-label=>WebGUI::International::get(1,$self->get("namespace")),
|
||||
-value=>[$self->getValue("groupToApprove")]
|
||||
);
|
||||
$tabform->getTab("privileges")->group(
|
||||
$tabform->getTab("security")->group(
|
||||
-name=>"groupToContribute",
|
||||
-label=>WebGUI::International::get(2,$self->get("namespace")),
|
||||
-value=>[$self->getValue("groupToContribute")]
|
||||
);
|
||||
$tabform->getTab("layout")->integer(
|
||||
$tabform->getTab("display")->integer(
|
||||
-name=>"submissionsPerPage",
|
||||
-label=>WebGUI::International::get(6,$self->get("namespace")),
|
||||
-value=>$self->getValue("submissionsPerPage")
|
||||
);
|
||||
$tabform->getTab("privileges")->selectList(
|
||||
$tabform->getTab("security")->selectList(
|
||||
-name=>"defaultStatus",
|
||||
-options=>{
|
||||
Approved=>status('Approved'),
|
||||
|
|
@ -209,10 +209,10 @@ sub getEditForm {
|
|||
} else {
|
||||
$tabform->getTab("properties")->hidden("karmaPerSubmission",$self->getValue("karmaPerSubmission"));
|
||||
}
|
||||
$tabform->getTab("layout")->filterContent(
|
||||
$tabform->getTab("display")->filterContent(
|
||||
-value=>$self->getValue("filterContent")
|
||||
);
|
||||
$tabform->getTab("layout")->selectList(
|
||||
$tabform->getTab("display")->selectList(
|
||||
-name=>"sortBy",
|
||||
-value=>[$self->getValue("sortBy")],
|
||||
-options=>{
|
||||
|
|
@ -223,7 +223,7 @@ sub getEditForm {
|
|||
},
|
||||
-label=>WebGUI::International::get(79,$self->get("namespace"))
|
||||
);
|
||||
$tabform->getTab("layout")->selectList(
|
||||
$tabform->getTab("display")->selectList(
|
||||
-name=>"sortOrder",
|
||||
-value=>[$self->getValue("sortOrder")],
|
||||
-options=>{
|
||||
|
|
|
|||
|
|
@ -707,7 +707,7 @@ sub rows {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 setRow ( table, key, data [, dbh ] )
|
||||
=head2 setRow ( table, key, data [, dbh, id ] )
|
||||
|
||||
Inserts/updates a row of data into the database. Returns the value of the key.
|
||||
|
||||
|
|
@ -717,22 +717,26 @@ The name of the table to use.
|
|||
|
||||
=head3 key
|
||||
|
||||
The name of the primary key of the table.
|
||||
The name of the primary key of the table.
|
||||
|
||||
=head3 data
|
||||
|
||||
A hash reference containing column names and values to be set.
|
||||
A hash reference containing column names and values to be set. If the field matching the key parameter is set to "new" then a new row will be created.
|
||||
|
||||
=head3 dbh
|
||||
|
||||
A database handler to use. Defaults to the WebGUI database handler.
|
||||
|
||||
=head3 id
|
||||
|
||||
Use this ID to create a new row. Same as setting the key value to "new" except that we'll use this passed in id instead.
|
||||
|
||||
=cut
|
||||
|
||||
sub setRow {
|
||||
my ($self, $table, $keyColumn, $data, $dbh) = @_;
|
||||
if ($data->{$keyColumn} eq "new") {
|
||||
$data->{$keyColumn} = WebGUI::Id::generate();
|
||||
my ($self, $table, $keyColumn, $data, $dbh, $id) = @_;
|
||||
if ($data->{$keyColumn} eq "new" || $id) {
|
||||
$data->{$keyColumn} = $id || WebGUI::Id::generate();
|
||||
WebGUI::SQL->write("insert into $table ($keyColumn) values (".quote($data->{$keyColumn}).")", $dbh);
|
||||
}
|
||||
my (@pairs);
|
||||
|
|
|
|||
|
|
@ -1,187 +1,36 @@
|
|||
package WebGUI::i18n::English::Navigation;
|
||||
|
||||
our $I18N = {
|
||||
'add new' => {
|
||||
message => q|Add new navigation.|,
|
||||
lastUpdated => 1101774172,
|
||||
context => q|A submenu item in admin console that allows the user to add a new navigation config.|
|
||||
},
|
||||
|
||||
'33' => {
|
||||
message => q|Error: This identifier is already in use. Please use an unique value.|,
|
||||
lastUpdated => 1077081255
|
||||
},
|
||||
|
||||
'32' => {
|
||||
message => q|Show unprivileged pages|,
|
||||
lastUpdated => 1077080845
|
||||
},
|
||||
|
||||
'21' => {
|
||||
message => q|List all Navigation.|,
|
||||
lastUpdated => 1077080151
|
||||
},
|
||||
|
||||
'7' => {
|
||||
message => q|my daughter's level (./page)|,
|
||||
lastUpdated => 1077078687
|
||||
},
|
||||
|
||||
'26' => {
|
||||
message => q|Stop traversing when reaching level|,
|
||||
lastUpdated => 1077080617
|
||||
},
|
||||
|
||||
'2' => {
|
||||
message => q|root level (/home)|,
|
||||
lastUpdated => 1077078325
|
||||
},
|
||||
|
||||
'17' => {
|
||||
message => q|pedigree|,
|
||||
lastUpdated => 1077079481
|
||||
},
|
||||
|
||||
'1' => {
|
||||
message => q|nameless root|,
|
||||
lastUpdated => 1077078206
|
||||
},
|
||||
|
||||
'18' => {
|
||||
message => q|Edit this Navigation.|,
|
||||
lastUpdated => 1077079911
|
||||
},
|
||||
|
||||
'30' => {
|
||||
message => q|Show system pages|,
|
||||
lastUpdated => 1077080766
|
||||
},
|
||||
|
||||
'16' => {
|
||||
message => q|self and ancestors|,
|
||||
lastUpdated => 1077079343
|
||||
},
|
||||
|
||||
'27' => {
|
||||
message => q|Max depth|,
|
||||
lastUpdated => 1077080669
|
||||
},
|
||||
|
||||
'25' => {
|
||||
message => q|Base page|,
|
||||
lastUpdated => 1077080583
|
||||
},
|
||||
|
||||
'28' => {
|
||||
message => q|Return a loop with|,
|
||||
lastUpdated => 1077080706
|
||||
},
|
||||
|
||||
'14' => {
|
||||
message => q|generation|,
|
||||
lastUpdated => 1077079203
|
||||
},
|
||||
|
||||
'20' => {
|
||||
message => q|Delete this Navigation.|,
|
||||
lastUpdated => 1077080098
|
||||
},
|
||||
|
||||
'24' => {
|
||||
message => q|Identifier|,
|
||||
lastUpdated => 1077080504
|
||||
},
|
||||
|
||||
'10' => {
|
||||
message => q|self and sisters|,
|
||||
lastUpdated => 1077078879
|
||||
},
|
||||
|
||||
'31' => {
|
||||
message => q|Show hidden pages|,
|
||||
lastUpdated => 1077080799
|
||||
},
|
||||
|
||||
'35' => {
|
||||
message => q|<font color="red">Please specify an identifier. ie: ^Navigation(myMenu);</font>|,
|
||||
lastUpdated => 1077081415
|
||||
},
|
||||
|
||||
'11' => {
|
||||
message => q|descendants|,
|
||||
lastUpdated => 1077078969
|
||||
},
|
||||
|
||||
'22' => {
|
||||
message=> q|Edit Navigation|,
|
||||
lastUpdated => 1077078969
|
||||
},
|
||||
|
||||
'13' => {
|
||||
message => q|childless descendants|,
|
||||
lastUpdated => 1077079109
|
||||
},
|
||||
|
||||
'23' => {
|
||||
message => q|Navigation properties|,
|
||||
lastUpdated => 1077080317
|
||||
},
|
||||
|
||||
'29' => {
|
||||
message => q|Reverse output|,
|
||||
lastUpdated => 1100587628
|
||||
},
|
||||
|
||||
'6' => {
|
||||
message => q|my level (.)|,
|
||||
lastUpdated => 1077078579
|
||||
},
|
||||
|
||||
'3' => {
|
||||
message => q|top level (/home/page)|,
|
||||
lastUpdated => 1077078394
|
||||
},
|
||||
|
||||
'9' => {
|
||||
message => q|sisters|,
|
||||
lastUpdated => 1077078821
|
||||
},
|
||||
|
||||
'12' => {
|
||||
message => q|self and descendants|,
|
||||
lastUpdated => 1077079020
|
||||
},
|
||||
|
||||
'15' => {
|
||||
message => q|ancestors|,
|
||||
lastUpdated => 1077079273
|
||||
},
|
||||
|
||||
'8' => {
|
||||
message => q|daughters|,
|
||||
lastUpdated => 1077078773
|
||||
},
|
||||
|
||||
'4' => {
|
||||
message => q|my grandmother's level (../../page)|,
|
||||
lastUpdated => 1077078456
|
||||
},
|
||||
|
||||
'preview' => {
|
||||
message => q|Preview Navigation|,
|
||||
lastUpdated => 1077078456
|
||||
},
|
||||
|
||||
'19' => {
|
||||
message => q|Copy this Navigation.|,
|
||||
lastUpdated => 1077080062
|
||||
},
|
||||
|
||||
'5' => {
|
||||
message => q|my mother's level (../page)|,
|
||||
lastUpdated => 1077078526
|
||||
},
|
||||
|
||||
'navigation' => {
|
||||
message => q|Navigation|,
|
||||
lastUpdated => 1077078526,
|
||||
|
|
|
|||
|
|
@ -1347,7 +1347,7 @@ How should this user be notified when they get a new WebGUI message?
|
|||
},
|
||||
|
||||
'107' => {
|
||||
message => q|Privileges|,
|
||||
message => q|Security|,
|
||||
lastUpdated => 1031514049
|
||||
},
|
||||
|
||||
|
|
@ -2061,8 +2061,8 @@ The title of the page is what your users will use to navigate through the site.
|
|||
A shorter or altered title to appear in navigation. If left blank this will default to <i>Title</i>.
|
||||
<p>
|
||||
|
||||
<b>Page URL</b><br>
|
||||
You may either specify a URL for the page, or if you leave this blank, a URL based on the <b>Title</b> will be generated.
|
||||
<b>URL</b><br>
|
||||
You may either specify a URL for the asset, or if you leave this blank, a URL based on the <b>Title</b> will be generated.
|
||||
<p>
|
||||
|
||||
<b>Redirect URL</b><br>
|
||||
|
|
@ -2082,7 +2082,7 @@ Select yes to hide this page from the navigation menus and site maps.
|
|||
Select yes to open this page in a new window. This is often used in conjunction with the <b>Redirect URL</b> parameter.
|
||||
<p>
|
||||
|
||||
<b>Encrypt page?</b><br>
|
||||
<b>Encrypt content?</b><br>
|
||||
Select yes to serve this page over SSL.
|
||||
<p>
|
||||
|
||||
|
|
@ -2123,9 +2123,6 @@ If you don't wish to specify meta tags yourself, WebGUI can generate meta tags b
|
|||
By default, when you create a page, it inherits a few traits from its parent. One of those traits is style. Choose from the list of styles if you would like to change the appearance of this page. See <i>Add Style</i> for more details.
|
||||
<p>
|
||||
|
||||
If you select "Yes" below the style pull-down menu, all of the pages below this page will take on the style you've chosen for this page.
|
||||
<p>
|
||||
|
||||
<b>Printable Style</b><br>
|
||||
This sets the printable style for this page to be something other than the WebGUI Default Printable Style.
|
||||
<p>
|
||||
|
|
@ -3935,8 +3932,9 @@ Large sites using external group data will be making many calls to the external
|
|||
},
|
||||
|
||||
'104' => {
|
||||
message => q|Page URL|,
|
||||
lastUpdated => 1031514049
|
||||
message => q|URL|,
|
||||
lastUpdated => 1031514049,
|
||||
context => q|asset property|
|
||||
},
|
||||
|
||||
'412' => {
|
||||
|
|
@ -5395,11 +5393,6 @@ Start typing! Or better yet, copy the snippet from some other electronic documen
|
|||
lastUpdated => 1060433369
|
||||
},
|
||||
|
||||
'106' => {
|
||||
message => q|Select "Yes" to change all the pages under this page to this style.|,
|
||||
lastUpdated => 1031514049
|
||||
},
|
||||
|
||||
'707' => {
|
||||
message => q|Show debugging?|,
|
||||
lastUpdated => 1031514049
|
||||
|
|
@ -6353,7 +6346,7 @@ What group should be alerted when a new user registers?
|
|||
},
|
||||
|
||||
'105' => {
|
||||
message => q|Layout|,
|
||||
message => q|Display|,
|
||||
lastUpdated => 1046638916
|
||||
},
|
||||
|
||||
|
|
@ -6614,9 +6607,9 @@ config file.</p>
|
|||
context => q|option for Rich Editor in profile|
|
||||
},
|
||||
'encrypt page' => {
|
||||
message => q|Encrypt page?|,
|
||||
message => q|Encrypt content?|,
|
||||
lastUpdated =>1092748557,
|
||||
context => q|page property|
|
||||
context => q|asset property|
|
||||
},
|
||||
'Forum, Post Preview Template Title' => {
|
||||
message => q|Forum Post Preview Template|,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue