X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fstats.php;h=767db42491315ba8ab15ecc8e631aec5096aff1b;hb=caa04db802a6ad12650360cf36fd2a730b7d69fb;hp=df2212a34d473c0fbcc7d251f7d9802a98a664bb;hpb=4490b7640a4745db82de43ef228d774e977f9be2;p=platal.git diff --git a/modules/stats.php b/modules/stats.php index df2212a..767db42 100644 --- a/modules/stats.php +++ b/modules/stats.php @@ -36,11 +36,11 @@ class StatsModule extends PLModule function handlers() { return array( - 'stats' => $this->make_hook('stats', AUTH_COOKIE), - 'stats/evolution' => $this->make_hook('evolution', AUTH_COOKIE), - 'stats/graph' => $this->make_hook('graph', AUTH_COOKIE), - 'stats/graph/evolution' => $this->make_hook('graph_evo', AUTH_COOKIE), - 'stats/promos' => $this->make_hook('promos', AUTH_COOKIE), + 'stats' => $this->make_hook('stats', AUTH_COOKIE, 'user'), + 'stats/evolution' => $this->make_hook('evolution', AUTH_COOKIE, 'user'), + 'stats/graph' => $this->make_hook('graph', AUTH_COOKIE, 'user'), + 'stats/graph/evolution' => $this->make_hook('graph_evo', AUTH_COOKIE, 'user'), + 'stats/promos' => $this->make_hook('promos', AUTH_COOKIE, 'user'), 'stats/coupures' => $this->make_hook('coupures', AUTH_PUBLIC), ); @@ -241,6 +241,7 @@ EOF2; function handler_promos($page, $required_promo = null) { $page->changeTpl('stats/nb_by_promo.tpl'); + $cycles = array('X' => 'Polytechniciens', 'M' => 'Masters', 'D' => 'Docteurs'); $res = XDB::iterRow('SELECT pd.promo, COUNT(*) FROM accounts AS a @@ -255,10 +256,10 @@ EOF2; while (list($promo, $count) = $res->next()) { $prefix = substr($promo, 0, 4) . '-'; $unit = substr($promo, -1); - if(!isset($nbpromo[$prefix])) { - $nbpromo[$prefix] = array('', '', '', '', '', '', '', '', '', ''); // Empty array containing 10 cells. + if(!isset($nbpromo[$cycles[$promo{0}]][$prefix])) { + $nbpromo[$cycles[$promo{0}]][$prefix] = array('', '', '', '', '', '', '', '', '', ''); // Empty array containing 10 cells. } - $nbpromo[$prefix][$unit] = array('promo' => $promo, 'nb' => $count); + $nbpromo[$cycles[$promo{0}]][$prefix][$unit] = array('promo' => $promo, 'nb' => $count); } $count = XDB::fetchOneCell('SELECT COUNT(*) @@ -267,7 +268,7 @@ EOF2; INNER JOIN profiles AS p ON (p.pid = ap.pid) INNER JOIN profile_display AS pd ON (pd.pid = ap.pid) WHERE a.state = \'active\' AND p.deathdate IS NULL AND pd.promo = \'D (en cours)\''); - $nbpromo['D (en cours)'][0] = array('promo' => 'D (en cours)', 'nb' => $count); + $nbpromo[$cycles['D']]['D (en cours)'][0] = array('promo' => 'D (en cours)', 'nb' => $count); $page->assign_by_ref('nbs', $nbpromo); $page->assign('promo', $required_promo);