<?php
#=
/****************************************************************************
Copyright 2002, Daniel Deycard, Jacques Messines, Alain Pomirol
(CATICE Académie de Bordeaux)

This file is part of Gibii.

Gibii is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Gibii is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Gibii; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

****************************************************************************/

include("../include/vars_adm.php");
include("../include/util.inc.php");

opensession('Admin',false);
connecte($host,$user,$mdp,$db);

function lien($uri,$msg,$inf) {
print "<ul><li><b>$inf</b></li></ul>\n";
print "<p style=\"padding-left: 1cm;\">\n";
print "<a href=\"$uri\">$msg</a>\n";
print "</p>\n";
}

print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
print "<HTML><HEAD><meta http-equiv=\"content-type\" content=\"text/html; charset=ISO-8859-1\">\n<link rel=\"stylesheet\" href=\"../themes/".$etab_theme."/b2i.css\"></HEAD>";
print "<BODY class=\"arialadmin\">";
print "<p>&nbsp;</p>\n";
$nbpb=0;

//Recherche d'individus en vrac par interruption de l'incorporation (tag=1)
//-------------------------------------------------------------------------
$info="Cas ambigus (incertains) trouvés pendant l'incorporation (à traiter manuellement)";
$n=mysql_num_rows(query("SELECT * FROM eleves WHERE tag=1 and etab_id=$etab_id"));
$verifie=0;
session_puts('verifie');
if ($n) {
    $nbpb++;
    $verifie=1;session_puts('verifie');
    lien('../incorporation/incertains1.php',"Élèves incertains [$n]",$info);
    }
$n=mysql_num_rows(query("SELECT * FROM profs WHERE tag=1 and etab_id=$etab_id"));
if ($n) {
    $nbpb++;
    $verifie=1;session_puts('verifie');
    lien('../incorporation/incertains1.php',"Professeurs incertains [$n]",$info);
    }

//Recherche d'individus avec un champ eleves.compte_id nul ou NULL ou négatif (peut-être avec un enregistrement dans comptes)
//------------------------------------------------------------------------------
$info="Champ compte_id incorrect ou absent <u>dans la table des individus</u> (profs ou élèves)";
$rese=query("SELECT * FROM eleves WHERE (compte_id<=0 OR compte_id IS NULL) and tag=0 and etab_id=$etab_id");
if ($n=mysql_num_rows($rese)) {
    $nbpb++;
    lien('../outils/verifie_compte_nul.php?qui=e',"Élèves [$n]",$info);
    }
$resp=query("SELECT * FROM profs WHERE (compte_id<=0 OR compte_id IS NULL)  and tag=0 and etab_id=$etab_id");
if ($n=mysql_num_rows($resp)){
    $nbpb++;
    lien('../outils/verifie_compte_nul.php?qui=p',"Professeurs [$n]",$info);
    }

//Recherche d'individus avec un champ eleves.compte_id mais sans enregistrement dans compte
//------------------------------------------------------------------------------
$info="Champ compte_id présent <u>dans la table des individus</u> mais pas d'enregistrement associé dans la table comptes";
$rese=query("SELECT * FROM eleves LEFT JOIN comptes ON eleves.compte_id=comptes.compte_id
                 WHERE comptes.compte_id IS NULL and eleves.compte_id>0 and tag=0 and eleves.etab_id=$etab_id");
if ($n=mysql_num_rows($rese)) {
    $nbpb++;
    lien('../outils/verifie_nocompte.php?qui=e',"Élèves [$n]",$info);
    }
$resp=query("SELECT * FROM profs LEFT JOIN comptes ON profs.compte_id=comptes.compte_id
                 WHERE comptes.compte_id IS NULL and profs.compte_id>0 and tag=0 and profs.etab_id=$etab_id");
if ($n=mysql_num_rows($resp)){
    $nbpb++;
    lien('../outils/verifie_nocompte.php?qui=p',"Professeurs [$n]",$info);
    }


//Compte sans individu associé
//------------------------------------------------------------------------------
$info="<u>Comptes</u> sans individu associé";
$resc=query("SELECT * FROM comptes
          LEFT JOIN eleves ON comptes.eleve_id=eleves.eleve_id
              WHERE eleves.eleve_id IS NULL
                and comptes.etab_id=$etab_id
                and comptes.statut='Eleve'");
if ($n=mysql_num_rows($resc)) {
    $nbpb++;
    lien('../outils/verifie_0indiv.php?qui=e',"Comptes élèves sans enregistrement dans la table eleves [$n]",$info);
    }
$resp=query("SELECT * FROM comptes
          LEFT JOIN profs ON comptes.prof_id=profs.prof_id
              WHERE profs.prof_id IS NULL
                and comptes.etab_id=$etab_id
                and comptes.statut='Prof'");
if ($n=mysql_num_rows($resp)) {
    $nbpb++;
    lien('../outils/verifie_0indiv.php?qui=p',"Comptes professeurs sans enregistrement dans la table profs [$n]",$info);
    }



//Classe sans élève et sans prof
//------------------------------------------------------------------------------
$info="Supprimer TOUTES les classes ou groupes inutiles (vides et sans prof)";
if (isset($classes) && $classes)  //passage 2 : suppression des classes vides
    query("DELETE FROM classes WHERE classe_id IN ($classes)");

$resd=query("SELECT classes.classe_id FROM classes
          LEFT JOIN lien_eleves_classes ON classes.classe_id = lien_eleves_classes.classe_id
          LEFT JOIN lien_profs_classes ON classes.classe_id = lien_profs_classes.classe_id
              WHERE lien_eleves_classes.eleve_id IS NULL
                AND lien_profs_classes.prof_id IS NULL
                AND etab_id=$etab_id");
if ($n=mysql_num_rows($resd)) {
    $nbpb++;
    $liste='';
    while (list($classe_id)=mysql_fetch_array($resd)) $liste.=','.$classe_id;
    $liste=substr($liste,1);
    lien('../outils/verifie_base.php?classes='.$liste,"Classes inutiles [$n] :$liste",$info);
    }


//Elèves / profs / comptes avec etab_id NULL ou négatif
//------------------------------------------------------------------------------
/*
$rest=query("SELECT eleve_id FROM eleves WHERE etab_id<=0 OR etab_id IS NULL"
if ($n=mysql_num_rows($rest)) {
    $nbpb++;
    lien('../outils/verifie_pas_etab.php?qui=e',"Comptes élèves sans enregistrement dans la table eleves [$n]",$info);
    }
*/
//demandes orphelines
//------------------------------------------------------------------------------

//réponses orphelines ('sans demandes' ou 'sans élève')
//------------------------------------------------------------------------------





if (!$nbpb) {
        print "<p style=\" text-align: center\">\n";
    print "Aucune anomalie n'a été trouvée dans la base </br>";
    retour("../admin/admin_bas.php");
    print "</p>";
    }

print "</body></html>";
?>