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
|
|
@ -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=>{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue