From: Stéphane Jacob Date: Mon, 6 Jun 2011 11:00:15 +0000 (+0200) Subject: Improves satistics display, adds info about x, m, d. X-Git-Tag: xorg/1.1.2~45 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=bc7620106fd1c99496a06efaabb46330f9576153;p=platal.git Improves satistics display, adds info about x, m, d. Signed-off-by: Stéphane Jacob --- diff --git a/modules/marketing.php b/modules/marketing.php index 75d99e9..fdcdbaf 100644 --- a/modules/marketing.php +++ b/modules/marketing.php @@ -41,23 +41,35 @@ class MarketingModule extends PLModule $page->changeTpl('marketing/index.tpl'); $page->setTitle('Marketing'); - $alive = new ProfileFilter(new PFC_Not(new UFC_Dead())); - $registered = new ProfileFilter(new PFC_And(new UFC_Registered(true), new PFC_Not(new UFC_Dead()))); - $alive72 = new ProfileFilter(new PFC_And(new UFC_Promo('>=', UserFilter::GRADE_ING, 1972), new PFC_Not(new UFC_Dead()))); - $registered72 = new ProfileFilter(new PFC_And(new UFC_Registered(true), new UFC_Promo('>=', UserFilter::GRADE_ING, 1972), new PFC_Not(new UFC_Dead()))); - $aliveWomen = new ProfileFilter(new PFC_And(new UFC_Sex(User::GENDER_FEMALE) , new PFC_Not(new UFC_Dead()))); - $registeredWomen = new ProfileFilter(new PFC_And(new UFC_Registered(true), new UFC_Sex(User::GENDER_FEMALE), new PFC_Not(new UFC_Dead()))); + $alive = array( + 'all' => new ProfileFilter(new PFC_Not(new UFC_Dead())), + 'women' => new ProfileFilter(new PFC_And(new UFC_Sex(User::GENDER_FEMALE) , new PFC_Not(new UFC_Dead()))), + 'x' => new ProfileFilter(new PFC_And(new PFC_Not(new UFC_Dead()), new UFC_AccountType('x'))), + '72' => new ProfileFilter(new PFC_And(new UFC_Promo('>=', UserFilter::GRADE_ING, 1972), new PFC_Not(new UFC_Dead()))), + 'master' => new ProfileFilter(new PFC_And(new PFC_Not(new UFC_Dead()), new UFC_AccountType('master'))), + 'phd' => new ProfileFilter(new PFC_And(new PFC_Not(new UFC_Dead()), new UFC_AccountType('phd'))) + ); + $registered = array( + 'all' => new ProfileFilter(new PFC_And(new UFC_Registered(true), new PFC_Not(new UFC_Dead()))), + 'women' => new ProfileFilter(new PFC_And(new UFC_Registered(true), new UFC_Sex(User::GENDER_FEMALE), new PFC_Not(new UFC_Dead()))), + 'x' => new ProfileFilter(new PFC_And(new UFC_Registered(true), new PFC_Not(new UFC_Dead(), new UFC_AccountType('x')))), + '72' => new ProfileFilter(new PFC_And(new UFC_Registered(true), new UFC_Promo('>=', UserFilter::GRADE_ING, 1972), new PFC_Not(new UFC_Dead()))), + 'master' => new ProfileFilter(new PFC_And(new UFC_Registered(true), new PFC_Not(new UFC_Dead()), new UFC_AccountType('master'))), + 'phd' => new ProfileFilter(new PFC_And(new UFC_Registered(true), new PFC_Not(new UFC_Dead()), new UFC_AccountType('phd'))) + ); $statistics = array( - 'alive' => $alive->getTotalCount(), - 'registered' => $registered->getTotalCount(), - 'alive72' => $alive72->getTotalCount(), - 'registered72' => $registered72->getTotalCount(), - 'womenAlive' => $aliveWomen->getTotalCount(), - 'womenRegistered' => $registeredWomen->getTotalCount(), + 'all' => array('description' => "Étudiants et anciens de l'X"), + 'women' => array('description' => "Étudiantes et anciennes de l'X"), + 'x' => array('description' => 'X'), + '72' => array('description' => 'X vivants depuis la promo 1972'), + 'master' => array('description' => "Masters de l'X"), + 'phd' => array('description' => "Docteurs de l'X") ); - $statistics['registeredRate'] = $statistics['registered'] / $statistics['alive'] * 100; - $statistics['registeredRate72'] = $statistics['registered72'] / $statistics['alive72'] * 100; - $statistics['womenRegisteredRate'] = $statistics['womenRegistered'] / $statistics['womenAlive'] * 100; + foreach ($statistics as $key => &$data) { + $data['alive'] = $alive[$key]->getTotalCount(); + $data['registered'] = $registered[$key]->getTotalCount(); + $data['rate'] = round($data['registered'] / $data['alive'] * 100, 2); + } $registeredWeek = new ProfileFilter(new PFC_And(new UFC_Registered(true, '>=', strtotime('1 week ago')), new PFC_Not(new UFC_Dead()))); $registrationPending = XDB::fetchOneCell('SELECT COUNT(*) diff --git a/templates/marketing/index.tpl b/templates/marketing/index.tpl index a137e24..9fd3291 100644 --- a/templates/marketing/index.tpl +++ b/templates/marketing/index.tpl @@ -39,24 +39,25 @@
-

-nombre d'étudiants et anciens de l'X vivants d'après notre base de données : {$statistics.alive}
-nombre d'étudiants et anciens de l'X vivants inscrits à Polytechnique.org : {$statistics.registered}
-Soit un pourcentage d'inscrits de : {$statistics.registeredRate} %
-

- -

-Parmi ceux-ci :
-nombre d'X vivants depuis la promo 1972 d'après notre base de données : {$statistics.alive72}
-nombre d'X vivants depuis la promo 1972 inscrits à Polytechnique.org : {$statistics.registered72}
-Soit un pourcentage d'inscrits de : {$statistics.registeredRate72} %
-

- -

-nombre de étudiantes et anciennes de l'X vivantes : {$statistics.womenAlive}
-nombre de étudiantes et anciennes de l'X vivantes et inscrites : {$statistics.womenRegistered}
-Soit un pourcentage d'inscrites de : {$statistics.womenRegisteredRate} %
-

+ + + + + + + + + + + {foreach from=$statistics item=data} + + + + + + + {/foreach} +
Statistiques
VivantsInscritsPourcentage
{$data.description}{$data.alive}{$data.registered}{$data.rate}

nombre d'inscrits ces 7 derniers jours : {$registrations.week}
@@ -69,35 +70,35 @@ nombre d'inscriptions en cours (2ème phase non   - Non abouti - Abouti - Total + Non abouti + Abouti + Total Personnel - {$marketings.noPerso} - {$marketings.ok} - {$marketings.ok+$marketings.noPerso+$marketings.noXorg+$marketings.noAX} + {$marketings.noPerso} + {$marketings.ok} + {$marketings.ok+$marketings.noPerso+$marketings.noXorg+$marketings.noAX} Par Polytechnique.org - {$marketings.noXorg} + {$marketings.noXorg} Par l'AX - {$marketings.noAX} + {$marketings.noAX} Cette semaine - {$marketings.noWeek} - {$marketings.okWeek} - {$marketings.okWeek+$marketings.noWeek} + {$marketings.noWeek} + {$marketings.okWeek} + {$marketings.okWeek+$marketings.noWeek} Total - {$marketings.noPerso+$marketings.noXorg+$marketings.noAX} - {$marketings.ok} - {$marketings.ok+$marketings.noPerso+$marketings.noXorg+$marketings.noAX} + {$marketings.noPerso+$marketings.noXorg+$marketings.noAX} + {$marketings.ok} + {$marketings.ok+$marketings.noPerso+$marketings.noXorg+$marketings.noAX}