From: Joey Hess Date: Tue, 29 Jan 2008 04:08:48 +0000 (-0500) Subject: support for internal-use page types X-Git-Tag: 2.30~89 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=0d2894711c6aeadcee0d4f2799a0956f7beed499;p=ikiwiki.git support for internal-use page types If a page type starts with an underscore, hide it from the list of page types in the edit form, and don't allow editing pages of that type. This allows for plugins to add page types for internal use. --- diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm index 5de90e1a8..5062a448f 100644 --- a/IkiWiki/CGI.pm +++ b/IkiWiki/CGI.pm @@ -341,7 +341,7 @@ sub cgi_editpage ($$) { #{{{ if (exists $pagesources{$page} && $form->field("do") ne "create") { $file=$pagesources{$page}; $type=pagetype($file); - if (! defined $type) { + if (! defined $type || $type=~/^_/) { error(sprintf(gettext("%s is not an editable page"), $page)); } if (! $form->submitted) { @@ -470,7 +470,8 @@ sub cgi_editpage ($$) { #{{{ my @page_types; if (exists $hooks{htmlize}) { - @page_types=keys %{$hooks{htmlize}}; + @page_types=grep { !/^_/ } + keys %{$hooks{htmlize}}; } $form->tmpl_param("page_select", 1);