| include "menu.php"; ?> |
Recherche d'une Application :
Cochez la case adjacente à un champ afin de l'afficher au résultat de la recherche
if (isset($_POST['Flag'])) { // Variables // Champs Textes $VarFields="Ref_Clarify Nom Alias Projet Chef_Projet Plage_Inter Plage_Prod Plage_Util Commentaires"; // Champs Listes $TableNames=array("DSI"=>"EP_LISTE_DSI","Domaine"=>"EP_LISTE_DOMAINES_APP","Nv_Srvc"=>"EP_LISTE_NIVEAUX_SERVICE_APP","Couv_Srvc"=>"EP_LISTE_COUV_SERVICE_APP","Svc_Mgr"=>"EP_LISTE_SERVICE_MGR_APP","BT"=>"EP_LISTE_BT_APP","Environnement"=>"EP_LISTE_ENVIRONNEMENTS","Statut"=>"EP_LISTE_STATUTS_APP"); // Labels des Champs avec affichage obligatoire $ForcedFields=array("Nom"=>"Nom","Serveur"=>"Serveur","Base"=>"Base de donn\351es","SRVBDD"=>"Serveur de base de données"); // Tous les autres Champs $Fields=array("Alias"=>"Alias","Projet"=>"Projet","DSI"=>"DSI","Domaine"=>"Domaine Applicatif","Nv_Srvc"=>"Niveau de Service","Couv_Srvc"=>"Couverture de Service","Chef_Projet"=>"Chef de Projet","Svc_Mgr"=>"Service Manager","BT"=>"BT","Environnement"=>"Environnement","Statut"=>"Statut","Plage_Inter"=>"Plage d\'intervention","Plage_Prod"=>"Plage d\'utilisation","Plage_Util"=>"Plage d\'utilisation","Commentaires"=>"Commentaires"); // Requete generique $Request="select EP_APPLICATIONS.APP_ID, EP_APPLICATIONS.REF_CLARIFY, EP_APPLICATIONS.NOM,EP_SERVEURS.NOM as SERVEUR,EP_BDD.INSTANCE as BASE, EP_SRVBDD.NOM as SRVBDD, ALIAS, PROJET, EP_LISTE_DSI.OPT_LABEL as DSI,CHEF_PROJET, EP_LISTE_DOMAINES_APP.OPT_LABEL as DOMAINE, EP_LISTE_SERVICE_MGR_APP.OPT_LABEL as SVC_MGR, EP_LISTE_STATUTS_APP.OPT_LABEL as STATUT, EP_LISTE_ENVIRONNEMENTS.OPT_LABEL as ENVIRONNEMENT, EP_LISTE_NIVEAUX_SERVICE_APP.OPT_LABEL as NV_SRVC,EP_LISTE_COUV_SERVICE_APP.OPT_LABEL as COUV_SRVC, EP_LISTE_BT_APP.OPT_LABEL as BT, EP_LISTE_PLAGE_H_INTER_APP.OPT_LABEL as PLAGE_H_INTER,EP_LISTE_PLAGE_J_INTER_APP.OPT_LABEL as PLAGE_J_INTER,EP_LISTE_PLAGE_H_PROD_APP.OPT_LABEL as PLAGE_H_PROD,EP_LISTE_PLAGE_J_PROD_APP.OPT_LABEL as PLAGE_J_PROD,EP_LISTE_PLAGE_H_UTIL_APP.OPT_LABEL as PLAGE_H_UTIL,EP_LISTE_PLAGE_J_UTIL_APP.OPT_LABEL as PLAGE_J_UTIL, EP_APPLICATIONS.COMMENTAIRES from EP_APPLICATIONS left outer join EP_APP_SRV on EP_APPLICATIONS.APP_ID=EP_APP_SRV.APP_ID left outer join EP_APP_BDD on EP_APP_BDD.APP_ID=EP_APPLICATIONS.APP_ID left outer join EP_BDD on EP_BDD.BDD_ID=EP_APP_BDD.BDD_ID left outer join EP_SERVEURS on EP_SERVEURS.SRV_ID=EP_APP_SRV.SRV_ID left outer join EP_SERVEURS EP_SRVBDD on EP_BDD.SERVEUR=EP_SRVBDD.SRV_ID, EP_LISTE_STATUTS_APP, EP_LISTE_DSI, EP_LISTE_SERVICE_MGR_APP, EP_LISTE_DOMAINES_APP, EP_LISTE_ENVIRONNEMENTS, EP_LISTE_NIVEAUX_SERVICE_APP, EP_LISTE_COUV_SERVICE_APP,EP_LISTE_BT_APP,EP_LISTE_PLAGE_H_INTER_APP,EP_LISTE_PLAGE_J_INTER_APP,EP_LISTE_PLAGE_H_PROD_APP,EP_LISTE_PLAGE_J_PROD_APP,EP_LISTE_PLAGE_H_UTIL_APP,EP_LISTE_PLAGE_J_UTIL_APP where EP_APPLICATIONS.DSI=EP_LISTE_DSI.OPT_ID AND EP_APPLICATIONS.SVC_MGR=EP_LISTE_SERVICE_MGR_APP.OPT_ID AND EP_APPLICATIONS.DOMAINE=EP_LISTE_DOMAINES_APP.OPT_ID AND EP_APPLICATIONS.STATUT=EP_LISTE_STATUTS_APP.OPT_ID AND EP_APPLICATIONS.ENVIRONNEMENT=EP_LISTE_ENVIRONNEMENTS.OPT_ID AND EP_APPLICATIONS.NV_SRVC=EP_LISTE_NIVEAUX_SERVICE_APP.OPT_ID AND EP_APPLICATIONS.COUV_SRVC=EP_LISTE_COUV_SERVICE_APP.OPT_ID AND EP_APPLICATIONS.BT=EP_LISTE_BT_APP.OPT_ID AND EP_LISTE_ENVIRONNEMENTS.OPT_ID=EP_APPLICATIONS.ENVIRONNEMENT AND EP_LISTE_PLAGE_H_INTER_APP.OPT_ID=EP_APPLICATIONS.PLAGE_H_INTER AND EP_LISTE_PLAGE_J_INTER_APP.OPT_ID=EP_APPLICATIONS.PLAGE_J_INTER AND EP_LISTE_PLAGE_H_PROD_APP.OPT_ID=EP_APPLICATIONS.PLAGE_H_PROD AND EP_LISTE_PLAGE_J_PROD_APP.OPT_ID=EP_APPLICATIONS.PLAGE_J_PROD AND EP_LISTE_PLAGE_H_UTIL_APP.OPT_ID=EP_APPLICATIONS.PLAGE_H_UTIL AND EP_LISTE_PLAGE_J_UTIL_APP.OPT_ID=EP_APPLICATIONS.PLAGE_J_UTIL"; // Preparation du translate (suppression des accents) qui sera couple a un upper (suppression des majuscules) $accents='ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ'; $noaccents='AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy'; // Type de recherche: Avancee if ($_POST['Flag']=="A") { $Fields=array(); // Generation des clause en fonction des elements de recherche soumis foreach ($_POST as $key => $value) { if ($value && $key != "Flag" && $key != "GenSearch") { $Search=format_string($value); if ($key == "OrderBy") { $Order=" ORDER BY ".$value; } else if (substr($key,0,4) == "Aff_") { $Champ=substr($key,4); $Fields[$Champ]=$value; } else if ($key == "Base") { $Request.=" AND UPPER(TRANSLATE(EP_BDD.INSTANCE,'".$accents."','".$noaccents."')) like '%".escape_string($Search)."%'"; } else if ($key == "Serveur") { $Request.=" AND UPPER(TRANSLATE(EP_SERVEURS.NOM,'".$accents."','".$noaccents."')) like '%".escape_string($Search)."%'"; } else if (isset($TableNames[$key])) { $Request.=" AND EP_APPLICATIONS.".$key."='".escape_string($Search)."'"; } else { $Request.=" AND UPPER(TRANSLATE(EP_APPLICATIONS.".$key.",'".$accents."','".$noaccents."')) like '%".escape_string($Search)."%'"; } } } // Type de recherche: Simple } else if ($_POST['Flag']=="S") { $Request.=" AND ("; $Search=format_string($_POST['GenSearch']); if ($_POST['OrderBy'] != "") {$Order=" ORDER BY ".$_POST['OrderBy'];} $Fields=array("Alias"=>"Alias","Projet"=>"Projet","DSI"=>"DSI","Domaine"=>"Domaine Applicatif","Nv_Srvc"=>"Niveau de Service","Couv_Srvc"=>"Couverture de Service","Chef_Projet"=>"Chef de Projet","Svc_Mgr"=>"Service Manager","BT"=>"BT","Environnement"=>"Environnement","Statut"=>"Statut","Plage_Inter"=>"Plage d\'intervention","Plage_Prod"=>"Plage d\'utilisation","Plage_Util"=>"Plage d\'utilisation","Commentaires"=>"Commentaires"); // Generation des clause a partir des listes definies au dessus // Gestion de la base et du serveur $Request.="UPPER(TRANSLATE(EP_BDD.INSTANCE,'".$accents."','".$noaccents."')) like '%".escape_string($Search)."%'"; $Request.=" OR UPPER(TRANSLATE(EP_SERVEURS.NOM,'".$accents."','".$noaccents."')) like '%".escape_string($Search)."%'"; // Boucle sur $VarFields foreach (explode(" ",$VarFields) as $key => $value) { if (substr($value,0,5) == "Plage") { $Request.=" OR UPPER(TRANSLATE(EP_APPLICATIONS.".str_replace("_","_H_",$value).",'".$accents."','".$noaccents."')) like '%".escape_string($Search)."%'"; $Request.=" OR UPPER(TRANSLATE(EP_APPLICATIONS.".str_replace("_","_J_",$value).",'".$accents."','".$noaccents."')) like '%".escape_string($Search)."%'"; } else { $Request.=" OR UPPER(TRANSLATE(EP_APPLICATIONS.".$value.",'".$accents."','".$noaccents."')) like '%".escape_string($Search)."%'"; } } // Boucle sur $TableNames foreach ($TableNames as $key => $value) { $Request.=" OR (EP_APPLICATIONS.".$key."=".$value.".OPT_ID AND UPPER(TRANSLATE(".$value.".OPT_LABEL,'".$accents."','".$noaccents."')) like '%".escape_string($Search)."%')"; } $Request.=")"; } // Ordre de Tri if (!isset($Order)) {$Request.=" ORDER BY EP_APPLICATIONS.REF_CLARIFY";} else {$Request.=$Order;} // Execution de la requete $AppList=ExecSelect($Request); // Merge des tableaux force et libre $Fields=array_merge($ForcedFields,$Fields); // Affichage echo '
| ||||||||||||||||||||||||