| Line 154... |
Line 154... |
| 154 |
* @param object $url_base l'url de base de la page
|
154 |
* @param object $url_base l'url de base de la page
|
| 155 |
* @param array $valeurs les valeurs à concatener à l'url
|
155 |
* @param array $valeurs les valeurs à concatener à l'url
|
| 156 |
* @return string le html contenu la template de pagination rempli avec les infos
|
156 |
* @return string le html contenu la template de pagination rempli avec les infos
|
| 157 |
*/
|
157 |
*/
|
| 158 |
protected function paginer($numero_page = 1, $taille_page = 50, $total, $url_base, $valeurs) {
|
158 |
protected function paginer($numero_page = 1, $taille_page = 50, $total, $url_base, $valeurs) {
|
| 159 |
|
159 |
|
| 160 |
// TODO, faire plus complexe, tri alphabétique etc...
|
160 |
$start = ($numero_page - 1)*$taille_page;
|
| 161 |
$page_precedente = $numero_page-1;
|
161 |
$limit = $taille_page;
|
| - |
|
162 |
$intervalle_pages = 5;
|
| - |
|
163 |
|
| 162 |
$page_suivante = $numero_page+1;
|
164 |
$page_en_cours = $numero_page;
|
| 163 |
|
165 |
|
| - |
|
166 |
$pages_avant_apres = (ceil($intervalle_pages /2) + 1);
|
| - |
|
167 |
$pages_debut_intervalle = 0;
|
| 164 |
if($taille_page <= 0) {
|
168 |
$nb_pages = 0;
|
| - |
|
169 |
|
| - |
|
170 |
if ($page_en_cours < $pages_avant_apres) {
|
| 165 |
$taille_page = 1;
|
171 |
$pages_debut_intervalle = 1;
|
| - |
|
172 |
} else {
|
| - |
|
173 |
$pages_debut_intervalle = $page_en_cours - $pages_avant_apres + 2;
|
| 166 |
}
|
174 |
}
|
| 167 |
|
175 |
|
| 168 |
$nombre_pages = ceil($total/$taille_page) ;
|
176 |
$pages_a_afficher = $intervalle_pages;
|
| - |
|
177 |
|
| - |
|
178 |
$intervalle_max = (($page_en_cours) * $limit);
|
| 169 |
|
179 |
|
| 170 |
foreach($valeurs as $cle => $variable) {
|
180 |
foreach($valeurs as $cle => $variable) {
|
| 171 |
$url_base->setVariableRequete($cle,$variable);
|
181 |
$url_base->setVariableRequete($cle,$variable);
|
| 172 |
}
|
182 |
}
|
| - |
|
183 |
$donnees['url_base_pagination'] = $url_base->getUrl().'&taille_page='.$taille_page.'&numero_page=';
|
| 173 |
|
184 |
|
| 174 |
if($numero_page < 2) {
|
- |
|
| 175 |
$page_precedente = false;
|
- |
|
| 176 |
$url_page_precedente = '';
|
- |
|
| 177 |
} else {
|
- |
|
| 178 |
$url_page_prec = clone($url_base);
|
185 |
$nb_pages = ceil($total/$limit);
|
| 179 |
$url_page_prec->setVariableRequete('numero_page',($page_precedente));
|
- |
|
| 180 |
$url_page_prec->setVariableRequete('taille_page',($taille_page));
|
- |
|
| 181 |
$url_page_precedente = $url_page_prec->getUrl();
|
- |
|
| 182 |
}
|
- |
|
| 183 |
|
186 |
|
| 184 |
if($taille_page*($numero_page) >= $total) {
|
187 |
if ($page_en_cours == $nb_pages) {
|
| 185 |
$page_suivante = false;
|
188 |
$intervalle_max = $total;
|
| 186 |
$url_page_suivante = '';
|
- |
|
| 187 |
} else {
|
- |
|
| 188 |
$url_page_suiv = clone($url_base);
|
- |
|
| 189 |
$url_page_suiv->setVariableRequete('numero_page',($page_suivante));
|
- |
|
| 190 |
$url_page_suiv->setVariableRequete('taille_page',($taille_page));
|
- |
|
| 191 |
$url_page_suivante = $url_page_suiv->getUrl();
|
- |
|
| 192 |
}
|
189 |
}
|
| 193 |
|
- |
|
| 194 |
$url_pages = array();
|
- |
|
| 195 |
|
- |
|
| 196 |
for($i = 1; $i <= $nombre_pages ; $i++) {
|
- |
|
| 197 |
|
190 |
|
| 198 |
$url_page_prev = clone($url_base);
|
- |
|
| 199 |
$url_page_prev->setVariableRequete('numero_page',($i));
|
191 |
$donnees['pages_taille_intervalle'] = $intervalle_pages;
|
| 200 |
$url_page_prev->setVariableRequete('taille_page',($taille_page));
|
192 |
$donnees['pages_debut_intervalle'] = $pages_debut_intervalle;
|
| 201 |
$url_pages[$i] = $url_page_prev->getUrl();
|
193 |
$donnees['page_en_cours'] = $page_en_cours;
|
| 202 |
}
|
- |
|
| 203 |
|
- |
|
| 204 |
$donnees = array('url_pages' => $url_pages, 'numero_page' => $numero_page,
|
194 |
$donnees['intervalle_min'] = (($page_en_cours-1) * $limit);
|
| 205 |
'page_precedente' => $page_precedente, 'page_suivante' => $page_suivante,
|
195 |
$donnees['intervalle_max'] = $intervalle_max;
|
| 206 |
'url_page_precedente' => $url_page_precedente, 'url_page_suivante' => $url_page_suivante,
|
196 |
$donnees['nb_resultats'] = $total;
|
| 207 |
'nombre_pages' => $nombre_pages, 'taille_page' => $taille_page);
|
197 |
$donnees['nb_pages'] = $nb_pages;
|
| 208 |
$donnees['base_url_pagination'] = $url_base;
|
198 |
$donnees['taille_page'] = $limit;
|
| 209 |
|
199 |
|
| 210 |
return $this->getVue(Config::get('dossier_squelettes_elements').'pagination',$donnees);
|
200 |
return $this->getVue(Config::get('dossier_squelettes_elements').'pagination',$donnees);
|
| 211 |
}
|
201 |
}
|
| Line 212... |
Line 202... |
| 212 |
|
202 |
|
| Line 509... |
Line 499... |
| 509 |
$metadonnees = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id_annuaire);
|
499 |
$metadonnees = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id_annuaire);
|
| 510 |
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
|
500 |
$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
|
| Line 511... |
Line 501... |
| 511 |
|
501 |
|
| 512 |
$valeurs_annuaire = $this->AnnuaireModele->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur,$tableau_mappage[0]);
|
502 |
$valeurs_annuaire = $this->AnnuaireModele->obtenirValeursUtilisateur($id_annuaire, $id_utilisateur,$tableau_mappage[0]);
|
| 513 |
$valeurs_metadonnees= $this->MetadonneeModele->chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur);
|
503 |
$valeurs_metadonnees= $this->MetadonneeModele->chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur);
|
| 514 |
|
504 |
|
| Line 515... |
Line 505... |
| 515 |
foreach($tableau_mappage[0] as $cle => $nom_champ) {
|
505 |
foreach($tableau_mappage[0] as $cle => $nom_champ) {
|
| Line 516... |
Line 506... |
| 516 |
|
506 |
|