/** * Action pour la création. * * @return array */ public function createAction() { $oForm = new \Commun\Form\NpcForm(); //new \Commun\Form\NpcForm($this->getServiceLocator()); $oRequest = $this->getRequest(); $oFiltre = new \Commun\Filter\NpcFilter(); $oForm->setInputFilter($oFiltre->getInputFilter()); if ($oRequest->isPost()) { $oEntite = new \Commun\Model\Npc(); $oForm->setData($oRequest->getPost()); if ($oForm->isValid()) { $oEntite->exchangeArray($oForm->getData()); $this->getTable()->insert($oEntite); $this->flashMessenger()->addMessage($this->_getServTranslator()->translate("La npc a été créé avec succès."), 'success'); return $this->redirect()->toRoute('backend-npc-list'); } } // Pour optimiser le rendu $oViewModel = new ViewModel(); $oViewModel->setTemplate('backend/npc/create'); return $oViewModel->setVariables(array('form' => $oForm)); }
/** * Extrait les bosses des donnes de battlnet et les transforme en objet utilisable de notre coté. * @param type $aDataZoneBnet * @param \Core\Model\Zone $oZone * @param array $aOptionFiltre lvlMin| * @return array de \Core\Model\Personnages * @throws Exception */ public static function extraitBossDepuisBnetZone($aDataZoneBnet, \Commun\Model\Zone $oZone) { if (!isset($aDataZoneBnet)) { throw new Exception("Les datas pour l'extraction de zone issues de bnet ne peuvent être vide."); } $aBoss = array(); if (isset($aDataZoneBnet['bosses'])) { foreach ($aDataZoneBnet['bosses'] as $aBosse) { $oBoss = new \Commun\Model\Bosses(); $oBoss->setIdBosses($aBosse['id']); $oBoss->setNom($aBosse['name']); $oBoss->setLevel($aBosse['level']); $oBoss->setVie($aBosse['health']); $aNpc = array(); if (isset($aBosse['npcs'])) { foreach ($aBosse['npcs'] as $aNpcBnet) { $oNpc = new \Commun\Model\Npc(); $oNpc->setIdNpc($aNpcBnet['id']); $oNpc->setNom($aNpcBnet['name']); $aNpc[] = $oNpc; } } $oBoss->setNpc($aNpc); $aBoss[] = $oBoss; } return $aBoss; } }