]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/CGI.pm
* If Net::OpenID::Consumer is not available, the openid module will quietly
[ikiwiki.git] / IkiWiki / CGI.pm
index acf1f5969f3ff0641158cf0bc4f7d9753e6b3ac4..b1caff96dfa4941065f5f9dd529e3df423e83b0d 100644 (file)
@@ -218,6 +218,11 @@ sub cgi_prefs ($$) { #{{{
                action => $config{cgiurl},
                template => scalar template_params("prefs.tmpl"),
                stylesheet => baseurl()."style.css",
+               fieldsets => [
+                       [login => gettext("Login")],
+                       [preferences => gettext("Preferences")],
+                       [admin => gettext("Admin")]
+               ],
        );
        my $buttons=["Save Preferences", "Logout", "Cancel"];
 
@@ -226,10 +231,12 @@ sub cgi_prefs ($$) { #{{{
        });
        
        $form->field(name => "do", type => "hidden");
-       $form->field(name => "email", size => 50);
+       $form->field(name => "email", size => 50, fieldset => "preferences");
        $form->field(name => "subscriptions", size => 50,
+               fieldset => "preferences",
                comment => "(".htmllink("", "", "PageSpec", noimageinline => 1).")");
-       $form->field(name => "banned_users", size => 50);
+       $form->field(name => "banned_users", size => 50,
+               fieldset => "admin");
        
        my $user_name=$session->param("name");
        if (! is_admin($user_name)) {
@@ -497,6 +504,21 @@ sub cgi_editpage ($$) { #{{{
                        print $form->render(submit => \@buttons);
                        return;
                }
+               elsif (-e "$config{srcdir}/$file" &&
+                      $form->field("do") eq "create") {
+                       $form->tmpl_param("creation_conflict", 1);
+                       $form->field(name => "do", value => "edit", force => 1);
+                       $form->tmpl_param("page_select", 0);
+                       $form->field(name => "page", type => 'hidden');
+                       $form->field(name => "type", type => 'hidden');
+                       $form->title(sprintf(gettext("editing %s"), $page));
+                       $form->field("editcontent", 
+                               value => readfile("$config{srcdir}/$file").
+                                        "\n\n\n".$form->field("editcontent"),
+                               force => 1);
+                       print $form->render(submit => \@buttons);
+                       return;
+               }
                
                my $content=$form->field('editcontent');