• 04-01-2013, 12:08:24
    #1
    Merhaba arkadaşlar burdaki apiyi kullanarak bir site yapmak istiyorum ufak bir örnek gösterebilirmisiniz?
    http://elophant.com/developers/docs
    Get summoner apisini kullanarak bir örnek gösterirseniz sevinirim
  • 04-01-2013, 16:12:16
    #2
    <?php
    
    require 'lib/elophant.class.php';
     
    $elophant = new Elophant(array(
    	'apiKey' => 'ecfQ7fDTnKqHsdasdd',
    	'lolServer' => 'euw'
    	));
    
    	
    //Return some Summoner data
    $summonerData = $elophant->getSummonerByName('edocsyl');
    
    echo '<pre>';
    print_r($summonerData);
    echo '</pre>';
    
    
    //Return the most played champions
    $accountId = $elophant->getAccountId('edocsyl');
    $mostPlayedChampion = $elophant->getMostPlayedChampions($accountId);
    
    echo '<pre>';
    print_r($mostPlayedChampion);
    echo '</pre>';
    
    ?>
    <?php
    /**
     * Elophant.com - PHP API
     * 
     * @author Kaj <EUW Summoner: Edocsyl>
     * @since 14.11.2012
     * @copyright Kaj <kaj@edocsyl.ch>
     * @website http://edocsyl.ch/
     * @version 1.1
     * @license BSD http://www.opensource.org/licenses/bsd-license.php
     * @docs http://elophant.edocsyl.ch/ | http://elophant.com/developers/docs
     */
    
    class Elophant{
    
      /**
       * The API base URL
       */
    	const API_URL = "http://elophant.com/api/v1/";
    
      /**
       * Lol Server Shortcuts
       * 
       * @var array
       */
    	private $_lolServers = array('na', 'euw', 'eune', 'br');
    	
      /**
       * Elophant API Key
       * 
       * @var string
       */
    	private $_apiKey;
    
      /**
       * Lol Server
       * 
       * @var string
       */
    	private $_lolServer;
    	
      /**
       * Default constructor
       *
       * @param array|string $config - Config Array
       * @return void
       */
    	public function __construct($config){
    		if (true === is_array($config)){
    			$this->setApiKey($config['apiKey']);
    			$this->setLolServer($config['lolServer']);
    		} else {
    			throw new Exception("Error: __construct() - Configuration data is missing.");
    		}
    		
    	}
    	
    	/***************** API FUNCTIONS ************************************************************/
    	
    	/**
    	* Returns the current status of every region.
    	*
    	* @return json decode
    	*/
    	public function getStatus(){
    		return $this->_makeCall('status?');
    	}
    	
    	/**
    	* Returns every items's id and name in Json.
    	*
    	* @return json decode
    	*/
    	public function getItems(){
    		return $this->_makeCall('items?');
    	}
    	
    	/**
    	* Returns every champion's id and name in Json.
    	*
    	* @return json decode
    	*/
    	public function getChampions(){
    		return $this->_makeCall('champions?');
    	}
    	
    	/**
    	* Get the Summoner ID
    	*
    	* @param string $summonerName - Summoner Name
    	* @return string - Summoner ID
    	*/
    	public function getSummonerId($summonerName){
    		return $this->getSummonerByName($summonerName)->summonerId;
    	}
    	
    	/**
    	* Get the Account ID
    	*
    	* @param string $summonerName - Summoner Name
    	* @return string - Account ID
    	*/
    	public function getAccountId($summonerName){
    		return $this->getSummonerByName($summonerName)->acctId;
    	}
    
    	/**
    	* Get the Account ID
    	*
    	* @param string $summonerName - Summoner Name
    	* @return string - Account ID
    	*/
    	public function getSummonerByName($summonerName){
    		$summonerName = str_replace(' ', '%20', $summonerName);
    		return $this->_makeCall($this->_lolServer . '/getSummonerByName?summonerName=' . $summonerName . '&');
    	}
    	
    	/**
    	* Returns the player information for both teams.
    	*
    	* @param string $summonerName - Summoner Name
    	* @return json decode
    	*/
    	public function getInProgressGameInfo($summonerName){
    		return $this->_makeCall($this->_lolServer . '/getInProgressGameInfo?summonerName=' . $summonerName . '&');
    	}
    	
    	/**
    	* Returns a summoner's 3 most played champions from their ranked statistics.
    	*
    	* @param string $accountId - Summoner Account ID
    	* @return json decode
    	*/
    	public function getMostPlayedChampions($accountId){
    		return $this->_makeCall($this->_lolServer . '/getMostPlayedChampions?accountId=' . $accountId . '&');
    	}
    	
    	/**
    	* Returns all team info regarding the specified summoner.
    	*
    	* @param string $summonerId - Summoner ID
    	* @return json decode
    	*/
    	public function getSummonerTeamInfo($summonerId){
    		return $this->_makeCall($this->_lolServer . '/getSummonerTeamInfo?summonerId=' . $summonerId . '&');
    	}
    
    	/**
    	* Returns an array with each mastery book page.
    	*
    	* @param string $summonerId - Summoner ID
    	* @return json decode
    	*/
    	public function getMasteryPages($summonerId){
    		return $this->_makeCall($this->_lolServer . '/getMasteryPages?summonerId=' . $summonerId . '&');
    	}
    	
    	/**
    	* Returns an array with each rune page.
    	*
    	* @param string $summonerId - Summoner ID
    	* @return json decode
    	*/
    	public function getRunePages($summonerId){
    		return $this->_makeCall($this->_lolServer . '/getRunePages?summonerId=' . $summonerId . '&');
    	}
    
    	/**
    	* Returns an array of summoner names in the same order as provided in the parameter summonerIds.
    	*
    	* @param array $summonerIds - Summoner ID's
    	* @return json decode
    	*/
    	public function getSummonerNames($summonerIds = array()){
    		$summonerId = null;
    		foreach($summonerIds as $id){
    			$summonerId = $summonerId . $id . ',';
    		}
    		return $this->_makeCall($this->_lolServer . '/getSummonerNames?summonerIds=' . substr($summonerId, 0, -1) . '&');
    	}
    
    	/**
    	* Returns an overview of the statistics for each game mode for the specified summoner.
    	*
    	* @param string $accountId - Summoner Account ID
    	* @param string $lolSeason - Example Values: CURRENT or ONE
    	* @return json decode
    	*/
    	public function getPlayerStats($accountId, $lolSeason){
    		return $this->_makeCall($this->_lolServer . '/getPlayerStats?accountId=' . $accountId . '&season=' . $lolSeason . '&');
    	}
    	
    	/**
    	* Returns every statistic for every champion accumulated from all ranked game types for a specified summoner and season.
    	*
    	* @param string $accountId - Summoner Account ID
    	* @param string $lolSeason - Example Values: CURRENT or ONE
    	* @return json decode
    	*/
    	public function getRankedStats($accountId, $lolSeason){
    		return $this->_makeCall($this->_lolServer . '/getPlayerStats?accountId=' . $accountId . '&season=' . $lolSeason . '&');
    	}
    	
    	/**
    	* Returns a brief overview of a team, including gameType dependent Elos, the current roster, and basic match history statistics.
    	*
    	* @param string $teamName - Team Name | Example Value: tsm or Team Solo Mid
    	* @return json decode
    	*/
    	public function getTeamByTagOrName($teamName){
    		$teamName = str_replace(' ', '%20', $teamName);
    		return $this->_makeCall($this->_lolServer . '/getTeamByTagOrName?tagOrName=' . $teamName . '&');
    	}
    	
    	/**
    	* Returns the Team ID
    	*
    	* @param string $teamName - Team Name | Example Value: tsm or Team Solo Mid
    	* @return string
    	*/
    	public function getTeamId($teamName){
    		return $this->getTeamByTagOrName($teamName)->teamId->fullId;
    	}
    	
    	/**
    	* Returns a brief overview of a team, including gameType dependent Elos, the current roster, and basic match history statistics.
    	*
    	* @param string $teamId - Team ID | Example Value: TEAM-e4936d7b-b80e-4367-a76c-5ccf7388c995
    	* @return json decode
    	*/
    	public function getTeamById($teamId){
    		return $this->_makeCall($this->_lolServer . '/getTeamById?teamId=' . $teamId . '&');
    	}
    	
    	/**
    	* Returns very detailed statistics about the specified match.
    	*
    	* @param string $teamId - Team ID | Example Value: TEAM-e4936d7b-b80e-4367-a76c-5ccf7388c995
    	* @param string $gameId - Game ID | Example Value: 357749707
    	* @return json decode
    	*/
    	public function getTeamEndOfGameStats($teamId, $gameId){
    		return $this->_makeCall($this->_lolServer . 'getTeamEndOfGameStats?teamId=' . $teamId . '&gameId=' . $gameId . '&');
    	}
    	
    	/**
    	* Returns each team member's statistics for the specified team.
    	*
    	* @param string $teamId - Team ID | Example Value: TEAM-e4936d7b-b80e-4367-a76c-5ccf7388c995
    	* @return json decode
    	*/
    	public function getTeamRankedStats($teamId){
    		return $this->_makeCall($this->_lolServer . '/getTeamRankedStats?teamId=' . $teamId . '&');
    	}
    	/***************** SOME STUFF ************************************************************/
    	
    	/**
    	* Makes the Call
    	*
    	* @param string $function - The function
    	* @return json decode
    	*/
    	private function _makeCall($function){
    		$apiCall = self::API_URL . $function . $this->_apiKey;
    		
    		//$callData = file_get_contents($apiCall);
    		
    		$ch = curl_init();
    		curl_setopt($ch, CURLOPT_URL, $apiCall);
    		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
    		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
    		$callData = curl_exec($ch);
    		curl_close($ch);
    		
    		return json_decode($callData);
    	}
    	
    	/**
    	* Check if server shortcut is valid
    	*
    	* @param string $lolServer - Server shortcut
    	* @return true|false
    	*/
    	private function checkServer($lolServer){
    		if(in_array(strtolower($lolServer), $this->_lolServers)){
    			return true;
    		} else {
    			return false;
    		}
    	}
    	
    	/**
    	* API Key setter
    	*
    	* @param string $apiKey - Elophant API Key
    	* @return void
    	*/
    	private function setApiKey($apiKey){
    		$this->_apiKey = 'key=' . $apiKey;
    	}
    	
    	/**
    	* Server shortcut setter
    	*
    	* @param string $lolServer - Lol Server shortcut
    	* @return void
    	*/
    	public function setLolServer($lolServer){
    		if($this->checkServer($lolServer)){
    			$this->_lolServer = $lolServer;
    		} else {
    			throw new Exception("Error: __construct() - Configuration wrong lol server.");
    		}
    	}		
    	
    }
    ?>
    boyle birşeymi?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 16:12:16 -->-> Daha önceki mesaj 14:24:47 --

    yardımcı olablicek kimse yokmu?