function obtenirSuivi($id_forum) { $forum = new AFUP_Forum($this->_bdd); $id_forum_precedent = $forum->obtenirPrecedent($id_forum); $requete = 'SELECT '; $requete .= ' COUNT(*) as nombre, '; $requete .= ' UNIX_TIMESTAMP(FROM_UNIXTIME(date, \'%Y-%m-%d\')) as jour, '; $requete .= ' id_forum '; $requete .= 'FROM'; $requete .= ' afup_inscription_forum i '; $requete .= 'WHERE '; $requete .= ' i.id_forum IN (' . (int) $id_forum . ', ' . (int) $id_forum_precedent . ') '; $requete .= 'AND '; $requete .= ' etat <> 1 '; $requete .= 'GROUP BY jour, id_forum '; $requete .= 'ORDER BY jour DESC '; $nombre_par_date = $this->_bdd->obtenirTous($requete); foreach ($nombre_par_date as $nombre) { $inscrits[$nombre['id_forum']][$nombre['jour']] = $nombre['nombre']; } if (!isset($inscrits[$id_forum])) { // Pas encore d'inscrits return false; } $debut = $forum->obtenirDebut($id_forum); $debut_precedent = $forum->obtenirDebut($id_forum_precedent); $premiere_inscription = min(array_keys($inscrits[$id_forum])); $premiere_inscription_precedent = min(array_keys($inscrits[$id_forum_precedent])); $debut_jd = gregoriantojd(date("m", $debut), date("d", $debut), date("Y", $debut)); $premiere_inscription_jd = gregoriantojd(date("m", $premiere_inscription), date("d", $premiere_inscription), date("Y", $premiere_inscription)); $debut_precedent_jd = gregoriantojd(date("m", $debut_precedent), date("d", $debut_precedent), date("Y", $debut_precedent)); $premiere_inscription_precedent_jd = gregoriantojd(date("m", $premiere_inscription_precedent), date("d", $premiere_inscription_precedent), date("Y", $premiere_inscription_precedent)); $ecart = max($debut_jd - $premiere_inscription_jd, $debut_precedent_jd - $premiere_inscription_precedent_jd); $suivis = array(); $total_cumule = 0; $total_cumule_precedent = 0; $aujourdhui = mktime(0, 0, 0, date("m"), date("d"), date("Y")); for ($i = $ecart; $i--; $i == 0) { $jour = mktime(0, 0, 0, date("m", $debut), date("d", $debut) - $i, date("Y", $debut)); if (isset($inscrits[$id_forum][$jour])) { $total_cumule += $inscrits[$id_forum][$jour]; } $jour_precedent = mktime(0, 0, 0, date("m", $debut_precedent), date("d", $debut_precedent) - $i, date("Y", $debut_precedent)); if (isset($inscrits[$id_forum_precedent][$jour_precedent])) { $total_cumule_precedent += $inscrits[$id_forum_precedent][$jour_precedent]; } if ($jour < $aujourdhui) { $periode = "avant"; } elseif ($jour > $aujourdhui) { $periode = "apres"; } else { $periode = "aujourdhui"; } $suivis[] = array('periode' => $periode, 'jour' => date("d/m/Y", $jour), 'n' => $total_cumule, 'n_1' => $total_cumule_precedent); } return $suivis; }
<?php // Impossible to access the file itself if (!defined('PAGE_LOADED_USING_INDEX')) { trigger_error("Direct access forbidden.", E_USER_ERROR); exit; } require_once dirname(__FILE__) . '/../../../sources/Afup/AFUP_Inscriptions_Forum.php'; require_once dirname(__FILE__) . '/../../../sources/Afup/AFUP_Facturation_Forum.php'; require_once dirname(__FILE__) . '/../../../sources/Afup/AFUP_Forum.php'; $forum = new AFUP_Forum($bdd); $forum_inscriptions = new AFUP_Inscriptions_Forum($bdd); if (!isset($_GET['id_forum']) || intval($_GET['id_forum']) == 0) { $_GET['id_forum'] = $forum->obtenirDernier(); } $smarty->assign('id_forum', $_GET['id_forum']); $smarty->assign('forum_avenir', $forum->obtenir((int) $_GET['id_forum'])); $id_precedent = $forum->obtenirPrecedent((int) $_GET['id_forum']); $smarty->assign('forum_precedent', $forum->obtenir($id_precedent)); $smarty->assign('forums', $forum->obtenirListe()); $suiviBrut = $forum_inscriptions->obtenirSuivi($_GET['id_forum']); $smarty->assign('suivis', $suiviBrut); $n = $n_1 = array(); if ($suiviBrut != false) { foreach ($suiviBrut as $s) { $n[] = $s['n']; $n_1[] = $s['n_1']; } } $smarty->assign('n', implode(', ', $n)); $smarty->assign('n_1', implode(', ', $n_1));