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),
);
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"
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
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(*)
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);