Index: trunk/admin/maintenance.php
===================================================================
--- trunk/admin/maintenance.php	(revision 12922)
+++ trunk/admin/maintenance.php	(revision 13001)
@@ -48,4 +48,17 @@
 switch ($action)
 {
+  case 'lock_gallery' :
+  {
+    conf_update_param('gallery_locked', 'true');
+    redirect(get_root_url().'admin.php?page=maintenance');
+    break;
+  }
+  case 'unlock_gallery' :
+  {
+    conf_update_param('gallery_locked', 'false');
+    $_SESSION['page_infos'] = array(l10n('Gallery unlocked'));
+    redirect(get_root_url().'admin.php?page=maintenance');
+    break;
+  }
   case 'categories' :
   {
@@ -165,4 +178,21 @@
   );
 
+if ($conf['gallery_locked'])
+{
+  $template->assign(
+    array(
+      'U_MAINT_UNLOCK_GALLERY' => sprintf($url_format, 'unlock_gallery'),
+      )
+    );
+}
+else
+{
+  $template->assign(
+    array(
+      'U_MAINT_LOCK_GALLERY' => sprintf($url_format, 'lock_gallery'),
+      )
+    );
+}
+
 // +-----------------------------------------------------------------------+
 // | Define advanced features                                              |
