X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fstats.php;h=767db42491315ba8ab15ecc8e631aec5096aff1b;hb=f04660bfe4add5cf47297d81d304274d3ef4d42e;hp=850c745911930f306c3fd47cd1451143b5450208;hpb=9fd2ca04a8dc69399601808c83054ef308246202;p=platal.git diff --git a/modules/stats.php b/modules/stats.php index 850c745..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), ); @@ -108,7 +108,7 @@ set size 640/480 set xdata time set timefmt "%d/%m/%y" -set format x "%m/%y" +set format x "%d/%m\\n%Y" set yr [$ymin:$ymax] set title "Nombre d'inscrits" @@ -157,6 +157,7 @@ set xr [$first:$last] set yr [0:100] set title "Proportion de $cycle inscrits par promotion, en %." +set key left top plot "-" using 1:2 title 'inscrits' with boxes; {$registered} @@ -240,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 @@ -254,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(*) @@ -266,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);