git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-200
new_admin_page('marketing/envoidirect.tpl');
// effacement des inscrits il y a plus de 8 jours
-$globals->db->query("DELETE FROM envoidirect WHERE DATE_ADD(date_succes, INTERVAL 8 DAY) < CURRENT_DATE AND date_succes <> '0000-00-00'");
+$globals->xdb->execute("DELETE FROM envoidirect WHERE DATE_ADD(date_succes, INTERVAL 8 DAY) < CURRENT_DATE AND date_succes <> '0000-00-00'");
$sql = "SELECT e.date_succes,e.date_envoi,a.promo,a.nom,a.prenom,e.email,b.nom as sender
FROM envoidirect AS e
INNER JOIN auth_user_md5 AS a ON e.matricule = a.matricule
# Quelques statistiques
-$sql = "SELECT count(*) as vivants,
- count(NULLIF(perms!='pending', 0)) as inscrits,
- 100*count(NULLIF(perms!='pending', 0))/count(*) as ins_rate,
- count(NULLIF(promo >= 1972, 0)) as vivants72,
- count(NULLIF(promo >= 1972 AND perms!='pending', 0)) as inscrits72,
- 100 * count(NULLIF(promo >= 1972 AND perms!='pending', 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!='pending', 0)) as inscrites,
- 100 * count(NULLIF(FIND_IN_SET('femme', flags) AND perms!='pending', 0)) /
- count(NULLIF(FIND_IN_SET('femme', flags), 0)) as inse_rate
- FROM auth_user_md5
- WHERE deces = 0";
-$res = $globals->db->query($sql);
-$stats = mysql_fetch_assoc($res);
-
+$res = $globals->xdb->query(
+ "SELECT COUNT(*) AS vivants,
+ COUNT(NULLIF(perms!='pending', 0)) AS inscrits,
+ 100*COUNT(NULLIF(perms!='pending', 0))/COUNT(*) AS ins_rate,
+ COUNT(NULLIF(promo >= 1972, 0)) AS vivants72,
+ COUNT(NULLIF(promo >= 1972 AND perms!='pending', 0)) AS inscrits72,
+ 100 * COUNT(NULLIF(promo >= 1972 AND perms!='pending', 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!='pending', 0)) AS inscrites,
+ 100 * COUNT(NULLIF(FIND_IN_SET('femme', flags) AND perms!='pending', 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);
-mysql_free_result($res);
-
-$res = $globals->db->query("SELECT count(*) FROM auth_user_md5 WHERE date_ins > ".date("Ymd", strtotime ("last Monday"))."*1000000");
-list($nbInsSem) = mysql_fetch_row($res);
-mysql_free_result($res);
-$page->assign('nbInsSem', $nbInsSem);
+$res = $globals->xdb->query("SELECT count(*) FROM auth_user_md5 WHERE date_ins > ".date("Ymd", strtotime ("last Monday"))."*1000000");
+$page->assign('nbInsSem', $res->fetchOneCell());
-$res = $globals->db->query("SELECT count(*) FROM en_cours WHERE loginbis != 'INSCRIT'");
-list($nbInsEnCours) = mysql_fetch_row($res);
-mysql_free_result($res);
-$page->assign('nbInsEnCours', $nbInsEnCours);
+$res = $globals->xdb->query("SELECT count(*) FROM en_cours WHERE loginbis != 'INSCRIT'");
+$page->assign('nbInsEnCours', $res->fetchOneCell());
-$res = $globals->db->query("SELECT count(*) FROM envoidirect as e left join auth_user_md5 as a ON e.matricule = a.matricule WHERE a.nom is null");
-list($nbInsEnvDir) = mysql_fetch_row($res);
-mysql_free_result($res);
-$page->assign('nbInsEnvDir', $nbInsEnvDir);
+$res = $globals->xdb->query("SELECT count(*) FROM envoidirect as e left join auth_user_md5 as a ON e.matricule = a.matricule WHERE a.nom is null");
+$page->assign('nbInsEnvDir', $res->fetchOneCell());
$page->run();
?>
require_once("xorg.inc.php");
new_skinned_page('marketing/public.tpl', AUTH_MDP);
-if (! isset($_REQUEST["num"])) { exit; }
+if (! Env::has('num')) { exit; }
-$mat = $_REQUEST["num"];
+$mat = Env::get('num');
-$res = $globals->db->query("SELECT nom,prenom,promo FROM auth_user_md5 WHERE matricule = '$mat' AND perms='pending'");
-if (list($nom, $prenom, $promo) = mysql_fetch_row($res)) {
+$res = $globals->xdb->query("SELECT nom,prenom,promo FROM auth_user_md5 WHERE matricule={?} AND perms='pending'", $mat);
+if (list($nom, $prenom, $promo) = $res->fetchOneRow()) {
$page->assign('prenom', $prenom);
$page->assign('nom', $nom);
$page->assign('promo', $promo);
}
if (isset($_REQUEST["valide"])) {
- $globals->db->query(
- "INSERT INTO marketing
- SET expe = {$_SESSION['uid']}, dest = '$mat', email = '{$_REQUEST['mail']}', flags = '".(($_REQUEST["origine"]=="perso") ? "mail_perso" : "")."'"
- );
+ $globals->xdb->execute("INSERT INTO marketing SET expe={?}, dest={?}, email={?}, flags={?}",
+ Session::getInt('uid'), $mat, Env::get('mail'), (Env::get('origine') == 'perso' ? 'mail_perso', ''));
}
$page->run();
require_once("xorg.mailer.inc.php");
- $res=$globals->db->query("SELECT COUNT(*) FROM auth_user_md5");
- list($nbdix) = mysql_fetch_row($res);
- mysql_free_result($res);
-
- $res = $globals->db->query("SELECT e.date,e.promo,e.nom,e.prenom,e.matricule,e.email,e.username
- FROM en_cours AS e
- INNER JOIN auth_user_md5 AS a ON (e.matricule=a.matricule AND a.perms = 'pending')");
+ $res = $globals->xdb->query("SELECT COUNT(*) FROM auth_user_md5");
+ $nbdix = $res->fetchOneCell();
+ $res = $globals->xdb->iterRow(
+ "SELECT e.date,e.promo,e.nom,e.prenom,e.matricule,e.email,e.username
+ FROM en_cours AS e
+ INNER JOIN auth_user_md5 AS a ON (e.matricule=a.matricule AND a.perms = 'pending')");
$sent = Array();
- while (list($ldate, $lpromo, $lnom, $lprenom, $lmatricule, $lemail, $lusername) = mysql_fetch_row($res)) {
- if (isset($_POST[$lmatricule]) && $_POST[$lmatricule] == "1") {
+ while (list($ldate, $lpromo, $lnom, $lprenom, $lmatricule, $lemail, $lusername) = $res->next()) {
+ if (Post::get($lmatricule) == "1") {
$lins_id = rand_url_id(12);
$nveau_pass = rand_pass();
$lpass = md5($nveau_pass);
$mymail->assign('lemail',$lemail);
$mymail->assign('subj',$lusername."@polytechnique.org");
- $globals->db->query("UPDATE en_cours
- SET ins_id='$lins_id',password='$lpass',relance='".date("Y-m-j")."'
- WHERE matricule = '$lmatricule'");
+ $globals->xdb->execute("UPDATE en_cours SET ins_id={?}, password={?}, relance=NOW(), WHERE matricule = {?}", $lins_id, $lpass $lmatricule);
// envoi du mail à l'utilisateur
$mymail->send();
require_once("select_user.inc.php");
//actions possible une fois un X désigné par son matricule
-switch ($_REQUEST["submit"]) {
+switch (Env::get('submit')) {
case "Mailer":
- $result=$globals->db->query("SELECT user_id FROM auth_user_md5 where matricule={$_REQUEST['xmat']} AND perms!='pending'");
- if ($myrow = mysql_fetch_assoc($result))
+ $res = $globals->xdb->query("SELECT user_id FROM auth_user_md5 where matricule={?} AND perms!='pending'", Env::getInt('xmat'));
+ if ($row = $res->fetchOneAssoc()) {
exit_error("Le matricule existe déjà dans la table auth_user_md5.");
+ }
- $result = $globals->db->query("SELECT * FROM auth_user_md5 WHERE matricule=".$_REQUEST["xmat"]);
- $myrow = mysql_fetch_array($result);
+ $res = $globals->xdb->query('SELECT * FROM auth_user_md5 WHERE matricule={?}', Env::getInt('xmat'));
+ $row = $res->fetchOneAssoc();
new_admin_page('marketing/utilisateurs_form.tpl');
$page->assign('row', $myrow);
- $prenom=$myrow["prenom"];
- $nom=$myrow["nom"];
- $promo=$myrow["promo"];
- $from = "Equipe Polytechnique.org <register@polytechnique.org>";
+ $prenom = $myrow["prenom"];
+ $nom = $myrow["nom"];
+ $promo = $myrow["promo"];
+ $from = "Equipe Polytechnique.org <register@polytechnique.org>";
$page->run();
break;
case "Envoyer le mail":
require_once('xorg.misc.inc.php');
- $result=$globals->db->query("SELECT user_id FROM auth_user_md5 where matricule={$_REQUEST['xmat']} AND perms!='pending'");
- if ($myrow = mysql_fetch_assoc($result))
+
+ $res = $globals->xdb->query("SELECT user_id FROM auth_user_md5 where matricule={?} AND perms!='pending'", Env::getInt('xmat'));
+ if ($row = $res->fetchOneAssoc()) {
exit_error("Le matricule existe déjà dans la table auth_user_md5.");
-
- if (!isvalid_email_redirection($_REQUEST["mail"]))
+ }
+
+ if (!isvalid_email_redirection(Env::get('mail')) {
exit_error("L'email n'est pas valide.");
+ }
- $result=$globals->db->query("SELECT prenom,nom,promo,FIND_IN_SET('femme', flags)
- FROM auth_user_md5
- WHERE matricule=".$_REQUEST['xmat']);
- if (!list($prenom,$nom,$promo,$femme) = mysql_fetch_row($result))
+ $res = $globals->xdb->query(
+ "SELECT prenom,nom,promo,FIND_IN_SET('femme', flags) FROM auth_user_md5 WHERE matricule={?}",
+ $_REQUEST['xmat']);
+ if (!list($prenom,$nom,$promo,$femme) = $res->fetchOneRow()) {
exit_error("Le matricule n'a pas été trouvé dans table auth_user_md5.");
+ }
// calcul de l'envoyeur
list($envoyeur) = explode('@', $_REQUEST["from"]);
$nom_envoyeur=ucfirst($nom_envoyeur);
// tirage aléatoire de UID et mot de passe
- $user_id=rand_url_id(12);
- $date=date("Y-m-j");
+ $user_id = rand_url_id(12);
+ $date = date("Y-m-j");
// decompte du nombre d'utilisateurs;
- $result=$globals->db->query("SELECT COUNT(*) FROM auth_user_md5");
- $num_users=mysql_result($result,0,"count(*)");
+ $res = $globals->xdb->query("SELECT COUNT(*) FROM auth_user_md5");
+ $num_users = $res->fetchOneCell();
// calcul du login
$mailorg = make_forlife($prenom,$nom,$promo);
- $globals->db->query("UPDATE auth_user_md5
- SET last_known_email='{$_REQUEST['mail']}'
- WHERE matricule='{$_REQUEST['xmat']}'");
- $requete="INSERT INTO envoidirect
- SET matricule='{$_REQUEST['xmat']}',uid='$user_id',
- email='{$_REQUEST['mail']}',sender='{$_REQUEST['sender']}',date_envoi='$date'";
- $globals->db->query($requete);
+ $globals->xdb->execute("UPDATE auth_user_md5 SET last_known_email={?} WHERE matricule={?}", Env::get('mail'), Env::get('xmat'));
+ $globals->xdb->execute("INSERT INTO envoidirect SET matricule={?}, uid={?}, email={?}, sender={?},date_envoi={?}",
+ Env::get('xmat'), $user_id, Env::get('mail'), Env::get('sender'), $date);
// pas d'erreur pour l'insert
// envoi du mail à l'utilisateur
// traitement des paramètres éventuels
if (!empty($_GET["del"])) {
- $globals->db->query("DELETE FROM marketing WHERE id ='{$_GET['del']}'");
+ $globals->xdb->execute("DELETE FROM marketing WHERE id ={?}" , Get::get('del'));
$page->trig("Entrée effacée");
}
if (!empty($_GET["done"])) {
- $globals->db->query("UPDATE marketing SET flags = CONCAT(flags,',envoye') WHERE id ='{$_GET['done']}'");
+ $globals->xdb->execute("UPDATE marketing SET flags = CONCAT(flags,',envoye') WHERE id = {?}", Get::get('done'));
$page->trig("Entrée mise à jour");
}
$sql = "SELECT m.id, m.expe, m.dest, m.email,
- i.promo, i.nom, i.prenom, i.last_known_email,
- u.promo AS spromo, u.nom AS snom, u.prenom AS sprenom, a.alias AS forlife,
+ i.promo, i.nom, i.prenom, i.last_known_email,
+ u.promo AS spromo, u.nom AS snom, u.prenom AS sprenom, a.alias AS forlife,
FIND_IN_SET('mail_perso', m.flags) AS mailperso
FROM marketing AS m
INNER JOIN auth_user_md5 AS i ON i.matricule = m.dest
$page->mysql_assign($sql, 'used', 'nbused');
-$sql = "SELECT COUNT(a.perms != 'pending') AS j,
- COUNT(i.matricule) AS i,
- 100 * COUNT(a.nom) / COUNT(i.matricule) as rate
- FROM marketing AS m
- INNER JOIN auth_user_md5 AS i ON i.matricule = m.dest
- INNER JOIN auth_user_md5 AS sa ON sa.user_id = m.expe
- LEFT JOIN auth_user_md5 AS a ON (a.matricule = m.dest AND a.perms!='pending')
- WHERE FIND_IN_SET('envoye', m.flags)";
-$res = $globals->db->query($sql);
-
-$page->assign('rate', mysql_fetch_assoc($res));
-mysql_free_result($res);
+$res = $globals->xdb->query(
+ "SELECT COUNT(a.perms != 'pending') AS j,
+ COUNT(i.matricule) AS i,
+ 100 * COUNT(a.nom) / COUNT(i.matricule) as rate
+ FROM marketing AS m
+ INNER JOIN auth_user_md5 AS i ON i.matricule = m.dest
+ INNER JOIN auth_user_md5 AS sa ON sa.user_id = m.expe
+ LEFT JOIN auth_user_md5 AS a ON (a.matricule = m.dest AND a.perms!='pending')
+ WHERE FIND_IN_SET('envoye', m.flags)");
+$page->assign('rate', $res->fetchOneAssoc());
$page->run();
?>