/** * Aktualizacja zasobów(grup) dla profilu * * @param Base_Form_Abstract $form formularz z danymi do zapisania * @param integer $id id profilu * @return integer ilość poprawionych wierszy */ public function _updateGroupResource($form, $id) { $profileResourceDenyModel = new ProfileResourceDeny(); $values = $form->getValues(); $profileResourceDenyModel->delete('id_profile = ' . $id); $profileResourceDenyModel->getAdapter()->beginTransaction(); $tmp = 0; $ret = 0; try { foreach ($values['group'] as $group_id) { $tmp = $profileResourceDenyModel->insert(array('id_profile' => $id, 'id_group' => $group_id)); } $ret += $tmp; $tmp = 0; $profileResourceDenyModel->getAdapter()->commit(); $cache = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('cachemanager')->getCache('rolecache'); $cache->clean(Zend_Cache::CLEANING_MODE_ALL); } catch (Exception $e) { $profileResourceDenyModel->getAdapter()->rollBack(); } return $ret; }