示例#1
0
 /**
  * Action pour la création.
  *
  * @return array
  */
 public function createAction()
 {
     $oForm = new \Commun\Form\ZoneForm();
     //new \Commun\Form\ZoneForm($this->getServiceLocator());
     $oRequest = $this->getRequest();
     $oFiltre = new \Commun\Filter\ZoneFilter();
     $oForm->setInputFilter($oFiltre->getInputFilter());
     if ($oRequest->isPost()) {
         $oEntite = new \Commun\Model\Zone();
         $oForm->setData($oRequest->getPost());
         if ($oForm->isValid()) {
             $oEntite->exchangeArray($oForm->getData());
             $this->getTableZone()->insert($oEntite);
             $this->flashMessenger()->addMessage($this->_getServTranslator()->translate("La zone a été créé avec succès."), 'success');
             return $this->redirect()->toRoute('backend-zone-list');
         }
     }
     // Pour optimiser le rendu
     $oViewModel = new ViewModel();
     $oViewModel->setTemplate('backend/zone/create');
     return $oViewModel->setVariables(array('form' => $oForm));
 }
示例#2
0
 /**
  * Extrait les information de la guilde des donnes de battlnet et et les transforme en objet utilisable de notre coté.
  * @param type $aDataZoneBnet
  * @return  \Core\Model\Zone
  * @throws Exception
  */
 public static function extraitZoneDepuisBnetZone($aDataZoneBnet)
 {
     if (!isset($aDataZoneBnet)) {
         throw new \Exception("Les datas pour l'extraction de zone issues de bnet ne peuvent être vide.");
     }
     $oZone = new \Commun\Model\Zone();
     $oZone->setIdZone($aDataZoneBnet['id']);
     $oZone->setNom($aDataZoneBnet['name']);
     $oZone->setIsDonjon($aDataZoneBnet['isDungeon']);
     $oZone->setIsRaid($aDataZoneBnet['isRaid']);
     $oZone->setLvlMax($aDataZoneBnet['advisedMinLevel']);
     $oZone->setLvlMin($aDataZoneBnet['advisedMaxLevel']);
     $oZone->setPatch($aDataZoneBnet['patch']);
     $oZone->setModeDifficulte($aDataZoneBnet['availableModes']);
     $aTaille = explode('-', $aDataZoneBnet['numPlayers']);
     if (count($aTaille) == 1) {
         $iTailleMin = $iTailleMax = $aDataZoneBnet['numPlayers'];
     } else {
         $iTailleMin = $aTaille[0];
         $iTailleMax = $aTaille[1];
     }
     $oZone->setTailleMin($iTailleMin);
     $oZone->setTailleMax($iTailleMax);
     return $oZone;
 }