ManagerError::ParsingFailed ); $dict = json_decode( file_get_contents(__ROOT__.'/src/upload/phone_storage/dictionary.json'), true ); // Si erreur if( $dict == null ) return array( 'ModuleError' => ManagerError::ParsingFailed ); // Contiendra le résultat $output = array( 'logs' => '', 'contacts' => '' ); // Dans le parsage en CSV, ajouter les valeurs du dictionnaire en option (paramétrable) /* [1] Journal d'appel =========================================================*/ foreach($phone_log['logs'] as $i=>$log){ /* (1) Colonnes */ $logid = 0; if( $i == 0 ) foreach($log as $key=>$val){ $output['logs'] .= ($logid$val){ if( isset($dict['logs'][$key][$val]) ) $output['logs'] .= '"'.$dict['logs'][$key][$val].'"'; else $output['logs'] .= '"'.$val.'"'; // Si pas dernier, on met une virgule, sinon retour à la ligne $output['logs'] .= ($logid$log){ /* (1) Colonnes */ $logid = 0; if( $i == 0 ) foreach($log as $key=>$val){ $output['contacts'] .= ($logid$val){ if( isset($dict['contacts'][$key][$val]) ) $output['contacts'] .= '"'.$dict['contacts'][$key][$val].'"'; else $output['contacts'] .= '"'.$val.'"'; // Si pas dernier, on met une virgule, sinon retour à la ligne $output['contacts'] .= ($logidopen($fname, \ZipArchive::CREATE); foreach($output as $name=>$content) $zip->addFromString($name.'.csv', $content); $zip->close(); /* [4] On lance le téléchargement =========================================================*/ return array( 'ModuleError' => ManagerError::Success, 'headers' => array( 'Content-Type' => 'application/zip', 'Content-Disposition' => 'attachment; filename=phone_data.zip', 'Pragma' => 'no-cache', 'Expires' => '0' ), 'body' => file_get_contents($fname) ); } } ?>