dispatch();
// Si erreur, on l'affiche
if( $response->error != ManagerError::Success )
var_dump( ManagerError::explicit($response->error) );
// On récupère les données
$logs = $response->get('data');
/* [1] On associe un faux numéro à chaque utilisateur
=========================================================*/
$falseNumbers = array(0); // Contiendra les numéros attribués
$alreadyNumbered = array(); // Contiendra aux mêmes indices que les numéros, les noms des personnes les ayant utilisé
// Pour chaque utilisateur
foreach($logs as $i=>$log){
// On évite la première ligne
if( $i == 0 ){
unset($logs[$i]);
continue;
}
$numberIndex = array_search($log['Number'], $alreadyNumbered);
/* (1) Si pas encore de numéro, on en attribue un */
if( $numberIndex === false ){
$lastnumIndex = count($falseNumbers) - 1;
$newNumber = ++$falseNumbers[$lastnumIndex];
$numberIndex = array_push($falseNumbers, $newNumber ) - 1;
$alreadyNumbered[$numberIndex] = $log['Number'];
}
$logs[$i]['Name'] = $logs[$i]['Number'];
$logs[$i]['Number'] = $falseNumbers[$numberIndex];
}
/* (2) On convertit les numéros en string */
foreach($falseNumbers as $n=>$number){
$stringNumber = "0600000000"; $snlen = strlen($stringNumber);
$stringValue = strval($number); $svlen = strlen($stringValue);
$stringNumber = substr($stringNumber, 0, $snlen-$svlen);
$stringNumber .= $stringValue;
$falseNumbers[$n] = $stringNumber;
$logs[$i]['Number'] = $falseNumbers[$numberIndex];
}
foreach($logs as $i=>$log){
$numberIndex = array_search($log['Name'], $alreadyNumbered);
$logs[$i]['Number'] = $falseNumbers[$numberIndex];
}
/* [2] On rédige les headers
=========================================================*/
header('Content-type: text/xml');
header('Content-Disposition: attachment; filename=call-log.xml');
/* [3] On rédige le contenu du fichier XML
=========================================================*/
echo "\n";
echo "