mysql_query is outdated since at least 1 year !!!
authorPierre Habouzit (MadCoder <pierre.habouzit@m4x.org>
Thu, 30 Dec 2004 08:23:17 +0000 (08:23 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:27:04 +0000 (23:27 +0200)
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-188

bin/FormatePrenomNOM.php
bin/connect.db.inc.php
bin/cron/checkdb.php
bin/cron/clean.php
bin/cron/cron_validations.php
bin/cron/rapports_inscription.php
bin/cron/recherche.php
bin/newsletter.send.php

index dcd097d..422d1d4 100644 (file)
 \r
 require("xorg.inc.php");\r
 \r
-$result=mysql_query("SELECT user_id,prenom,nom FROM auth_user_md5");\r
-\r
-while($myrow = mysql_fetch_array($result)) {\r
-\r
-       $prenom = $myrow["prenom"];\r
-       $old_prenom = $prenom;\r
-       $nom = $myrow["nom"];\r
-       $old_nom = $nom;\r
-       $uid = $myrow["user_id"];\r
-\r
-       $pre1=strtok($prenom,"-");\r
-       $pre2=strtok(" ");\r
-       $pre1=ucwords(strtolower($pre1));\r
-       $pre2=ucwords(strtolower($pre2));\r
-       if ($pre2) {\r
-               $prenom = $pre1."-".$pre2;\r
-       } else {\r
-               $prenom = $pre1;\r
-       }\r
-       $nom = strtoupper(strtr($nom,"éèëêàäâïîôöùûüç","eeeeaaaiioouuuc"));\r
-\r
-       if ($old_prenom!=$prenom || $old_nom!=$nom) {\r
-               echo "$old_prenom $old_nom >>>>> $prenom $nom<br>"; \r
-               $prenom = addslashes($prenom);\r
-               $nom = addslashes($nom);\r
-               //mysql_query("UPDATE auth_user_md5 SET prenom='$prenom',nom='$nom' WHERE user_id=$uid");\r
-       }\r
-\r
+$res = $globals->dbx->iterator('SELECT user_id,prenom,nom FROM auth_user_md5');\r
+\r
+while ($myrow = $res->next()) {\r
+\r
+    $old_prenom = $prenom = $myrow["prenom"];\r
+    $old_nom    = $nom    = $myrow["nom"];\r
+    $uid        = $myrow["user_id"];\r
+\r
+    $pre1 = strtok($prenom,"-");\r
+    $pre2 = strtok(" ");\r
+    $pre1 = ucwords(strtolower($pre1));\r
+    $pre2 = ucwords(strtolower($pre2));\r
+    if ($pre2) {\r
+        $prenom = $pre1."-".$pre2;\r
+    } else {\r
+        $prenom = $pre1;\r
+    }\r
+    $nom = strtoupper(strtr($nom,"éèëêàäâïîôöùûüç","eeeeaaaiioouuuc"));\r
+\r
+    if ($old_prenom!=$prenom || $old_nom!=$nom) {\r
+        echo "$old_prenom $old_nom >>>>> $prenom $nom<br>"; \r
+        $prenom = addslashes($prenom);\r
+        $nom = addslashes($nom);\r
+        //mysql_query("UPDATE auth_user_md5 SET prenom='$prenom',nom='$nom' WHERE user_id=$uid");\r
+    }\r
 }\r
 \r
 ?>\r
index d66790f..ce2437a 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-ini_set("include_path","/usr/share/php/diogenes:/usr/share/php:../include:../../include");
+ini_set('include_path','/usr/share/php/diogenes:/usr/share/php:../include:../../include');
 
-require("xorg.inc.php");
-require("xorg.misc.inc.php");
-$globals->dbconnect();
+require('xorg.inc.php');
+require('xorg.misc.inc.php');
 
 ?>
index 4972591..f271527 100755 (executable)
@@ -28,27 +28,27 @@ require('./connect.db.inc.php');
 require("Console/Getopt.php");
 
 function check($sql, $commentaire='') {
-  $res=mysql_query($sql);
-  if($err = mysql_error()) echo $err;
-  if (mysql_num_rows($res)>0) {
-    echo "Erreur pour la verification : $commentaire\n$sql\n\n";
-    echo "|";
-    while($col = mysql_fetch_field($res)) echo "\t".$col->name."\t|";
-    echo "\n";
-    
-    while ($arr=mysql_fetch_row($res)) {
-      echo "|";
-      foreach ($arr as $val) echo "\t$val\t|";
-      echo "\n";
-    } 
-    echo "\n";
-  }
+    $res = mysql_query($sql);
+    if ($err = mysql_error()) echo $err;
+    if (mysql_num_rows($res)>0) {
+        echo "Erreur pour la verification : $commentaire\n$sql\n\n";
+        echo "|";
+        while($col = mysql_fetch_field($res)) echo "\t".$col->name."\t|";
+        echo "\n";
+
+        while ($arr = mysql_fetch_row($res)) {
+            echo "|";
+            foreach ($arr as $val) echo "\t$val\t|";
+            echo "\n";
+        
+        echo "\n";
+    }
 }
 
 function info($sql,$commentaire='') {
-  global $opt_verbose;
-  if ($opt_verbose)
-    check($sql,$commentaire);
+    global $opt_verbose;
+    if ($opt_verbose)
+        check($sql,$commentaire);
 }
 
 /* on parse les options */
@@ -56,17 +56,17 @@ $opts = Console_GetOpt::getopt($argv, "v");
 $opt_verbose=false;
 
 if ( PEAR::isError($opts) ) {
-  echo $opts->getMessage();
+    echo $opts->getMessage();
 } else {
-  $opts = $opts[0];
-  foreach ( $opts as $opt) {
-    switch ($opt[0]) {
-    case "v":
-      $opt_verbose=true;
-      echo "Mode verbeux\n";
-      break;
+    $opts = $opts[0];
+    foreach ( $opts as $opt) {
+        switch ($opt[0]) {
+            case "v":
+                $opt_verbose=true;
+            echo "Mode verbeux\n";
+            break;
+        }
     }
-  }
 }
 
 /* validite de adresses */
@@ -82,8 +82,8 @@ check("select uid, cid from competences_ins group by uid having count(cid) > 20"
 
 /* validite de aliases */
 check("SELECT a.*
-         FROM aliases       AS a
-    LEFT JOIN auth_user_md5 AS u ON u.user_id=a.id
+        FROM aliases       AS a
+        LEFT JOIN auth_user_md5 AS u ON u.user_id=a.id
         WHERE (a.type='alias' OR a.type='epouse' OR a.type='a_vie') AND u.prenom is null");
 
 /* validite de applis_ins */
@@ -124,44 +124,44 @@ info("select e.matricule,e.nom,e.prenom,e.promo from envoidirect as e inner join
 /* donne la liste des emails qui apparaissent 2 fois dans la table emails pour des personnes différentes */
 info("SELECT  a1.alias, a2.alias, e1.email, e2.flags
         FROM  emails        AS e1
-  INNER JOIN  emails        AS e2 ON(e1.email = e2.email AND e1.uid!=e2.uid AND 
-                                    (e1.uid<e2.uid  OR  NOT FIND_IN_SET(e2.flags,'active'))
-                                   )
-  INNER JOIN  aliases       AS a1 ON(a1.id=e1.uid AND a1.type='a_vie')
-  INNER JOIN  aliases       AS a2 ON(a2.id=e2.uid AND a2.type='a_vie')
-  INNER JOIN  auth_user_md5 AS u1 ON(a1.id=u1.user_id)
-  INNER JOIN  auth_user_md5 AS u2 ON(a2.id=u2.user_id)
-       WHERE  FIND_IN_SET(e1.flags,'active') AND u1.nom!=u2.epouse AND u2.nom!=u1.epouse
-    ORDER BY  a1.alias",
-"donne la liste des emails qui apparaissent 2 fois dans la table emails pour des personnes différentes");
+        INNER JOIN  emails        AS e2 ON(e1.email = e2.email AND e1.uid!=e2.uid AND 
+            (e1.uid<e2.uid  OR  NOT FIND_IN_SET(e2.flags,'active'))
+            )
+        INNER JOIN  aliases       AS a1 ON(a1.id=e1.uid AND a1.type='a_vie')
+        INNER JOIN  aliases       AS a2 ON(a2.id=e2.uid AND a2.type='a_vie')
+        INNER JOIN  auth_user_md5 AS u1 ON(a1.id=u1.user_id)
+        INNER JOIN  auth_user_md5 AS u2 ON(a2.id=u2.user_id)
+        WHERE  FIND_IN_SET(e1.flags,'active') AND u1.nom!=u2.epouse AND u2.nom!=u1.epouse
+        ORDER BY  a1.alias",
+        "donne la liste des emails qui apparaissent 2 fois dans la table emails pour des personnes différentes");
 
 /* vérif que tous les inscrits ont bien au moins un email actif */
 check("SELECT  u.user_id, a.alias
-        FROM  auth_user_md5  AS u 
-   INNER JOIN  aliases        AS a ON (u.user_id = a.id AND a.type='a_vie')
-    LEFT JOIN  emails         AS e ON(u.user_id=e.uid AND FIND_IN_SET('active',e.flags))
+        FROM  auth_user_md5  AS u 
+        INNER JOIN  aliases        AS a ON (u.user_id = a.id AND a.type='a_vie')
+        LEFT JOIN  emails         AS e ON(u.user_id=e.uid AND FIND_IN_SET('active',e.flags))
         WHERE  e.uid IS NULL AND u.deces = 0",
-"donne les inscrits qui n'ont pas d'email actif");
+        "donne les inscrits qui n'ont pas d'email actif");
 
 /* donne la liste des homonymes qui ont un alias égal à leur loginbis depuis plus d'un mois */
 check("SELECT  a.alias AS username, b.alias AS loginbis, b.expire
-         FROM  aliases AS a
-   INNER JOIN  aliases AS b ON ( a.id=b.id AND b.type != 'homonyme' and b.expire < NOW() )
+        FROM  aliases AS a
+        INNER JOIN  aliases AS b ON ( a.id=b.id AND b.type != 'homonyme' and b.expire < NOW() )
         WHERE  a.type = 'a_vie'",
-"donne la liste des homonymes qui ont un alias égal à leur loginbis depuis plus d'un mois, il est temps de supprimer leur alias");
+        "donne la liste des homonymes qui ont un alias égal à leur loginbis depuis plus d'un mois, il est temps de supprimer leur alias");
 
 /* verifie qu'il n'y a pas de gens qui recrivent sur un alias qu'ils n'ont plus */
 
 check("SELECT  a.alias AS a_un_pb, email, rewrite AS broken
-         FROM  aliases AS a
-   INNER JOIN  emails  AS e ON (a.id=e.uid AND rewrite!='')
-   LEFT  JOIN  aliases AS b ON (b.id=a.id AND rewrite LIKE CONCAT(b.alias,'@%') AND b.type!='homonyme')
+        FROM  aliases AS a
+        INNER JOIN  emails  AS e ON (a.id=e.uid AND rewrite!='')
+        LEFT  JOIN  aliases AS b ON (b.id=a.id AND rewrite LIKE CONCAT(b.alias,'@%') AND b.type!='homonyme')
         WHERE  a.type='a_vie' AND b.type IS NULL","gens qui ont des rewrite sur un alias perdu");
 
 /* validite du champ matricule_ax de la table auth_user_md5 */
 check("SELECT  matricule,nom,prenom,matricule_ax,COUNT(matricule_ax) AS c
-         FROM  auth_user_md5
-       WHERE  matricule_ax != '0'
-     GROUP BY  matricule_ax
-       having  c > 1", "à chaque personne de l'annuaire de l'AX (identification_ax) doit correspondre AU PLUS UNE personne de notre annuaire (auth_user_md5) -> si ce n'est pas le cas il faut regarder en manuel ce qui ne va pas !");
+        FROM  auth_user_md5
+        WHERE  matricule_ax != '0'
+        GROUP BY  matricule_ax
+        having  c > 1", "à chaque personne de l'annuaire de l'AX (identification_ax) doit correspondre AU PLUS UNE personne de notre annuaire (auth_user_md5) -> si ce n'est pas le cas il faut regarder en manuel ce qui ne va pas !");
 ?>
index 104f893..dfc8070 100755 (executable)
@@ -23,7 +23,8 @@
 require('./connect.db.inc.php');
 
 function query ($sql) {
-    mysql_query($sql);
+    global $globals;
+    $globals->xdb->execute($sql);
     if (mysql_errno() != 0) {
        echo "error in \"$sql\" :\n", mysql_error(),"\n";
     }
@@ -47,10 +48,5 @@ query("alter table groupesx_def order by text");
 query("alter table secteur order by text");
 query("alter table sections order by text");
 
-// on regarde si qqun a fait bcp de requêtes dans l'annuaire, puis on remete à 0
-//$res = mysql_query("SELECT nom,prenom,promo,nb_recherches FROM auth_user_md5 as u INNER JOIN nb_recherches as r ON(u.user_id = r.uid) WHERE r.nb_recherches > 90 AND u.perms != 'admin' order by r.nb_recherches");
-//while (list($n, $p, $pr, $nbr) = mysql_fetch_row($res))
-//    echo $n." ".$p.", X".$pr." : ".$nbr." recherches dans l'annuaire !\n";
-//query("UPDATE nb_recherches SET nb_recherches = 0");
 
 ?>
index 25be9b1..5eb6212 100755 (executable)
 $M_PERIOD = "INTERVAL 3 HOUR"; // période d'envoi des mails de 3h
 $R_PERIOD = "INTERVAL 6 HOUR"; // période de réponse moyenne de 6h
 
-require("/usr/share/php/diogenes/diogenes.hermes.inc.php");
 require('./connect.db.inc.php');
+require('diogenes.hermes.inc.php');
 
-$sql = mysql_query("SELECT count(stamp), sum(stamp < NOW() - $M_PERIOD), sum(stamp < NOW() - $R_PERIOD) FROM x4dat.requests");
-list($nb,$nbold,$nbveryold) = mysql_fetch_row($sql);
-mysql_free_result($sql);
+$res = $globals->xdb->query("SELECT count(stamp), sum(stamp < NOW() - $M_PERIOD), sum(stamp < NOW() - $R_PERIOD) FROM x4dat.requests");
+list($nb,$nbold,$nbveryold) = $res->fetchOneRow();
 
-if(empty($nb))
-       exit;
+if (empty($nb)) {
+    exit;
+}
 
 $mymail = new HermesMailer();
 $mymail->setFrom('validation@polytechnique.org');
index 978a6e6..4bde48f 100755 (executable)
@@ -5,64 +5,62 @@ $MESSAGE = '';
 
 // ---------------------------------------
 
-$result=mysql_query("SELECT  a.alias, u.promo, email
-                      FROM  auth_user_md5  AS u
-                 LEFT JOIN  aliases        AS a ON( u.user_id=a.id AND a.type='a_vie' )
-                 LEFT JOIN  emails         AS e ON( e.uid = u.user_id AND NOT FIND_IN_SET('filter',e.flags) )
-                     WHERE  u.date_ins > ".date("Ymd", strtotime ("last Monday"))."*1000000
-                  GROUP BY  alias
-                  ORDER BY  promo");
-$a = mysql_num_rows($result);
-if ($a > 0) {
+$res = $globals->xdb->iterRow(
+        "SELECT  a.alias, u.promo, email
+           FROM  auth_user_md5  AS u
+      LEFT JOIN  aliases        AS a ON( u.user_id=a.id AND a.type='a_vie' )
+      LEFT JOIN  emails         AS e ON( e.uid = u.user_id AND NOT FIND_IN_SET('filter',e.flags) )
+          WHERE  u.date_ins > {?}
+       GROUP BY  alias
+       ORDER BY  promo", date("Ymd000000", strtotime ("last Monday")));
+if ($a = $res->total()) {
     $MESSAGE.="$a INSCRIPTIONS CONFIRMEES:\n";
-    while (list($usern,$promo,$mail) = mysql_fetch_row($result)) {
+    while (list($usern,$promo,$mail) = $res->next()) {
        $MESSAGE.="X$promo, $usern, $mail\n";
     }
 }
-mysql_free_result($result);
 
 // ---------------------------------------
 
-$result=mysql_query("SELECT  ins_id,username,promo,email,date
-                      FROM  en_cours
-                     WHERE  loginbis != 'INSCRIT'
-                  ORDER BY  date");
-$b = mysql_num_rows($result);
-if ($b > 0) {
+$res = $globals->xdb->iterRow(
+        "SELECT  ins_id,username,promo,email,date
+           FROM  en_cours
+          WHERE  loginbis != 'INSCRIT'
+       ORDER BY  date");
+if ($b = $res->total()) {
     $MESSAGE.="\n$b INSCRIPTIONS NON CONFIRMEES:\n";
-    while (list($code,$usern,$prom,$mail,$quand) = mysql_fetch_row($result)) { 
+    while (list($code,$usern,$prom,$mail,$quand) = $res->next()) {     
        $MESSAGE.="$quand, X$prom, $usern\n$mail";
        $MESSAGE.="\n";
        $MESSAGE.="http://www.polytechnique.org/step4.php?ref=$code\n";
     }
 }
-mysql_free_result($result);
 
 // ---------------------------------------
 
-$result=mysql_query("SELECT  nom, prenom, promo, email, DATE_FORMAT(date_envoi,'%d/%m/%Y')
-                       FROM  envoidirect 
-                     WHERE  date_succes = ''
-                  ORDER BY  date_envoi DESC, promo, nom");
-$c = mysql_num_rows($result);
-if ($c > 0) {
+$res = $globals->xdb->iterRow(
+        'SELECT  nom, prenom, promo, email, DATE_FORMAT(date_envoi,"%d.%m.%Y")
+           FROM  envoidirect 
+     INNER JOIN  auth_user_md5 USING(matricule)
+          WHERE  date_succes = ""
+       ORDER BY  date_envoi DESC, promo, nom');
+if ($c = $res->total()) {
     $MESSAGE.="\n$c INSCRIPTIONS SOLICITÉEs:\n";
-    while (list($nom,$prenom,$promo,$mail,$date) = mysql_fetch_row($result)) {
+    while (list($nom,$prenom,$promo,$mail,$date) = $res->next()) {
        $MESSAGE.="$date: X$promo, $nom $prenom,\t$mail\n";
     }
 }
-mysql_free_result($result);
 
 // ---------------------------------------
 
 $MESSAGE=$MESSAGE."\n\n";
 
-// envoi du mail à register@
-$HEADER="From: register\nReply-To: register@polytechnique.org\n".
-       "X-Mailer: PHP/" . phpversion()."\n".
-        "Mime-Version: 1.0\n".
-        "Content-Type: text/plain; charset=iso-8859-1\n".
-        "Content-Disposition: inline\n".
-        "Content-Transfer-Encoding: 8bit\n";
-mail("register@polytechnique.org, jean-michel.yolin+register@polytechnique.org","$a confirmées, $b en attente et $c sollicitées",$MESSAGE,$HEADER);
+require_once('diogenes.hermes.inc.php');
+$mailer = new HermesMailer();
+$mailer->setSubject("$a confirmées, $b en attente et $c sollicitées");
+$mailer->setFrom('register@polytechnique.org');
+$mailer->addTo('register@polytechnique.org');
+$mailer->addCc('jean-michel.yolin+register@polytechnique.org');
+$mailer->setTxtBody($MESSAGE);
+$mailer->send();
 ?>
index 4ea69a7..37fee8b 100644 (file)
 
 require('./connect.db.inc.php');
 
-$result = mysql_query("SELECT matricule,nom1,nom2,nom3,prenom1,prenom2,promo FROM recherche");
+$res = $globals->xdb->iterRow('SELECT matricule,nom1,nom2,nom3,prenom1,prenom2,promo FROM recherche');
 
-while ($row = mysql_fetch_row($result)) {
-    list($matricule,$nom1,$nom2,$nom3,$prenom1,$prenom2,$promo) = $row;
-    $sql = "INSERT INTO recherche_soundex
-    (matricule,nom1_soundex,nom2_soundex,nom3_soundex,prenom1_soundex,prenom2_soundex,promo)
-    VALUES($matricule,'".soundex_fr($nom1)."','".soundex_fr($nom2)."','".soundex_fr($nom3)."','".
-    soundex_fr($prenom1)."','".soundex_fr($prenom2)."',$promo)";
-    mysql_query($sql);
+while (list($matricule,$nom1,$nom2,$nom3,$prenom1,$prenom2,$promo) = $res->next()) {
+    $globals->xdb->execute(
+            "INSERT INTO  recherche_soundex (matricule,nom1_soundex,nom2_soundex,nom3_soundex,prenom1_soundex,prenom2_soundex,promo)
+                  VALUES  ({?},{?},{?},{?},{?},{?},{?})",
+            $matricule, soundex_fr($nom1), soundex_fr($nom2), soundex_fr($nom3), soundex_fr($prenom1), soundex_fr($prenom2), $promo);
 }
+
 ?>
index 04abbfb..86fce41 100755 (executable)
 require('./connect.db.inc.php');
 require("newsletter.inc.php");
 
-function query ($sql) {
-    mysql_query($sql);
-    if (mysql_errno() != 0) {
-       echo "error in \"$sql\" :\n", mysql_error(),"\n";
-    }
-}
-
 $opt = getopt('i:h');
 
 if(empty($opt['i']) || isset($opt['h'])) {
@@ -45,22 +38,23 @@ $nl = new NewsLetter($id);
 $nl->setSent();
 
 while(true) {
-    $sql = mysql_query("SELECT  ni.user_id, ni.pref, a.alias,
-                               u.prenom, IF(u.epouse='', u.nom, u.epouse),
-                                FIND_IN_SET('femme', u.flags)
-                         FROM  newsletter_ins AS ni
-                   INNER JOIN  auth_user_md5  AS u  USING(user_id)
-                   INNER JOIN  aliases        AS a  ON(u.user_id=a.id AND FIND_IN_SET('bestalias',a.flags))
-                        WHERE  ni.last<$id 
-                        LIMIT  60");
-    if(!mysql_num_rows($sql)) exit(0);
+    $res = $globals->dbx->iterRow(
+            "SELECT  ni.user_id, ni.pref, a.alias,
+                     u.prenom, IF(u.epouse='', u.nom, u.epouse),
+                     FIND_IN_SET('femme', u.flags)
+               FROM  newsletter_ins AS ni
+         INNER JOIN  auth_user_md5  AS u  USING(user_id)
+         INNER JOIN  aliases        AS a  ON(u.user_id=a.id AND FIND_IN_SET('bestalias',a.flags))
+              WHERE  ni.last<{?}
+              LIMIT  60", $id);
+    if (!$res->numRows()) { exit; }
+
     $sent = Array();
-    while(list($uid,$fmt,$bestalias,$prenom,$nom,$sexe) = mysql_fetch_row($sql)) {
+    while (list($uid, $fmt, $bestalias, $prenom, $nom, $sexe) = $res->next()) {
        $sent[] = "user_id='$uid'";
-       $nl->sendTo($prenom,$nom,$bestalias,$sexe,$fmt=='html');
+       $nl->sendTo($prenom, $nom, $bestalias, $sexe, $fmt=='html');
     }
-    mysql_free_result($sql);
-    mysql_query("UPDATE newsletter_ins SET last=$id WHERE ".implode(' OR ',$sent));
+    $globals->dbx->execute('UPDATE newsletter_ins SET last={?} WHERE '.implode(' OR ', $sent), $id);
     sleep(60);
 }