/** * 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); } }