From d45c7e72e909a3e9475f9caf18e46649a80435e5 Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Wed, 17 Nov 2010 18:29:22 +0800 Subject: [PATCH] Pman/Roo.php --- Pman/Roo.php | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/Pman/Roo.php b/Pman/Roo.php index 46bcb61..9a9406f 100644 --- a/Pman/Roo.php +++ b/Pman/Roo.php @@ -566,7 +566,20 @@ class Pman_Roo extends Pman while ($x->fetch()) { $xx = clone($x); + + + + if (method_exists($x, 'checkPerm') && !$x->checkPerm('D', $this->authUser)) { + $this->jerr("PERMISSION DENIED"); + } + + + if ( method_exists($xx, 'beforeDelete') && ($xx->beforeDelete() === false)) { + $errs[] = "Delete failed ({$xx->id})\n". (isset($xx->err) ? $xx->err : ''); + continue; + } + foreach($affects as $k=> $true) { $ka = explode('.', $k); $chk = DB_DataObject::factory($ka[0]); @@ -579,17 +592,8 @@ class Pman_Roo extends Pman } } - - - if (method_exists($x, 'checkPerm') && !$x->checkPerm('D', $this->authUser)) { - $this->jerr("PERMISSION DENIED"); - } - $this->addEvent("DELETE", $x, $x->toEventString()); - if ( method_exists($xx, 'beforeDelete') && ($xx->beforeDelete() === false)) { - $errs[] = "Delete failed ({$xx->id})\n". (isset($xx->err) ? $xx->err : ''); - continue; - } + $xx->delete(); } if ($errs) { -- 2.39.2