1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| function openFlag($parser,$name,$attrs){ // function gérant les balises ouvrantes du flux XML
global $msgs,$errors,$stream_treated;
if($name=="stream_treated"){
$stream_treated = $attrs['status'];
}
elseif($name=='error'){
$pNum = $attrs['phonenumber'];
$pNum = ereg_replace("^\+33","33",$pNum);
$errors[$pNum] = $attrs['desc'];
}
elseif($name=='mt'){
$pNum = $attrs['phonenumber'];
$pNum = ereg_replace("^\+33","33",$pNum);
$msgs[$pNum]['ID_Broker'] = $attrs['id'];
//@mail("t@msinnovations.com","On parse l'id broker","On parse l'id broker attrs['id']: ".$attrs['id']." dans msgs[pNum]['ID_Broker']:".$msgs[$pNum]['ID_Broker']);
}
}
function closeFlag($parser, $name){ // function gérant les balises fermantes du flux XML
}
function textFlag($parser, $data_text){ // function gérant le contenu de balises du flux XML
}
function defaut(){ // function gérant les exceptions du parsage
return TRUE;
}
global $stream_treated;
$xml_parser = xml_parser_create(); //initialisation du parser
xml_set_element_handler($xml_parser,"openFlag","closeFlag");//definition des fonctions d'analyse des balises
xml_set_character_data_handler($xml_parser,"textFlag"); //definition de la fonction de recuperation du contenu des balises
xml_set_default_handler($xml_parser,"defaut"); //definition de la fonction gérant les exceptions
xml_parser_set_option($xml_parser,1,'UTF-8'); //definitions des parametres du parseur
$fp = tmpfile(); //initialisation d'un fichier temporaire pour stocker le flux retour
fwrite($fp,$response); //ecriture du flux dans le fichier temporaire
fseek($fp, 0); //deplacement du pointeur au debut du fichier |
Partager