public function storeRightGroup(RightGroup $rightGroup) { $stmntMutate = $this->db->prepare("\n\t\t\tINSERT INTO rightgroup SET\n\t\t\t\tID = ?, groupname = ?, groupkey = ?, root = ?\n\t\t\tON DUPLICATE KEY UPDATE\n\t\t\t\tgroupname = ?, groupkey = ?, root = ?\n\t\t"); $newRgID = $this->db->insert($stmntMutate, array($rightGroup->getID(), $rightGroup->getGroupName(), $rightGroup->getGroupKey(), (int) $rightGroup->isRoot(), $rightGroup->getGroupName(), $rightGroup->getGroupKey(), (int) $rightGroup->isRoot())); $rgID = $rightGroup->getID() !== null ? $rightGroup->getID() : $newRgID; $removeRights = $this->db->prepare("DELETE FROM cms_rightgroup_has_right WHERE rightgroup_IDFK = ?"); $this->db->delete($removeRights, array($rgID)); $stmntInsertRight = $this->db->prepare("\n\t\t\tINSERT INTO cms_rightgroup_has_right\n\t\t\tSET rightgroup_IDFK = ?, cms_right = ?, date_from = NOW()\n\t\t"); foreach ($rightGroup->getRights() as $r) { $this->db->insert($stmntInsertRight, array($rgID, $r)); } }