function handler_marketing(&$page)
{
$page->changeTpl('marketing/index.tpl');
-
$page->setTitle('Marketing');
- $page->trigWarning("Les statistiques sont momentanéement désactivées");
+
+ $alive = new UserFilter(new PFC_Not(new UFC_Dead()));
+ $registered = new UserFilter(new PFC_And(new UFC_Registered(), new PFC_Not(new UFC_Dead())));
+ $alive72 = new UserFilter(new PFC_And(new UFC_Promo('>=', UserFilter::GRADE_ING, 1972), new PFC_Not(new UFC_Dead())));
+ $registered72 = new UserFilter(new PFC_And(new UFC_Registered(), new UFC_Promo('>=', UserFilter::GRADE_ING, 1972), new PFC_Not(new UFC_Dead())));
+ $aliveWomen = new UserFilter(new PFC_And(new UFC_Sex(User::GENDER_FEMALE) , new PFC_Not(new UFC_Dead())));
+ $registeredWomen = new UserFilter(new PFC_And(new UFC_Registered(), new UFC_Sex(User::GENDER_FEMALE), new PFC_Not(new UFC_Dead())));
+ $statistics = array(
+ 'alive' => $alive->getTotalCount(),
+ 'registered' => $registered->getTotalCount(),
+ 'alive72' => $alive72->getTotalCount(),
+ 'registered72' => $registered72->getTotalCount(),
+ 'womenAlive' => $aliveWomen->getTotalCount(),
+ 'womenRegistered' => $registeredWomen->getTotalCount(),
+ );
+ $statistics['registeredRate'] = $statistics['registered'] / $statistics['alive'] * 100;
+ $statistics['registeredRate72'] = $statistics['registered72'] / $statistics['alive72'] * 100;
+ $statistics['womenRegisteredRate'] = $statistics['womenRegistered'] / $statistics['womenAlive'] * 100;
+
+ $registeredWeek = new UserFilter(new PFC_And(new UFC_Registered(false, '>=', strtotime('1 week ago')), new PFC_Not(new UFC_Dead())));
+ $registrationPending = XDB::fetchOneCell('SELECT COUNT(*)
+ FROM register_pending');
+ $registrations = array(
+ 'week' => $registeredWeek->getTotalCount(),
+ 'pending' => $registrationPending,
+ );
+
+ $ok = XDB::fetchOneCell('SELECT COUNT(*)
+ FROM register_mstats
+ WHERE success != \'0000-00-00\'');
+ $okWeek = XDB::fetchOneCell('SELECT COUNT(*)
+ FROM register_mstats
+ WHERE success >= {?}', strtotime('1 week ago'));
+ $res = XDB::fetchAllAssoc('SELECT type, COUNT(*) as count
+ FROM register_marketing
+ GROUP BY type');
+ $no = array();
+ foreach ($res as $value) {
+ $no[$value['type']] = $value['count'];
+ }
+ $no['week'] = XDB::fetchOneCell('SELECT COUNT(*)
+ FROM register_marketing
+ WHERE last >= {?}', strtotime('1 week ago'));
+ $marketings = array(
+ 'ok' => $ok,
+ 'okWeek' => $okWeek,
+ 'noPerso' => (isset($no['user']) ? $no['user'] : 0),
+ 'noXorg' => (isset($no['staff']) ? $no['staff'] : 0),
+ 'noAX' => (isset($no['ax']) ? $no['ax'] : 0),
+ 'noWeek' => $no['week'],
+ );
+
+ $page->assign('statistics', $statistics);
+ $page->assign('registrations', $registrations);
+ $page->assign('marketings', $marketings);
}
function handler_private(&$page, $hruid = null,
<br />
<p>
-Nombre d'X vivants d'après notre base de données : {$stats.vivants}<br />
-Nombre d'X vivants inscrits à Polytechnique.org : {$stats.inscrits}<br />
-Soit un pourcentage d'inscrits de : {$stats.ins_rate} %<br />
+nombre d'X vivants d'après notre base de données : {$statistics.alive}<br />
+nombre d'X vivants inscrits à Polytechnique.org : {$statistics.registered}<br />
+Soit un pourcentage d'inscrits de : {$statistics.registeredRate} %<br />
</p>
<p>
Parmi ceux-ci :<br />
-Nombre d'X vivants depuis 1972 d'après notre base de données : {$stats.vivants72}<br />
-Nombre d'X vivants depuis 1972 inscrits à Polytechnique.org : {$stats.inscrits72}<br />
-Soit un pourcentage d'inscrits de : {$stats.ins72_rate} %<br />
+nombre d'X vivants depuis 1972 d'après notre base de données : {$statistics.alive72}<br />
+nombre d'X vivants depuis 1972 inscrits à Polytechnique.org : {$statistics.registered72}<br />
+Soit un pourcentage d'inscrits de : {$statistics.registeredRate72} %<br />
</p>
<p>
-Nombre de Polytechniciennes vivantes : {$stats.vivantes}<br />
-Nombre de Polytechniciennes vivantes et inscrites : {$stats.inscrites}<br />
-Soit un pourcentage d'inscrites de : {$stats.inse_rate} %<br />
+nombre de Polytechniciennes vivantes : {$statistics.womenAlive}<br />
+nombre de Polytechniciennes vivantes et inscrites : {$statistics.womenRegistered}<br />
+Soit un pourcentage d'inscrites de : {$statistics.womenRegisteredRate} %<br />
</p>
<p>
-Nombre d'<a href="marketing/this_week">inscrits ces 7 derniers jours</a> : {$nbInsSem}<br />
-Nombre d'<a href="marketing/relance">inscriptions en cours</a> (2ème phase non terminée) : {$nbInsEnCours}
+nombre d'<a href="marketing/this_week">inscrits ces 7 derniers jours</a> : {$registrations.week}<br />
+nombre d'<a href="marketing/relance">inscriptions en cours</a> (2ème phase non terminée) : {$registrations.pending}
</p>
<table class="bicol">
</tr>
<tr>
<td> </td>
- <td class="titre">Abouti</td>
<td class="titre">Non abouti</td>
+ <td class="titre">Abouti</td>
<td class="titre">Total</td>
</tr>
<tr>
<td>Personnel</td>
- <td>{$nbInsMarketOkPerso}</td>
- <td>{$nbInsMarketNoPerso}</td>
- <td>{$nbInsMarketOkPerso+$nbInsMarketNoPerso}</td>
+ <td>{$marketings.noPerso}</td>
+ <td rowspan="3" style="vertical-align: middle">{$marketings.ok}</td>
+ <td rowspan="3" style="vertical-align: middle">{$marketings.ok+$marketings.noPerso+$marketings.noXorg+$marketings.noAX}</td>
</tr>
<tr>
<td>Par Polytechnique.org</td>
- <td>{$nbInsMarketOkXorg}</td>
- <td>{$nbInsMarketNoXorg}</td>
- <td>{$nbInsMarketOkXorg+$nbInsMarketNoXorg}</td>
+ <td>{$marketings.noXorg}</td>
+ </tr>
+ <tr>
+ <td>Par l'AX</td>
+ <td>{$marketings.noAX}</td>
</tr>
<tr>
<td>Cette semaine</td>
- <td>{$nbInsMarketOkWeek}</td>
- <td>{$nbInsMarketNoWeek}</td>
- <td>{$nbInsMarketOkWeek+$nbInsMarketNoWeek}</td>
+ <td>{$marketings.noWeek}</td>
+ <td>{$marketings.okWeek}</td>
+ <td>{$marketings.okWeek+$marketings.noWeek}</td>
</tr>
<tr>
<td class="titre">Total</td>
- <td>{$nbInsMarketOkPerso+$nbInsMarketOkXorg}</td>
- <td>{$nbInsMarketNoPerso+$nbInsMarketNoXorg}</td>
- <td>{$nbInsMarketOkPerso+$nbInsMarketOkXorg+$nbInsMarketNoPerso+$nbInsMarketNoXorg}</td>
+ <td>{$marketings.noPerso+$marketings.noXorg+$marketings.noAX}</td>
+ <td>{$marketings.ok}</td>
+ <td>{$marketings.ok+$marketings.noPerso+$marketings.noXorg+$marketings.noAX}</td>
</tr>
</table>
{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
+