diff --git a/admin/recherche.php b/admin/recherche.php
index 3e8bb37..4674405 100644
--- a/admin/recherche.php
+++ b/admin/recherche.php
@@ -8,31 +8,8 @@ $username = Username();
$profil = Profil($username);
FiltreProfil($profil);
-$db = db_connect();
-$objet = $_POST["objet"];
-$liste_const = ""; // variable globale
-
-switch ($objet) {
- case "connexions":
- $donnees = RechercheConnexions($db);
- break;
-
- case "utilisateurs":
- # code...
- break;
-}
-
-
-if (!$donnees) {
- $resultats = "Vous devez saisir au moins un critère.";
-}
-else {
- $resultats = FormatteResultats($db, $donnees);
-}
-
-
-// fonction RechercheConnexions() : renvoie un tableau de résultats
+// fonction RechercheConnexions() : renvoie un tableau de résultats contenant les connexions demandées
function RechercheConnexions(&$db) {
global $_POST;
global $liste_const;
@@ -50,25 +27,25 @@ function RechercheConnexions(&$db) {
if ($salle != "") {
$req_connexions = $req_connexions.", machines";
$req_total_connexions = $req_total_connexions.", machines";
- $where = $where . "hote = machine_id AND salle = \"$salle\" ";
+ $where = $where . "hote = machine_id AND salle LIKE \"$salle\" ";
$contrainte = true;
$liste_const = $liste_const. "salle = $salle
";
}
if ($machine != "") {
$and = ($contrainte) ? " AND " : "";
- $where = $where . $and . "hote = \"{$machine}\"";
+ $where = $where . $and . "hote LIKE \"{$machine}\"";
$contrainte = true;
$liste_const = $liste_const. "machine = $machine
";
}
if ($compte != "") {
$and = ($contrainte) ? " AND " : "";
- $where = $where . $and . "username = \"{$compte}\"";
+ $where = $where . $and . "username LIKE \"{$compte}\"";
$contrainte = true;
$liste_const = $liste_const. "compte = $compte
";
}
if ($ip != "") {
$and = ($contrainte) ? " AND " : "";
- $where = $where . $and . " ip = \"{$ip}\"";
+ $where = $where . $and . " ip LIKE \"{$ip}\"";
$contrainte = true;
$liste_const = $liste_const. "ip = $ip
";
}
@@ -76,25 +53,29 @@ function RechercheConnexions(&$db) {
// transformation de la date JJ/MM/AAAA en date iso AAAA-MM-JJ
$tab_deb = explode("/", $date_debut);
$tab_fin = explode("/", $date_fin);
- $isodate_d = sprintf( "%04d-%02d-%02d", (int)trim($tab_deb[2]), (int)trim($tab_deb[1]), (int)trim($tab_deb[0]) );
- $isodate_f = sprintf( "%04d-%02d-%02d", (int)trim($tab_fin[2]), (int)trim($tab_fin[1]), (int)trim($tab_fin[0]) );
- $and = ($contrainte) ? " AND " : "";
- $date_debut_00 = "$isodate_d 00:00:00";
- $date_fin_24 = "$isodate_f 23:59:59";
- $where = $where . $and . " debut_con >= \"{$date_debut_00}\" AND fin_con <= \"{$date_fin_24}\"";
- $contrainte = true;
- $liste_const = $liste_const. "du $date_debut au $date_fin
";
+ if (isset($tab_deb[2]) && isset($tab_fin[2])) {
+ $isodate_d = sprintf( "%04d-%02d-%02d", (int)trim($tab_deb[2]), (int)trim($tab_deb[1]), (int)trim($tab_deb[0]) );
+ $isodate_f = sprintf( "%04d-%02d-%02d", (int)trim($tab_fin[2]), (int)trim($tab_fin[1]), (int)trim($tab_fin[0]) );
+ $and = ($contrainte) ? " AND " : "";
+ $date_debut_00 = "$isodate_d 00:00:00";
+ $date_fin_24 = "$isodate_f 23:59:59";
+ $where = $where . $and . " debut_con >= \"{$date_debut_00}\" AND fin_con <= \"{$date_fin_24}\"";
+ $contrainte = true;
+ $liste_const = $liste_const. "du $date_debut au $date_fin
";
+ }
}
elseif ($date_debut != "") {
// transformation de la date JJ/MM/AAAA en date iso AAAA-MM-JJ
$tab_deb = explode("/", $date_debut);
- $isodate_d = sprintf( "%04d-%02d-%02d", (int)trim($tab_deb[2]), (int)trim($tab_deb[1]), (int)trim($tab_deb[0]) );
- $and = ($contrainte) ? " AND " : "";
- $date_debut_00 = "$isodate_d 00:00:00";
- $date_debut_24 = "$isodate_d 23:59:59";
- $where = $where . $and . " debut_con >= \"{$date_debut_00}\" AND fin_con <= \"{$date_debut_24}\"";
- $contrainte = true;
- $liste_const = $liste_const. "date : $date_debut
";
+ if (isset($tab_deb[2])) {
+ $isodate_d = sprintf( "%04d-%02d-%02d", (int)trim($tab_deb[2]), (int)trim($tab_deb[1]), (int)trim($tab_deb[0]) );
+ $and = ($contrainte) ? " AND " : "";
+ $date_debut_00 = "$isodate_d 00:00:00";
+ $date_debut_24 = "$isodate_d 23:59:59";
+ $where = $where . $and . " debut_con >= \"{$date_debut_00}\" AND fin_con <= \"{$date_debut_24}\"";
+ $contrainte = true;
+ $liste_const = $liste_const. "date : $date_debut
";
+ }
}
if (!$contrainte) {
@@ -106,6 +87,54 @@ function RechercheConnexions(&$db) {
return $res;
}
+// fonction RechercheUtilisateurs : renvoie un tableau de résultats contenant les utilisateurs demandés
+function RechercheUtilisateurs(&$db) {
+ global $_POST;
+ global $liste_const;
+
+ $compte = db_escape_string($db, $_POST["compte"]);
+ $nom = db_escape_string($db, $_POST["nom"]);
+ $prenom = db_escape_string($db, $_POST["prenom"]);
+ $groupe = db_escape_string($db, $_POST["groupe"]);
+
+ $req_utilisateurs = "SELECT username AS 'Compte', prenom AS 'Prénom', nom AS 'Nom', groupe AS 'Groupe', compte_id AS 'Id' FROM comptes";
+ $where = " WHERE ";
+ $contrainte = false;
+ if ($compte != "") {
+ $where = $where . "compte LIKE \"$compte\" ";
+ $contrainte = true;
+ $liste_const = $liste_const. "compte = $compte
";
+ }
+ if ($nom != "") {
+ $and = ($contrainte) ? " AND " : "";
+ $where = $where . $and . "nom LIKE \"{$nom}\"";
+ $contrainte = true;
+ $liste_const = $liste_const. "machine = $nom
";
+ }
+ if ($prenom != "") {
+ $and = ($contrainte) ? " AND " : "";
+ $where = $where . $and . "prenom LIKE \"{$prenom}\"";
+ $contrainte = true;
+ $liste_const = $liste_const. "prenom = $prenom
";
+ }
+ if ($groupe != "") {
+ $and = ($contrainte) ? " AND " : "";
+ $where = $where . $and . "groupe LIKE \"{$groupe}\"";
+ $contrainte = true;
+ $liste_const = $liste_const. "groupe = $groupe
";
+ }
+
+ if (!$contrainte) {
+ return false;
+ }
+ $req = "($req_utilisateurs $where) ORDER BY username DESC";
+ $res = db_query($db, $req);
+
+ return $res;
+
+}
+
+
// fonction AfficheResultats($tab) : formatte l'affichage d'un jeu de résultats
function FormatteResultats(&$db, &$res) {
$r = "