From: x2000habouzit Date: Tue, 4 Jul 2006 22:41:19 +0000 (+0000) Subject: Marketing module rewritten (mostly) X-Git-Tag: xorg/0.9.11~519 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=15a094c09faa49d0cc9e3924d5d1200035b2d06e;p=platal.git Marketing module rewritten (mostly) it has to be tested, and URI's to be optimised a bit more. git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@374 839d8a87-29fc-0310-9880-83ba4fa771e5 --- diff --git a/ChangeLog b/ChangeLog index 934038d..841a5a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,9 @@ New: * Emails: - Switch to the new URI scheme. -MC + * Marketing: + - Switch to the new URI scheme. -MC + * Search: - Switch to the new URI scheme. -MC diff --git a/classes/Platal.php b/classes/Platal.php index 719591b..fe55885 100644 --- a/classes/Platal.php +++ b/classes/Platal.php @@ -68,10 +68,15 @@ class Platal return PL_NOT_FOUND; } + $hook = $this->__hooks[$p]; + + if (!is_callable($hook['hook'])) { + return PL_NOT_FOUND; + } + $args = array_merge(array(&$page), explode('/', substr($this->path, strlen($p) + 1))); - $hook = $this->__hooks[$p]; if ($hook['auth'] > Session::get('auth', AUTH_PUBLIC)) { $_SESSION['session']->doAuth($page); } diff --git a/hooks/tmp.inc.php b/hooks/tmp.inc.php index d3fd8f1..9d44d0d 100644 --- a/hooks/tmp.inc.php +++ b/hooks/tmp.inc.php @@ -23,27 +23,27 @@ function tmp_menu() { global $globals; - $globals->menu->addPrivateEntry(XOM_CUSTOM, 10, 'Mon profil', 'profil.php'); - $globals->menu->addPrivateEntry(XOM_CUSTOM, 20, 'Mes contacts', 'carnet/mescontacts.php'); - $globals->menu->addPrivateEntry(XOM_CUSTOM, 30, 'Mon carnet', 'carnet/'); - $globals->menu->addPrivateEntry(XOM_CUSTOM, 40, 'Mon mot de passe', 'motdepasse.php'); - $globals->menu->addPrivateEntry(XOM_CUSTOM, 50, 'Mes préférences', 'preferences.php'); + $globals->menu->addPrivateEntry(XOM_CUSTOM, 10, 'Mon profil', 'profil.php'); + $globals->menu->addPrivateEntry(XOM_CUSTOM, 20, 'Mes contacts', 'carnet/mescontacts.php'); + $globals->menu->addPrivateEntry(XOM_CUSTOM, 30, 'Mon carnet', 'carnet/'); + $globals->menu->addPrivateEntry(XOM_CUSTOM, 40, 'Mon mot de passe', 'motdepasse.php'); + $globals->menu->addPrivateEntry(XOM_CUSTOM, 50, 'Mes préférences', 'preferences.php'); - $globals->menu->addPrivateEntry(XOM_GROUPS, 10, 'Trombi/Site promo', 'trombipromo.php'); - $globals->menu->addPrivateEntry(XOM_GROUPS, 20, 'Conseil Pro.', 'referent.php'); + $globals->menu->addPrivateEntry(XOM_GROUPS, 10, 'Trombi/Site promo', 'trombipromo.php'); + $globals->menu->addPrivateEntry(XOM_GROUPS, 20, 'Conseil Pro.', 'referent.php'); if ($globals->geoloc->use_map()) - $globals->menu->addPrivateEntry(XOM_GROUPS, 10, 'Planisphère', 'geoloc/'); - $globals->menu->addPrivateEntry(XOM_GROUPS, 30, 'Groupes X', 'http://www.polytechnique.net/plan.php'); + $globals->menu->addPrivateEntry(XOM_GROUPS, 10, 'Planisphère', 'geoloc/'); + $globals->menu->addPrivateEntry(XOM_GROUPS, 30, 'Groupes X', 'http://www.polytechnique.net/plan.php'); - $globals->menu->addPrivateEntry(XOM_INFOS, 10, 'Documentations', 'Docs/'); - $globals->menu->addPrivateEntry(XOM_INFOS, 20, 'Nous contacter', 'Docs/NousContacter'); - $globals->menu->addPrivateEntry(XOM_INFOS, 30, 'Carrières', 'Docs/Emploi'); + $globals->menu->addPrivateEntry(XOM_INFOS, 10, 'Documentations', 'Docs/'); + $globals->menu->addPrivateEntry(XOM_INFOS, 20, 'Nous contacter', 'Docs/NousContacter'); + $globals->menu->addPrivateEntry(XOM_INFOS, 30, 'Carrières', 'Docs/Emploi'); - $globals->menu->addPrivateEntry(XOM_ADMIN, 00, 'Marketing', 'marketing/'); - $globals->menu->addPrivateEntry(XOM_ADMIN, 10, 'Administration', 'admin/'); - $globals->menu->addPrivateEntry(XOM_ADMIN, 20, 'Clear cache', 'clear_all_cache.php'); - $globals->menu->addPrivateEntry(XOM_ADMIN, 30, 'Trackers', 'http://trackers.polytechnique.org'); - $globals->menu->addPrivateEntry(XOM_ADMIN, 40, 'Support', 'http://support.polytechnique.org'); + $globals->menu->addPrivateEntry(XOM_ADMIN, 00, 'Marketing', 'marketing'); + $globals->menu->addPrivateEntry(XOM_ADMIN, 10, 'Administration', 'admin/'); + $globals->menu->addPrivateEntry(XOM_ADMIN, 20, 'Clear cache', 'clear_all_cache.php'); + $globals->menu->addPrivateEntry(XOM_ADMIN, 30, 'Trackers', 'http://trackers.polytechnique.org'); + $globals->menu->addPrivateEntry(XOM_ADMIN, 40, 'Support', 'http://support.polytechnique.org'); $globals->menu->addPublicEntry(XOM_US, 00, 'Me connecter !', 'login.php'); $globals->menu->addPublicEntry(XOM_US, 10, 'M\'inscrire', 'register/'); diff --git a/htdocs/marketing/index.php b/htdocs/marketing/index.php deleted file mode 100644 index d908c7b..0000000 --- a/htdocs/marketing/index.php +++ /dev/null @@ -1,58 +0,0 @@ -assign('xorg_title','Polytechnique.org - Marketing'); - -# Quelques statistiques - -$res = $globals->xdb->query( - "SELECT COUNT(*) AS vivants, - COUNT(NULLIF(perms='admin' OR perms='user', 0)) AS inscrits, - 100*COUNT(NULLIF(perms='admin' OR perms='user', 0))/COUNT(*) AS ins_rate, - COUNT(NULLIF(promo >= 1972, 0)) AS vivants72, - COUNT(NULLIF(promo >= 1972 AND (perms='admin' OR perms='user'), 0)) AS inscrits72, - 100 * COUNT(NULLIF(promo >= 1972 AND (perms='admin' OR perms='user'), 0)) / - COUNT(NULLIF(promo >= 1972, 0)) AS ins72_rate, - COUNT(NULLIF(FIND_IN_SET('femme', flags), 0)) AS vivantes, - COUNT(NULLIF(FIND_IN_SET('femme', flags) AND (perms='admin' OR perms='user'), 0)) AS inscrites, - 100 * COUNT(NULLIF(FIND_IN_SET('femme', flags) AND (perms='admin' OR perms='user'), 0)) / - COUNT(NULLIF(FIND_IN_SET('femme', flags), 0)) AS inse_rate - FROM auth_user_md5 - WHERE deces = 0"); -$stats = $res->fetchOneAssoc(); -$page->assign('stats', $stats); - -$res = $globals->xdb->query("SELECT count(*) FROM auth_user_md5 WHERE date_ins > ".date('Ymd000000', strtotime('1 week ago'))); -$page->assign('nbInsSem', $res->fetchOneCell()); - -$res = $globals->xdb->query("SELECT count(*) FROM register_pending WHERE hash != 'INSCRIT'"); -$page->assign('nbInsEnCours', $res->fetchOneCell()); - -$res = $globals->xdb->query("SELECT count(*) FROM register_marketing"); -$page->assign('nbInsMarket', $res->fetchOneCell()); - -$res = $globals->xdb->query("SELECT count(*) FROM register_mstats WHERE TO_DAYS(NOW()) - TO_DAYS(success) <= 7"); -$page->assign('nbInsMarkOK', $res->fetchOneCell()); - -$page->run(); -?> diff --git a/htdocs/marketing/private.php b/htdocs/marketing/private.php deleted file mode 100644 index cb9e976..0000000 --- a/htdocs/marketing/private.php +++ /dev/null @@ -1,94 +0,0 @@ -xdb->query("SELECT nom, prenom, promo, matricule FROM auth_user_md5 WHERE user_id={?} AND perms='pending'", $uid); - -if (list($nom, $prenom, $promo, $matricule) = $res->fetchOneRow()) { - require_once('register.inc.php'); - $matricule_X = get_X_mat($matricule); - $page->gassign('nom'); - $page->gassign('prenom'); - $page->gassign('promo'); - $page->gassign('matricule'); - $page->assign('matricule_X',$matricule_X); -} else { - $page->kill('uid invalide'); -} - -if (Env::has('del')) { - $globals->xdb->execute('DELETE FROM register_marketing WHERE uid={?} AND email={?}', $uid, Env::get('del')); -} - -if (Env::has('rel') && !Env::has('valider')) { - require_once('marketing.inc.php'); - list($to, $title, $text) = mark_text_mail($uid, Env::get('rel')); - $from = mark_from_mail($uid, Env::get('rel')); - $page->assign('rel_from_user', $from); - $page->assign('rel_from_staff', "\"Equipe Polytechnique.org\" "); - $page->assign('rel_to', $to); - $page->assign('rel_title', $title); - $page->assign('rel_text', $text); -} - -if (Env::get('valider') == 'Envoyer') { - require_once('marketing.inc.php'); - mark_send_mail($uid, Env::get('rel'), Env::get('from'), Env::get('to'), Env::get('title'), Env::get('message')); - $page->trig("Mail envoyé"); -} - -if (Env::has('relance')) { - require_once('marketing.inc.php'); - if (relance($uid)) { - $page->trig('relance faite'); - } -} - -if (Env::get('action') == 'ajouter') { - $globals->xdb->execute( - "INSERT INTO register_marketing - SET uid = {?}, sender = {?}, email = {?}, - date = NOW(), type = {?}", - $uid, Session::get('uid'), Env::get('email'), Env::get('type')); -} - -$res = $globals->xdb->iterator( - "SELECT r.*, a.alias - FROM register_marketing AS r - INNER JOIN aliases AS a ON (r.sender=a.id AND a.type = 'a_vie') - WHERE uid={?} - ORDER BY date", $uid); -$page->assign('addr', $res); - -$res = $globals->xdb->query("SELECT date, relance FROM register_pending WHERE uid = {?}", $uid); -if (list($pending, $relance) = $res->fetchOneCell()) { - $page->gassign('pending'); - $page->gassign('relance'); -} - - -$page->run(); - -// vim:set et sw=4 sws=4 sts=4: -?> diff --git a/htdocs/marketing/promo.php b/htdocs/marketing/promo.php deleted file mode 100644 index f5110fb..0000000 --- a/htdocs/marketing/promo.php +++ /dev/null @@ -1,41 +0,0 @@ -assign('promo', $promo); - -$sql = "SELECT u.user_id, u.nom, u.prenom, u.last_known_email, u.matricule_ax, - IF(MAX(m.last)>p.relance, MAX(m.last), p.relance) AS dern_rel, p.email - FROM auth_user_md5 AS u - LEFT JOIN register_pending AS p ON p.uid = u.user_id - LEFT JOIN register_marketing AS m ON m.uid = u.user_id - WHERE u.promo = {?} AND u.deces = 0 AND u.perms='pending' - GROUP BY u.user_id - ORDER BY nom, prenom"; -$page->assign('nonins', $globals->xdb->iterator($sql, $promo)); - -$page->run(); - -?> diff --git a/htdocs/marketing/public.php b/htdocs/marketing/public.php deleted file mode 100644 index b7191d9..0000000 --- a/htdocs/marketing/public.php +++ /dev/null @@ -1,60 +0,0 @@ -xdb->query("SELECT nom, prenom, promo FROM auth_user_md5 WHERE user_id={?} AND perms='pending'", $uid); - -if (list($nom, $prenom, $promo) = $res->fetchOneRow()) { - $page->assign('prenom', $prenom); - $page->assign('nom', $nom); - $page->assign('promo', $promo); - - if (Env::has('valide')) { - require_once('xorg.misc.inc.php'); - - $email = trim(Env::get('mail')); - $res = $globals->xdb->query('SELECT COUNT(*) FROM register_marketing WHERE uid={?} AND email={?}', $uid, $email); - - if (!isvalid_email_redirection($email)) { - $page->trig("Email invalide !"); - } elseif ($res->fetchOneCell()) { - $page->assign('already', true); - } else { - $page->assign('ok', true); - $globals->xdb->execute( - "INSERT INTO register_marketing (uid,sender,email,date,last,nb,type,hash) - VALUES ({?}, {?}, {?}, NOW(), 0, 0, {?}, '')", - $uid, Session::getInt('uid'), $email, Env::get('origine')); - require_once('validations.inc.php'); - $req = new MarkReq(Session::getInt('uid'), $uid, $email, Env::get('origine')=='user'); - $req->submit(); - } - } -} - -$page->run(); -?> diff --git a/htdocs/marketing/relance.php b/htdocs/marketing/relance.php deleted file mode 100644 index 66b8ea4..0000000 --- a/htdocs/marketing/relance.php +++ /dev/null @@ -1,47 +0,0 @@ -xdb->query("SELECT COUNT(*) FROM auth_user_md5 WHERE deces=0"); - $nbdix = $res->fetchOneCell(); - - $sent = Array(); - foreach (array_keys($_POST['relance']) as $uid) { - if ($tmp = relance($uid, $nbdix)) { - $sent[] = $tmp.' a été relancé'; - } - } - $page->assign('sent', $sent); -} - -$sql = "SELECT r.date, r.relance, r.uid, u.promo, u.nom, u.prenom - FROM register_pending AS r - INNER JOIN auth_user_md5 AS u ON r. uid = u.user_id - WHERE hash!='INSCRIT' - ORDER BY date DESC"; -$page->assign('relance', $globals->xdb->iterator($sql)); - -$page->run(); -?> diff --git a/htdocs/marketing/this_week.php b/htdocs/marketing/this_week.php deleted file mode 100644 index 48c8455..0000000 --- a/htdocs/marketing/this_week.php +++ /dev/null @@ -1,35 +0,0 @@ - ".date("Ymd000000", strtotime ('1 week ago'))." - ORDER BY u.$sort DESC"; -$page->assign('ins', $globals->xdb->iterator($sql)); - -$page->run(); -?> diff --git a/htdocs/marketing/volontaire.php b/htdocs/marketing/volontaire.php deleted file mode 100644 index 45ea698..0000000 --- a/htdocs/marketing/volontaire.php +++ /dev/null @@ -1,44 +0,0 @@ -xdb->query( - "SELECT - DISTINCT a.promo - FROM register_marketing AS m - INNER JOIN auth_user_md5 AS a ON a.user_id = m.uid - ORDER BY a.promo"); -$page->assign('promos', $res->fetchColumn()); - - -if (Env::has('promo')) { - $sql = "SELECT a.nom, a.prenom, a.user_id, - m.email, sa.alias AS forlife - FROM register_marketing AS m - INNER JOIN auth_user_md5 AS a ON a.user_id = m.uid AND a.promo = {?} - INNER JOIN aliases AS sa ON (m.sender = sa.id AND sa.type='a_vie') - ORDER BY a.nom"; - $page->assign('addr', $globals->xdb->iterator($sql, Env::get('promo'))); -} -$page->run(); -?> diff --git a/install.d/marketing.files b/install.d/marketing.files index 1086f37..eeb87fe 100644 --- a/install.d/marketing.files +++ b/install.d/marketing.files @@ -1,11 +1 @@ -htdocs/marketing/index.php -htdocs/marketing/promo.php -htdocs/marketing/public.php -htdocs/marketing/relance.php -htdocs/marketing/volontaire.php templates/mails/marketing.relance.tpl -templates/marketing/index.tpl -templates/marketing/promo.tpl -templates/marketing/public.tpl -templates/marketing/relance.tpl -templates/marketing/volontaire.tpl diff --git a/templates/include/form.valid.mark.tpl b/templates/include/form.valid.mark.tpl index ad65feb..482f2c5 100644 --- a/templates/include/form.valid.mark.tpl +++ b/templates/include/form.valid.mark.tpl @@ -23,7 +23,7 @@ Marketing sur - {$valid->m_prenom} {$valid->m_nom} ({$valid->m_promo}) + {$valid->m_prenom} {$valid->m_nom} ({$valid->m_promo}) Mail deviné diff --git a/templates/include/minifiche.tpl b/templates/include/minifiche.tpl index 0d23f07..ee4da66 100644 --- a/templates/include/minifiche.tpl +++ b/templates/include/minifiche.tpl @@ -40,7 +40,7 @@ {if $c.dcd}décédé{if $c.sexe}e{/if} le {$c.deces|date_format}{/if} {min_auth level="cookie"} {if !$c.dcd && !$c.wasinscrit} - clique ici si tu connais son adresse email ! + clique ici si tu connais son adresse email ! {/if} {/min_auth} @@ -70,7 +70,7 @@ {perms level='admin'} {if !$c.wasinscrit && !$c.dcd} - {* + {* *}admin {elseif $c.wasinscrit} {* diff --git a/templates/marketing/index.tpl b/templates/marketing/index.tpl index c7ba536..1b81b89 100644 --- a/templates/marketing/index.tpl +++ b/templates/marketing/index.tpl @@ -20,11 +20,7 @@ {* *} {**************************************************************************} - - -

- Marketing Polytechnique.org -

+

Marketing Polytechnique.org

@@ -34,9 +30,9 @@
Chercher un non inscrit   |   - Marketing promo + Marketing promo   |   - Addresses données par les inscrits + Addresses données par les inscrits
@@ -63,8 +59,8 @@ Soit un pourcentage d'inscrites de : {$stats.inse_rate} %

-Nombre d'inscrits depuis le début de la semaine : {$nbInsSem}
-Nombre d'inscriptions en cours (2ème phase non terminée) : {$nbInsEnCours}
+Nombre d'inscrits depuis le début de la semaine : {$nbInsSem}
+Nombre d'inscriptions en cours (2ème phase non terminée) : {$nbInsEnCours}
Nombre d'envois marketing effectués n'ayant pas abouti : {$nbInsMarket}
Nombre d'envois marketing ayant abouti cette semaine : {$nbInsMarkOK}

diff --git a/templates/marketing/private.tpl b/templates/marketing/private.tpl index e82270d..0549d73 100644 --- a/templates/marketing/private.tpl +++ b/templates/marketing/private.tpl @@ -20,7 +20,6 @@ {* *} {**************************************************************************} -

Marketing de {$prenom} {$nom}

Matricules

@@ -46,13 +45,13 @@ sa derni {/if}

-

[le relancer]

+

[le relancer]

{/if}

Adresses connues

-
+ @@ -70,8 +69,8 @@ sa derni {/iterate} @@ -90,7 +89,6 @@ sa derni @@ -98,7 +96,7 @@ sa derni {if $rel_to} - +
Adresse{$a.last|date_format|default:'-'} {$a.nb|default:"-"} - del
- relance + del
+ relance
-
@@ -129,7 +127,6 @@ sa derni
Edition du mail de relance
- diff --git a/templates/marketing/promo.tpl b/templates/marketing/promo.tpl index e15ec3c..66c4b50 100644 --- a/templates/marketing/promo.tpl +++ b/templates/marketing/promo.tpl @@ -20,12 +20,10 @@ {* *} {**************************************************************************} - -
- +
@@ -33,7 +31,7 @@
-
+
@@ -41,7 +39,7 @@
-
+
Promotion : @@ -49,7 +47,7 @@
-
+
@@ -57,7 +55,7 @@
-
+
@@ -75,7 +73,7 @@
- + @@ -97,7 +95,7 @@ {/if} {iterate from=$addr item=it} - +
Nom - {* + {* *}Marketing {* *}AX diff --git a/templates/marketing/public.tpl b/templates/marketing/public.tpl index e85405b..062c090 100644 --- a/templates/marketing/public.tpl +++ b/templates/marketing/public.tpl @@ -73,7 +73,7 @@ peut sans aucun doute l'aider {$nom} inscrit, nous t'enverrons un email pour te prévenir que son inscription a réussi.

- + @@ -94,7 +94,6 @@ peut sans aucun doute l'aider
Nom :{$nom}
Prénom :{$prenom}

-
diff --git a/templates/marketing/relance.tpl b/templates/marketing/relance.tpl index a731904..7b2e1ab 100644 --- a/templates/marketing/relance.tpl +++ b/templates/marketing/relance.tpl @@ -27,7 +27,7 @@

{$l}

{/foreach} -
+ diff --git a/templates/marketing/this_week.tpl b/templates/marketing/this_week.tpl index 681176f..637c1be 100644 --- a/templates/marketing/this_week.tpl +++ b/templates/marketing/this_week.tpl @@ -28,8 +28,8 @@

Date
@@ -42,7 +42,7 @@
{$in.date_ins|date_format:"%x %X"} - {$in.promo} + {$in.promo} @@ -53,8 +53,8 @@
diff --git a/templates/marketing/volontaire.tpl b/templates/marketing/volontaire.tpl index d75c2d5..50ff7b7 100644 --- a/templates/marketing/volontaire.tpl +++ b/templates/marketing/volontaire.tpl @@ -27,14 +27,14 @@ Choix de la promo :

{foreach from=$promos item=p} -{$p} +{$p} {cycle values=",,,,,,,,,,,,,,
"} {/foreach}

{if $addr} -

[Marketing promo pour la promo {$smarty.get.promo}]

+

[Marketing promo pour la promo {$smarty.get.promo}]

{if $addr->total()}

Marketing volontaire

@@ -46,7 +46,7 @@ Choix de la promo :
{$it.nom} {$it.prenom}{$it.nom} {$it.prenom} {$it.email} {$it.forlife}