/** * 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]); }