public function __construct() { // Set up the server $this->server = new SabreAMF_CallbackServer(); // Listen to the onInvokeService event $this->server->onInvokeService = array($this, 'invokeService'); // Listen to the getRemoteClass event SabreAMF_ClassMapper::$onGetRemoteClass = array($this, 'getRemoteClass'); }
public function __construct($clientVersion = null) { if ($clientVersion != null) { $this->clientVersion = $clientVersion; } \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.PublicSummoner', '\\zlokomatic\\phpLoL\\amf\\summoner\\Summoner'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.AllPublicSummonerDataDTO', '\\zlokomatic\\phpLoL\\amf\\summoner\\SummonerData'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.SummonerGameModeSpells', '\\zlokomatic\\phpLoL\\amf\\summoner\\GameModeSpells'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.spellbook.SpellBookDTO', '\\zlokomatic\\phpLoL\\amf\\summoner\\spellbook\\SpellBook'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.spellbook.SpellBookPageDTO', '\\zlokomatic\\phpLoL\\amf\\summoner\\spellbook\\SpellBookPage'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.spellbook.SlotEntry', '\\zlokomatic\\phpLoL\\amf\\summoner\\spellbook\\SpellBookSlotEntry'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.RuneSlot', '\\zlokomatic\\phpLoL\\amf\\summoner\\RuneSlot'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.catalog.runes.RuneType', '\\zlokomatic\\phpLoL\\amf\\catalog\\runes\\RuneType'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.catalog.runes.Rune', '\\zlokomatic\\phpLoL\\amf\\catalog\\runes\\Rune'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.catalog.ItemEffect', '\\zlokomatic\\phpLoL\\amf\\catalog\\ItemEffect'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.catalog.Effect', '\\zlokomatic\\phpLoL\\amf\\catalog\\Effect'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.SummonerDefaultSpells', '\\zlokomatic\\phpLoL\\amf\\summoner\\SummonerDefaultSpells'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.SummonerTalentsAndPoints', '\\zlokomatic\\phpLoL\\amf\\summoner\\SummonerTalentsAndPoints'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.SummonerLevelAndPoints', '\\zlokomatic\\phpLoL\\amf\\summoner\\SummonerLevelAndPoints'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.SummonerLevel', '\\zlokomatic\\phpLoL\\amf\\summoner\\SummonerLevel'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.BasePublicSummonerDTO', '\\zlokomatic\\phpLoL\\amf\\summoner\\BasePublicSummoner'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.RecentGames', '\\zlokomatic\\phpLoL\\amf\\statistics\\RecentGames'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.PlayerGameStats', '\\zlokomatic\\phpLoL\\amf\\statistics\\PlayerGameStats'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.FellowPlayerInfo', '\\zlokomatic\\phpLoL\\amf\\statistics\\FellowPlayerInfo'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.RawStat', '\\zlokomatic\\phpLoL\\amf\\statistics\\RawStat'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.PlayerLifetimeStats', '\\zlokomatic\\phpLoL\\amf\\statistics\\PlayerLifetimeStats'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.PlayerStatSummaries', '\\zlokomatic\\phpLoL\\amf\\statistics\\PlayerStatSummaries'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.PlayerStatSummary', '\\zlokomatic\\phpLoL\\amf\\statistics\\PlayerStatSummary'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.SummaryAggStats', '\\zlokomatic\\phpLoL\\amf\\statistics\\SummaryAggStats'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.SummaryAggStat', '\\zlokomatic\\phpLoL\\amf\\statistics\\SummaryAggStat'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.LeaverPenaltyStats', '\\zlokomatic\\phpLoL\\amf\\statistics\\LeaverPenaltyStats'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.PlayerStats', '\\zlokomatic\\phpLoL\\amf\\statistics\\PlayerStats'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.TimeTrackedStat', '\\zlokomatic\\phpLoL\\amf\\statistics\\TimeTrackedStat'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.AggregatedStats', '\\zlokomatic\\phpLoL\\amf\\statistics\\AggregatedStats'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.AggregatedStat', '\\zlokomatic\\phpLoL\\amf\\statistics\\AggregatedStat'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.statistics.AggregatedStatsKey', '\\zlokomatic\\phpLoL\\amf\\statistics\\AggregatedStatsKey'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.leagues.client.dto.SummonerLeaguesDTO', '\\zlokomatic\\phpLoL\\amf\\leagues\\SummonerLeagues'); \SabreAMF_ClassMapper::registerClass('com.riotgames.leagues.pojo.LeagueListDTO', '\\zlokomatic\\phpLoL\\amf\\leagues\\LeagueList'); \SabreAMF_ClassMapper::registerClass('com.riotgames.leagues.pojo.LeagueItemDTO', '\\zlokomatic\\phpLoL\\amf\\leagues\\LeagueItem'); \SabreAMF_ClassMapper::registerClass('com.riotgames.leagues.pojo.MiniSeriesDTO', '\\zlokomatic\\phpLoL\\amf\\leagues\\MiniSeries'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.game.PlatformGameLifecycleDTO', '\\zlokomatic\\phpLoL\\amf\\game\\PlatformGameLifecycle'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.game.GameDTO', '\\zlokomatic\\phpLoL\\amf\\game\\Game'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.game.PlayerParticipant', '\\zlokomatic\\phpLoL\\amf\\game\\PlayerParticipant'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.game.BannedChampion', '\\zlokomatic\\phpLoL\\amf\\game\\BannedChampion'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.game.PlayerChampionSelectionDTO', '\\zlokomatic\\phpLoL\\amf\\game\\PlayerChampionSelection'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.game.PlayerCredentialsDto', '\\zlokomatic\\phpLoL\\amf\\game\\PlayerCredentials'); // 20-10-2013 \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.AllSummonerData', '\\zlokomatic\\phpLoL\\amf\\summoner\\AllSummonerData'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.masterybook.MasteryBookDTO', '\\zlokomatic\\phpLoL\\amf\\summoner\\masterybook\\MasteryBookDTO'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.masterybook.MasteryBookPageDTO', '\\zlokomatic\\phpLoL\\amf\\summoner\\masterybook\\MasteryBookPageDTO'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.masterybook.TalentEntry', '\\zlokomatic\\phpLoL\\amf\\summoner\\masterybook\\TalentEntry'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.Talent', '\\zlokomatic\\phpLoL\\amf\\summoner\\Talent'); \SabreAMF_ClassMapper::registerClass('com.riotgames.platform.summoner.Summoner', '\\zlokomatic\\phpLoL\\amf\\summoner\\MainSummoner'); }
/** * getLocalClassName * * @param string $remoteClass * @return mixed */ protected function getLocalClassName($remoteClass) { return SabreAMF_ClassMapper::getLocalClass($remoteClass); }
/** * readObject * * @return object */ public function readObject() { $objInfo = $this->readInt(); $storedObject = ($objInfo & 0x1) == 0; $objInfo = $objInfo >> 1; if ($storedObject) { $objectReference = $objInfo; if (!isset($this->storedObjects[$objectReference])) { throw new Exception('Object reference #' . $objectReference . ' not found'); } else { $rObject = $this->storedObject[$objectReference]; } } else { $storedClass = ($objInfo & 0x1) == 0; $objInfo = $objInfo >> 1; // If this is a stored class.. we have the info if ($storedClass) { $classReference = $objInfo; if (!isset($this->storedClasses[$classReference])) { throw new Exception('Class reference #' . $classReference . ' not found'); } else { $encodingType = $this->storedClasses[$classReference]['encodingType']; $propertyNames = $this->storedClasses[$classReference]['propertyNames']; $className = $this->storedClasses[$classReference]['className']; } } else { $className = $this->readString(); $encodingType = $objInfo & 0x3; $propertyNames = array(); $objInfo = $objInfo >> 2; } //ClassMapping magic if ($className) { if ($localClassName = SabreAMF_ClassMapper::getLocalClass($className)) { $rObject = new $localClassName(); } else { $rObject = new SabreAMF_TypedObject($className, array()); } } else { $rObject = new STDClass(); } $this->storedObjects[] =& $rObject; if ($encodingType & SabreAMF_AMF3_Const::ET_EXTERNALIZED) { if (!$storedClass) { $this->storedClasses[] = array('className' => $className, 'encodingType' => $encodingType, 'propertyNames' => $propertyNames); } if ($rObject instanceof SabreAMF_Externalized) { $rObject->readExternal($this->readAMFData()); } elseif ($rObject instanceof SabreAMF_TypedObject) { $rObject->setAMFData(array('externalizedData' => $this->readAMFData())); } else { $rObject->externalizedData = $this->readAMFData(); } //$properties['externalizedData'] = $this->readAMFData(); } else { if ($encodingType & SabreAMF_AMF3_Const::ET_SERIAL) { if (!$storedClass) { $this->storedClasses[] = array('className' => $className, 'encodingType' => $encodingType, 'propertyNames' => $propertyNames); } $properties = array(); do { $propertyName = $this->readString(); if ($propertyName != "") { $propertyNames[] = $propertyName; $properties[$propertyName] = $this->readAMFData(); } } while ($propertyName != ""); } else { if (!$storedClass) { $propertyCount = $objInfo; for ($i = 0; $i < $propertyCount; $i++) { $propertyNames[] = $this->readString(); } $this->storedClasses[] = array('className' => $className, 'encodingType' => $encodingType, 'propertyNames' => $propertyNames); } $properties = array(); foreach ($propertyNames as $propertyName) { $properties[$propertyName] = $this->readAMFData(); } } if ($rObject instanceof SabreAMF_TypedObject) { $rObject->setAMFData($properties); } else { foreach ($properties as $k => $v) { if ($k) { $rObject->{$k} = $v; } } } } } return $rObject; }
protected function _tearDownMapping() { SabreAMF_ClassMapper::$maps = $this->_defaultMapping; }