***************************************************************************/
/*
* 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='')
+function check($sql, $commentaire='')
{
$it = XDB::iterRow($sql);
if ($err = XDB::error()) echo $err;
echo "|";
foreach ($arr as $val) echo "\t$val\t|";
echo "\n";
- }
+ }
echo "\n";
}
}
/* 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");
+check("select uid, count(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(entrid) from entreprises group by uid having count(entrid) > 2","Utilisateurs ayant trop d'entreprises");
/* 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
+ 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')
/* 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
+ 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')
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