diff --git a/docs/upgrades/packages-7.9.4/default-wiki-page.wgpkg b/docs/upgrades/packages-7.9.4/default-wiki-page.wgpkg deleted file mode 100644 index 23ff7651a..000000000 Binary files a/docs/upgrades/packages-7.9.4/default-wiki-page.wgpkg and /dev/null differ diff --git a/docs/upgrades/packages-7.9.4/root_import_wiki.wgpkg b/docs/upgrades/packages-7.9.4/root_import_wiki.wgpkg new file mode 100644 index 000000000..8afed4e2a Binary files /dev/null and b/docs/upgrades/packages-7.9.4/root_import_wiki.wgpkg differ diff --git a/docs/upgrades/packages-7.9.4/wiki-master-by-keyword-template.tmpl.wgpkg b/docs/upgrades/packages-7.9.4/wiki-master-by-keyword-template.tmpl.wgpkg deleted file mode 100644 index 218e26948..000000000 Binary files a/docs/upgrades/packages-7.9.4/wiki-master-by-keyword-template.tmpl.wgpkg and /dev/null differ diff --git a/lib/WebGUI/Asset/Wobject/WikiMaster.pm b/lib/WebGUI/Asset/Wobject/WikiMaster.pm index 9a8479fb6..a3b381292 100644 --- a/lib/WebGUI/Asset/Wobject/WikiMaster.pm +++ b/lib/WebGUI/Asset/Wobject/WikiMaster.pm @@ -53,7 +53,6 @@ Append the template variables to C for keyword (category) pages. sub appendKeywordPageVars { my ( $self, $var ) = @_; - my $session = $self->session; my $topKeywords = $self->getTopLevelKeywordsList; my $keywordHierarchy = $self->getKeywordHierarchy( $topKeywords, ); $var->{keywords_loop} = $self->getKeywordVariables( $keywordHierarchy ); @@ -612,6 +611,7 @@ sub getKeywordVariables { KEYWORD: foreach my $member (@{ $hierarchy }) { my $varBlock = clone $member; $varBlock->{level} = $level; + $varBlock->{isTopLevel} = $level == 0; $varBlock->{indent_loop} = [ map { { indent => $_ } } 1..$level ]; delete $varBlock->{children}; push @{$variables}, $varBlock; @@ -865,20 +865,30 @@ sub www_byKeyword { } @pages = sort { lc($a->{title}) cmp lc($b->{title}) } @pages; my $var = { - keyword => $keyword, - pagesLoop => \@pages, - }; + keyword => $keyword, + pagesLoop => \@pages, + canAdminister => $self->canAdminister, + recentChangesUrl => $self->getUrl("func=recentChanges"), + mostPopularUrl => $self->getUrl("func=mostPopular"), + wikiHomeUrl => $self->getUrl, + }; $p->appendTemplateVars($var); - if ($self->canAdminister) { - $var->{formHeader} = WebGUI::Form::formHeader($session, {action => $self->getUrl, method => 'GET'}) - . WebGUI::Form::hidden($session, { name => 'func', value => 'subKeywordSave',}) - . WebGUI::Form::hidden($session, { name => 'thisKeyword', value => $keyword,}); + + my $subKeywords = $self->getSubKeywords($keyword); + my $keywordHierarchy = $self->getKeywordHierarchy($subKeywords); + $var->{keywords_loop} = $self->getKeywordVariables($keywordHierarchy); + + if ($var->{canAdminister}) { + $var->{formHeader} = WebGUI::Form::formHeader($session, {action => $self->getUrl}) + . WebGUI::Form::hidden($session, { name => 'func', value => 'subKeywordSave',}) + . WebGUI::Form::hidden($session, { name => 'keyword', value => $keyword,}); my $subKeywords = join ', ', @{ $self->getSubKeywords($keyword) }; - $var->{keywordForm} = WebGUI::Form::keyword($session, { + $var->{keywordForm} = WebGUI::Form::keywords($session, { name => 'subKeywords', value => $session->form->get('subKeywords') || $subKeywords, }); - $var->{formFooter} = WebGU::Form::formHeader($session); + $var->{submitForm} = WebGUI::Form::submit($session, {}); + $var->{formFooter} = WebGUI::Form::formFooter($session); } return $self->processStyle($self->processTemplate($var, $self->get('byKeywordTemplateId'))); } @@ -998,7 +1008,7 @@ sub www_subKeywordSave { my $form = $self->session->form; my $subKeywords = $form->process('subKeywords', 'keywords'); - my $keyword = $form->process('thisKeyword'); + my $keyword = $form->process('keyword'); my @subKeywords = @{ WebGUI::Keyword::string2list($subKeywords) }; $self->setSubKeywords($keyword, @subKeywords); diff --git a/lib/WebGUI/Help/Asset_WikiMaster.pm b/lib/WebGUI/Help/Asset_WikiMaster.pm index 95b8b9256..4abe0e448 100644 --- a/lib/WebGUI/Help/Asset_WikiMaster.pm +++ b/lib/WebGUI/Help/Asset_WikiMaster.pm @@ -91,6 +91,9 @@ our $HELP = { { namespace => "Asset_WikiMaster", tag => "wiki master asset variables" }, + { namespace => "Asset_WikiMaster", + tag => "keyword page variables" + }, ], variables => [ { 'name' => 'searchLabel', @@ -102,26 +105,6 @@ our $HELP = { { 'name' => 'recentChangesLabel variable', }, { 'name' => 'addPageUrl', }, { 'name' => 'addPageLabel', }, - { 'name' => 'keywords_loop', - 'variables' => [ - { 'name' => 'title', - 'description' => 'keyword title', - }, - { 'name' => 'url', - 'description' => 'keyword url', - }, - { 'name' => 'level', - 'description' => 'keyword level', - }, - { 'name' => 'indent_loop', - 'variables' => [ - { 'name' => 'indent', - 'description' => 'keyword indent', - }, - ], - }, - ], - }, ], fields => [], related => [], @@ -282,11 +265,16 @@ our $HELP = { title => 'by keyword template title', body => '', isa => [ + { namespace => "Asset_WikiMaster", + tag => "keyword page variables" + }, { namespace => "WebGUI", tag => "pagination template variables" }, ], variables => [ + { 'name' => 'mostPopularUrl', }, + { 'name' => 'recentChangesUrl', }, { name => 'keyword', description => 'by keyword keyword', }, @@ -310,6 +298,9 @@ our $HELP = { { name => 'keywordForm', description => 'by keyword keywordForm', }, + { name => 'submitForm', + description => 'by keyword submitForm', + }, { name => 'formFooter', description => 'by keyword formFooter', }, @@ -318,6 +309,43 @@ our $HELP = { related => [], }, + 'keyword page variables' => { + title => 'keyword page variables', + body => '', + isa => [ ], + private => 1, + variables => [ + { 'name' => 'keywords_loop', + 'variables' => [ + { 'name' => 'title', + 'description' => 'keyword title', + }, + { 'name' => 'url', + 'description' => 'keyword url', + }, + { 'name' => 'level', + 'description' => 'keyword level', + }, + { 'name' => 'descendants', + 'description' => 'keyword descendants', + }, + { 'name' => 'isTopLevel', + 'description' => 'keyword isTopLevel', + }, + { 'name' => 'indent_loop', + 'variables' => [ + { 'name' => 'indent', + 'description' => 'keyword indent', + }, + ], + }, + ], + }, + ], + fields => [], + related => [], + }, + }; diff --git a/lib/WebGUI/i18n/English/Asset_WikiMaster.pm b/lib/WebGUI/i18n/English/Asset_WikiMaster.pm index e629d991b..87871c87b 100644 --- a/lib/WebGUI/i18n/English/Asset_WikiMaster.pm +++ b/lib/WebGUI/i18n/English/Asset_WikiMaster.pm @@ -537,7 +537,7 @@ listing of pages that are related to a specific keyword?| }, }, 'keywords_loop' => { - message => q{A loop containing all the top level keywords, links to their keyword pages, and all sub pages below them.}, + message => q{A loop containing all the top level keywords for this page, links to their keyword pages, and all sub pages below them.}, lastUpdated => 0, context => q{Help for template variable}, }, @@ -560,6 +560,12 @@ listing of pages that are related to a specific keyword?| }, context => q{Help for template variable}, }, + 'keyword descendants' => { + message => q{The number of wiki pages that are tagged with this keyword, and all sub-keywords of this keyword.}, + lastUpdated => 0, + context => q{Help for template variable}, + }, + 'indent_loop' => { message => q{A loop that runs 1 time for each level.}, lastUpdated => 0, @@ -626,6 +632,30 @@ listing of pages that are related to a specific keyword?| }, context => q{Help for template variable}, }, + 'by keyword submitForm' => { + message => q{A button to submit the sub-keywords form.}, + lastUpdated => 0, + context => q{Help for template variable}, + }, + + 'Related Pages' => { + message => q{Related Pages}, + lastUpdated => 0, + context => q{template label}, + }, + + 'keyword page variables' => { + message => q{Keyword Page Variables}, + lastUpdated => 0, + context => q{template variable help}, + }, + + 'keyword isTopLevel' => { + message => q{Whether or not the keyword is one of the keywords for the page that was called. For the Wiki Front Page, it will only include top level keywords. For a keyword page, it would be true for any sub-keywords of this page.}, + lastUpdated => 0, + context => q{template variable help}, + }, + }; 1;