* improved - after adding a page, return to the calling url
authorJeremy Laine <jeremy.laine@m4x.org>
Fri, 21 Jul 2006 20:55:43 +0000 (20:55 +0000)
committerJeremy Laine <jeremy.laine@m4x.org>
Fri, 21 Jul 2006 20:55:43 +0000 (20:55 +0000)
 * improved - add recursive deletion to file manager
 * improved - improve logging of deleted pages (store location)

ChangeLog
include/Barrel.php
include/Barrel/Page.php
include/admin/compose.php
include/admin/edit.php
include/admin/files.php
include/admin/pages.php
include/admin/plugins.php
templates/page-properties.tpl

index cd42306..542d08b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,11 @@
-Diogenes 0.9.20pre1
+Diogenes 0.9.20pre2
  * added - add RSS feeds describing changes to barrels
  * added - offer preset style sheets for barrels
  * fixed - fix a warning when a barrel's menu is empty
  * fixed - reduce webserver logging of RCS operations
+ * improved - after adding a page, return to the calling url
+ * improved - add recursive deletion to file manager
+ * improved - improve logging of deleted pages (store location)
 
 Diogenes 0.9.19
  * fixed - fix handling of filter plugins without arguments
index 1a78dde..7eb24a5 100644 (file)
@@ -310,6 +310,10 @@ class Diogenes_Barrel
   {
     global $globals;
 
+    if (!$path) {
+      $caller->info("rmPath: will not delete from root!");
+      return false;
+    }
     $curpid = $this->getPID($path);
     if (!$curpid) {
       $caller->info("rmPath: could not find '$path'");
index 118effe..f35e739 100644 (file)
@@ -78,7 +78,14 @@ class Diogenes_Barrel_Page
   {     
     global $globals;
       
-    $caller->info(__("Deleting page"). " $dir");    
+    $loc = $barrel->getLocation($dir);
+    if (!$loc)
+    {
+      $caller->info("Error : not deleting page $dir\n");
+      return false;
+    }
+    
+    $caller->info(__("Deleting page"). " '$loc'");
     
     // check there are no child pages
     $res = $globals->db->query("select PID from {$barrel->table_page} where parent=$dir");
@@ -92,7 +99,7 @@ class Diogenes_Barrel_Page
     
     $rcs = $caller->getRcs();
     $globals->db->query("delete from {$barrel->table_page} where PID=$dir");
-    $caller->log("page_delete","{$barrel->alias}:$dir");
+    $caller->log("page_delete","{$barrel->alias}:$loc");
     system("rm -rf ". escapeshellarg($rcs->rcsPath($dir)));
     system("rm -rf ". escapeshellarg($rcs->spoolPath($dir)));
     $barrel->compileTree();
index 76e0d8e..ba279a9 100644 (file)
@@ -58,7 +58,7 @@ $page->assign('file_content',chunk_split(base64_encode($protdoc)));
 $page->assign('msg_log',__("log message"));
 
 // build toolbars
-$page->toolbar(__("Page"), $bpage->make_toolbar());
+$page->toolbar(__("Page"), $bpage->make_toolbar($page));
 $page->toolbar(__("File"), $bfile->make_toolbar(true));
 
 $auxpage = new DiogenesBarrel("/".$bbarrel->alias."/". $bpage->getLocation());
index e68aff4..510c70a 100644 (file)
@@ -66,7 +66,7 @@ if ($file == $globals->cssfile) {
 }
 
 // top toolbar
-$page->toolbar(__("Page"), $bpage->make_toolbar());
+$page->toolbar(__("Page"), $bpage->make_toolbar($page));
 $page->toolbar(__("File"), $bfile->make_toolbar(true));
 $page->display('admin-edit.tpl');
 ?>
index 41b52f6..c3ebdea 100644 (file)
@@ -58,7 +58,7 @@ $page->assign('msg_read_perms',__("read access"));
 $page->assign('msg_write_perms',__("write access"));
 
 // build navigation toolbar
-$page->toolbar(__("Page"), $fpage->make_toolbar());
+$page->toolbar(__("Page"), $fpage->make_toolbar($page));
 
 
 switch ($action) {
@@ -102,7 +102,8 @@ case "file_rename":
   break;
 
 case "page_delete":
-  Diogenes_Barrel_Page::delete($bbarrel, $target, $page);
+  $target_path = $bbarrel->getLocation($target);
+  $bbarrel->rmPath($target_path, $page);
   $fpages = $bbarrel->getPages();
   break;
   
index 85dd9a3..a4da8c0 100644 (file)
@@ -27,7 +27,7 @@ $page->assign('msg_add_page', array(__("Add a page"),"?action=edit") );
 
 $page->assign('post', $page->script_self());
 $page->assign('table', $bbarrel->table_page);
-
+$page->assign('from', $_REQUEST['from']);
 $action = isset($_REQUEST["action"]) ? $_REQUEST["action"] : "";
 $target = isset($_REQUEST["target"]) ? $_REQUEST["target"] : "";
 
@@ -94,12 +94,11 @@ case "update":
     }    
     
     $bpage = new Diogenes_Barrel_Page($bbarrel, $props);
-    $bpage->toDb($homepage, $page);
-    break;
-    
-   
-case "page_delete":
-    Diogenes_Barrel_Page::delete($bbarrel, $target, $page);
+    if ($bpage->toDb($homepage, $page) && $_REQUEST['from'])
+    {
+      header("Location: {$_REQUEST['from']}");
+      exit;
+    }
     break;
 }
 
@@ -119,7 +118,7 @@ if ($dir)
 // "Page" toolbar  
 //if (isset($bpage->props['PID'])) {
 if ($dir != 0) {
-  $page->toolbar(__("Page"), $bpage->make_toolbar());
+  $page->toolbar(__("Page"), $bpage->make_toolbar($page));
   $page->toolbar(__("File"), $bpage->make_doc_toolbar($rcs));
 }
   
index c529c31..3f2f3fe 100644 (file)
@@ -20,7 +20,7 @@ if ($dir != 0)
 {
   $bpage = Diogenes_Barrel_Page::fromDb($bbarrel, $dir);
   $page->assign('greeting',__("Page plugins ") . " - " . ($bpage->props['location'] ? $bpage->props['location'] : __("home")) );    
-  $page->toolbar(__("Page"), $bpage->make_toolbar());
+  $page->toolbar(__("Page"), $bpage->make_toolbar($page));
   $wperms = $bpage->props['wperms'];
 } else {
   $page->assign('greeting',__("Available plugins"));
index ec7d915..9040871 100644 (file)
@@ -1,6 +1,7 @@
 <form method="post" action="{$post}">
 <input type="hidden" name="action" value="update" />
 <input type="hidden" name="dir" value="{$page_obj.PID}" />
+<input type="hidden" name="from" value="{$from}" />
 <table class="light" style="width:70%">
 <tr>
   <th colspan="2">{$msg_properties}</th>