Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 357 → Rev 358

/trunk/controleurs/AppControleur.php
156,58 → 156,48
* @return string le html contenu la template de pagination rempli avec les infos
*/
protected function paginer($numero_page = 1, $taille_page = 50, $total, $url_base, $valeurs) {
 
// TODO, faire plus complexe, tri alphabétique etc...
$page_precedente = $numero_page-1;
$page_suivante = $numero_page+1;
 
if($taille_page <= 0) {
$taille_page = 1;
}
 
$nombre_pages = ceil($total/$taille_page) ;
 
foreach($valeurs as $cle => $variable) {
$start = ($numero_page - 1)*$taille_page;
$limit = $taille_page;
$intervalle_pages = 5;
$page_en_cours = $numero_page;
$pages_avant_apres = (ceil($intervalle_pages /2) + 1);
$pages_debut_intervalle = 0;
$nb_pages = 0;
if ($page_en_cours < $pages_avant_apres) {
$pages_debut_intervalle = 1;
} else {
$pages_debut_intervalle = $page_en_cours - $pages_avant_apres + 2;
}
$pages_a_afficher = $intervalle_pages;
$intervalle_max = (($page_en_cours) * $limit);
foreach($valeurs as $cle => $variable) {
$url_base->setVariableRequete($cle,$variable);
}
}
$donnees['url_base_pagination'] = $url_base->getUrl().'&amp;taille_page='.$taille_page.'&amp;numero_page=';
$nb_pages = ceil($total/$limit);
 
if($numero_page < 2) {
$page_precedente = false;
$url_page_precedente = '';
} else {
$url_page_prec = clone($url_base);
$url_page_prec->setVariableRequete('numero_page',($page_precedente));
$url_page_prec->setVariableRequete('taille_page',($taille_page));
$url_page_precedente = $url_page_prec->getUrl();
}
 
if($taille_page*($numero_page) >= $total) {
$page_suivante = false;
$url_page_suivante = '';
} else {
$url_page_suiv = clone($url_base);
$url_page_suiv->setVariableRequete('numero_page',($page_suivante));
$url_page_suiv->setVariableRequete('taille_page',($taille_page));
$url_page_suivante = $url_page_suiv->getUrl();
}
 
$url_pages = array();
 
for($i = 1; $i <= $nombre_pages ; $i++) {
 
$url_page_prev = clone($url_base);
$url_page_prev->setVariableRequete('numero_page',($i));
$url_page_prev->setVariableRequete('taille_page',($taille_page));
$url_pages[$i] = $url_page_prev->getUrl();
}
 
$donnees = array('url_pages' => $url_pages, 'numero_page' => $numero_page,
'page_precedente' => $page_precedente, 'page_suivante' => $page_suivante,
'url_page_precedente' => $url_page_precedente, 'url_page_suivante' => $url_page_suivante,
'nombre_pages' => $nombre_pages, 'taille_page' => $taille_page);
$donnees['base_url_pagination'] = $url_base;
 
return $this->getVue(Config::get('dossier_squelettes_elements').'pagination',$donnees);
if ($page_en_cours == $nb_pages) {
$intervalle_max = $total;
}
$donnees['pages_taille_intervalle'] = $intervalle_pages;
$donnees['pages_debut_intervalle'] = $pages_debut_intervalle;
$donnees['page_en_cours'] = $page_en_cours;
$donnees['intervalle_min'] = (($page_en_cours-1) * $limit);
$donnees['intervalle_max'] = $intervalle_max;
$donnees['nb_resultats'] = $total;
$donnees['nb_pages'] = $nb_pages;
$donnees['taille_page'] = $limit;
return $this->getVue(Config::get('dossier_squelettes_elements').'pagination',$donnees);
}
 
511,7 → 501,7
 
$valeurs_annuaire = $this->AnnuaireModele->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur,$tableau_mappage[0]);
$valeurs_metadonnees= $this->MetadonneeModele->chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur);
foreach($tableau_mappage[0] as $cle => $nom_champ) {
 
if($cle != 'champ_id') {