Пример #1
0
 /**
  * import une guilde depuis un tableau.
  * @param \Commun\Model\Guildes
  */
 public function importGuilde($aPost)
 {
     try {
         $guild = $this->_getServBnet()->warcraft(new Region(Region::EUROPE, "en_GB"))->guilds();
         $guild->on($aPost['serveur']);
         $aOptionBnet = array();
         if ($aPost['imp-membre'] == "Oui") {
             $aOptionBnet[] = 'members';
         }
         $aGuildeBnet = $guild->find($aPost['guilde'], $aOptionBnet);
         if (!$aGuildeBnet) {
             $aError = array();
             $aError[] = $aPost['serveur'];
             $aError[] = $aPost['guilde'];
             $aError[] = $aPost['imp-membre'];
             throw new BnetException(199, $this->_getServiceLocator(), $aError);
         }
         $aOptionFiltre = array();
         if (isset($aPost['lvlMin'])) {
             $aOptionFiltre = array('lvlMin' => $aPost['lvlMin']);
         }
         $oGuilde = \Core\Util\ParserWow::extraitGuildeDepuisBnetGuilde($aGuildeBnet);
         $oGuilde = $this->saveOrUpdateGuilde($oGuilde);
         if ($aPost['imp-membre'] == "Oui") {
             $aMembreGuilde = \Core\Util\ParserWow::extraitMembreDepuisBnetGuilde($aGuildeBnet, $oGuilde, $aOptionFiltre);
         } else {
             $aMembreGuilde = array();
         }
         foreach ($aMembreGuilde as $oPersonnage) {
             $this->_getTablePersonnage()->saveOrUpdatePersonnage($oPersonnage, $oGuilde);
         }
         return $oGuilde;
     } catch (\Exception $ex) {
         throw new \Commun\Exception\LogException("Erreur lors de l'import de guilde", 0, $this->_getServiceLocator(), $ex, $aPost);
     }
 }