|
From: <ara...@us...> - 2008-08-24 13:14:18
|
Revision: 241
http://easybox-mod.svn.sourceforge.net/easybox-mod/?rev=241&view=rev
Author: aragornis
Date: 2008-08-24 13:14:10 +0000 (Sun, 24 Aug 2008)
Log Message:
-----------
Modification de l'enregistrement de la configuration pour r?\195?\169soudre les probl?\195?\168mes de configuration perdue lors de l'enregistrement
Modified Paths:
--------------
trunk/http/_framework/lib/Ini.class.php
trunk/http/_utilisateur/contentVLC
trunk/http/configuration/config.xml
trunk/http/configuration/configuration.php
trunk/http/configuration/general.php
trunk/http/configuration/script.js
trunk/http/module/VOD/classes/debug.txt
trunk/http/module/VOD/classes/player_proxy_wat.php
trunk/http/skin/mediacenter/sources/bouton.png
trunk/http/testing.php
Removed Paths:
-------------
trunk/http/out.txt
Modified: trunk/http/_framework/lib/Ini.class.php
===================================================================
--- trunk/http/_framework/lib/Ini.class.php 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/_framework/lib/Ini.class.php 2008-08-24 13:14:10 UTC (rev 241)
@@ -18,9 +18,7 @@
$reini .=$subkey2.' = "'.$entry2."\"\n";
}
}
- $handle = fopen($this->fichier, "w");
- fwrite($handle, $reini);
- fclose($handle);
+ file_put_contents($this->fichier, $reini);
}
function del($cat, $cle){
Modified: trunk/http/_utilisateur/contentVLC
===================================================================
--- trunk/http/_utilisateur/contentVLC 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/_utilisateur/contentVLC 2008-08-24 13:14:10 UTC (rev 241)
@@ -30,4 +30,4 @@
-|00:00:00|fake:|00:00:04|playing|C:\Program Files\Easyboxv3\http\skin\mediacenter\background\bg.png
+|00:00:00|fake:|00:00:00|stop|C:\Program Files\Easyboxv3\http\skin\mediacenter\background\bg.png
Modified: trunk/http/configuration/config.xml
===================================================================
--- trunk/http/configuration/config.xml 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/configuration/config.xml 2008-08-24 13:14:10 UTC (rev 241)
@@ -3,33 +3,19 @@
<channel>
<categorie name="explorateur">
<souscat name="films_defaut">
- <name>
- Dossiers o&ugrave; le scanner doit chercher vos
- vid&eacute;os. Le premier de la liste sera le
- dossier par d&eacute;faut de l'explorateur de
- films.
- </name>
+ <name>Dossiers o&ugrave; le scanner doit chercher vos vid&eacute;os. Le premier de la liste sera le dossier par d&eacute;faut de l'explorateur de films.</name>
<type>navigateur</type>
<defaut1>c:/</defaut1>
<defaut2>/</defaut2>
</souscat>
<souscat name="photos_defaut">
- <name>
- Dossier des photos par d&eacute;faut. Le premier
- de la liste sera le dossier par d&eacute;faut de
- l'explorateur de photos.
- </name>
+ <name>Dossier des photos par d&eacute;faut. Le premier de la liste sera le dossier par d&eacute;faut de l'explorateur de photos.</name>
<type>navigateur</type>
<defaut1>c:/</defaut1>
<defaut2>/</defaut2>
</souscat>
<souscat name="audio_defaut">
- <name>
- Dossiers o&ugrave; le scanner doit chercher vos
- fichiers audios. Le premier de la liste sera le
- dossier par d&eacute;faut de l'explorateur
- audio.
- </name>
+ <name>Dossiers o&ugrave; le scanner doit chercher vos fichiers audios. Le premier de la liste sera le dossier par d&eacute;faut de l'explorateur audio.</name>
<type>navigateur</type>
<defaut1>c:/</defaut1>
<defaut2>/</defaut2>
@@ -41,100 +27,60 @@
<defaut2>/mnt/cdrom</defaut2>
</souscat>
<souscat name="ext">
- <name>
- Extensions interpr&eacute;t&eacute;es comme
- des fichiers vid&eacute;os par Easy-Box
- </name>
+ <name>Extensions interpr&eacute;t&eacute;es comme des fichiers vid&eacute;os par Easy-Box</name>
<type>text</type>
- <defaut>
- .avi,.mpg,.mpeg,.mkv,.ogg,.wmv,.wma,.mp4,.3gp,.mov
- </defaut>
+ <defaut>.avi,.mpg,.mpeg,.mkv,.ogg,.wmv,.wma,.mp4,.3gp,.mov,.flv</defaut>
</souscat>
<souscat name="ext_photo">
- <name>
- Extensions interpr&eacute;t&eacute;es comme
- des photos par Easy-Box
- </name>
+ <name>Extensions interpr&eacute;t&eacute;es comme des photos par Easy-Box</name>
<type>text</type>
<defaut>.jpg,.gif,.bmp,.jpeg,.png</defaut>
</souscat>
<souscat name="ext_audio">
- <name>
- Extensions interpr&eacute;t&eacute;es comme
- des fichiers audios par Easy-Box
- </name>
+ <name>Extensions interpr&eacute;t&eacute;es comme des fichiers audios par Easy-Box</name>
<type>text</type>
<defaut>.mp3,.ogg,.wma,.cda,.m3u,.wav</defaut>
</souscat>
<souscat name="afficher_fichier_cache">
- <name>
- Afficher les fichiers cach&eacute;s dans les
- explorateurs
- </name>
+ <name>Afficher les fichiers cach&eacute;s dans les explorateurs</name>
<type>boolean</type>
<defaut>non</defaut>
</souscat>
<souscat name="proxy">
- <name>
- Proxy pour les connexions aux net par Easybox
- </name>
+ <name>Proxy pour les connexions aux net par Easybox</name>
<type>text</type>
<defaut></defaut>
</souscat>
<souscat name="proxyport">
- <name>
- Port du proxy pour les connexions aux net par Easybox
- </name>
+ <name>Port du proxy pour les connexions aux net par Easybox</name>
<type>text</type>
<defaut></defaut>
</souscat>
</categorie>
<categorie name="scan">
<souscat name="nettoyer">
- <name>
- Chaines de caract&egrave;res
- supprim&eacute;es dans le nom des films pour une
- recherche plus ais&eacute;e d'information sur
- internet. Ex : "James.Bond.cd1.avi" deviendra
- "James.Bond..avi".
- </name>
+ <name>Chaines de caract&egrave;res supprim&eacute;es dans le nom des films pour une recherche plus ais&eacute;e d'information sur internet. Ex : "James.Bond.cd1.avi" deviendra "James.Bond..avi".</name>
<type>text</type>
- <defaut>
- cd1,cd2,divx,dvdrip,_,FRENCH,VOSTFR,Vostfr
- </defaut>
+ <defaut>cd1,cd2,divx,dvdrip,_,FRENCH,VOSTFR,Vostfr</defaut>
</souscat>
-
<souscat name="afficher_personnes">
- <name>
- Afficher les fiches des personnalit&eacute;s.
- </name>
+ <name>Afficher les fiches des personnalit&eacute;s.</name>
<type>boolean</type>
<defaut>oui</defaut>
</souscat>
<souscat name="ext_noscan">
- <name>
- Ne pas traiter les r&eacute;pertoires dont le
- nom contient une des valeurs suivantes lors des
- scans : tout dossier contenant une de ces chaines
- sera volontairement oubli�.
- </name>
+ <name>Ne pas traiter les r&eacute;pertoires dont le nom contient une des valeurs suivantes lors des scans : tout dossier contenant une de ces chaines de charact\xE8re sera volontairement oubli&eacute;.</name>
<type>text</type>
<defaut>NOSCAN</defaut>
</souscat>
</categorie>
<categorie name="multimedia">
<souscat name="qualiteaudio">
- <name>
- Quelle qualit&eacute; audio voulez-vous utiliser
- ?
- </name>
+ <name>Quelle qualit&eacute; audio voulez-vous utiliser ?</name>
<type>options</type>
<option>
<choix>
- <nom>
- Son transcod&eacute;e
- (St&eacute;r&eacute;o)
- </nom>
+ <nom>Son transcod&eacute;e (St&eacute;r&eacute;o)</nom>
<titre>Stereo</titre>
</choix>
<choix>
@@ -168,29 +114,13 @@
<defaut>Aucun</defaut>
</souscat>
<souscat name="compensation">
- <name>
- Permet de d&eacute;caler la bande son pour
- qu'elle commence apr&egrave;s la
- vid&eacute;o (&agrave; utiliser quand le son
- sort de la carte son du PC et que le son est
- d&eacute;cal&eacute; sinon mettre
- &agrave; 0) (en millisecondes)
- </name>
+ <name>Permet de d&eacute;caler la bande son pour qu'elle commence apr&egrave;s la vid&eacute;o (&agrave; utiliser quand le son sort de la carte son du PC et que le son est d&eacute;cal&eacute; sinon mettre &agrave; 0) (en millisecondes)</name>
<type>text</type>
<typeplus>numeric</typeplus>
<defaut>0</defaut>
</souscat>
<souscat name="qualite">
- <name>
- Selectionnez ici le profil de qualit&eacute; de
- VLC. Le profil "Wifi et ordinateurs moyens" permet
- d'&eacute;conomiser
- l&eacute;g&agrave;rement le processeur et
- les d&eacute;bits au d&eacute;triment de la
- qualit&eacute;. Le profil "Wifi difficile et
- ordinateurs peu puissants" appuie encore ce
- ph&eacute;nom&agrave;ne.
- </name>
+ <name>Selectionnez ici le profil de qualit&eacute; de VLC. Le profil "Wifi et ordinateurs moyens" permet d'&eacute;conomiser l&eacute;g&agrave;rement le processeur et les d&eacute;bits au d&eacute;triment de la qualit&eacute;. Le profil "Wifi difficile et ordinateurs peu puissants" appuie encore ce ph&eacute;nom&agrave;ne.</name>
<type>options</type>
<option>
<choix>
@@ -202,9 +132,7 @@
<titre>play-wifi.html</titre>
</choix>
<choix>
- <nom>
- Wifi difficile et ordinateurs peu puissants
- </nom>
+ <nom>Wifi difficile et ordinateurs peu puissants</nom>
<titre>play-low.html</titre>
</choix>
</option>
@@ -220,32 +148,17 @@
</categorie>
<categorie name="download">
<souscat name="patch">
- <name>
- Chemin o&ugrave; sont stock&eacute;es les
- mises &agrave; jour
- </name>
+ <name>Chemin o&ugrave; sont stock&eacute;es les mises &agrave; jour</name>
<type>text</type>
- <defaut>
- http://www.easybox-freeplayer.com/modules/addon/
- </defaut>
+ <defaut>http://www.easybox-freeplayer.com/modules/addon/</defaut>
</souscat>
<souscat name="xml">
- <name>
- Chemin vers le fichier listant les mises
- &agrave; jour
- </name>
+ <name>Chemin vers le fichier listant les mises &agrave; jour</name>
<type>text</type>
- <defaut>
- http://www.easybox-freeplayer.com/genxml.php
- </defaut>
+ <defaut>http://www.easybox-freeplayer.com/genxml.php</defaut>
</souscat>
<souscat name="maj">
- <name>
- Voulez-vous qu'Easybox se mette &agrave; jour
- automatiquement ? (Il est fortement
- d&eacute;conseill&eacute; de
- d&eacute;sactiver cette option)
- </name>
+ <name>Voulez-vous qu'Easybox se mette &agrave; jour automatiquement ? (Il est fortement d&eacute;conseill&eacute; de d&eacute;sactiver cette option)</name>
<type>boolean</type>
<defaut>oui</defaut>
</souscat>
@@ -306,10 +219,7 @@
</categorie>
<categorie name="modules">
<souscat name="afficher_categories">
- <name>
- Afficher les cat&eacute;gories dans le menu
- principal.
- </name>
+ <name>Afficher les cat&eacute;gories dans le menu principal.</name>
<type>boolean</type>
<defaut>oui</defaut>
</souscat>
Modified: trunk/http/configuration/configuration.php
===================================================================
--- trunk/http/configuration/configuration.php 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/configuration/configuration.php 2008-08-24 13:14:10 UTC (rev 241)
@@ -1,3 +1,8 @@
+<?php
+header("Cache-Control: no-cache, must-revalidate");
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+?>
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
Modified: trunk/http/configuration/general.php
===================================================================
--- trunk/http/configuration/general.php 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/configuration/general.php 2008-08-24 13:14:10 UTC (rev 241)
@@ -19,7 +19,7 @@
}
}
-echo '<div class="titrerec titrereclarger"><div class="coin gh"> </div><div class="titre titrelarger" id="titre">'.$titre.'</div><div class="coin dh"> </div></div><div class="res2">';
+echo '<div class="titrerec titrereclarger"><div class="coin gh"> </div><div class="titre titrelarger" id="titre">'.$titre.'</div><div class="coin dh"> </div></div><div class="res2"><form action="" autocomplete="off">';
$j = 0;
// Affichage des champs du formulaire
@@ -52,7 +52,7 @@
// Cas d'un mot de passe
case 'password':
($typeplus=='numeric'?$num="onKeypress=\"if(event.keyCode > 31 && (event.keyCode < 45 || event.keyCode > 57)) event.returnValue = false; if(event.which > 31 && (event.which < 45 || event.which > 57)) return false;\"":$num="");
- echo '<input name="'.$catnom.'|'.$nom.'" id="'.$catnom.'|'.$nom.'" type="password" autocomplete="off" '.$num.' size="'.(strlen(htmlspecialchars($entry))+5).'" value="'.$entry.'"><script language="javascript">setTimeout("document.getElementById(\''.$catnom.'|'.$nom.'\').value = \''.$entry.'\';",50);</script>';
+ echo '<input name="'.$catnom.'|'.$nom.'" id="'.$catnom.'|'.$nom.'" type="password" autocomplete="off" '.$num.' size="'.(strlen(htmlspecialchars($entry))+5).'" value="'.$entry.'">';
$js .= 'set_ini("'.$catnom.'","'.$nom.'",document.getElementById("'.$catnom.'|'.$nom.'").value);';
break;
@@ -141,7 +141,7 @@
($typeplus=='numeric'?$num="onKeypress=\"if(event.keyCode > 31 && (event.keyCode < 45 || event.keyCode > 57)) event.returnValue = false; if(event.which > 31 && (event.which < 45 || event.which > 57)) return false;\"":$num="");
echo '<input name="'.$catnom.'|'.$nom.'" id="'.$catnom.'|'.$nom.'" type="text" autocomplete="off" '.$num.' size="';
echo strlen(htmlspecialchars($entry))+10;
- echo '" value="'.$entry.'"><script language="javascript">setTimeout("document.getElementById(\''.$catnom.'|'.$nom.'\').value = \''.$entry.'\';",50);</script><br>';
+ echo '" value="'.$entry.'"><br>';
$js .= 'set_ini("'.$catnom.'","'.$nom.'",document.getElementById("'.$catnom.'|'.$nom.'").value);';
break;
@@ -155,7 +155,7 @@
}
}
}
- echo '</div><div class="titrerecb titrerecblarger"><div class="coin gb"> </div><div class="titre titrelarger"> </div><div class="coin db"> </div></div>';
+ echo '</form></div><div class="titrerecb titrerecblarger"><div class="coin gb"> </div><div class="titre titrelarger"> </div><div class="coin db"> </div></div>';
echo '<script language="javascript">function save(){suc=0;'.$js.'}function addsucces(){suc=suc+1;if(suc=='.$total.'){alert("Configuration enregistr\xE9e avec succ\xE8s");}}</script>';
Modified: trunk/http/configuration/script.js
===================================================================
--- trunk/http/configuration/script.js 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/configuration/script.js 2008-08-24 13:14:10 UTC (rev 241)
@@ -163,7 +163,6 @@
function ajouter2(){
if ((addchamp != '')&&(addurl != '')) {
-
var addchamp = document.getElementById("addnom");
var addurl = document.getElementById("addurl");
var objListe = document.getElementById("listpodcast");
@@ -176,7 +175,6 @@
}
}
-
function add(rep){
var obj = document.getElementById(idNom);
if (obj.type=="text"){
@@ -186,7 +184,6 @@
objListe.options[objListe.length] = new Option(rep,rep,false,false);
maj(idNom);
}
-
cacher_dir("explor");
}
@@ -211,12 +208,11 @@
obj.submit();
}
-
////////////////////////////////////////////////////////////////////////////////
////////////////////- Gestion du fichier configuration.ini -////////////////////
////////////////////////////////////////////////////////////////////////////////
-// Assigne une valeur \xE0 une cl du fichier configuration.ini
+// Assigne une valeur \xE0 une cle du fichier configuration.ini
function set_ini(cle,entree,val){
var xhr = getXhr();
var ok = 0;
@@ -224,6 +220,8 @@
if(xhr.readyState == 4 && xhr.status == 200){
if(xhr.responseText==''){
addsucces();
+ }else{
+ set_ini(cle,entree,val);
}
}
}
@@ -848,4 +846,4 @@
}
xhr.open("GET","delpodcast.php?id=" + currentpodcastid + "&al=" + Math.random(),true);
xhr.send(null);
-}
\ No newline at end of file
+}
Modified: trunk/http/module/VOD/classes/debug.txt
===================================================================
--- trunk/http/module/VOD/classes/debug.txt 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/module/VOD/classes/debug.txt 2008-08-24 13:14:10 UTC (rev 241)
@@ -1,9 +1,9 @@
HTTP/1.0 302 Moved Temporarily
-Date: Sat, 23 Aug 2008 16:42:53 GMT
+Date: Sat, 23 Aug 2008 21:28:00 GMT
Server: Apache
-Set-Cookie: wt=expires%3D1219509893%7Eaccess%3D%2F2%2FFLV-320x240%2F93%2F76%2F1419376.flv%7Emd5%3D4dac0d2338b382672afa2c9225dbf70a; path=/; domain=.wat.tv
-Location: http://wdk.wat.tv/2/FLV-320x240/93/76/1419376.flv
+Set-Cookie: wt=expires%3D1219527000%7Eaccess%3D%2F2%2FFLV-320x240%2F53%2F49%2F435349.flv%7Emd5%3Dd3b0f4ea20ccfc0c85ddfbc16c51baa1; path=/; domain=.wat.tv
+Location: http://wdk.wat.tv/2/FLV-320x240/53/49/435349.flv
Content-Length: 0
Content-Type: text/html
X-Cache: MISS from kuzh.polytechnique.fr
@@ -12,15 +12,15 @@
HTTP/1.0 200 OK
Content-Type: video/x-flv
-ETag: "1844399291"
+ETag: "2587458518"
Accept-Ranges: bytes
-Last-Modified: Fri, 08 Aug 2008 18:06:58 GMT
-Content-Length: 2548286
+Last-Modified: Tue, 16 Oct 2007 14:25:41 GMT
+Content-Length: 24448814
Server: BustaWS/2.0
-Expires: Sat, 23 Aug 2008 16:42:53 GMT
+Expires: Sat, 23 Aug 2008 21:28:00 GMT
Cache-Control: max-age=0, no-cache
Pragma: no-cache
-Date: Sat, 23 Aug 2008 16:42:53 GMT
+Date: Sat, 23 Aug 2008 21:28:00 GMT
X-Cache: MISS from kuzh.polytechnique.fr
Via: 1.0 kuzh.polytechnique.fr:8080 (squid)
Proxy-Connection: keep-alive
Modified: trunk/http/module/VOD/classes/player_proxy_wat.php
===================================================================
--- trunk/http/module/VOD/classes/player_proxy_wat.php 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/module/VOD/classes/player_proxy_wat.php 2008-08-24 13:14:10 UTC (rev 241)
@@ -1,8 +1,10 @@
<?php
-$RACINE_REP = '../../';
+$RACINE_REP = '../../../';
define('LIBRARIES_REP', $RACINE_REP.'/_framework/lib/');
+define('USER', $RACINE_REP.'/_utilisateur/');
require_once(LIBRARIES_REP.'Ini.class.php');
+
$ini_class = new INI(USER.'configuration.ini');
set_time_limit(3600);
@@ -224,7 +226,6 @@
if($envoi)
echo $buff;
- usleep(1000);
}
}
Deleted: trunk/http/out.txt
===================================================================
--- trunk/http/out.txt 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/out.txt 2008-08-24 13:14:10 UTC (rev 241)
@@ -1,2 +0,0 @@
-last line : "\xE3ć\xD86Lή\x82\xABYl\x90p\x9BZ?!+o՚\x8E\xB7[\x9E3\xD7D\xC2j\xC0+b\xAC\xC72\xAF\xAE\xE4[,\xA1\xEC
-"
\ No newline at end of file
Modified: trunk/http/testing.php
===================================================================
--- trunk/http/testing.php 2008-08-23 20:58:22 UTC (rev 240)
+++ trunk/http/testing.php 2008-08-24 13:14:10 UTC (rev 241)
@@ -1,5 +1,266 @@
<?php
-var_dump($momo = 'idiot');
+$RACINE_REP = '../http/';
+define('LIBRARIES_REP', $RACINE_REP.'/_framework/lib/');
+define('USER', $RACINE_REP.'/_utilisateur/');
+require_once(LIBRARIES_REP.'Ini.class.php');
+$ini_class = new INI(USER.'configuration.ini');
+
+set_time_limit(3600);
+class Http {
+ /*Code de retour */
+ public $statusCode;
+ /*Contenu renvoyé */
+ public $htmlContents;
+ /*Headers */
+ public $httpHeaders;
+ /*Limite de redirections */
+ public $maxRedirects = 0;
+ /*Timeout de réception d'un paquet */
+ public $httpTimeout = 5;
+
+ function __construct(){
+ }
+
+ /*Requête Get
+ *
+ @param string $url URL \xC3 charger
+ @param string $queryString Chaîne contenant les paramètres \xC3 passer \xC3 la requête
+ @return boolean Résultat de la requête (true = 200 OK)
+ **/
+ function get($url, $queryString = '', $sCookie = ''){
+ return $this->request($url, 'GET', $queryString, $sCookie);
+ }
+
+ /*Requête Post
+ *
+ @param string $url URL \xC3 charger
+ @param string $queryString Chaîne contenant les paramètres \xC3 passer \xC3 la requête
+ @return boolean Résultat de la requête (true = 200 OK)
+ **/
+ function post($url, $queryString = '', $sCookie = ''){
+ return $this->request($url, 'POST', $queryString, $sCookie);
+ }
+
+ /*Requête Principale
+ *
+ @param string $url URL \xC3 charger
+ @param string $queryString Chaîne contenant les paramètres \xC3 passer \xC3 la requête
+ @param string $requestType Type de la requête (GET/POST)
+ @return boolean Résultat de la requête (true = 200 OK)
+ **/
+ function request($url, $requestType = 'GET', $queryString = '', $sCookie = '', $envoi=false){
+ global $ini;
+ $this->statusCode = 0;
+ $this->htmlContents = '';
+ $this->httpHeaders = array('Set-Cookie' => array());
+
+ /*Explosion de l'URL */
+ $parsedUrl = parse_url($url);
+ if (!isset($parsedUrl['path']) || $parsedUrl['path'] === ''){
+ $parsedUrl['path'] = '/';
+ }
+ /*Zut, on a passé une partie des infos dans l'url ! */
+ if (isset($parsedUrl['query']) && $parsedUrl['query'] !== ''){
+ if ($requestType === 'GET'){
+ if ($queryString !== ''){
+ $queryString .= '&';
+ }
+ $queryString .= $parsedUrl['query'];
+ }else{
+ $parsedUrl['path'] = $parsedUrl['path'].'?'.$parsedUrl['query'];
+ }
+ }
+ echo $ini['explorateur']['proxy'];
+ if($ini['explorateur']['proxy']){
+ $fp = @fsockopen($ini['explorateur']['proxy'], $ini['explorateur']['proxyport'], $errno, $errstr, 50);
+ }else{
+ $fp = @fsockopen($parsedUrl['host'], 80, $errno, $errstr, 5);
+ }
+
+ if (!$fp) return false;
+ if ($requestType === 'GET'){
+ if($ini['explorateur']['proxy']){
+ fputs($fp, "GET ".$url." HTTP/1.1\r\nHost: ".$parsedUrl['host']."\r\n");
+ }else{
+ fputs($fp, "GET ".$parsedUrl['path'].($queryString != '' ? '?'.$queryString : '')." HTTP/1.1\r\nHost: ".$parsedUrl['host']."\r\n");
+ }
+
+ if ($sCookie !== ''){
+ fputs($fp, "Cookie: $sCookie\r\n");
+ }
+ fputs($fp, "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
+ fputs($fp, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1\r\n");
+ fputs($fp, "Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
+ fputs($fp, "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
+ fputs($fp, "Accept-Encoding: gzip,deflate\r\n");
+ fputs($fp, "Keep-Alive: 300\r\n");
+ fputs($fp, "Proxy-Connection: keep-alive\r\n\r\n");
+ }elseif ($requestType === 'POST'){
+ if($ini['explorateur']['proxy']){
+ fputs($fp, "POST ".$url." HTTP/1.1\r\nHost: ".$parsedUrl['host']."\r\n");
+ }else{
+ fputs($fp, "POST ".$parsedUrl['path']." HTTP/1.1\r\nHost: ".$parsedUrl['host']."\r\n");
+ }
+ if ($sCookie !== '')
+ {
+ fputs($fp, "Cookie: $sCookie\r\n");
+ }
+ fputs($fp, "Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1\r\n");
+ fputs($fp, "Content-Type: application/x-www-form-urlencoded\r\n");
+ fputs($fp, "Content-Length: ".strlen($queryString)."\r\n");
+ fputs($fp, "Accept-Encoding: gzip,deflate");
+ fputs($fp, "Connection: close\r\n\r\n");
+ fputs($fp, $queryString);
+ }else{
+ return false;
+ }
+
+
+ $buffer = '';
+ /*Time out de lecture */
+ stream_set_timeout($fp, 1000);
+ /*Lecture des headers */
+ while (!feof($fp)){
+ $buffer = fgets($fp, 4096);
+
+ if ($buffer === false){
+ return false;
+ }
+ $buffer = trim($buffer);
+
+ file_put_contents('debug.txt',file_get_contents('debug.txt')."\n".$buffer);
+
+ if($envoi){
+ header('HTTP/1.0 200 OK');
+ header('Content-Type: video/x-flv');
+ header('Accept-Ranges: bytes');
+ }
+ if (substr($buffer, 0, 7) === 'HTTP/1.'){
+ $this->statusCode = (int) substr($buffer, 9, 3);
+ }else{
+ $colonPos = strpos($buffer, ':');
+ if ($colonPos !== false){
+ $headerName = substr($buffer, 0, $colonPos);
+ if ($headerName === 'Set-Cookie'){
+ $this->httpHeaders[$headerName][] = substr($buffer, $colonPos + 2);
+ }else{
+ $this->httpHeaders[$headerName] = substr($buffer, $colonPos + 2);
+ }
+ }
+ }
+ if ($buffer == '' && $this->statusCode !== 0) break;
+ }
+
+ /*Redirection 301 ou 302 */
+ if (($this->statusCode === 302 || $this->statusCode === 301) && isset($this->httpHeaders['Location']) && $this->maxRedirects-- > 0){
+ $newUrl = parse_url($this->httpHeaders['Location']);
+ if (!isset($newUrl['path'])){
+ $newUrl['path'] = '';
+ }else{
+ $newUrl['path'] = ltrim($newUrl['path'], '/');
+ }
+ if (!isset($newUrl['host'])){
+ $newUrl['host'] = $parsedUrl['host'];
+ }
+ if (!isset($newUrl['query'])){
+ $newUrl['query'] = '';
+ }
+ return $this->request('http://'.$newUrl['host'].'/'.$newUrl['path'], $requestType, $newUrl['query'], $sCookie);
+ }
+ /*On remet \xC3 3 le nombre max de redirections */
+ $this->maxRedirects = 0;
+
+ $buffer = '';
+
+ if (isset($this->httpHeaders['Transfer-Encoding']) && $this->httpHeaders['Transfer-Encoding'] === 'chunked'){
+ /*Fichier chunked */
+ while (!feof($fp)){
+ $length = fgets($fp, 1024);
+ if ($length === false){
+ return false;
+ }
+
+ $length = hexdec(trim($length));
+ if($length===0){
+ break;
+ }
+
+ while ($length > 0){
+ $buff = fgets($fp, $length + 1);
+ if ($buff === false)
+ {
+ return false;
+ }
+ $length -= strlen($buff);
+ $buffer .= $buff;
+
+ }
+ fgets($fp,1024);
+ }
+ }elseif (isset($this->httpHeaders['Content-Length'])){
+ //Fichier avec Content-Length
+ $length = (int) $this->httpHeaders['Content-Length'];
+
+ while ($length > 0){
+ $buff = fgets($fp, $length+1);
+ if ($buff === false)
+ {
+ break;
+ }
+ $length -= strlen($buff);
+ $buffer .= $buff;
+
+ if($envoi)
+ echo $buff;
+ }
+ }else{
+ /*Fichier sans Content-Length ni chunk */
+ while (!feof($fp))
+ {
+ $buff = fgets($fp, 4096);
+ if ($buff === false){
+ break;
+ }
+ $buffer .= $buff;
+ }
+
+ }
+ fclose($fp);
+
+ /*Le contenu est-il gzippé ? */
+ if (isset($this->httpHeaders['Content-Encoding']) && ($this->httpHeaders['Content-Encoding'] === 'gzip' || $this->httpHeaders['Content-Encoding'] === 'deflate'))
+ {
+ if ($this->httpHeaders['Content-Encoding'] === 'gzip')
+ {
+ $buffer = substr($buffer, 10);
+ }
+ $this->htmlContents = gzinflate($buffer);
+ if ($this->htmlContents === false)
+ {
+ return false;
+ }
+ }
+ else
+ {
+ $this->htmlContents = $buffer;
+ }
+ return $this->statusCode === 200;
+ }
+}
+
+$id = $_GET['id'];
+file_put_contents('debug.txt','');
+$http = new Http();
+$http->request('http://proxy-29.deezer.com/rewrite/3TxkwS6o8fR8tUBgDQX2sEcsTXcOGy1U/c65bd73a44ae440555df65e6730c88de/27cadb8454719cc73f53d7bc036ba6e45616671fe0fb13ab2d49618a674cc57c50ae476dfdaf19645c3ec075d7ca193b3936266a99ff2c0a11f9711df8c81f65/a5924fd5ab69191ef72bb1b54b7f22cb372dd9453e84277d60b212d1ec190c99d73381edce44375774e3735c2eb9327275834491b31c872acacdd77e406bdc53/9,0,124,0/','GET','__utma=253676188.2225138453119332600.1214129550.1219416520.1219525133.108; __utmz=253676188.1214919665.4.3.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=deezer; __utmb=253676188.31.10.1219525133; __utmc=253676188');
+
+print_r($http->httpHeaders);
+file_put_contents('debug.txt',$http->htmlContents);
+//echo $http->htmlContents;
+//echo $cookie[0];
+
+//$h = $http->request(($http->htmlContents?$http->htmlContents:$http->httpHeaders['Location']), 'GET', '', $cookie[0], true);
+//file_put_contents('out.mp4', $http->htmlContents);
+
?>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|