コード例 #1
0
 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;
 }
コード例 #2
0
ファイル: forum_suivi.php プロジェクト: fferriere/web
<?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));