コード例 #1
0
 /**
  * récuperation des articles et news dans leur ordre d'ajout, et paginé
  * Renvoie contenu paginé
  **/
 public function getActus()
 {
     $NbArticles = new \Manager\PressesManager();
     $Nb = $NbArticles->countPresses();
     //Renvoie le nombre d'enregistrements de la table Presses
     $NbNews = new \Manager\NewsManager();
     $NbN = $NbNews->countNews();
     $articlesParPage = 5;
     $total = $Nb[0]['nombre_articles'] + $NbN[0]['nombre_news'];
     $nombreDePages = ceil($total / $articlesParPage);
     if (isset($_GET['page'])) {
         $pageActuelle = intval($_GET['page']);
         if ($pageActuelle > $nombreDePages) {
             $pageActuelle = $nombreDePages;
         }
     } else {
         $pageActuelle = $nombreDePages;
         // La page actuelle est la n°1
     }
     $premiereEntree = ($pageActuelle - 1) * $articlesParPage;
     // On calcule la première entrée à lire
     $pagination = new \Manager\PressesManager();
     $pages = $pagination->getAllPressesPagination($premiereEntree, $articlesParPage);
     function array_sort($array, $key)
     {
         for ($i = 0; $i < sizeof($array); $i++) {
             $sort_values[$i] = $array[$i][$key];
         }
         asort($sort_values);
         reset($sort_values);
         while (list($arr_key, $arr_val) = each($sort_values)) {
             $sorted_arr[] = $array[$arr_key];
         }
         unset($array);
         return $sorted_arr;
     }
     $pages = array_sort($pages, 'date');
     $pages = array_reverse($pages);
     $options = $this->getOptions();
     $user = $this->getuser();
     $data = array('Nb' => $Nb, 'pages' => $pages, 'total' => $total, 'nombreDePages' => $nombreDePages, 'articlesParPages' => $articlesParPage);
     $layout = array('name' => 'actus', 'user' => $user, 'options' => $options);
     $this->show('choristes/actus', ['data' => $data, 'layout' => $layout]);
 }