<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://levelkro.xyz/wiki/index.php?action=history&amp;feed=atom&amp;title=Class_PHP_Steam</id>
	<title>Class PHP Steam - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://levelkro.xyz/wiki/index.php?action=history&amp;feed=atom&amp;title=Class_PHP_Steam"/>
	<link rel="alternate" type="text/html" href="https://levelkro.xyz/wiki/index.php?title=Class_PHP_Steam&amp;action=history"/>
	<updated>2026-10-26T01:21:43Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://levelkro.xyz/wiki/index.php?title=Class_PHP_Steam&amp;diff=62&amp;oldid=prev</id>
		<title>LevelKro : Page créée avec « Steam offre un API mais peu de documentation, voici des codes pour vous aider à inclure Steam dans votre site. == Pré-requis == * Clé d&#039;accès à l&#039;API de Steam. * PHP 5.4+ avec cURL == Commandes == * &#039;&#039;&#039;userPublic(&#039;&#039;a&#039;&#039;)&#039;&#039;&#039; ** &#039;&#039;a&#039;&#039; : Le SteamID ou le Username de l&#039;utilisateur Steam * &#039;&#039;&#039;userDetails(&#039;&#039;a&#039;&#039;,&#039;&#039;b&#039;&#039;)&#039;&#039;&#039; ** &#039;&#039;a&#039;&#039; : Le ApiKey d&#039;accès à Steam ** &#039;&#039;b&#039;&#039; : Le SteamID de l&#039;utilisateur Steam * &#039;&#039;&#039;userGames(&#039;&#039;a&#039;&#039;,&#039;&#039;b&#039;&#039;)&#039;&#039;&#039; ** &#039;&#039;a&#039;&#039; : Le ApiKey d&#039;accès... »</title>
		<link rel="alternate" type="text/html" href="https://levelkro.xyz/wiki/index.php?title=Class_PHP_Steam&amp;diff=62&amp;oldid=prev"/>
		<updated>2026-10-25T17:44:00Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « Steam offre un API mais peu de documentation, voici des codes pour vous aider à inclure Steam dans votre site. == Pré-requis == * Clé d&amp;#039;accès à l&amp;#039;API de Steam. * PHP 5.4+ avec cURL == Commandes == * &amp;#039;&amp;#039;&amp;#039;userPublic(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; ** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Le SteamID ou le Username de l&amp;#039;utilisateur Steam * &amp;#039;&amp;#039;&amp;#039;userDetails(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;b&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; ** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Le ApiKey d&amp;#039;accès à Steam ** &amp;#039;&amp;#039;b&amp;#039;&amp;#039; : Le SteamID de l&amp;#039;utilisateur Steam * &amp;#039;&amp;#039;&amp;#039;userGames(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;b&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; ** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Le ApiKey d&amp;#039;accès... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Steam offre un API mais peu de documentation, voici des codes pour vous aider à inclure Steam dans votre site.&lt;br /&gt;
== Pré-requis ==&lt;br /&gt;
* Clé d&amp;#039;accès à l&amp;#039;API de Steam.&lt;br /&gt;
* PHP 5.4+ avec cURL&lt;br /&gt;
== Commandes ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;userPublic(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Le SteamID ou le Username de l&amp;#039;utilisateur Steam&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;userDetails(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;b&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Le ApiKey d&amp;#039;accès à Steam&lt;br /&gt;
** &amp;#039;&amp;#039;b&amp;#039;&amp;#039; : Le SteamID de l&amp;#039;utilisateur Steam&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;userGames(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;b&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Le ApiKey d&amp;#039;accès à Steam&lt;br /&gt;
** &amp;#039;&amp;#039;b&amp;#039;&amp;#039; : Le SteamID de l&amp;#039;utilisateur Steam&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;userBans(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;b&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Le ApiKey d&amp;#039;accès à Steam&lt;br /&gt;
** &amp;#039;&amp;#039;b&amp;#039;&amp;#039; : Le SteamID de l&amp;#039;utilisateur Steam&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;marketPages(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;b&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Valeur de départ de la liste, affiche les 100 éléments suivant&lt;br /&gt;
** &amp;#039;&amp;#039;b&amp;#039;&amp;#039; : (true) Retourne le nombre de page à consulter, utiliser &amp;#039;&amp;#039;0&amp;#039;&amp;#039; comme valeur pour &amp;#039;&amp;#039;a&amp;#039;&amp;#039; (optionnel, false par défaut)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;marketItem(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Url complet vers la page du produit dans le marché Steam&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;group(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; : Retourne les détails d&amp;#039;un groupe Steam&lt;br /&gt;
** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Le GroupID ou le Non court du groupe Steam&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;loginUrl(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;b&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; : Obtenir le lien de connexion avec Steam&lt;br /&gt;
** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : URL complet de retourne une fois connecté. (optionnel, retourne la page courante)&lt;br /&gt;
** &amp;#039;&amp;#039;b&amp;#039;&amp;#039; : Utiliser &amp;amp;amp; (true) au lieu de &amp;amp; dans le lien (optionnel, true par défaut)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;loginValidate()&amp;#039;&amp;#039;&amp;#039; : Valider la session de l&amp;#039;utilisateur (à utiliser sur la page de retour)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;storeList()&amp;#039;&amp;#039;&amp;#039; : Retourne la liste des produits disponible dans la boutique Steam &amp;#039;&amp;#039;(non disponible)&amp;#039;&amp;#039;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;storeItem(&amp;#039;&amp;#039;a&amp;#039;&amp;#039;,&amp;#039;&amp;#039;b&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039; : Retourne les détails d&amp;#039;un produit&lt;br /&gt;
** &amp;#039;&amp;#039;a&amp;#039;&amp;#039; : Le AppID du produit&lt;br /&gt;
** &amp;#039;&amp;#039;b&amp;#039;&amp;#039; : 1 pour un produit seul (video,dlc,apps,games,demo,...) ou 2 pour un package (pas un bundle) (optionnel, 1 par défaut)&lt;br /&gt;
== Codes de la Class PHP ==&lt;br /&gt;
Enregistrer ce code dans un document comme {{Flash|txt=Steam.Class.php}}.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
 /*&lt;br /&gt;
  * (c) Copyright Mathieu Légaré (levelkro@yahoo.ca)&lt;br /&gt;
  * 2013-2019&lt;br /&gt;
  */&lt;br /&gt;
class SteamLVK {&lt;br /&gt;
 /* Variables */&lt;br /&gt;
 const STEAM_LOGIN = &amp;#039;https://steamcommunity.com/openid&amp;#039;;&lt;br /&gt;
 const STEAM_OPENID = &amp;#039;http://specs.openid.net/auth/2.0&amp;#039;;&lt;br /&gt;
 const STEAM_COMMUNITY = &amp;#039;https://steamcommunity.com&amp;#039;;&lt;br /&gt;
 const STEAM_API = &amp;#039;http://api.steampowered.com&amp;#039;;&lt;br /&gt;
 const STEAM_STORE = &amp;#039;https://store.steampowered.com&amp;#039;;&lt;br /&gt;
 const STEAM_MARKET = &amp;#039;https://steamcommunity.com/market&amp;#039;;&lt;br /&gt;
 const STEAM_CDN = &amp;#039;https://steamcdn-a.akamaihd.net&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
 /*&lt;br /&gt;
	Tools Functions&lt;br /&gt;
 */&lt;br /&gt;
 function=nameVAC($id){&lt;br /&gt;
  switch($id){&lt;br /&gt;
   case &amp;#039;0&amp;#039;:&lt;br /&gt;
    return &amp;quot;En règle&amp;quot;;&lt;br /&gt;
    break;&lt;br /&gt;
   case &amp;#039;1&amp;#039;:&lt;br /&gt;
    return &amp;quot;Suspendu&amp;quot;;&lt;br /&gt;
    break;&lt;br /&gt;
   default:&lt;br /&gt;
    return &amp;quot;Non déterminé&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
 }&lt;br /&gt;
 function=nameTrade($id)&lt;br /&gt;
  switch($id){&lt;br /&gt;
   case &amp;#039;None&amp;#039;:&lt;br /&gt;
    return &amp;quot;En règle&amp;quot;;&lt;br /&gt;
    break;&lt;br /&gt;
   case &amp;#039;Probation&amp;#039;:&lt;br /&gt;
    return &amp;quot;Limité&amp;quot;;&lt;br /&gt;
    break;&lt;br /&gt;
   default:&lt;br /&gt;
    return &amp;quot;Non déterminé&amp;quot;;&lt;br /&gt;
  }	&lt;br /&gt;
 }&lt;br /&gt;
 function=nameVisibility($id){&lt;br /&gt;
  switch($id){&lt;br /&gt;
   case &amp;#039;1&amp;#039;:&lt;br /&gt;
    return &amp;quot;Privé&amp;quot;;&lt;br /&gt;
    break;&lt;br /&gt;
   case &amp;#039;2&amp;#039;:&lt;br /&gt;
   case &amp;#039;3&amp;#039;:&lt;br /&gt;
    return &amp;quot;Public&amp;quot;;&lt;br /&gt;
    break;&lt;br /&gt;
   default:&lt;br /&gt;
    return &amp;quot;Non déterminé&amp;quot;;&lt;br /&gt;
  }			&lt;br /&gt;
 }&lt;br /&gt;
 function OpenUrl($url){&lt;br /&gt;
  $ch = curl_init();&lt;br /&gt;
  curl_setopt($ch,CURLOPT_URL,$url);&lt;br /&gt;
  curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);&lt;br /&gt;
  curl_setopt($ch,CURLOPT_USERAGENT, &amp;quot;Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.3) Gecko/20060426 Firefox/1.5.0.3&amp;quot;);&lt;br /&gt;
  curl_setopt($ch,CURLOPT_TIMEOUT,1000);&lt;br /&gt;
  $result = curl_exec($ch);&lt;br /&gt;
  return $result; &lt;br /&gt;
  curl_close($ch);&lt;br /&gt;
 }	&lt;br /&gt;
&lt;br /&gt;
 /* Steam Community */&lt;br /&gt;
 function group($id){&lt;br /&gt;
  $values = self::OpenUrl(self::STEAM_COMMUNITY.&amp;quot;/groups/&amp;quot;.$id.&amp;quot;/memberslistxml/?xml=1&amp;quot;);&lt;br /&gt;
  try{&lt;br /&gt;
   $values = (array) simplexml_load_string($values);&lt;br /&gt;
   $values[&amp;#039;groupDetails&amp;#039;] = (array) $values[&amp;#039;groupDetails&amp;#039;];				&lt;br /&gt;
   $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;groupName&amp;#039;] = (string) $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;groupName&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;groupURL&amp;#039;] = (string) $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;groupURL&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;headline&amp;#039;] = (string) $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;headline&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;summary&amp;#039;] = (string) $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;summary&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;avatarIcon&amp;#039;] = (string) $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;avatarIcon&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;avatarMedium&amp;#039;] = (string) $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;avatarMedium&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;avatarFull&amp;#039;] = (string) $values[&amp;#039;groupDetails&amp;#039;][&amp;#039;avatarFull&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;members&amp;#039;] = (array) $values[&amp;#039;members&amp;#039;];&lt;br /&gt;
   return $values;&lt;br /&gt;
  } catch (Exception $e) {&lt;br /&gt;
   return false;&lt;br /&gt;
  } 		&lt;br /&gt;
 }	&lt;br /&gt;
 function userPublic($id){&lt;br /&gt;
  $values = self::OpenUrl(self::STEAM_COMMUNITY.&amp;quot;/id/&amp;quot;.$id.&amp;quot;/?xml=1&amp;quot;);&lt;br /&gt;
  try{&lt;br /&gt;
   $values = (array) simplexml_load_string($values);&lt;br /&gt;
   $values[&amp;#039;steamID&amp;#039;] = (string) $values[&amp;#039;steamID&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;stateMessage&amp;#039;] = (string) $values[&amp;#039;stateMessage&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;avatarIcon&amp;#039;] = (string) $values[&amp;#039;avatarIcon&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;avatarMedium&amp;#039;] = (string) $values[&amp;#039;avatarMedium&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;avatarFull&amp;#039;] = (string) $values[&amp;#039;avatarFull&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;customURL&amp;#039;] = (string) $values[&amp;#039;customURL&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;steamRating&amp;#039;] = (string) $values[&amp;#039;steamRating&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;headline&amp;#039;] = (string) $values[&amp;#039;headline&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;location&amp;#039;] = (string) $values[&amp;#039;location&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;realname&amp;#039;] = (string) $values[&amp;#039;realname&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;summary&amp;#039;] = (string) $values[&amp;#039;summary&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;mostPlayedGames&amp;#039;] = (array) $values[&amp;#039;mostPlayedGames&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;mostPlayedGames&amp;#039;] = (array) $values[&amp;#039;mostPlayedGames&amp;#039;][&amp;#039;mostPlayedGame&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;groups&amp;#039;] = (array) $values[&amp;#039;groups&amp;#039;];&lt;br /&gt;
   $values[&amp;#039;groups&amp;#039;] = (array) $values[&amp;#039;groups&amp;#039;][&amp;#039;group&amp;#039;];&lt;br /&gt;
   return $values;&lt;br /&gt;
  } catch (Exception $e) {&lt;br /&gt;
   return false;&lt;br /&gt;
  } 		&lt;br /&gt;
 }	&lt;br /&gt;
 function=userDetails($apikey,$value){&lt;br /&gt;
  $result=self::OpenUrl(self::STEAM_API.&amp;quot;/ISteamUser/GetPlayerSummaries/v2/?key=&amp;quot;.$apikey.&amp;quot;&amp;amp;steamids=&amp;quot;.$value.&amp;quot;&amp;amp;format=json&amp;quot;);&lt;br /&gt;
  $pro=json_decode($result);&lt;br /&gt;
  return (array) $pro-&amp;gt;response-&amp;gt;players[0];&lt;br /&gt;
 }	  &lt;br /&gt;
 function=userGames($apikey,$steamID){&lt;br /&gt;
  $json = self::OpenUrl(self::STEAM_API.&amp;quot;/IPlayerService/GetOwnedGames/v1/?key=&amp;quot;.$apikey.&amp;quot;&amp;amp;steamid=&amp;quot;.$steamID.&amp;quot;&amp;amp;format=json&amp;quot;); &lt;br /&gt;
  $result = json_decode($json,true);	&lt;br /&gt;
  return $result[&amp;#039;response&amp;#039;][&amp;#039;games&amp;#039;];   &lt;br /&gt;
 }&lt;br /&gt;
 function=userBans($apikey,$steamID){&lt;br /&gt;
  $result = false;&lt;br /&gt;
  $json = self::OpenUrl(self::STEAM_API.&amp;quot;/ISteamUser/GetPlayerBans/v1/?key=&amp;quot;.$apikey.&amp;quot;&amp;amp;steamids=&amp;quot;.$steamID.&amp;quot;&amp;amp;format=json&amp;quot;);		&lt;br /&gt;
  $array = json_decode($json,true);&lt;br /&gt;
  return $array[&amp;#039;players&amp;#039;][&amp;#039;0&amp;#039;];&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 function marketPages($s=0,$l=false){&lt;br /&gt;
  $s=self::OpenUrl(self::STEAM_MARKET.&amp;quot;/search/render/?query=&amp;amp;start=&amp;quot;.$s.&amp;quot;&amp;amp;count=100&amp;amp;norender=1&amp;quot;);&lt;br /&gt;
  $n=(array) json_decode($s, true);&lt;br /&gt;
  if($l===true) $n[&amp;#039;total_count&amp;#039;] &lt;br /&gt;
  else return $n;&lt;br /&gt;
 }&lt;br /&gt;
 function marketItem($p){&lt;br /&gt;
  // Steam XML/JSon details not found, use the public page&lt;br /&gt;
  $source = self::OpenUrl($p);&lt;br /&gt;
  $htmlsrc=explode(&amp;quot;&amp;lt;!-- main body --&amp;gt;&amp;quot;,$source);	// The beginning&lt;br /&gt;
  $htmlsrc=explode(&amp;quot;&amp;lt;div id=\&amp;quot;market_activity_section\&amp;quot;&amp;gt;&amp;quot;,$htmlsrc[1]); // The end of part of code&lt;br /&gt;
  $htmlsrc=$htmlsrc[0]; &lt;br /&gt;
  $htmlsrc=str_replace(&amp;quot;&amp;amp;&amp;quot;.&amp;quot;#36;&amp;quot;,&amp;quot;&amp;quot;,$htmlsrc);	   &lt;br /&gt;
  $htmlsrc=str_replace(&amp;quot;\r&amp;quot;,&amp;quot;&amp;quot;,$htmlsrc);&lt;br /&gt;
  $htmlsrc=str_replace(&amp;quot;\t&amp;quot;,&amp;quot;&amp;quot;,$htmlsrc);	&lt;br /&gt;
  $htmlsrc=str_replace(&amp;quot;\n&amp;quot;,&amp;quot;&amp;quot;,$htmlsrc);	&lt;br /&gt;
  $htmlsrc=str_replace(&amp;quot;&amp;amp;gt;&amp;quot;,&amp;quot;&amp;quot;,$htmlsrc);&lt;br /&gt;
  $htmlsrc=str_replace(&amp;quot;&amp;lt;div id=\&amp;quot;BG_bottom\&amp;quot;&amp;gt;&amp;lt;div id=\&amp;quot;mainContents\&amp;quot;&amp;gt;&amp;lt;div class=\&amp;quot;market_listing_nav_container\&amp;quot;&amp;gt;&amp;lt;div class=\&amp;quot;market_listing_nav\&amp;quot;&amp;gt;&amp;quot;,&amp;quot;&amp;lt;item&amp;gt;\r\n&amp;quot;,$htmlsrc);	&lt;br /&gt;
  $htmlsrc=str_replace(&amp;quot;&amp;lt;div style=\&amp;quot;clear: both;\&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;quot;,&amp;quot;&amp;quot;,$htmlsrc);&lt;br /&gt;
  $htmlsrc=preg_replace(&amp;quot;/&amp;lt;\/a&amp;gt;/i&amp;quot;,&amp;quot;&amp;lt;/a&amp;gt;\r\n&amp;quot;, $htmlsrc);&lt;br /&gt;
  $htmlsrc=explode(&amp;quot;&amp;lt;div id=\&amp;quot;largeiteminfo\&amp;quot;&amp;gt;&amp;quot;,$htmlsrc);&lt;br /&gt;
  $htmlsrc=$htmlsrc[0];&lt;br /&gt;
  $htmlsrc=str_replace(&amp;quot;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;div class=\&amp;quot;market_page_fullwidth market_listing_firstsection\&amp;quot;&amp;gt;&amp;lt;div class=\&amp;quot;market_listing_iteminfo\&amp;quot;&amp;gt;&amp;lt;div class=\&amp;quot;market_listing_largeimage\&amp;quot;&amp;gt;&amp;quot;,&amp;quot;&amp;quot;,$htmlsrc);&lt;br /&gt;
  $htmlsrc=preg_replace(&amp;quot;/&amp;lt;a href=\&amp;quot;(.+)search(.+)=(.+)\&amp;quot;&amp;gt;(.+)&amp;lt;\/a&amp;gt;/i&amp;quot;,&amp;quot;&amp;lt;catAppid&amp;gt;$3&amp;lt;/catAppid&amp;gt;\r\n&amp;lt;catName&amp;gt;$4&amp;lt;/catName&amp;gt;&amp;quot;, $htmlsrc);&lt;br /&gt;
  $htmlsrc=preg_replace(&amp;quot;/&amp;lt;a href=\&amp;quot;(.+)listing(.+)\&amp;quot;&amp;gt;(.+)&amp;lt;\/a&amp;gt;/i&amp;quot;,&amp;quot;&amp;lt;itemUrl&amp;gt;$1listing$2&amp;lt;/itemUrl&amp;gt;\r\n&amp;lt;itemName&amp;gt;$3&amp;lt;/itemName&amp;gt;&amp;quot;, $htmlsrc);&lt;br /&gt;
  $htmlsrc=preg_replace(&amp;quot;/&amp;lt;img src=\&amp;quot;(.+)\&amp;quot; alt=\&amp;quot;\&amp;quot; \/&amp;gt;&amp;lt;\/div&amp;gt;/i&amp;quot;,&amp;quot;&amp;lt;itemImage&amp;gt;$1&amp;lt;/itemImage&amp;gt;&amp;quot;, $htmlsrc);&lt;br /&gt;
  $htmlsrc=$htmlsrc.&amp;quot;&amp;lt;/item&amp;gt;&amp;quot;;&lt;br /&gt;
  $htmlsrc=&amp;quot;&amp;lt;?phpxml version=\&amp;quot;1.0\&amp;quot; encoding=\&amp;quot;UTF-8\&amp;quot;?&amp;gt;\r\n&amp;quot;.$htmlsrc.&amp;quot;&amp;quot;;&lt;br /&gt;
  $htmlsrc=str_replace(&amp;quot;&amp;amp;&amp;quot;,&amp;quot;&amp;amp;amp;&amp;quot;,$htmlsrc);&lt;br /&gt;
  try{&lt;br /&gt;
   $htmlsrc = simplexml_load_string($htmlsrc);&lt;br /&gt;
   $htmlsrc = (array) $htmlsrc;&lt;br /&gt;
  } catch (Exception $e) {&lt;br /&gt;
   $htmlsrc=array();&lt;br /&gt;
  } &lt;br /&gt;
  $jsonAsrc=explode(&amp;quot;var g_rgAppContextData = &amp;quot;,$source);&lt;br /&gt;
  $jsonAsrc=explode(&amp;quot;var g_rgAssets&amp;quot;,$jsonAsrc[1]);&lt;br /&gt;
  $jsonAsrc=explode(&amp;quot;\&amp;quot;&amp;quot;.$htmlsrc[&amp;#039;catAppid&amp;#039;].&amp;quot;\&amp;quot;:&amp;quot;,$jsonAsrc[0]);&lt;br /&gt;
  $jsonAsrc=explode(&amp;quot;};&amp;quot;,$jsonAsrc[1]);&lt;br /&gt;
  if(strpos($jsonAsrc[0],&amp;quot;},&amp;quot;)){&lt;br /&gt;
   $jsonAsrc=explode(&amp;quot;},&amp;quot;,$jsonAsrc[0]);&lt;br /&gt;
   $jsonAsrc=explode(&amp;quot;:{&amp;quot;,$jsonAsrc[1]);&lt;br /&gt;
   $jsonAsrc=(array) json_decode(&amp;quot;{&amp;quot;.$jsonAsrc[1],true);&lt;br /&gt;
  }&lt;br /&gt;
  else{&lt;br /&gt;
   $jsonAsrc=(array) json_decode($jsonAsrc[0],true);&lt;br /&gt;
  }&lt;br /&gt;
  $jsonBsrc=explode(&amp;quot;var g_rgAssets = &amp;quot;,$source);&lt;br /&gt;
  $jsonBsrc=explode(&amp;quot;var g_rgListingInfo&amp;quot;,$jsonBsrc[1]);&lt;br /&gt;
  $jsonBsrc=explode(&amp;quot;\&amp;quot;&amp;quot;.$htmlsrc[&amp;#039;catAppid&amp;#039;].&amp;quot;\&amp;quot;:&amp;quot;,$jsonBsrc[0]);&lt;br /&gt;
  $jsonBsrc=explode(&amp;quot;};&amp;quot;,$jsonBsrc[1]);&lt;br /&gt;
  $jsonBsrc=(array) json_decode($jsonBsrc[0],true);&lt;br /&gt;
  foreach($jsonBsrc as $jsonItemsrc){&lt;br /&gt;
   $jsonBsrc=$jsonItemsrc;&lt;br /&gt;
  }			&lt;br /&gt;
  $o=1;&lt;br /&gt;
  foreach($jsonBsrc as $jsonItemsrc){&lt;br /&gt;
   if($o==1){&lt;br /&gt;
    $jsonItem=$jsonItemsrc;&lt;br /&gt;
    $o++;&lt;br /&gt;
   }&lt;br /&gt;
  }&lt;br /&gt;
  $jsonItemDesc=&amp;quot;&amp;quot;;&lt;br /&gt;
  foreach($jsonItem[&amp;#039;descriptions&amp;#039;] as $jsonDescsrc){&lt;br /&gt;
   $jsonItemDesc.=$jsonDescsrc[&amp;#039;value&amp;#039;].&amp;quot;&amp;lt;br/&amp;gt;&amp;quot;;&lt;br /&gt;
  }			&lt;br /&gt;
  $jsonItem[&amp;#039;descriptions&amp;#039;]=$jsonItemDesc;&lt;br /&gt;
  $output=array();&lt;br /&gt;
  $output[&amp;#039;base&amp;#039;]=$htmlsrc;&lt;br /&gt;
  $output[&amp;#039;parent&amp;#039;]=$jsonAsrc;&lt;br /&gt;
  $output[&amp;#039;item&amp;#039;]=$jsonItem;&lt;br /&gt;
  return $output;&lt;br /&gt;
 }&lt;br /&gt;
 public static function loginUrl($returnTo=false, $useAmp=true) {&lt;br /&gt;
  $returnTo = (!$returnTo) ? (!empty($_SERVER[&amp;#039;HTTPS&amp;#039;]) ? &amp;#039;https&amp;#039; : &amp;#039;http&amp;#039;) . &amp;#039;://&amp;#039; . $_SERVER[&amp;#039;HTTP_HOST&amp;#039;] . $_SERVER[&amp;#039;REQUEST_URI&amp;#039;] : $returnTo;&lt;br /&gt;
  $params = array(&amp;#039;openid.ns&amp;#039;=&amp;gt;self::STEAM_OPENID,&amp;#039;openid.mode&amp;#039;=&amp;gt;&amp;#039;checkid_setup&amp;#039;,&amp;#039;openid.return_to&amp;#039;=&amp;gt; $returnTo,&amp;#039;openid.realm&amp;#039;=&amp;gt;(!empty($_SERVER[&amp;#039;HTTPS&amp;#039;]) ? &amp;#039;https&amp;#039; : &amp;#039;http&amp;#039;) . &amp;#039;://&amp;#039; . $_SERVER[&amp;#039;HTTP_HOST&amp;#039;],&amp;#039;openid.identity&amp;#039;=&amp;gt;self::STEAM_OPENID.&amp;#039;/identifier_select&amp;#039;,&amp;#039;openid.claimed_id&amp;#039;=&amp;gt;self::STEAM_OPENID.&amp;#039;/identifier_select&amp;#039;);&lt;br /&gt;
  $sep = ($useAmp) ? &amp;#039;&amp;amp;amp;&amp;#039; : &amp;#039;&amp;amp;&amp;#039;;&lt;br /&gt;
  return self::STEAM_LOGIN . &amp;#039;?&amp;#039; . http_build_query($params, &amp;#039;&amp;#039;, $sep);&lt;br /&gt;
 }&lt;br /&gt;
 public static function loginValidate() {&lt;br /&gt;
  $params = array(&amp;#039;openid.assoc_handle&amp;#039;=&amp;gt;$_GET[&amp;#039;openid_assoc_handle&amp;#039;],&amp;#039;openid.signed&amp;#039;=&amp;gt;$_GET[&amp;#039;openid_signed&amp;#039;],&amp;#039;openid.sig&amp;#039;=&amp;gt;$_GET[&amp;#039;openid_sig&amp;#039;],&amp;#039;openid.ns&amp;#039;=&amp;gt;self::STEAM_OPENID);&lt;br /&gt;
  $signed = explode(&amp;#039;,&amp;#039;, $_GET[&amp;#039;openid_signed&amp;#039;]);&lt;br /&gt;
  foreach($signed as $item) {&lt;br /&gt;
   $val = $_GET[&amp;#039;openid_&amp;#039; . str_replace(&amp;#039;.&amp;#039;, &amp;#039;_&amp;#039;, $item)];&lt;br /&gt;
   $params[&amp;#039;openid.&amp;#039; . $item] = get_magic_quotes_gpc() ? stripslashes($val) : $val; &lt;br /&gt;
  }&lt;br /&gt;
  $params[&amp;#039;openid.mode&amp;#039;] = &amp;#039;check_authentication&amp;#039;;&lt;br /&gt;
  $data =  http_build_query($params);&lt;br /&gt;
  $context = stream_context_create(array(&amp;#039;http&amp;#039; =&amp;gt; array(&amp;#039;method&amp;#039;=&amp;gt;&amp;#039;POST&amp;#039;,&amp;#039;header&amp;#039;=&amp;gt;&amp;quot;Accept-language: en\r\nContent-type: application/x-www-form-urlencoded\r\nContent-Length: &amp;quot;.strlen($data).&amp;quot;\r\n&amp;quot;,&amp;#039;content&amp;#039;=&amp;gt;$data)));&lt;br /&gt;
  $result = file_get_contents(self::STEAM_LOGIN.&amp;quot;/login&amp;quot;, false, $context);&lt;br /&gt;
  preg_match(&amp;quot;#^&amp;quot;.self::STEAM_LOGIN.&amp;quot;/id/([0-9]{17,25})#&amp;quot;, $_GET[&amp;#039;openid_claimed_id&amp;#039;], $matches);&lt;br /&gt;
  $steamid64 = is_numeric($matches[1]) ? $matches[1] : 0;&lt;br /&gt;
  return preg_match(&amp;quot;#is_valid\s*:\s*true#i&amp;quot;, $result) == 1 ? $steamid64 : false;&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Catégorie:Programmation]]&lt;/div&gt;</summary>
		<author><name>LevelKro</name></author>
	</entry>
</feed>