static function getQueryFilter($idetat, $iduser, $idempr, $user_input, $date_dmde, $date_but, $id_theme, $id_type, $dmde_loc) { $date_deb = str_replace('-', '', $date_dmde); $date_fin = str_replace('-', '', $date_but); $params = array(); //Filtre d'etat if ($idetat) { $etat = " etat_demande = '" . $idetat . "'"; $params[] = $etat; } //Filtre d'utilisateur $join_filtre_user = ""; if ($iduser) { if ($iduser == -1) { $user = "******"; } else { $user = "******" . (is_array($iduser) ? $iduser[0] : $iduser) . "' and duf.users_statut=1"; } $join_filtre_user = "******"; $params[] = $user; } //Filtre de demandeur if ($idempr) { $empr = " num_demandeur = '" . $idempr . "'"; $params[] = $empr; } //Filtre de recherche if ($user_input) { $user_input = str_replace('*', '%', $user_input); $saisie = " titre_demande like '%" . $user_input . "%'"; $params[] = $saisie; } //Filtre date if ($date_deb < $date_fin) { $date = " (date_demande >= '" . $date_dmde . "' and deadline_demande <= '" . $date_but . "' )"; $params[] = $date; } //Filtre theme if ($id_theme) { $theme = " theme_demande = '" . $id_theme . "'"; $params[] = $theme; } //Filtre type if ($id_type) { $type = " type_demande = '" . $id_type . "'"; $params[] = $type; } //Filtre localisation $join_loc = ""; if ($dmde_loc) { $join_loc = "left join empr on (num_demandeur=id_empr)"; $loc = " empr_location = '" . $dmde_loc . "'"; $params[] = $loc; } //Champs perso $join_cp = ""; $p_perso = new parametres_perso("demandes"); $perso_ = $p_perso->read_search_fields_from_form(); if (count($perso_["FIELDS"])) { for ($i = 0; $i < count($perso_["FIELDS"]); $i++) { $p = $perso_["FIELDS"][$i]; if (is_array($p["VALUE"]) && count($p["VALUE"])) { $join_cp .= " join demandes_custom_values as d_c_v_" . $i . " on (d_c_v_" . $i . ".demandes_custom_origine=d.id_demande)"; $join_cp .= " and d_c_v_" . $i . ".demandes_custom_" . $p["DATATYPE"] . " IN ('" . implode("','", $p["VALUE"]) . "') "; } } } if ($params) { $clause = "where " . implode(" and ", $params); } $req = "select id_demande\n\t\t\t\tfrom demandes d \n\t\t\t\tjoin demandes_type dy on d.type_demande=dy.id_type\n\t\t\t\tjoin demandes_theme dt on d.theme_demande=dt.id_theme\t\t\t\t\n\t\t\t\tleft join demandes_users du on du.num_demande=d.id_demande\n\t\t\t\tleft join users on (du.num_user=userid and du.users_statut=1)\n\t\t\t\t{$join_filtre_user}\n\t\t\t\t{$join_loc}\n\t\t\t\t{$join_cp}\n\t\t\t\t{$clause}\n\t\t\t\tgroup by id_demande\n\t\t\t\torder by date_demande desc"; return $req; }