extranet/includes/surveillance/surveillance_tri.php
2010-03-25 10:06:58 +00:00

167 lines
5.0 KiB
PHP

<?php
/**
* Retourne le tableau pour l'affichage par défaut.
*
* @param string $tab
* Le tableau à structurer.
* @return array
* Retourne le tableau structuré
*/
function defaultTriTab($tab){
$i=0;
$tabIndex = array();
$listTrier = array();
foreach($tab as $item){
if(!array_key_exists($item['siren'], $tabIndex)){
//Création du tableau trier
$listTrier[$i]['siren'] = $item['siren'];
$listTrier[$i]['nic'] = $item['nic'];
$listTrier[$i]['rs'] = $item['rs'];
$listTrier[$i]['cp'] = $item['cp'];
$listTrier[$i]['ville'] = $item['ville'];
$listTrier[$i]['sources'][$item['source']][0] = array(
'email' => $item['email'],
'ref' => $item['ref'],
'dateAjout' => $item['dateAjout'],
'dateDerEnvoi' => $item['dateDerEnvoi'],
);
//Tableau d'index
$tabIndex[$item['siren']] = $i;
}else{
$key = $tabIndex[$item['siren']];
$source = array(
'email'=>$item['email'],
'ref'=>$item['ref'],
'dateAjout'=>$item['dateAjout'],
'dateDerEnvoi'=> $item['dateDerEnvoi'],
);
if ( array_key_exists(
$item['source'],
$listTrier[$key]['sources'] ) ){
$nbSource = count($listTrier[$key]['sources'][$item['source']]);
}else{
$nbSource = 0;
}
$listTrier[$key]['sources'][$item['source']][$nbSource] = $source;
}
$i++;
}
return $listTrier;
}
/**
* Tri la liste des entités surveillées suivant le siren.
*
* @param string $tab
* Le tableau a trier.
* @param string $sort
* Défini l'ordre de tri (asc ou desc)
* @return array
* Retourne le tableau trier
*/
function defaultTriSiren($tab, $sort = 'asc'){
//Tier listsurveillance par Siren
foreach ($tab as $key => $row) { $siren[$key] = $row['siren']; }
array_multisort($siren, SORT_ASC, $tab);
$listTrier = defaultTriTab($tab);
return $listTrier;
}
/**
* Tri la liste des entités surveillées suivant la raison sociale.
*
* @param string $tab
* Le tableau a trier.
* @param string $sort
* Défini l'ordre de tri (asc ou desc)
* @return array
* Retourne le tableau trier
*/
function defaultTriRs($tab, $sort = 'asc'){
//Tier listsurveillance par Siren
foreach ($tab as $key => $row) { $rs[$key] = $row['rs']; }
array_multisort($rs, SORT_ASC, $tab);
$listTrier = defaultTriTab($tab);
return $listTrier;
}
/**
* Retourne le tableau pour l'affichage par source.
*
* @param string $tab
* Le tableau à structurer.
* @return array
* Retourne le tableau structuré
*/
function sourceTriTab($tab){
return $tab;
}
/**
* Tri la liste des entités surveillées suivant le siren.
*
* @param string $tab
* Le tableau a trier.
* @param string $sort
* Défini l'ordre de tri (asc ou desc)
* @return array
* Retourne le tableau trier
*/
function sourceTriSiren($tab, $sort = 'asc'){
foreach ($tab as $key => $row) { $siren[$key] = $row['siren']; }
array_multisort($siren, SORT_ASC, $tab);
return $tab;
}
/**
* Tri la liste des entités surveillées suivant la raison sociale.
*
* @param string $tab
* Le tableau a trier.
* @param string $sort
* Défini l'ordre de tri (asc ou desc)
* @return array
* Retourne le tableau trier
*/
function sourceTriRs($tab, $sort = 'asc'){
foreach ($tab as $key => $row) { $rs[$key] = $row['rs']; }
array_multisort($rs, SORT_ASC, $tab);
return $tab;
}
function sourceTriDateajout($tab, $sort = 'asc'){
$listTrier = $tab;
foreach($listTrier as $item){
$dateAjoutTS = mktime(0, 0, 0, substr($item['dateAjout'],5,2), substr($item['dateAjout'],8,2), substr($item['dateAjout'],0,4));
$dateDerEnvoiTS = mktime(intval(substr($item['dateDerEnvoi'],11,2)), intval(substr($item['dateDerEnvoi'],14,2)), intval(substr($item['dateDerEnvoi'],17,2)), intval(substr($item['dateDerEnvoi'],5,2)), intval(substr($item['dateDerEnvoi'],8,2)), intval(substr($item['dateDerEnvoi'],0,4)));
$item['dateAjoutTS'] = $dateAjoutTS;
$item['dateDerEnvoiTS'] = $dateDerEnvoiTS;
}
//Tri du tableau suivant la date d'ajout
foreach ($listTrier as $key => $row) { $dateAjout[$key] = $row['dateAjoutTS']; }
array_multisort($dateAjout, SORT_ASC, $listTrier);
return $listTrier;
}
function sourceTriDatederenvoi($tab, $sort = 'asc'){
$listTrier = $tab;
foreach($listTrier as $item){
$dateAjoutTS = mktime(0, 0, 0, substr($item['dateAjout'],5,2), substr($item['dateAjout'],8,2), substr($item['dateAjout'],0,4));
$dateDerEnvoiTS = mktime(intval(substr($item['dateDerEnvoi'],11,2)), intval(substr($item['dateDerEnvoi'],14,2)), intval(substr($item['dateDerEnvoi'],17,2)), intval(substr($item['dateDerEnvoi'],5,2)), intval(substr($item['dateDerEnvoi'],8,2)), intval(substr($item['dateDerEnvoi'],0,4)));
$item['dateAjoutTS'] = $dateAjoutTS;
$item['dateDerEnvoiTS'] = $dateDerEnvoiTS;
}
//Tri du tableau suivant la date de dernier envoi
foreach ($listTrier as $key => $row) { $dateDerEnvoi[$key] = $row['dateDerEnvoiTS']; }
array_multisort($dateDerEnvoi, SORT_ASC, $listTrier);
return $listTrier;
}
function sourceTriReference($tab, $sort = 'asc'){
foreach ($tab as $key => $row) { $ref[$key] = $row['ref']; }
array_multisort($ref, SORT_ASC, $tab);
return $tab;
}
?>