From e96a012d79fbfd35908eb3e2d228aa6b19606269 Mon Sep 17 00:00:00 2001 From: Alexander Kochetov Date: Mon, 27 May 2013 18:54:49 +0400 Subject: [PATCH] RBAC DbManager fixes --- framework/yii/rbac/DbManager.php | 46 ++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/framework/yii/rbac/DbManager.php b/framework/yii/rbac/DbManager.php index 719ffa8..dabff74 100644 --- a/framework/yii/rbac/DbManager.php +++ b/framework/yii/rbac/DbManager.php @@ -160,7 +160,8 @@ class DbManager extends Manager throw new InvalidCallException("Cannot add '$childName' as a child of '$itemName'. A loop has been detected."); } $this->db->createCommand() - ->insert($this->itemChildTable, array('parent' => $itemName, 'child' => $childName)); + ->insert($this->itemChildTable, array('parent' => $itemName, 'child' => $childName)) + ->execute(); return true; } else { throw new Exception("Either '$itemName' or '$childName' does not exist."); @@ -177,7 +178,8 @@ class DbManager extends Manager public function removeItemChild($itemName, $childName) { return $this->db->createCommand() - ->delete($this->itemChildTable, array('parent' => $itemName, 'child' => $childName)) > 0; + ->delete($this->itemChildTable, array('parent' => $itemName, 'child' => $childName)) + ->execute() > 0; } /** @@ -248,7 +250,8 @@ class DbManager extends Manager 'item_name' => $itemName, 'biz_rule' => $bizRule, 'data' => serialize($data), - )); + )) + ->execute(); return new Assignment(array( 'manager' => $this, 'userId' => $userId, @@ -267,7 +270,8 @@ class DbManager extends Manager public function revoke($userId, $itemName) { return $this->db->createCommand() - ->delete($this->assignmentTable, array('user_id' => $userId, 'item_name' => $itemName)) > 0; + ->delete($this->assignmentTable, array('user_id' => $userId, 'item_name' => $itemName)) + ->execute() > 0; } /** @@ -358,7 +362,8 @@ class DbManager extends Manager ), array( 'user_id' => $assignment->userId, 'item_name' => $assignment->itemName, - )); + )) + ->execute(); } /** @@ -424,6 +429,7 @@ class DbManager extends Manager */ public function createItem($name, $type, $description = '', $bizRule = null, $data = null) { + echo $name; $this->db->createCommand() ->insert($this->itemTable, array( 'name' => $name, @@ -431,7 +437,8 @@ class DbManager extends Manager 'description' => $description, 'biz_rule' => $bizRule, 'data' => serialize($data), - )); + )) + ->execute(); return new Item(array( 'manager' => $this, 'name' => $name, @@ -451,12 +458,15 @@ class DbManager extends Manager { if ($this->usingSqlite()) { $this->db->createCommand() - ->delete($this->itemChildTable, array('or', 'parent=:name', 'child=:name'), array(':name' => $name)); + ->delete($this->itemChildTable, array('or', 'parent=:name', 'child=:name'), array(':name' => $name)) + ->execute(); $this->db->createCommand() - ->delete($this->assignmentTable, array('item_name' => $name)); + ->delete($this->assignmentTable, array('item_name' => $name)) + ->execute(); } return $this->db->createCommand() - ->delete($this->itemTable, array('name' => $name)) > 0; + ->delete($this->itemTable, array('name' => $name)) + ->execute() > 0; } /** @@ -497,11 +507,14 @@ class DbManager extends Manager { if ($this->usingSqlite() && $oldName !== null && $item->getName() !== $oldName) { $this->db->createCommand() - ->update($this->itemChildTable, array('parent' => $item->getName()), array('parent' => $oldName)); + ->update($this->itemChildTable, array('parent' => $item->getName()), array('parent' => $oldName)) + ->execute(); $this->db->createCommand() - ->update($this->itemChildTable, array('child' => $item->getName()), array('child' => $oldName)); + ->update($this->itemChildTable, array('child' => $item->getName()), array('child' => $oldName)) + ->execute(); $this->db->createCommand() - ->update($this->assignmentTable, array('item_name' => $item->getName()), array('item_name' => $oldName)); + ->update($this->assignmentTable, array('item_name' => $item->getName()), array('item_name' => $oldName)) + ->execute(); } $this->db->createCommand() @@ -513,7 +526,8 @@ class DbManager extends Manager 'data' => serialize($item->data), ), array( 'name' => $oldName === null ? $item->getName() : $oldName, - )); + )) + ->execute(); } /** @@ -529,8 +543,8 @@ class DbManager extends Manager public function clearAll() { $this->clearAssignments(); - $this->db->createCommand()->delete($this->itemChildTable); - $this->db->createCommand()->delete($this->itemTable); + $this->db->createCommand()->delete($this->itemChildTable)->execute(); + $this->db->createCommand()->delete($this->itemTable)->execute(); } /** @@ -538,7 +552,7 @@ class DbManager extends Manager */ public function clearAssignments() { - $this->db->createCommand()->delete($this->assignmentTable); + $this->db->createCommand()->delete($this->assignmentTable)->execute(); } /**