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');
 }
Ejemplo n.º 2
0
 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');
 }
Ejemplo n.º 3
0
 /**
  * getLocalClassName 
  * 
  * @param string $remoteClass 
  * @return mixed 
  */
 protected function getLocalClassName($remoteClass)
 {
     return SabreAMF_ClassMapper::getLocalClass($remoteClass);
 }
Ejemplo n.º 4
0
 /**
  * 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;
 }