***************************************************************************/
/*
* verifie qu'il n'y a pas d'incoherences dans les tables de jointures
- *
-*/
+ *
+*/
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) {
+function check($sql, $commentaire='')
+{
+ $it = XDB::iterRow($sql);
+ if ($err = XDB::error()) echo $err;
+ if ($it->total() > 0) {
echo "Erreur pour la verification : $commentaire\n$sql\n\n";
echo "|";
- while($col = mysql_fetch_field($res)) echo "\t".$col->name."\t|";
+ while($col = $it->nextField()) {
+ echo "\t".$col->name."\t|";
+ }
echo "\n";
- while ($arr = mysql_fetch_row($res)) {
+ while ($arr = $it->next()) {
echo "|";
foreach ($arr as $val) echo "\t$val\t|";
echo "\n";
- }
+ }
echo "\n";
}
}
check("select uid from tels where tel_pub != 'private' and tel_pub !='ax' and tel_pub != 'public'", "Utiliseur n'ayant pas de flag de publicite pour un numero de telephone");
/* validite de adresses */
-check("select uid, adrid from adresses where FIND_IN_SET('pro',statut)","Utilisateurs ayant encore une adresse pro dans leurs adresses");
-check("select uid, adrid from adresses group by uid having count(adrid) > 7", "Utilisateurs ayant trop d'adresses");
-
-/* Validite de entreprises */
-check("select uid, entrid from entreprises group by uid having count(entrid) > 2","Utilisateurs ayant trop d'entreprises");
+check("select uid, count(adrid) from adresses group by uid having count(adrid) > 7", "Utilisateurs ayant trop d'adresses");
/* Validite des tables de langues, competences, mentoring*/
-check("select uid, lid from langues_ins group by uid having count(lid) > 10","Utilisateurs ayant trop de langues");
-check("select uid, cid from competences_ins group by uid having count(cid) > 20","Utilisateurs ayant trop de competences");
+check("select uid, count(lid) from langues_ins group by uid having count(lid) > 10","Utilisateurs ayant trop de langues");
+check("select uid, count(cid) from competences_ins group by uid having count(cid) > 20","Utilisateurs ayant trop de competences");
/* validite de aliases */
check("SELECT a.*
/* donne la liste des emails douteux que les administrateurs n'ont pas encore traité */
check("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 emails AS e2 ON(e1.email = e2.email AND e1.uid!=e2.uid AND
+ (e1.uid<e2.uid OR NOT FIND_IN_SET('active', e2.flags))
)
INNER JOIN emails_watch AS w ON(w.email = e1.email AND w.state = 'pending')
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.nom_usage AND u2.nom!=u1.nom_usage
+ WHERE FIND_IN_SET('active', e1.flags) AND u1.nom!=u2.nom_usage AND u2.nom!=u1.nom_usage
ORDER BY a1.alias",
"donne la liste des emails douteux actuellement non traites par les administrateurs");
/* donne la liste des emails dangereux ou douteux*/
info("SELECT a1.alias, a2.alias, e1.email, e2.flags, w.state
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 emails AS e2 ON(e1.email = e2.email AND e1.uid!=e2.uid AND
+ (e1.uid<e2.uid OR NOT FIND_IN_SET('active', e2.flags))
)
INNER JOIN emails_watch AS w ON(w.email = e1.email AND w.state != 'safe')
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.nom_usage AND u2.nom!=u1.nom_usage
+ WHERE FIND_IN_SET('active', e1.flags) AND u1.nom!=u2.nom_usage AND u2.nom!=u1.nom_usage
ORDER BY a1.alias",
"donne la liste des emails dangereux ou douteux");
-
-/* vérif que tous les inscrits ont bien au moins un email actif */
-info("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))
- WHERE e.uid IS NULL AND u.deces = 0
- ORDER BY u.promo, u.nom, u.prenom",
- "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