X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2FBarrel%2FPage.php;h=15d4d897ca32bf1f80d8cbef2dee8fc86373f332;hb=3b34a3453da45ee2f3672d8c8af7fb617d4b7560;hp=d680bc456cab05b7fd3128d109f4c35ec048ff4c;hpb=d2cf8e2c70cdbd10213a5c123c278a7257d8e210;p=diogenes.git diff --git a/include/Barrel/Page.php b/include/Barrel/Page.php index d680bc4..15d4d89 100644 --- a/include/Barrel/Page.php +++ b/include/Barrel/Page.php @@ -18,7 +18,6 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -require_once 'diogenes.icons.inc.php'; require_once 'Barrel/File.php'; @@ -78,7 +77,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"); @@ -87,16 +93,17 @@ class Diogenes_Barrel_Page if ($num > 0) { $caller->info(__("Not deleting page, it has child pages!")); - return; + return false; } $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(); $barrel->readTree(); + return true; } @@ -158,12 +165,13 @@ class Diogenes_Barrel_Page /** Build the 'Page' toolbar */ - function make_toolbar() + function make_toolbar(&$caller) { global $globals; $props = $this->props; $topbar = array (); + $from = htmlentities($caller->script_uri()); if ($props['PID']) { $hp = $this->barrel->getPID(''); @@ -173,7 +181,7 @@ class Diogenes_Barrel_Page array_push($topbar, array( __("browse files"), "files?dir={$props['PID']}" )); array_push($topbar, array( __("page properties"), "pages?dir={$props['PID']}" )); array_push($topbar, array( __("view page"), "../". $this->getLocation())); - array_push($topbar, array(__("add a page"), "pages?action=edit&parent=".$props['PID']) ); + array_push($topbar, array(__("add a page"), "pages?action=edit&parent=".$props['PID']."&from=$from") ); if ($this->barrel->flags->hasFlag("plug")) { array_push($topbar, array( __("plugins"), "plugins?plug_page={$props['PID']}" ) ); } @@ -201,7 +209,7 @@ class Diogenes_Barrel_Page } - /** Write the page's properties to database + /** Write the page's properties to database and returns the PID of that page. * * @param $homepage * @param $caller @@ -232,7 +240,6 @@ class Diogenes_Barrel_Page } } } - // check that the location is valid if ($homepage) @@ -323,8 +330,11 @@ class Diogenes_Barrel_Page // recompile tree $this->barrel->compileTree(); - $this->barrel->readTree(); - } + $this->barrel->readTree(); + + return $props['PID']; + } + } ?>