git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-188
\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
* 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');
?>
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 */
$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 */
/* 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 */
/* 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 !");
?>
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";
}
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");
?>
$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');
// ---------------------------------------
-$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();
?>
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);
}
+
?>
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'])) {
$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);
}