/** * Action pour la création. * * @return array */ public function createAction() { $oForm = new \Commun\Form\ItemsForm(); //new \Commun\Form\ItemsForm($this->getServiceLocator()); $oRequest = $this->getRequest(); $oFiltre = new \Commun\Filter\ItemsFilter(); $oForm->setInputFilter($oFiltre->getInputFilter()); if ($oRequest->isPost()) { $oEntite = new \Commun\Model\Items(); $oForm->setData($oRequest->getPost()); if ($oForm->isValid()) { $oEntite->exchangeArray($oForm->getData()); $this->getTable()->insert($oEntite); $this->flashMessenger()->addMessage($this->_getServTranslator()->translate("La items a été créé avec succès."), 'success'); return $this->redirect()->toRoute('backend-items-list'); } } // Pour optimiser le rendu $oViewModel = new ViewModel(); $oViewModel->setTemplate('backend/items/create'); return $oViewModel->setVariables(array('form' => $oForm)); }
/** * Extrait les informations du personnagee des donnes de battlnet et et les transforme en objet utilisable de notre coté. * Manque la faction qui n'est pas disponible * @param array $aDataItemBnet * @return \Core\Model\Items * @throws Exception */ public static function extraitItemDepuisBnet($aDataItemBnet) { if (!isset($aDataItemBnet)) { throw new \Exception('Les datas personnages issues de bnet ne peuvent être vide.'); } $oItem = new \Commun\Model\Items(); $oItem->setIdBnet($aDataItemBnet['id']); $oItem->setNom($aDataItemBnet['name']); $oItem->setIcon($aDataItemBnet['icon']); return $oItem; }
/** * Sauvegarde ou met a jour l'item passé. * @param \Commun\Model\Items $oItems * @return \Core\Model\Items */ public function saveOrUpdateItem($oItems) { try { $oTabItem = $this->selectBy(array('idBnet' => $oItems->getIdBnet())); } catch (\Exception $exc) { throw new DatabaseException(3000, 4, $this->_getServiceLocator(), $oItems->getArrayCopy(), $exc); } //si il existe pas on le cree if (!$oTabItem) { try { $oTabItem = new \Commun\Model\Items(); $oTabItem->setAjouterPar("Import Raid-TracKer"); $oTabItem->setNom(strtolower($oItems->getNom())); $oTabItem->setIcon($oItems->getIcon()); $oTabItem->setIdBnet($oItems->getIdBnet()); $this->insert($oTabItem); $oTabItem->setIdItem($this->lastInsertValue); } catch (\Exception $exc) { throw new DatabaseException(3000, 2, $this->_getServiceLocator(), $oItems->getArrayCopy(), $exc); } } return $oTabItem; }