Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /**********************************************************************************..

Decoded Output download

<?php 
/************************************************************************************* 
**												 
** Script "EJP vers XML" 
** 
** Script qui retourne dans des donnnes XML l'tat des 4 zones EJP pour le jour courant 
** et le lendemain, ainsi que le nombre de jours EJP restant. 
** Retourne aussi les couleurs TEMPO pour le jour courant et le lendemain ainsi que 
** le nombre de jours restants pour chacune d'elle. 
**												 
** DjMomo - http://www.github.com/DjMomo/EJP-et-Tempo-infos/ 
** 
**************************************************************************************/ 
 
// URL des pages  parser 
$URL_obs = "http://particuliers.edf.com/gestion-de-mon-contrat/options-tempo-et-ejp/option-ejp/l-observatoire-2584.html"; 
$URL_histo = "http://edf-ejp-tempo.sfr-sh.fr/index.php?m=eh"; 
$URL_tempo = "http://particuliers.edf.com/gestion-de-mon-contrat/options-tempo-et-ejp/option-tempo/la-couleur-du-jour-2585.html"; 
 
// Ordre des zones sur la page 
$zones = array("nord","paca","ouest","sud"); 
$zones_tempo = array("bleu","blanc","rouge"); 
 
// Extraction des donnes 
// Etat EJP 
$page = file_get_contents($URL_obs); 
preg_match_all("/.*FRONT\/NetExpress\/img\/ejp_(.*).png.*/", $page, $matches); 
$ejp = $matches[1]; 
 
// Nombre de jours restants EJP 
$page = file_get_contents($URL_histo); 
preg_match_all("/.*<td.*>(\d+)<\/td>.*/", $page, $matches); 
$ejp_jours = $matches[1]; 
 
// Etat TEMPO 
$page = file_get_contents($URL_tempo); 
preg_match_all("/.*<span class=\"period\">(.*)<\/span>.*/", $page, $matches); 
$tempo_aujourdhui = str_replace(utf8_decode("non dtermin"),"nd",strtolower(trim(utf8_decode($matches[1][1])))); 
$tempo_demain = str_replace(utf8_decode("non dtermin"),"nd",strtolower(trim(utf8_decode($matches[1][4])))); 
 
// Nombre de jours restants TEMPO 
$page = file_get_contents($URL_tempo); 
preg_match_all("/.*<strong>(\d+)<\/strong>.*<strong>(\d+)<\/strong>.*/", $page, $matches); 
$tempo_jours_restant = $matches[1]; 
$tempo_jours_total = $matches[2]; 
 
// Cration donnes XML 
// Instance de la class DomDocument 
$doc = new DOMDocument(); 
 
// Definition de la version et de l'encodage 
$doc->version = '1.0'; 
$doc->encoding = 'UTF-8'; 
$doc->formatOutput = true; 
 
// Ajout de commentaires a la racine 
$comment_elt = $doc->createComment(utf8_encode('Etat des zones EJP pour aujourdhui, demain et nombre de jours restants.')); 
$doc->appendChild($comment_elt); 
$comment_elt = $doc->createComment(utf8_encode('Etat des jours TEMPO pour aujourdhui et demain et nombre restant pour chaque couleur.')); 
$doc->appendChild($comment_elt); 
$comment_elt = $doc->createComment(utf8_encode('https://github.com/DjMomo/EJP_to_XML')); 
$doc->appendChild($comment_elt); 
 
// Cration noeud principal 
$racine = $doc->createElement('ejp_tempo'); 
 
// Ajout la balise 'update' a la racine 
$version_elt = $doc->createElement('update',date("Y-m-d H:i")); 
$racine->appendChild($version_elt); 
$ejp_XML = $doc->createElement('ejp'); 
 
// Donnes EJP 
for($i = 0;$i<sizeof($zones); $i++) 
{ 
	$j = $i+7; 
	 
	// Zones 
	$zone = $doc->createElement($zones[$i]); 
	$aujourdhui = $doc->createElement('aujourdhui', $ejp[$i]); 
	if ($ejp[$i] === "oui")  
		$bool = 1; 
	elseif ($ejp[$i] === "non")  
		$bool = 0; 
	else 
		$bool = "nd"; 
	$aujourdhui_bool = $doc->createElement('aujourdhui_bool', $bool); 
	$demain = $doc->createElement('demain', $ejp[$j]); 
	if ($ejp[$j] === "oui")  
		$bool = 1; 
	elseif ($ejp[$j] === "non")  
		$bool = 0; 
	else 
		$bool = "nd"; 
	$demain_bool = $doc->createElement('demain_bool', $bool); 
	$jours_restants = $doc->createElement('jours_restants', $ejp_jours[$i]); 
	$zone->appendChild($aujourdhui); 
	$zone->appendChild($aujourdhui_bool); 
	$zone->appendChild($demain); 
	$zone->appendChild($demain_bool); 
	$zone->appendChild($jours_restants); 
	$ejp_XML->appendChild($zone); 
} 
$racine->appendChild($ejp_XML); 
 
// Donnes TEMPO 
$tempo = $doc->createElement('tempo'); 
$aujourdhui = $doc->createElement('aujourdhui', $tempo_aujourdhui); 
$demain = $doc->createElement('demain', $tempo_demain); 
$tempo->appendChild($aujourdhui); 
$tempo->appendChild($demain); 
 
for ($i = 0; $i<sizeof($zones_tempo);$i++) 
{ 
	$jours_restant = $doc->createElement($zones_tempo[$i].'_restant', $tempo_jours_restant[$i]); 
	$jours_total = $doc->createElement($zones_tempo[$i].'_total', $tempo_jours_total[$i]); 
	$tempo->appendChild($jours_restant); 
	$tempo->appendChild($jours_total); 
} 
$racine->appendChild($tempo); 
 
// Fermeture noeud principal 
$doc->appendChild($racine); 
 
// Affichage XML 
header("Content-type: text/xml; charset=utf-8"); 
echo $doc->saveXML(); 
 
?> 

Did this file decode correctly?

Original Code

<?php
/*************************************************************************************
**												
** Script "EJP vers XML"
**
** Script qui retourne dans des donnnes XML l'tat des 4 zones EJP pour le jour courant
** et le lendemain, ainsi que le nombre de jours EJP restant.
** Retourne aussi les couleurs TEMPO pour le jour courant et le lendemain ainsi que
** le nombre de jours restants pour chacune d'elle.
**												
** DjMomo - http://www.github.com/DjMomo/EJP-et-Tempo-infos/
**
**************************************************************************************/

// URL des pages  parser
$URL_obs = "http://particuliers.edf.com/gestion-de-mon-contrat/options-tempo-et-ejp/option-ejp/l-observatoire-2584.html";
$URL_histo = "http://edf-ejp-tempo.sfr-sh.fr/index.php?m=eh";
$URL_tempo = "http://particuliers.edf.com/gestion-de-mon-contrat/options-tempo-et-ejp/option-tempo/la-couleur-du-jour-2585.html";

// Ordre des zones sur la page
$zones = array("nord","paca","ouest","sud");
$zones_tempo = array("bleu","blanc","rouge");

// Extraction des donnes
// Etat EJP
$page = file_get_contents($URL_obs);
preg_match_all("/.*FRONT\/NetExpress\/img\/ejp_(.*).png.*/", $page, $matches);
$ejp = $matches[1];

// Nombre de jours restants EJP
$page = file_get_contents($URL_histo);
preg_match_all("/.*<td.*>(\d+)<\/td>.*/", $page, $matches);
$ejp_jours = $matches[1];

// Etat TEMPO
$page = file_get_contents($URL_tempo);
preg_match_all("/.*<span class=\"period\">(.*)<\/span>.*/", $page, $matches);
$tempo_aujourdhui = str_replace(utf8_decode("non dtermin"),"nd",strtolower(trim(utf8_decode($matches[1][1]))));
$tempo_demain = str_replace(utf8_decode("non dtermin"),"nd",strtolower(trim(utf8_decode($matches[1][4]))));

// Nombre de jours restants TEMPO
$page = file_get_contents($URL_tempo);
preg_match_all("/.*<strong>(\d+)<\/strong>.*<strong>(\d+)<\/strong>.*/", $page, $matches);
$tempo_jours_restant = $matches[1];
$tempo_jours_total = $matches[2];

// Cration donnes XML
// Instance de la class DomDocument
$doc = new DOMDocument();

// Definition de la version et de l'encodage
$doc->version = '1.0';
$doc->encoding = 'UTF-8';
$doc->formatOutput = true;

// Ajout de commentaires a la racine
$comment_elt = $doc->createComment(utf8_encode('Etat des zones EJP pour aujourdhui, demain et nombre de jours restants.'));
$doc->appendChild($comment_elt);
$comment_elt = $doc->createComment(utf8_encode('Etat des jours TEMPO pour aujourdhui et demain et nombre restant pour chaque couleur.'));
$doc->appendChild($comment_elt);
$comment_elt = $doc->createComment(utf8_encode('https://github.com/DjMomo/EJP_to_XML'));
$doc->appendChild($comment_elt);

// Cration noeud principal
$racine = $doc->createElement('ejp_tempo');

// Ajout la balise 'update' a la racine
$version_elt = $doc->createElement('update',date("Y-m-d H:i"));
$racine->appendChild($version_elt);
$ejp_XML = $doc->createElement('ejp');

// Donnes EJP
for($i = 0;$i<sizeof($zones); $i++)
{
	$j = $i+7;
	
	// Zones
	$zone = $doc->createElement($zones[$i]);
	$aujourdhui = $doc->createElement('aujourdhui', $ejp[$i]);
	if ($ejp[$i] === "oui") 
		$bool = 1;
	elseif ($ejp[$i] === "non") 
		$bool = 0;
	else
		$bool = "nd";
	$aujourdhui_bool = $doc->createElement('aujourdhui_bool', $bool);
	$demain = $doc->createElement('demain', $ejp[$j]);
	if ($ejp[$j] === "oui") 
		$bool = 1;
	elseif ($ejp[$j] === "non") 
		$bool = 0;
	else
		$bool = "nd";
	$demain_bool = $doc->createElement('demain_bool', $bool);
	$jours_restants = $doc->createElement('jours_restants', $ejp_jours[$i]);
	$zone->appendChild($aujourdhui);
	$zone->appendChild($aujourdhui_bool);
	$zone->appendChild($demain);
	$zone->appendChild($demain_bool);
	$zone->appendChild($jours_restants);
	$ejp_XML->appendChild($zone);
}
$racine->appendChild($ejp_XML);

// Donnes TEMPO
$tempo = $doc->createElement('tempo');
$aujourdhui = $doc->createElement('aujourdhui', $tempo_aujourdhui);
$demain = $doc->createElement('demain', $tempo_demain);
$tempo->appendChild($aujourdhui);
$tempo->appendChild($demain);

for ($i = 0; $i<sizeof($zones_tempo);$i++)
{
	$jours_restant = $doc->createElement($zones_tempo[$i].'_restant', $tempo_jours_restant[$i]);
	$jours_total = $doc->createElement($zones_tempo[$i].'_total', $tempo_jours_total[$i]);
	$tempo->appendChild($jours_restant);
	$tempo->appendChild($jours_total);
}
$racine->appendChild($tempo);

// Fermeture noeud principal
$doc->appendChild($racine);

// Affichage XML
header("Content-type: text/xml; charset=utf-8");
echo $doc->saveXML();

?>

Function Calls

preg_match_all 1
file_get_contents 1

Variables

$page
$zones [{'key': 0, 'value': 'nord'}, {'key': 1, 'value': 'paca'}, {'key': 2, 'value': 'ouest'}, {'key': 3, 'value': 'sud'}]
$URL_obs http://particuliers.edf.com/gestion-de-mon-contrat/options-t..
$URL_histo http://edf-ejp-tempo.sfr-sh.fr/index.php?m=eh
$URL_tempo http://particuliers.edf.com/gestion-de-mon-contrat/options-t..
$zones_tempo [{'key': 0, 'value': 'bleu'}, {'key': 1, 'value': 'blanc'}, {'key': 2, 'value': 'rouge'}]

Stats

MD5 188c8ee6f4741ae7f4d80b68705641de
Eval Count 0
Decode Time 105 ms