/** * La table Membres comporte une colonne "role" */ public function _getRoleKey() { $dba = Zend_Registry::get('dba'); $droit_table = new Application_Model_Droit($dba); $where[] = $dba->quoteInto("ID_MEMBRE = ?", $this->ID_MEMBRE); $mydroits = $droit_table->fetchAll($where)->toArray(); $role_table = new Application_Model_Role($dba); $result = array(); foreach ($mydroits as $droit) { $role_row = $role_table->find($droit["ID_ROLE"]); $role = $role_row->current(); $result[] = $role["NOM_ROLE"]; } return $result; /* return $this->ROLE;*/ }
public function ajouterdroitAction() { $dba = Zend_Registry::get('dba'); $this->_helper->layout->disableLayout(true); $this->_helper->viewRenderer->setNoRender(true); $id_role = $_POST["id_role"]; $id_membre = $_POST["id_membre"]; $result = array(); if ($id_role != null && $id_membre != null) { $datas = array('ID_ROLE' => $id_role, 'ID_MEMBRE' => $id_membre); $result["STATUS"] = "OK"; $droit_table = new Application_Model_Droit($dba); $where = $dba->quoteInto("ID_MEMBRE = ?", $id_membre); $droit_rows = $droit_table->fetchAll($where); foreach ($droit_rows as $role_row) { if ($role_row["ID_ROLE"] == $id_role) { $result["STATUS"] = "Ce membre possede deja ce role"; break; } } if ($result["STATUS"] == "OK") { $role_table = new Application_Model_Role($dba); $role_row = $role_table->find($id_role); $role = $role_row->current(); $result["NOM_ROLE"] = $role["NOM_ROLE"]; $result["ID_ROLE"] = $id_role; $dba->beginTransaction(); try { $dba->insert('DROIT', $datas); $dba->commit(); } catch (Exception $e) { $dba->rollBack(); echo $e->getMessage(); } } } else { $result["STATUS"] = "FAIL"; } $json = json_encode($result); echo $json; }