30 |
'; |
'; |
31 |
|
|
32 |
/** |
/** |
33 |
|
* Tableau contenant la liste des filtres pouvant être utilisé |
34 |
|
* dans les widgets. |
35 |
|
*/ |
36 |
|
protected $existing_filters = array( |
37 |
|
'division', |
38 |
|
'instructeur', |
39 |
|
'instructeur_secondaire', |
40 |
|
'instructeur_ou_instructeur_secondaire' |
41 |
|
); |
42 |
|
|
43 |
|
/** |
44 |
* Cette méthode retourne un arbre html représentant un raccourci. |
* Cette méthode retourne un arbre html représentant un raccourci. |
45 |
* |
* |
46 |
* Un raccourci est composé d'un lien, d'une image et d'une description. |
* Un raccourci est composé d'un lien, d'une image et d'une description. |
262 |
%s |
%s |
263 |
FROM |
FROM |
264 |
%s |
%s |
265 |
|
%s |
266 |
%s |
%s |
267 |
%s |
%s |
268 |
|
%s |
269 |
%s |
%s |
270 |
%s", |
%s", |
271 |
$conf["query_ct_select"], |
$conf["query_ct_select"], |
272 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
273 |
|
'%s', |
274 |
trim($conf["query_ct_where"]) !== '' ? "WHERE" : '', |
trim($conf["query_ct_where"]) !== '' ? "WHERE" : '', |
275 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
276 |
|
'%s', // emplacement pour les conditions du filtre |
277 |
$conf["query_ct_orderby"], |
$conf["query_ct_orderby"], |
278 |
$conf["query_ct_limit"] |
$conf["query_ct_limit"] |
279 |
); |
); |
280 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
281 |
|
$sqlFilter = $this->get_query_filter( |
282 |
|
$sql, |
283 |
|
$conf['arguments']['filtre'] |
284 |
|
); |
285 |
|
$sql = sprintf( |
286 |
|
$sql, |
287 |
|
$sqlFilter["FROM"], |
288 |
|
$sqlFilter["WHERE"] |
289 |
|
); |
290 |
|
|
291 |
$search = array( |
$search = array( |
292 |
"valide" => "false", |
"valide" => "false", |
299 |
} |
} |
300 |
|
|
301 |
// Récupération de l'identifiant de l'instructeur pour la recherche avancée |
// Récupération de l'identifiant de l'instructeur pour la recherche avancée |
302 |
if ($conf['arguments']['filtre'] == 'instructeur') { |
if ($conf['arguments']['filtre'] == 'instructeur' || $conf['arguments']['filtre'] == 'instructeur_secondaire') { |
303 |
$select_instructeur = sprintf( |
$select_instructeur = sprintf( |
304 |
"SELECT |
'SELECT |
305 |
dossier.instructeur |
instructeur.instructeur |
306 |
FROM |
FROM |
307 |
%s", |
%1$sinstructeur |
308 |
$conf["query_ct_from"] |
LEFT JOIN %1$som_utilisateur |
309 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
310 |
|
WHERE |
311 |
|
om_utilisateur.login = \'%2$s\'', |
312 |
|
DB_PREFIXE, |
313 |
|
$this->f->db->escapeSimple($_SESSION['login']) |
314 |
); |
); |
315 |
|
|
316 |
// Execution de la requête |
// Execution de la requête |
318 |
$this->addToLog(__METHOD__."(): db->getone(\"".$select_instructeur."\");", VERBOSE_MODE); |
$this->addToLog(__METHOD__."(): db->getone(\"".$select_instructeur."\");", VERBOSE_MODE); |
319 |
$this->f->isDatabaseError($id_instructeur); |
$this->f->isDatabaseError($id_instructeur); |
320 |
|
|
321 |
$search['instructeur'] = $id_instructeur; |
$conf['arguments']['filtre'] == 'instructeur' ? |
322 |
|
($search['instructeur'] = $id_instructeur) : |
323 |
|
($search['instructeur_2'] = $id_instructeur); |
324 |
} |
} |
325 |
|
|
326 |
// Récupération de l'identifiant de la division pour la recherche avancée |
// Récupération de l'identifiant de la division pour la recherche avancée |
327 |
if ($conf['arguments']['filtre'] == 'division') { |
if ($conf['arguments']['filtre'] == 'division') { |
328 |
$select_division = sprintf( |
$search['division'] = $_SESSION['division']; |
|
"SELECT |
|
|
division.division |
|
|
FROM |
|
|
%s", |
|
|
$conf["query_ct_from"] |
|
|
); |
|
|
|
|
|
// Execution de la requête |
|
|
$id_division = $this->f->db->getone($select_division); |
|
|
$this->addToLog(__METHOD__."(): db->getone(\"".$select_division."\");", VERBOSE_MODE); |
|
|
$this->f->isDatabaseError($id_division); |
|
|
|
|
|
$search['division'] = $id_division; |
|
329 |
} |
} |
330 |
|
|
331 |
// Récupération de la collectivité pour la recherche avancée |
// Récupération de la collectivité pour la recherche avancée |
343 |
$this->template_help, |
$this->template_help, |
344 |
$conf["message_help"] |
$conf["message_help"] |
345 |
); |
); |
|
|
|
346 |
// Affichage du widget avec une bulle |
// Affichage du widget avec une bulle |
347 |
if ($conf["arguments"]["affichage"] === "nombre") { |
if ($conf["arguments"]["affichage"] === "nombre") { |
348 |
// Execution de la requête |
// Execution de la requête |
508 |
// |
// |
509 |
$elem = trim($arguments[$key]); |
$elem = trim($arguments[$key]); |
510 |
if ($key === "filtre" |
if ($key === "filtre" |
511 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "division", "instructeur_secondaire", "aucun"))) { |
512 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
513 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
514 |
continue; |
continue; |
548 |
$query_limit = ''; |
$query_limit = ''; |
549 |
// Gestion de l'affichage |
// Gestion de l'affichage |
550 |
if ($arguments['affichage'] == 'nombre') { |
if ($arguments['affichage'] == 'nombre') { |
551 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(DISTINCT(dossier.dossier))"; |
552 |
$query_ct_orderby = ''; |
$query_ct_orderby = ''; |
553 |
} else { |
} else { |
554 |
$query_ct_select = " |
$query_ct_select = " |
567 |
INNER JOIN %1$sdossier_autorisation_type_detaille |
INNER JOIN %1$sdossier_autorisation_type_detaille |
568 |
ON dossier_instruction_type.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille |
ON dossier_instruction_type.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille |
569 |
LEFT JOIN %1$sdemande |
LEFT JOIN %1$sdemande |
570 |
ON demande.dossier_instruction = dossier.dossier', |
ON demande.dossier_instruction = dossier.dossier |
571 |
|
LEFT JOIN %1$sinstructeur |
572 |
|
ON dossier.instructeur=instructeur.instructeur |
573 |
|
LEFT JOIN %1$som_utilisateur |
574 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
575 |
|
LEFT JOIN %1$sdivision |
576 |
|
ON dossier.division=division.division', |
577 |
DB_PREFIXE |
DB_PREFIXE |
578 |
); |
); |
579 |
|
|
590 |
} |
} |
591 |
|
|
592 |
$query_ct_where_filtre = ""; |
$query_ct_where_filtre = ""; |
|
$filtre = $arguments["filtre"]; |
|
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_filtre_instructeur = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_filtre_instructeur = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_filtre_division = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_filtre_division = " LEFT JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division"; |
|
|
} |
|
593 |
|
|
594 |
// |
// |
595 |
$query_ct_where = ' dossier_instruction_type.sous_dossier IS NOT TRUE'; |
$query_ct_where = ' dossier_instruction_type.sous_dossier IS NOT TRUE'; |
618 |
$message_help = $arguments["message_help"]; |
$message_help = $arguments["message_help"]; |
619 |
} |
} |
620 |
|
|
|
// Filtrage sur l'instructeur ou la division |
|
|
$query_ct_where_filtre = $query_ct_where_filtre_instructeur.$query_ct_where_filtre_division; |
|
|
|
|
621 |
// Construction du FROM |
// Construction du FROM |
622 |
$query_ct_from = $query_ct_from.$query_ct_join_collectivite_filter.$query_ct_where_filtre; |
$query_ct_from = $query_ct_from.$query_ct_join_collectivite_filter; |
623 |
|
|
624 |
// Construction du WHERE |
// Construction du WHERE |
625 |
$query_ct_where = sprintf( |
$query_ct_where = sprintf( |
675 |
); |
); |
676 |
$arguments = $this->get_arguments($content, $params); |
$arguments = $this->get_arguments($content, $params); |
677 |
$conf = $this->get_config_suivi_instruction_parametrable($arguments); |
$conf = $this->get_config_suivi_instruction_parametrable($arguments); |
678 |
|
$filtre = $conf["arguments"]["filtre"]; |
679 |
|
|
680 |
$sql = sprintf( |
$sql = sprintf( |
681 |
"SELECT |
"SELECT |
682 |
%s |
%s |
683 |
FROM |
FROM |
684 |
%s |
%s |
685 |
|
%s |
686 |
%s |
%s |
687 |
%s |
%s |
688 |
|
%s |
689 |
%s |
%s |
690 |
%s", |
%s", |
691 |
$conf["query_ct_select"], |
$conf["query_ct_select"], |
692 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
693 |
|
'%s', // emplacement pour les jointure du filtre |
694 |
trim($conf["query_ct_where"]) !== '' ? "WHERE" : '', |
trim($conf["query_ct_where"]) !== '' ? "WHERE" : '', |
695 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
696 |
|
'%s', // emplacement pour les conditions du filtre |
697 |
$conf["query_ct_orderby"], |
$conf["query_ct_orderby"], |
698 |
$conf["query_ct_limit"] |
$conf["query_ct_limit"] |
699 |
); |
); |
700 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
701 |
|
$sqlFilter = $this->get_query_filter( |
702 |
|
$sql, |
703 |
|
$conf['arguments']['filtre'] |
704 |
|
); |
705 |
|
$sql = sprintf( |
706 |
|
$sql, |
707 |
|
$sqlFilter["FROM"], |
708 |
|
$sqlFilter["WHERE"] |
709 |
|
); |
710 |
|
|
711 |
// Affichage du message d'informations |
// Affichage du message d'informations |
712 |
printf( |
printf( |
1068 |
// |
// |
1069 |
$elem = trim($arguments[$key]); |
$elem = trim($arguments[$key]); |
1070 |
if ($key === "filtre" |
if ($key === "filtre" |
1071 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "division", "instructeur_secondaire", "aucun"))) { |
1072 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
1073 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
1074 |
continue; |
continue; |
1254 |
ON dossier_instruction_type.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille |
ON dossier_instruction_type.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille |
1255 |
INNER JOIN %1$sinstruction |
INNER JOIN %1$sinstruction |
1256 |
ON instruction.dossier = dossier.dossier |
ON instruction.dossier = dossier.dossier |
1257 |
AND (instruction.date_envoi_signature is NULL AND instruction.instruction = (SELECT MAX(instruction.instruction) FROM %1$sinstruction WHERE instruction.dossier = dossier.dossier) OR instruction.date_envoi_signature = (SELECT MAX(instruction.date_envoi_signature) FROM %1$sinstruction WHERE instruction.dossier = dossier.dossier))', |
AND (instruction.date_envoi_signature is NULL |
1258 |
|
AND instruction.instruction = ( |
1259 |
|
SELECT |
1260 |
|
MAX(instruction.instruction) |
1261 |
|
FROM |
1262 |
|
%1$sinstruction |
1263 |
|
WHERE |
1264 |
|
instruction.dossier = dossier.dossier |
1265 |
|
) OR instruction.date_envoi_signature = ( |
1266 |
|
SELECT |
1267 |
|
MAX(instruction.date_envoi_signature) |
1268 |
|
FROM |
1269 |
|
%1$sinstruction |
1270 |
|
WHERE |
1271 |
|
instruction.dossier = dossier.dossier |
1272 |
|
) |
1273 |
|
) |
1274 |
|
LEFT JOIN %1$sinstructeur |
1275 |
|
ON dossier.instructeur=instructeur.instructeur |
1276 |
|
LEFT JOIN %1$som_utilisateur |
1277 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
1278 |
|
LEFT JOIN %1$sdivision |
1279 |
|
ON dossier.division=division.division', |
1280 |
DB_PREFIXE |
DB_PREFIXE |
1281 |
); |
); |
1282 |
|
|
1291 |
ON dossier.om_collectivite=om_collectivite.om_collectivite |
ON dossier.om_collectivite=om_collectivite.om_collectivite |
1292 |
"; |
"; |
1293 |
} |
} |
|
|
|
|
$query_ct_where_filtre = ""; |
|
|
$filtre = $arguments["filtre"]; |
|
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_filtre_instructeur = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_filtre_instructeur = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_filtre_division = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_filtre_division = " LEFT JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division"; |
|
|
} |
|
1294 |
|
|
1295 |
// Type d'évènement jointure |
// Type d'évènement jointure |
1296 |
$query_ct_from_filtre_evenement_type = ''; |
$query_ct_from_filtre_evenement_type = ''; |
1589 |
} |
} |
1590 |
|
|
1591 |
// Filtrage sur l'instructeur ou la division |
// Filtrage sur l'instructeur ou la division |
1592 |
$query_ct_where_filtre = $query_ct_where_filtre_instructeur.$query_ct_where_filtre_division.$query_ct_from_filtre_evenement_type.$query_ct_from_filtre_signataire_description.$query_ct_from_filtre_petitionnaire.$query_ct_from_filtre_statut_dossier; |
$query_ct_where_filtre = $query_ct_from_filtre_evenement_type. |
1593 |
|
$query_ct_from_filtre_signataire_description. |
1594 |
|
$query_ct_from_filtre_petitionnaire. |
1595 |
|
$query_ct_from_filtre_statut_dossier; |
1596 |
|
|
1597 |
// Construction du FROM |
// Construction du FROM |
1598 |
$query_ct_from = $query_ct_from.$query_ct_join_collectivite_filter.$query_ct_where_filtre; |
$query_ct_from = $query_ct_from. |
1599 |
|
$query_ct_join_collectivite_filter. |
1600 |
|
$query_ct_where_filtre; |
1601 |
|
|
1602 |
$tab_criteres = array( |
$tab_criteres = array( |
1603 |
'statut_signature' => $query_ct_where_statut_signature_filter, |
'statut_signature' => $query_ct_where_statut_signature_filter, |
2012 |
$arguments[$key] = explode(";", $elem); |
$arguments[$key] = explode(";", $elem); |
2013 |
continue; |
continue; |
2014 |
} elseif ($key === "filtre" |
} elseif ($key === "filtre" |
2015 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "instructeur_secondaire", "division", "aucun"))) { |
2016 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
2017 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
2018 |
continue; |
continue; |
2124 |
) |
) |
2125 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
2126 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
2127 |
%s |
LEFT JOIN ".DB_PREFIXE."instructeur |
2128 |
%s |
ON dossier.instructeur=instructeur.instructeur |
2129 |
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
2130 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
2131 |
|
LEFT JOIN ".DB_PREFIXE."division |
2132 |
|
ON dossier.division=division.division |
2133 |
%s |
%s |
2134 |
"; |
"; |
2135 |
|
|
2136 |
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
2137 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_instructeur_filter = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_division_filter = " LEFT JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division"; |
|
|
} |
|
2138 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
2139 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
2140 |
// collectivité |
// collectivité |
2149 |
"; |
"; |
2150 |
} |
} |
2151 |
|
|
2152 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
2153 |
// WHERE - COMMON |
// WHERE - COMMON |
2154 |
$query_ct_where_common = " |
$query_ct_where_common = " |
2155 |
groupe.code != 'CTX' |
groupe.code != 'CTX' |
2221 |
case "instructeur" : |
case "instructeur" : |
2222 |
$message_filtre = " "._("(filtrés par instructeur)"); |
$message_filtre = " "._("(filtrés par instructeur)"); |
2223 |
break; |
break; |
2224 |
|
case "instructeur_secondaire" : |
2225 |
|
$message_filtre = " "._("(filtrés par instructeur secondaire)"); |
2226 |
|
break; |
2227 |
case "division" : |
case "division" : |
2228 |
$message_filtre = " "._("(filtrés par division)"); |
$message_filtre = " "._("(filtrés par division)"); |
2229 |
break; |
break; |
2313 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
2314 |
} |
} |
2315 |
|
|
2316 |
$query = sprintf(" |
$query = sprintf( |
2317 |
SELECT |
"SELECT |
2318 |
%s |
%s |
2319 |
FROM |
FROM |
2320 |
%s |
%s |
2321 |
|
%s |
2322 |
WHERE |
WHERE |
2323 |
%s |
%s |
2324 |
%s |
%s |
2325 |
%s |
%s |
2326 |
%s |
%s |
2327 |
%s", |
%s |
2328 |
|
%s", |
2329 |
$query_ct_select, |
$query_ct_select, |
2330 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
2331 |
|
'%s', // emplacement pour les jointure du filtre |
2332 |
$conf["query_ct_where_common"], |
$conf["query_ct_where_common"], |
2333 |
$conf["query_ct_where_tacite_filter"], |
$conf["query_ct_where_tacite_filter"], |
2334 |
$conf["query_ct_where_datd_filter"], |
$conf["query_ct_where_datd_filter"], |
2335 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
2336 |
|
'%s', // emplacement pour les conditions du filtre |
2337 |
$query_ct_orderby |
$query_ct_orderby |
2338 |
); |
); |
2339 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
2340 |
|
$sqlFilter = $this->get_query_filter( |
2341 |
|
$query, |
2342 |
|
$conf['arguments']['filtre'] |
2343 |
|
); |
2344 |
|
$query = sprintf( |
2345 |
|
$query, |
2346 |
|
$sqlFilter["FROM"], |
2347 |
|
$sqlFilter["WHERE"] |
2348 |
|
); |
2349 |
|
|
2350 |
/** |
/** |
2351 |
* Templates nécessaires à l'affichage du widget |
* Templates nécessaires à l'affichage du widget |
2576 |
// |
// |
2577 |
$arguments[$key] = $value; |
$arguments[$key] = $value; |
2578 |
} |
} |
2579 |
|
// Utilisation du filtre instructeur dédié au contentieux si le filtre |
2580 |
|
// paramétré est "instructeur" |
2581 |
|
if (! empty($arguments["filtre"]) && $arguments["filtre"] === 'instructeur') { |
2582 |
|
$arguments["filtre"] = 'instructeur_ou_instructeur_secondaire'; |
2583 |
|
} |
2584 |
$filtre = $arguments["filtre"]; |
$filtre = $arguments["filtre"]; |
2585 |
|
|
2586 |
// SELECT - CHAMPAFFICHE |
// SELECT - CHAMPAFFICHE |
2689 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
2690 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
2691 |
%s |
%s |
|
%s |
|
2692 |
"; |
"; |
2693 |
|
|
2694 |
$query_ct_from_collectivite_filter = ""; |
$query_ct_from_collectivite_filter = ""; |
|
$query_ct_from_instructeur_filter = ""; |
|
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
$query_ct_from_instructeur_filter = " |
|
|
JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
OR dossier.instructeur_2=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} |
|
|
else { |
|
|
$query_ct_from_instructeur_filter = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
2695 |
|
|
2696 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
2697 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
2708 |
"; |
"; |
2709 |
} |
} |
2710 |
|
|
2711 |
$query_ct_from = sprintf($query_ct_from, $query_ct_from_instructeur_filter, $query_ct_from_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_from_collectivite_filter); |
2712 |
|
|
2713 |
// WHERE - COMMON |
// WHERE - COMMON |
2714 |
$query_ct_where_common = " |
$query_ct_where_common = " |
2731 |
$message_filtre = ""; |
$message_filtre = ""; |
2732 |
// |
// |
2733 |
switch ($filtre) { |
switch ($filtre) { |
2734 |
case "instructeur": |
case "instructeur_ou_instructeur_secondaire": |
2735 |
$message_filtre = " "._("dont je suis l'instructeur"); |
$message_filtre = " "._("dont je suis l'instructeur"); |
2736 |
break; |
break; |
2737 |
case "aucun": |
case "aucun": |
2789 |
$filtre = $conf["arguments"]["filtre"]; |
$filtre = $conf["arguments"]["filtre"]; |
2790 |
// Définit l'objet cible |
// Définit l'objet cible |
2791 |
$obj = 'dossier_contentieux_tous_recours'; |
$obj = 'dossier_contentieux_tous_recours'; |
2792 |
if ($filtre === 'instructeur') { |
if ($filtre === 'instructeur' || $filtre = 'instructeur_ou_instructeur_secondaire') { |
2793 |
// |
// |
2794 |
$obj = 'dossier_contentieux_mes_recours'; |
$obj = 'dossier_contentieux_mes_recours'; |
2795 |
} |
} |
2810 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
2811 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
2812 |
} |
} |
2813 |
|
|
2814 |
$query = sprintf(" |
$query = sprintf(" |
2815 |
SELECT |
SELECT |
2816 |
%s |
%s |
2817 |
FROM |
FROM |
2818 |
%s |
%s |
2819 |
|
%s |
2820 |
WHERE |
WHERE |
2821 |
%s |
%s |
2822 |
%s", |
%s |
2823 |
|
%s |
2824 |
|
%s", |
2825 |
$query_ct_select, |
$query_ct_select, |
2826 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
2827 |
|
'%s', // emplacement pour les jointure du filtre |
2828 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
2829 |
|
$conf["query_ct_where_groupe"], |
2830 |
|
'%s', // emplacement pour les conditions du filtre |
2831 |
$query_ct_orderby |
$query_ct_orderby |
2832 |
); |
); |
2833 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
2834 |
|
$sqlFilter = $this->get_query_filter( |
2835 |
|
$query, |
2836 |
|
$conf['arguments']['filtre'] |
2837 |
|
); |
2838 |
|
$query = sprintf( |
2839 |
|
$query, |
2840 |
|
$sqlFilter["FROM"], |
2841 |
|
$sqlFilter["WHERE"] |
2842 |
|
); |
2843 |
|
|
2844 |
/** |
/** |
2845 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
3005 |
|
|
3006 |
|
|
3007 |
/** |
/** |
|
* Cette méthode permet de récupérer la configuration du widget 'Mes |
|
|
* infractions'. |
|
|
* |
|
|
* @return array |
|
|
*/ |
|
|
function get_config_dossier_contentieux_infraction($arguments) { |
|
|
include "../sql/pgsql/app_om_tab_common_select.inc.php"; |
|
|
// Initialisation du tableau des paramètres avec ses valeur par défaut |
|
|
$arguments_default = array( |
|
|
"filtre" => "instructeur", |
|
|
"affichage" => "liste" |
|
|
); |
|
|
// Vérification des arguments |
|
|
foreach ($arguments_default as $key => $value) { |
|
|
// |
|
|
if (isset($arguments[$key])) { |
|
|
// |
|
|
$elem = trim($arguments[$key]); |
|
|
// |
|
|
if ($key === "filtre" |
|
|
&& in_array($elem, array("instructeur", "aucun"))) { |
|
|
// La valeur doit être dans cette liste |
|
|
$arguments[$key] = $elem; |
|
|
continue; |
|
|
} elseif ($key === "affichage" |
|
|
&& in_array($elem, array('liste', 'nombre'))) { |
|
|
// La valeur doit être dans cette liste |
|
|
$arguments[$key] = $elem; |
|
|
continue; |
|
|
} |
|
|
} |
|
|
// |
|
|
$arguments[$key] = $value; |
|
|
} |
|
|
$filtre = $arguments["filtre"]; |
|
|
|
|
|
// SELECT - CHAMPAFFICHE |
|
|
// |
|
|
$trim_concat_terrain = ' |
|
|
TRIM( |
|
|
CASE |
|
|
WHEN dossier.adresse_normalisee IS NULL |
|
|
OR TRIM(dossier.adresse_normalisee) = \'\' |
|
|
THEN |
|
|
CONCAT_WS( |
|
|
\' \', |
|
|
dossier.terrain_adresse_voie_numero, |
|
|
dossier.terrain_adresse_voie, |
|
|
dossier.terrain_adresse_code_postal |
|
|
) |
|
|
ELSE |
|
|
dossier.adresse_normalisee |
|
|
END |
|
|
) as "'.__("localisation").'"'; |
|
|
// |
|
|
$case_contrevenant = " |
|
|
CASE WHEN demandeur_contrevenant.qualite = 'particulier' |
|
|
THEN TRIM(CONCAT(demandeur_contrevenant.particulier_nom, ' ', demandeur_contrevenant.particulier_prenom)) |
|
|
ELSE TRIM(CONCAT(demandeur_contrevenant.personne_morale_raison_sociale, ' ', demandeur_contrevenant.personne_morale_denomination)) |
|
|
END |
|
|
"; |
|
|
// |
|
|
$query_ct_select_champaffiche = array( |
|
|
'dossier.dossier as "'._("dossier").'"', |
|
|
'dossier.geom as "geom_picto"', |
|
|
'demande.source_depot as "demat_picto"', |
|
|
$select__dossier_libelle__column_as, |
|
|
$trim_concat_terrain, |
|
|
$case_contrevenant.' as "'._("contrevenant").'"', |
|
|
'donnees_techniques.ctx_reference_dsj as "'._("ctx_reference_dsj").'"', |
|
|
'to_char(dossier.date_premiere_visite ,\'DD/MM/YYYY\') as "'._("date_premiere_visite").'"', |
|
|
'to_char(dossier.date_derniere_visite ,\'DD/MM/YYYY\') as "'._("date_derniere_visite").'"', |
|
|
'etat.libelle as "'._("etat").'"', |
|
|
); |
|
|
|
|
|
/** |
|
|
* Construction de la requête |
|
|
*/ |
|
|
// SELECT |
|
|
$query_ct_select = " |
|
|
dossier.dossier, |
|
|
$select__dossier_libelle__column as dossier_libelle, |
|
|
dossier.date_depot |
|
|
"; |
|
|
|
|
|
// FROM |
|
|
$query_ct_from = |
|
|
DB_PREFIXE."dossier |
|
|
LEFT JOIN ( |
|
|
SELECT * |
|
|
FROM ".DB_PREFIXE."lien_dossier_demandeur |
|
|
INNER JOIN ".DB_PREFIXE."demandeur |
|
|
ON demandeur.demandeur = lien_dossier_demandeur.demandeur |
|
|
WHERE lien_dossier_demandeur.petitionnaire_principal IS TRUE |
|
|
AND LOWER(demandeur.type_demandeur) = LOWER('petitionnaire') |
|
|
) as demandeur |
|
|
ON demandeur.dossier = dossier.dossier |
|
|
INNER JOIN ".DB_PREFIXE."etat |
|
|
ON dossier.etat = etat.etat%s |
|
|
LEFT JOIN ".DB_PREFIXE."dossier_autorisation |
|
|
ON dossier_autorisation.dossier_autorisation = dossier.dossier_autorisation |
|
|
LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille |
|
|
ON dossier_autorisation_type_detaille.dossier_autorisation_type_detaille = dossier_autorisation.dossier_autorisation_type_detaille |
|
|
LEFT JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division = division.division |
|
|
LEFT JOIN ".DB_PREFIXE."avis_decision |
|
|
ON avis_decision.avis_decision=dossier.avis_decision |
|
|
LEFT OUTER JOIN ".DB_PREFIXE."arrondissement |
|
|
ON arrondissement.code_postal = dossier.terrain_adresse_code_postal |
|
|
LEFT JOIN ( |
|
|
SELECT * |
|
|
FROM ".DB_PREFIXE."lien_dossier_demandeur |
|
|
INNER JOIN ".DB_PREFIXE."demandeur |
|
|
ON demandeur.demandeur = lien_dossier_demandeur.demandeur |
|
|
WHERE lien_dossier_demandeur.petitionnaire_principal IS TRUE |
|
|
AND LOWER(demandeur.type_demandeur) = LOWER('contrevenant') |
|
|
) as demandeur_contrevenant |
|
|
ON demandeur_contrevenant.dossier = dossier.dossier |
|
|
INNER JOIN ( |
|
|
SELECT |
|
|
ctx_reference_dsj, |
|
|
ctx_infraction, |
|
|
dossier_instruction |
|
|
FROM ".DB_PREFIXE."donnees_techniques |
|
|
) as donnees_techniques |
|
|
ON donnees_techniques.dossier_instruction = dossier.dossier |
|
|
LEFT JOIN (".DB_PREFIXE."demande |
|
|
JOIN ".DB_PREFIXE."demande_type |
|
|
ON demande.demande_type = demande_type.demande_type |
|
|
) |
|
|
ON demande.dossier_instruction = dossier.dossier |
|
|
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
|
|
%s |
|
|
%s |
|
|
"; |
|
|
|
|
|
$query_ct_from_collectivite_filter = ""; |
|
|
$query_ct_from_instructeur_filter = ""; |
|
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
$query_ct_from_instructeur_filter = " |
|
|
JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
OR dossier.instructeur_2=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} |
|
|
else { |
|
|
$query_ct_from_instructeur_filter = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."instructeur as instructeur_2 |
|
|
ON dossier.instructeur_2=instructeur_2.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
|
|
|
|
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
|
|
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
|
|
// collectivité |
|
|
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
|
|
$query_ct_from_collectivite_filter = " JOIN ".DB_PREFIXE."om_collectivite |
|
|
ON dossier.om_collectivite=om_collectivite.om_collectivite |
|
|
AND om_collectivite.om_collectivite=".$_SESSION['collectivite']." |
|
|
"; |
|
|
} |
|
|
else { |
|
|
$query_ct_from_collectivite_filter = " LEFT JOIN ".DB_PREFIXE."om_collectivite |
|
|
ON dossier.om_collectivite=om_collectivite.om_collectivite |
|
|
"; |
|
|
} |
|
|
|
|
|
// Retourne seulement les dossiers en cours d'instruction, lorsque le |
|
|
// filtre sur instructeur est activé |
|
|
$query_ct_where_etat_ctx_filter = "" ; |
|
|
if ($filtre === "instructeur") { |
|
|
$query_ct_where_etat_ctx_filter = " AND etat.statut = 'encours'"; |
|
|
} |
|
|
|
|
|
$query_ct_from = sprintf( |
|
|
$query_ct_from, |
|
|
$query_ct_where_etat_ctx_filter, |
|
|
$query_ct_from_instructeur_filter, |
|
|
$query_ct_from_collectivite_filter |
|
|
); |
|
|
|
|
|
// WHERE - COMMON |
|
|
$query_ct_where_common = " |
|
|
LOWER(dossier_autorisation_type.code) = LOWER('IN') |
|
|
"; |
|
|
|
|
|
// ORDER BY |
|
|
$query_ct_orderby = " |
|
|
dossier.date_depot DESC, dossier.dossier DESC |
|
|
"; |
|
|
|
|
|
$query_ct_where_groupe = ""; |
|
|
// Gestion des groupes et confidentialité |
|
|
include('../sql/pgsql/filter_group_widgets.inc.php'); |
|
|
|
|
|
/** |
|
|
* Message d'aide |
|
|
*/ |
|
|
// |
|
|
$message_filtre = ""; |
|
|
// |
|
|
switch ($filtre) { |
|
|
case "instructeur": |
|
|
$message_filtre = " ".__("en cours d'instruction")." ".__("dont je suis l'instructeur"); |
|
|
break; |
|
|
case "aucun": |
|
|
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
|
|
$message_filtre = " "._("situés dans ma collectivité"); |
|
|
} else { |
|
|
$message_filtre = " "._("situés dans toutes les collectivités"); |
|
|
} |
|
|
break; |
|
|
} |
|
|
// |
|
|
$message_help = sprintf( |
|
|
_("Les dernières infractions%s."), |
|
|
$message_filtre |
|
|
); |
|
|
|
|
|
/** |
|
|
* Return |
|
|
*/ |
|
|
// |
|
|
return array( |
|
|
"arguments" => $arguments, |
|
|
"message_help" => $message_help, |
|
|
"query_ct_select" => $query_ct_select, |
|
|
"query_ct_select_champaffiche" => $query_ct_select_champaffiche, |
|
|
"query_ct_from" => $query_ct_from, |
|
|
"query_ct_where" => $query_ct_where_common, |
|
|
"query_ct_orderby" => $query_ct_orderby |
|
|
); |
|
|
} |
|
|
|
|
|
/** |
|
3008 |
* WIDGET DASHBOARD - RSS |
* WIDGET DASHBOARD - RSS |
3009 |
* |
* |
3010 |
* Cette fonction gère l'affichage du widget RSS. |
* Cette fonction gère l'affichage du widget RSS. |
3180 |
$filtre = $conf["arguments"]["filtre"]; |
$filtre = $conf["arguments"]["filtre"]; |
3181 |
// Définit l'objet cible |
// Définit l'objet cible |
3182 |
$obj = 'dossier_contentieux_toutes_infractions'; |
$obj = 'dossier_contentieux_toutes_infractions'; |
3183 |
if ($filtre === 'instructeur') { |
if ($filtre === 'instructeur' || $filtre === 'instructeur_ou_instructeur_secondaire') { |
3184 |
// |
// |
3185 |
$obj = 'dossier_contentieux_mes_infractions'; |
$obj = 'dossier_contentieux_mes_infractions'; |
3186 |
} |
} |
3200 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
3201 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
3202 |
} |
} |
3203 |
|
|
3204 |
$query = sprintf(" |
$query = sprintf(" |
3205 |
SELECT |
SELECT |
3206 |
%s |
%s |
3207 |
FROM |
FROM |
3208 |
%s |
%s |
3209 |
|
%s |
3210 |
WHERE |
WHERE |
3211 |
%s |
%s |
3212 |
%s", |
%s |
3213 |
|
%s", |
3214 |
$query_ct_select, |
$query_ct_select, |
3215 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
3216 |
|
'%s', // emplacement pour les jointure du filtre |
3217 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
3218 |
|
'%s', // emplacement pour les conditions du filtre |
3219 |
$query_ct_orderby |
$query_ct_orderby |
3220 |
); |
); |
3221 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
3222 |
|
$sqlFilter = $this->get_query_filter( |
3223 |
|
$query, |
3224 |
|
$conf['arguments']['filtre'] |
3225 |
|
); |
3226 |
|
$query = sprintf( |
3227 |
|
$query, |
3228 |
|
$sqlFilter["FROM"], |
3229 |
|
$sqlFilter["WHERE"] |
3230 |
|
); |
3231 |
|
|
3232 |
/** |
/** |
3233 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
3234 |
*/ |
*/ |
3391 |
); |
); |
3392 |
} |
} |
3393 |
|
|
3394 |
|
|
3395 |
|
/** |
3396 |
|
* Cette méthode permet de récupérer la configuration du widget 'Mes |
3397 |
|
* infractions'. |
3398 |
|
* |
3399 |
|
* @return array |
3400 |
|
*/ |
3401 |
|
function get_config_dossier_contentieux_infraction($arguments) { |
3402 |
|
include "../sql/pgsql/app_om_tab_common_select.inc.php"; |
3403 |
|
// Initialisation du tableau des paramètres avec ses valeur par défaut |
3404 |
|
$arguments_default = array( |
3405 |
|
"filtre" => "instructeur", |
3406 |
|
"affichage" => "liste" |
3407 |
|
); |
3408 |
|
// Vérification des arguments |
3409 |
|
foreach ($arguments_default as $key => $value) { |
3410 |
|
// |
3411 |
|
if (isset($arguments[$key])) { |
3412 |
|
// |
3413 |
|
$elem = trim($arguments[$key]); |
3414 |
|
// |
3415 |
|
if ($key === "filtre" |
3416 |
|
&& in_array($elem, array("instructeur", "aucun"))) { |
3417 |
|
// La valeur doit être dans cette liste |
3418 |
|
$arguments[$key] = $elem; |
3419 |
|
continue; |
3420 |
|
} elseif ($key === "affichage" |
3421 |
|
&& in_array($elem, array('liste', 'nombre'))) { |
3422 |
|
// La valeur doit être dans cette liste |
3423 |
|
$arguments[$key] = $elem; |
3424 |
|
continue; |
3425 |
|
} |
3426 |
|
} |
3427 |
|
// |
3428 |
|
$arguments[$key] = $value; |
3429 |
|
} |
3430 |
|
// Utilisation du filtre instructeur dédié au contentieux si le filtre |
3431 |
|
// paramétré est "instructeur" |
3432 |
|
if (! empty($arguments["filtre"]) && $arguments["filtre"] === 'instructeur') { |
3433 |
|
$arguments["filtre"] = 'instructeur_ou_instructeur_secondaire'; |
3434 |
|
} |
3435 |
|
$filtre = $arguments["filtre"]; |
3436 |
|
|
3437 |
|
// SELECT - CHAMPAFFICHE |
3438 |
|
// |
3439 |
|
$trim_concat_terrain = ' |
3440 |
|
TRIM( |
3441 |
|
CASE |
3442 |
|
WHEN dossier.adresse_normalisee IS NULL |
3443 |
|
OR TRIM(dossier.adresse_normalisee) = \'\' |
3444 |
|
THEN |
3445 |
|
CONCAT_WS( |
3446 |
|
\' \', |
3447 |
|
dossier.terrain_adresse_voie_numero, |
3448 |
|
dossier.terrain_adresse_voie, |
3449 |
|
dossier.terrain_adresse_code_postal |
3450 |
|
) |
3451 |
|
ELSE |
3452 |
|
dossier.adresse_normalisee |
3453 |
|
END |
3454 |
|
) as "'.__("localisation").'"'; |
3455 |
|
// |
3456 |
|
$case_contrevenant = " |
3457 |
|
CASE WHEN demandeur_contrevenant.qualite = 'particulier' |
3458 |
|
THEN TRIM(CONCAT(demandeur_contrevenant.particulier_nom, ' ', demandeur_contrevenant.particulier_prenom)) |
3459 |
|
ELSE TRIM(CONCAT(demandeur_contrevenant.personne_morale_raison_sociale, ' ', demandeur_contrevenant.personne_morale_denomination)) |
3460 |
|
END |
3461 |
|
"; |
3462 |
|
// |
3463 |
|
$query_ct_select_champaffiche = array( |
3464 |
|
'dossier.dossier as "'._("dossier").'"', |
3465 |
|
'dossier.geom as "geom_picto"', |
3466 |
|
'demande.source_depot as "demat_picto"', |
3467 |
|
$select__dossier_libelle__column_as, |
3468 |
|
$trim_concat_terrain, |
3469 |
|
$case_contrevenant.' as "'._("contrevenant").'"', |
3470 |
|
'donnees_techniques.ctx_reference_dsj as "'._("ctx_reference_dsj").'"', |
3471 |
|
'to_char(dossier.date_premiere_visite ,\'DD/MM/YYYY\') as "'._("date_premiere_visite").'"', |
3472 |
|
'to_char(dossier.date_derniere_visite ,\'DD/MM/YYYY\') as "'._("date_derniere_visite").'"', |
3473 |
|
'etat.libelle as "'._("etat").'"', |
3474 |
|
); |
3475 |
|
|
3476 |
|
/** |
3477 |
|
* Construction de la requête |
3478 |
|
*/ |
3479 |
|
// SELECT |
3480 |
|
$query_ct_select = " |
3481 |
|
dossier.dossier, |
3482 |
|
$select__dossier_libelle__column as dossier_libelle, |
3483 |
|
dossier.date_depot |
3484 |
|
"; |
3485 |
|
|
3486 |
|
// FROM |
3487 |
|
$query_ct_from = |
3488 |
|
DB_PREFIXE."dossier |
3489 |
|
LEFT JOIN ( |
3490 |
|
SELECT * |
3491 |
|
FROM ".DB_PREFIXE."lien_dossier_demandeur |
3492 |
|
INNER JOIN ".DB_PREFIXE."demandeur |
3493 |
|
ON demandeur.demandeur = lien_dossier_demandeur.demandeur |
3494 |
|
WHERE lien_dossier_demandeur.petitionnaire_principal IS TRUE |
3495 |
|
AND LOWER(demandeur.type_demandeur) = LOWER('petitionnaire') |
3496 |
|
) as demandeur |
3497 |
|
ON demandeur.dossier = dossier.dossier |
3498 |
|
INNER JOIN ".DB_PREFIXE."etat |
3499 |
|
ON dossier.etat = etat.etat%s |
3500 |
|
LEFT JOIN ".DB_PREFIXE."dossier_autorisation |
3501 |
|
ON dossier_autorisation.dossier_autorisation = dossier.dossier_autorisation |
3502 |
|
LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille |
3503 |
|
ON dossier_autorisation_type_detaille.dossier_autorisation_type_detaille = dossier_autorisation.dossier_autorisation_type_detaille |
3504 |
|
LEFT JOIN ".DB_PREFIXE."division |
3505 |
|
ON dossier.division = division.division |
3506 |
|
LEFT JOIN ".DB_PREFIXE."avis_decision |
3507 |
|
ON avis_decision.avis_decision=dossier.avis_decision |
3508 |
|
LEFT OUTER JOIN ".DB_PREFIXE."arrondissement |
3509 |
|
ON arrondissement.code_postal = dossier.terrain_adresse_code_postal |
3510 |
|
LEFT JOIN ( |
3511 |
|
SELECT * |
3512 |
|
FROM ".DB_PREFIXE."lien_dossier_demandeur |
3513 |
|
INNER JOIN ".DB_PREFIXE."demandeur |
3514 |
|
ON demandeur.demandeur = lien_dossier_demandeur.demandeur |
3515 |
|
WHERE lien_dossier_demandeur.petitionnaire_principal IS TRUE |
3516 |
|
AND LOWER(demandeur.type_demandeur) = LOWER('contrevenant') |
3517 |
|
) as demandeur_contrevenant |
3518 |
|
ON demandeur_contrevenant.dossier = dossier.dossier |
3519 |
|
INNER JOIN ( |
3520 |
|
SELECT |
3521 |
|
ctx_reference_dsj, |
3522 |
|
ctx_infraction, |
3523 |
|
dossier_instruction |
3524 |
|
FROM ".DB_PREFIXE."donnees_techniques |
3525 |
|
) as donnees_techniques |
3526 |
|
ON donnees_techniques.dossier_instruction = dossier.dossier |
3527 |
|
LEFT JOIN (".DB_PREFIXE."demande |
3528 |
|
JOIN ".DB_PREFIXE."demande_type |
3529 |
|
ON demande.demande_type = demande_type.demande_type |
3530 |
|
) |
3531 |
|
ON demande.dossier_instruction = dossier.dossier |
3532 |
|
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
3533 |
|
%s |
3534 |
|
"; |
3535 |
|
|
3536 |
|
$query_ct_from_collectivite_filter = ""; |
3537 |
|
|
3538 |
|
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
3539 |
|
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
3540 |
|
// collectivité |
3541 |
|
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
3542 |
|
$query_ct_from_collectivite_filter = " JOIN ".DB_PREFIXE."om_collectivite |
3543 |
|
ON dossier.om_collectivite=om_collectivite.om_collectivite |
3544 |
|
AND om_collectivite.om_collectivite=".$_SESSION['collectivite']." |
3545 |
|
"; |
3546 |
|
} |
3547 |
|
else { |
3548 |
|
$query_ct_from_collectivite_filter = " LEFT JOIN ".DB_PREFIXE."om_collectivite |
3549 |
|
ON dossier.om_collectivite=om_collectivite.om_collectivite |
3550 |
|
"; |
3551 |
|
} |
3552 |
|
|
3553 |
|
// Retourne seulement les dossiers en cours d'instruction, lorsque le |
3554 |
|
// filtre sur instructeur est activé |
3555 |
|
$query_ct_where_etat_ctx_filter = "" ; |
3556 |
|
if ($filtre === "instructeur_ou_instructeur_secondaire") { |
3557 |
|
$query_ct_where_etat_ctx_filter = " AND etat.statut = 'encours'"; |
3558 |
|
} |
3559 |
|
|
3560 |
|
$query_ct_from = sprintf( |
3561 |
|
$query_ct_from, |
3562 |
|
$query_ct_where_etat_ctx_filter, |
3563 |
|
$query_ct_from_collectivite_filter |
3564 |
|
); |
3565 |
|
|
3566 |
|
// WHERE - COMMON |
3567 |
|
$query_ct_where_common = " |
3568 |
|
LOWER(dossier_autorisation_type.code) = LOWER('IN') |
3569 |
|
"; |
3570 |
|
|
3571 |
|
// ORDER BY |
3572 |
|
$query_ct_orderby = " |
3573 |
|
dossier.date_depot DESC, dossier.dossier DESC |
3574 |
|
"; |
3575 |
|
|
3576 |
|
$query_ct_where_groupe = ""; |
3577 |
|
// Gestion des groupes et confidentialité |
3578 |
|
include('../sql/pgsql/filter_group_widgets.inc.php'); |
3579 |
|
|
3580 |
|
/** |
3581 |
|
* Message d'aide |
3582 |
|
*/ |
3583 |
|
// |
3584 |
|
$message_filtre = ""; |
3585 |
|
// |
3586 |
|
switch ($filtre) { |
3587 |
|
case "instructeur_ou_instructeur_secondaire": |
3588 |
|
$message_filtre = " ".__("en cours d'instruction")." ".__("dont je suis l'instructeur"); |
3589 |
|
break; |
3590 |
|
case "instructeur_secondaire": |
3591 |
|
$message_filtre = " ".__("en cours d'instruction")." ".__("dont je suis l'instructeur secondaire"); |
3592 |
|
break; |
3593 |
|
case "aucun": |
3594 |
|
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
3595 |
|
$message_filtre = " "._("situés dans ma collectivité"); |
3596 |
|
} else { |
3597 |
|
$message_filtre = " "._("situés dans toutes les collectivités"); |
3598 |
|
} |
3599 |
|
break; |
3600 |
|
} |
3601 |
|
// |
3602 |
|
$message_help = sprintf( |
3603 |
|
_("Les dernières infractions%s."), |
3604 |
|
$message_filtre |
3605 |
|
); |
3606 |
|
|
3607 |
|
/** |
3608 |
|
* Return |
3609 |
|
*/ |
3610 |
|
// |
3611 |
|
return array( |
3612 |
|
"arguments" => $arguments, |
3613 |
|
"message_help" => $message_help, |
3614 |
|
"query_ct_select" => $query_ct_select, |
3615 |
|
"query_ct_select_champaffiche" => $query_ct_select_champaffiche, |
3616 |
|
"query_ct_from" => $query_ct_from, |
3617 |
|
"query_ct_where" => $query_ct_where_common, |
3618 |
|
"query_ct_orderby" => $query_ct_orderby |
3619 |
|
); |
3620 |
|
} |
3621 |
|
|
3622 |
/** |
/** |
3623 |
* Cet méthode permet de formater, la chaîne de caractères reçue du |
* Cet méthode permet de formater, la chaîne de caractères reçue du |
3624 |
* paramétrage du widget en un tableau de valeurs dont les clés |
* paramétrage du widget en un tableau de valeurs dont les clés |
3697 |
/** |
/** |
3698 |
* Composition de la requête |
* Composition de la requête |
3699 |
*/ |
*/ |
3700 |
// |
$query = sprintf(" |
3701 |
$query = sprintf( |
SELECT |
3702 |
"SELECT |
COUNT(*) |
|
count(*) |
|
3703 |
FROM |
FROM |
3704 |
%s |
%s |
3705 |
|
%s |
3706 |
WHERE |
WHERE |
3707 |
%s |
%s |
3708 |
|
%s |
3709 |
%s", |
%s", |
3710 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
3711 |
|
'%s', // emplacement pour les jointure du filtre |
3712 |
$conf["query_ct_where_common"], |
$conf["query_ct_where_common"], |
3713 |
$conf["query_ct_where_groupe"] |
$conf["query_ct_where_groupe"], |
3714 |
|
'%s' // emplacement pour les conditions du filtre |
3715 |
|
); |
3716 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
3717 |
|
$sqlFilter = $this->get_query_filter( |
3718 |
|
$query, |
3719 |
|
$conf['arguments']['filtre'] |
3720 |
|
); |
3721 |
|
// Pour les messages en plus du filtre ont souhaite récupérer tous les messages |
3722 |
|
// à destination de la commune pour les collectivité mono |
3723 |
|
if ($conf['arguments']['filtre'] != 'aucun') { |
3724 |
|
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
3725 |
|
// Modifie la condition du filtre pour récupérer les messages voulus (filtre |
3726 |
|
// instructeur, instructeur_secondaire ou division) ainsi que les messages de |
3727 |
|
// à destination de la commune. |
3728 |
|
// Le filtre récupéré a un 'AND' devant la condition pour éviter une erreur de |
3729 |
|
// base de donnée on le supprime pour ne récupérer que la condition et pouvoir |
3730 |
|
// l'associer à la condition sur le destinataire |
3731 |
|
$sqlFilter['WHERE'] = sprintf( |
3732 |
|
' AND (%s %s dossier_message.destinataire = \'commune\')', |
3733 |
|
str_replace(' AND ', '', $sqlFilter['WHERE']), |
3734 |
|
! empty($sqlFilter['WHERE']) ? 'OR' : '' |
3735 |
|
); |
3736 |
|
} else { |
3737 |
|
// Modifie la condition du filtre pour récupérer les messages voulus (filtre |
3738 |
|
// instructeur, instructeur_secondaire ou division) qui sont à destination de |
3739 |
|
// l'instructeur |
3740 |
|
$sqlFilter['WHERE'] = sprintf( |
3741 |
|
' %s AND dossier_message.destinataire = \'instructeur\'', |
3742 |
|
$sqlFilter['WHERE'] |
3743 |
|
); |
3744 |
|
} |
3745 |
|
} |
3746 |
|
// Construction de la requête en intégrant les filtres |
3747 |
|
$query = sprintf( |
3748 |
|
$query, |
3749 |
|
$sqlFilter["FROM"], |
3750 |
|
$sqlFilter["WHERE"] |
3751 |
); |
); |
3752 |
|
|
3753 |
/** |
/** |
3785 |
case 'instructeur': |
case 'instructeur': |
3786 |
$obj_href_more_link = 'messages_mes_retours'; |
$obj_href_more_link = 'messages_mes_retours'; |
3787 |
break; |
break; |
3788 |
|
case 'instructeur_ou_instructeur_secondaire': |
3789 |
|
$obj_href_more_link = 'messages_mes_retours'; |
3790 |
|
break; |
3791 |
|
case 'instructeur_secondaire': |
3792 |
|
$obj_href_more_link = 'messages_mes_retours'; |
3793 |
|
break; |
3794 |
case 'division': |
case 'division': |
3795 |
$obj_href_more_link = 'messages_retours_ma_division'; |
$obj_href_more_link = 'messages_retours_ma_division'; |
3796 |
break; |
break; |
3806 |
case 'instructeur': |
case 'instructeur': |
3807 |
$obj_href_more_link = 'messages_contentieux_mes_retours'; |
$obj_href_more_link = 'messages_contentieux_mes_retours'; |
3808 |
break; |
break; |
3809 |
|
case 'instructeur_ou_instructeur_secondaire': |
3810 |
|
$obj_href_more_link = 'messages_contentieux_mes_retours'; |
3811 |
|
break; |
3812 |
case 'division': |
case 'division': |
3813 |
$obj_href_more_link = 'messages_contentieux_retours_ma_division'; |
$obj_href_more_link = 'messages_contentieux_retours_ma_division'; |
3814 |
break; |
break; |
3827 |
$this->template_footer, |
$this->template_footer, |
3828 |
// href |
// href |
3829 |
sprintf( |
sprintf( |
3830 |
OM_ROUTE_TAB.'&obj=%s&dossier_cloture=%s', |
OM_ROUTE_TAB.'&obj=%s&dossier_cloture=%s&filtre=%s', |
3831 |
$obj_href_more_link, |
$obj_href_more_link, |
3832 |
$conf["arguments"]["dossier_cloture"] |
$conf["arguments"]["dossier_cloture"], |
3833 |
|
$filtre |
3834 |
), |
), |
3835 |
// titre |
// titre |
3836 |
_("Voir +") |
_("Voir +") |
3837 |
); |
); |
|
|
|
3838 |
} |
} |
3839 |
|
|
3840 |
|
|
3859 |
$elem = trim($arguments[$key]); |
$elem = trim($arguments[$key]); |
3860 |
// |
// |
3861 |
if ($key === "filtre" |
if ($key === "filtre" |
3862 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "instructeur_secondaire", "division", "aucun"))) { |
3863 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
3864 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
3865 |
continue; |
continue; |
3882 |
$arguments[$key] = $value; |
$arguments[$key] = $value; |
3883 |
} |
} |
3884 |
// |
// |
3885 |
$filtre = $arguments["filtre"]; |
$filtreWidget = $arguments["filtre"]; |
3886 |
// |
// |
3887 |
$contexte = $arguments["contexte"]; |
$contexte = $arguments["contexte"]; |
3888 |
|
$filtre = $contexte == 'contentieux' && |
3889 |
|
(empty($filtre) || $filtre == 'instructeur' || $filtre == 'instructeur_secondaire') ? |
3890 |
|
'instructeur_ou_instructeur_secondaire' : |
3891 |
|
'instructeur'; |
3892 |
|
// Utilisation du filtre instructeur dédié au contentieux si le filtre |
3893 |
|
// paramétré est "instructeur" ou "instructeur_secondaire" et que le |
3894 |
|
// contexte est "contentieux" |
3895 |
|
$filtre = $contexte == 'contentieux' && |
3896 |
|
(empty($filtre) || |
3897 |
|
$filtre == 'instructeur' || |
3898 |
|
$filtre == 'instructeur_secondaire') ? |
3899 |
|
'instructeur_ou_instructeur_secondaire' : |
3900 |
|
'instructeur'; |
3901 |
|
|
3902 |
/** |
/** |
3903 |
* Construction de la requête |
* Construction de la requête |
3904 |
*/ |
*/ |
|
// |
|
|
$query_ct_from_instructeur_filter = ""; |
|
|
$query_ct_from_division_filter = ""; |
|
3905 |
$query_ct_from_collectivite_filter = ""; |
$query_ct_from_collectivite_filter = ""; |
|
// |
|
|
$query_ct_from_instructeur_filter = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
LEFT JOIN ".DB_PREFIXE."instructeur as instructeur_2 |
|
|
ON dossier.instructeur_2=instructeur_2.instructeur "; |
|
|
// |
|
|
if ($filtre == "instructeur") { |
|
|
$query_ct_from_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
OR dossier.instructeur_2=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
"; |
|
|
} |
|
|
// |
|
|
$query_ct_from_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
"; |
|
3906 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
3907 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
3908 |
// collectivité |
// collectivité |
3921 |
ON dossier.etat = etat.etat"; |
ON dossier.etat = etat.etat"; |
3922 |
|
|
3923 |
// FROM |
// FROM |
3924 |
$query_ct_from = " |
$query_ct_from = sprintf( |
3925 |
".DB_PREFIXE."dossier_message |
'%1$sdossier_message |
3926 |
LEFT JOIN ".DB_PREFIXE."dossier |
LEFT JOIN %1$sdossier |
3927 |
ON dossier_message.dossier=dossier.dossier |
ON dossier_message.dossier=dossier.dossier |
3928 |
LEFT JOIN ".DB_PREFIXE."dossier_instruction_type |
LEFT JOIN %1$sdossier_instruction_type |
3929 |
ON dossier.dossier_instruction_type=dossier_instruction_type.dossier_instruction_type |
ON dossier.dossier_instruction_type=dossier_instruction_type.dossier_instruction_type |
3930 |
%s |
LEFT JOIN %1$sinstructeur |
3931 |
%s |
ON dossier.instructeur = instructeur.instructeur |
3932 |
%s |
LEFT JOIN %1$som_utilisateur |
3933 |
%s"; |
ON instructeur.om_utilisateur = om_utilisateur.om_utilisateur |
3934 |
|
LEFT JOIN %1$sinstructeur as instructeur_secondaire |
3935 |
// |
ON dossier.instructeur_2 = instructeur_secondaire.instructeur |
3936 |
$query_ct_from = sprintf($query_ct_from, $query_ct_from_instructeur_filter, $query_ct_from_division_filter, $query_ct_from_collectivite_filter, $arguments["dossier_cloture"] == "false" ? $query_ct_from_dossier_cloture_filter : ""); |
LEFT JOIN %1$som_utilisateur as utilisateur_2 |
3937 |
|
ON instructeur_secondaire.om_utilisateur = utilisateur_2.om_utilisateur |
3938 |
|
LEFT JOIN %1$sdivision |
3939 |
|
ON dossier.division=division.division |
3940 |
|
%2$s |
3941 |
|
%3$s', |
3942 |
|
DB_PREFIXE, |
3943 |
|
$query_ct_from_collectivite_filter, |
3944 |
|
$arguments["dossier_cloture"] == "false" ? |
3945 |
|
$query_ct_from_dossier_cloture_filter : |
3946 |
|
"" |
3947 |
|
); |
3948 |
|
|
|
// |
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
|
$query_ct_where_collectivite_filter = ""; |
|
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
AND dossier_message.destinataire = 'instructeur' |
|
|
"; |
|
|
// |
|
|
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
|
|
$query_ct_where_instructeur_filter = " AND (om_utilisateur.login='".$_SESSION['login']."' |
|
|
OR dossier_message.destinataire = 'commune') |
|
|
"; |
|
|
} |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " AND division.division = ".$_SESSION['division']." |
|
|
AND dossier_message.destinataire = 'instructeur' |
|
|
"; |
|
|
// |
|
|
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
|
|
$query_ct_where_division_filter = " AND (division.division = ".$_SESSION['division']." |
|
|
OR dossier_message.destinataire = 'commune') |
|
|
"; |
|
|
} |
|
|
} |
|
3949 |
|
|
3950 |
// Filtre les dossiers par contexte |
// Filtre les dossiers par contexte |
3951 |
$query_ct_where_groupe_filter = " AND LOWER(groupe.code) != 'ctx'"; |
$query_ct_where_groupe_filter = " AND LOWER(groupe.code) != 'ctx'"; |
3957 |
$query_ct_where_dossier_cloture_filter = "AND etat.statut != 'cloture'"; |
$query_ct_where_dossier_cloture_filter = "AND etat.statut != 'cloture'"; |
3958 |
|
|
3959 |
// WHERE - COMMON |
// WHERE - COMMON |
3960 |
$query_ct_where_common = " |
$query_ct_where_common = sprintf( |
3961 |
dossier_message.lu IS FALSE AND |
"dossier_message.lu IS FALSE AND |
3962 |
dossier_instruction_type.sous_dossier IS NOT TRUE |
dossier_instruction_type.sous_dossier IS NOT TRUE |
3963 |
%s |
%s |
3964 |
%s |
%s", |
3965 |
%s |
$query_ct_where_groupe_filter, |
3966 |
%s |
$arguments["dossier_cloture"] == "false" ? |
3967 |
%s |
$query_ct_where_dossier_cloture_filter : |
3968 |
"; |
"" |
3969 |
|
); |
|
// |
|
|
$query_ct_where_common = sprintf($query_ct_where_common, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter, $query_ct_where_groupe_filter, $arguments["dossier_cloture"] == "false" ? $query_ct_where_dossier_cloture_filter : ""); |
|
3970 |
|
|
3971 |
// Filtre du groupe |
// Filtre du groupe |
3972 |
$query_ct_where_groupe = ""; |
$query_ct_where_groupe = ""; |
3987 |
break; |
break; |
3988 |
} |
} |
3989 |
// |
// |
3990 |
switch ($filtre) { |
switch ($filtreWidget) { |
3991 |
case "instructeur": |
case "instructeur": |
3992 |
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
3993 |
$message_filtre .= " "._("dont je suis l'instructeur ou dont le destinataire est 'commune'"); |
$message_filtre .= " "._("dont je suis l'instructeur ou dont le destinataire est 'commune'"); |
4066 |
/** |
/** |
4067 |
* Composition de la requête |
* Composition de la requête |
4068 |
*/ |
*/ |
4069 |
// |
|
4070 |
$query = sprintf( |
$query = sprintf( |
4071 |
"SELECT |
"SELECT |
4072 |
count(*) |
count(*) |
4073 |
FROM |
FROM |
4074 |
%s |
%s |
4075 |
|
%s |
4076 |
WHERE |
WHERE |
4077 |
|
%s |
4078 |
%s", |
%s", |
4079 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
4080 |
$conf["query_ct_where_common"] |
'%s', // emplacement pour les jointure du filtre |
4081 |
|
$conf["query_ct_where_common"], |
4082 |
|
'%s' // emplacement pour les conditions du filtre |
4083 |
|
); |
4084 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
4085 |
|
$sqlFilter = $this->get_query_filter( |
4086 |
|
$query, |
4087 |
|
$conf['arguments']['filtre'] |
4088 |
|
); |
4089 |
|
$query = sprintf( |
4090 |
|
$query, |
4091 |
|
$sqlFilter["FROM"], |
4092 |
|
$sqlFilter["WHERE"] |
4093 |
); |
); |
4094 |
|
|
4095 |
/** |
/** |
4138 |
$this->template_footer, |
$this->template_footer, |
4139 |
// href |
// href |
4140 |
sprintf( |
sprintf( |
4141 |
OM_ROUTE_TAB.'&obj=%s', |
OM_ROUTE_TAB.'&obj=%s&filtre=%s', |
4142 |
$obj_href_more_link |
$obj_href_more_link, |
4143 |
|
$filtre |
4144 |
), |
), |
4145 |
// titre |
// titre |
4146 |
_("Voir +") |
__("Voir +") |
4147 |
); |
); |
4148 |
|
|
4149 |
} |
} |
4168 |
$elem = trim($arguments[$key]); |
$elem = trim($arguments[$key]); |
4169 |
// |
// |
4170 |
if ($key === "filtre" |
if ($key === "filtre" |
4171 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "instructeur_secondaire", "division", "aucun"))) { |
4172 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
4173 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
4174 |
continue; |
continue; |
4200 |
ON consultation.tiers_consulte=tiers_consulte.tiers_consulte |
ON consultation.tiers_consulte=tiers_consulte.tiers_consulte |
4201 |
LEFT JOIN ".DB_PREFIXE."motif_consultation |
LEFT JOIN ".DB_PREFIXE."motif_consultation |
4202 |
ON consultation.motif_consultation=motif_consultation.motif_consultation |
ON consultation.motif_consultation=motif_consultation.motif_consultation |
4203 |
%s |
LEFT JOIN ".DB_PREFIXE."instructeur |
4204 |
%s |
ON dossier.instructeur=instructeur.instructeur |
4205 |
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
4206 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
4207 |
|
LEFT JOIN ".DB_PREFIXE."division |
4208 |
|
ON dossier.division=division.division |
4209 |
%s"; |
%s"; |
4210 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
4211 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
4212 |
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre === "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_instructeur_filter = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre === "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_division_filter = " LEFT JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division"; |
|
|
} |
|
4213 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
4214 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
4215 |
// collectivité |
// collectivité |
4224 |
"; |
"; |
4225 |
} |
} |
4226 |
|
|
4227 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
4228 |
|
|
4229 |
// WHERE - COMMON |
// WHERE - COMMON |
4230 |
$query_ct_where_common = " |
$query_ct_where_common = " |
4242 |
case "instructeur": |
case "instructeur": |
4243 |
$message_filtre = " "._("dont je suis l'instructeur"); |
$message_filtre = " "._("dont je suis l'instructeur"); |
4244 |
break; |
break; |
4245 |
|
case "instructeur_secondaire": |
4246 |
|
$message_filtre = " "._("dont je suis l'instructeur secondaire"); |
4247 |
|
break; |
4248 |
case "division": |
case "division": |
4249 |
$message_filtre = " "._("situés dans ma division"); |
$message_filtre = " "._("situés dans ma division"); |
4250 |
break; |
break; |
4305 |
/** |
/** |
4306 |
* Composition de la requête |
* Composition de la requête |
4307 |
*/ |
*/ |
4308 |
// |
|
4309 |
$query = sprintf( |
$query = sprintf( |
4310 |
"SELECT |
"SELECT |
4311 |
count(*) |
count(*) |
4312 |
FROM |
FROM |
4313 |
%s |
%s |
4314 |
|
%s |
4315 |
WHERE |
WHERE |
4316 |
|
%s |
4317 |
%s", |
%s", |
4318 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
4319 |
$conf["query_ct_where_common"] |
'%s', // emplacement pour les jointure du filtre |
4320 |
|
$conf["query_ct_where_common"], |
4321 |
|
'%s' // emplacement pour les conditions du filtre |
4322 |
|
); |
4323 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
4324 |
|
$sqlFilter = $this->get_query_filter( |
4325 |
|
$query, |
4326 |
|
$conf['arguments']['filtre'] |
4327 |
|
); |
4328 |
|
$query = sprintf( |
4329 |
|
$query, |
4330 |
|
$sqlFilter["FROM"], |
4331 |
|
$sqlFilter["WHERE"] |
4332 |
); |
); |
4333 |
|
|
4334 |
/** |
/** |
4377 |
$this->template_footer, |
$this->template_footer, |
4378 |
// href |
// href |
4379 |
sprintf( |
sprintf( |
4380 |
OM_ROUTE_TAB.'&obj=%s', |
'%s&obj=%s&filtre=%s', |
4381 |
$obj_href_more_link |
OM_ROUTE_TAB, |
4382 |
|
$obj_href_more_link, |
4383 |
|
$filtre |
4384 |
), |
), |
4385 |
// titre |
// titre |
4386 |
_("Voir +") |
__("Voir +") |
4387 |
); |
); |
4388 |
} |
} |
4389 |
|
|
4406 |
$elem = trim($arguments[$key]); |
$elem = trim($arguments[$key]); |
4407 |
// |
// |
4408 |
if ($key === "filtre" |
if ($key === "filtre" |
4409 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "instructeur_secondaire", "division", "aucun"))) { |
4410 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
4411 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
4412 |
continue; |
continue; |
4430 |
ON dossier.dossier_instruction_type=dossier_instruction_type.dossier_instruction_type |
ON dossier.dossier_instruction_type=dossier_instruction_type.dossier_instruction_type |
4431 |
LEFT JOIN " . DB_PREFIXE . "commission |
LEFT JOIN " . DB_PREFIXE . "commission |
4432 |
ON dossier_commission.commission=commission.commission |
ON dossier_commission.commission=commission.commission |
4433 |
%s |
LEFT JOIN " . DB_PREFIXE . "commission_type |
4434 |
%s |
ON commission_type.commission_type=commission.commission_type |
4435 |
|
LEFT JOIN ".DB_PREFIXE."instructeur |
4436 |
|
ON dossier.instructeur=instructeur.instructeur |
4437 |
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
4438 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
4439 |
|
LEFT JOIN ".DB_PREFIXE."division |
4440 |
|
ON dossier.division=division.division |
4441 |
%s"; |
%s"; |
4442 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
4443 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
4444 |
|
|
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre === "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN " . DB_PREFIXE . "instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
JOIN " . DB_PREFIXE . "om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='" . $_SESSION['login'] . "' |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_instructeur_filter = " LEFT JOIN " . DB_PREFIXE . "instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN " . DB_PREFIXE . "om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre === "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN " . DB_PREFIXE . "division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = " . $_SESSION['division'] . " |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_division_filter = " LEFT JOIN " . DB_PREFIXE . "division |
|
|
ON dossier.division=division.division"; |
|
|
} |
|
4445 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
4446 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
4447 |
// collectivité |
// collectivité |
4456 |
"; |
"; |
4457 |
} |
} |
4458 |
|
|
4459 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
4460 |
|
|
4461 |
// WHERE - COMMON |
// WHERE - COMMON |
4462 |
$query_ct_where_common = " |
$query_ct_where_common = " |
4474 |
case "instructeur": |
case "instructeur": |
4475 |
$message_filtre = " " . _("dont je suis l'instructeur"); |
$message_filtre = " " . _("dont je suis l'instructeur"); |
4476 |
break; |
break; |
4477 |
|
case "instructeur_secondaire": |
4478 |
|
$message_filtre = " " . _("dont je suis l'instructeur secondaire"); |
4479 |
|
break; |
4480 |
case "division": |
case "division": |
4481 |
$message_filtre = " " . _("situés dans ma division"); |
$message_filtre = " " . _("situés dans ma division"); |
4482 |
break; |
break; |
4547 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
4548 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
4549 |
} |
} |
4550 |
$query = sprintf(" |
|
4551 |
SELECT |
$query = sprintf( |
4552 |
|
"SELECT |
4553 |
%s |
%s |
4554 |
FROM |
FROM |
4555 |
%s |
%s |
4556 |
|
%s |
4557 |
WHERE |
WHERE |
4558 |
%s |
%s |
4559 |
%s |
%s |
4560 |
%s", |
%s |
4561 |
|
%s", |
4562 |
$query_ct_select, |
$query_ct_select, |
4563 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
4564 |
|
'%s', // emplacement pour les jointure du filtre |
4565 |
$conf["query_ct_where_common"], |
$conf["query_ct_where_common"], |
4566 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
4567 |
|
'%s', // emplacement pour les conditions du filtre |
4568 |
$query_ct_orderby |
$query_ct_orderby |
4569 |
); |
); |
4570 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
4571 |
|
$sqlFilter = $this->get_query_filter( |
4572 |
|
$query, |
4573 |
|
$conf['arguments']['filtre'] |
4574 |
|
); |
4575 |
|
$query = sprintf( |
4576 |
|
$query, |
4577 |
|
$sqlFilter["FROM"], |
4578 |
|
$sqlFilter["WHERE"] |
4579 |
|
); |
4580 |
|
|
4581 |
/** |
/** |
4582 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
4758 |
$elem = trim($arguments[$key]); |
$elem = trim($arguments[$key]); |
4759 |
// |
// |
4760 |
if ($key === "filtre" |
if ($key === "filtre" |
4761 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "instructeur_secondaire", "division", "aucun"))) { |
4762 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
4763 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
4764 |
continue; |
continue; |
4813 |
) |
) |
4814 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
4815 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
4816 |
%s |
LEFT JOIN ".DB_PREFIXE."instructeur |
4817 |
%s |
ON dossier.instructeur=instructeur.instructeur |
4818 |
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
4819 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
4820 |
|
LEFT JOIN ".DB_PREFIXE."division |
4821 |
|
ON dossier.division=division.division |
4822 |
%s |
%s |
4823 |
"; |
"; |
4824 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
4825 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
4826 |
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_instructeur_filter = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_division_filter = " LEFT JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division"; |
|
|
} |
|
4827 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
4828 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
4829 |
// collectivité |
// collectivité |
4838 |
"; |
"; |
4839 |
} |
} |
4840 |
|
|
4841 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
4842 |
|
|
4843 |
// WHERE - COMMON |
// WHERE - COMMON |
4844 |
$query_ct_where_common = " |
$query_ct_where_common = " |
4873 |
case "instructeur": |
case "instructeur": |
4874 |
$message_filtre = " "._("dont je suis l'instructeur"); |
$message_filtre = " "._("dont je suis l'instructeur"); |
4875 |
break; |
break; |
4876 |
|
case "instructeur_secondaire": |
4877 |
|
$message_filtre = " "._("dont je suis l'instructeur secondaire"); |
4878 |
|
break; |
4879 |
case "division": |
case "division": |
4880 |
$message_filtre = " "._("situés dans ma division"); |
$message_filtre = " "._("situés dans ma division"); |
4881 |
break; |
break; |
5122 |
// |
// |
5123 |
$arguments[$key] = $value; |
$arguments[$key] = $value; |
5124 |
} |
} |
5125 |
|
// Utilisation du filtre instructeur dédié au contentieux si le filtre |
5126 |
|
// paramétré est "instructeur" |
5127 |
|
if (! empty($arguments["filtre"]) && $arguments["filtre"] === 'instructeur') { |
5128 |
|
$arguments["filtre"] = 'instructeur_ou_instructeur_secondaire'; |
5129 |
|
} |
5130 |
$filtre = $arguments["filtre"]; |
$filtre = $arguments["filtre"]; |
5131 |
|
|
5132 |
// SELECT - CHAMPAFFICHE |
// SELECT - CHAMPAFFICHE |
5208 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
5209 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
5210 |
%s |
%s |
|
%s |
|
|
%s |
|
5211 |
"; |
"; |
5212 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
5213 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
OR dossier.instructeur_2=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} |
|
|
|
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} |
|
5214 |
|
|
5215 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
5216 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
5226 |
"; |
"; |
5227 |
} |
} |
5228 |
|
|
5229 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
5230 |
|
|
5231 |
// WHERE - COMMON |
// WHERE - COMMON |
5232 |
$query_ct_where_common = " |
$query_ct_where_common = " |
5260 |
$message_filtre = ""; |
$message_filtre = ""; |
5261 |
// |
// |
5262 |
switch ($filtre) { |
switch ($filtre) { |
5263 |
case "instructeur": |
case "instructeur_ou_instructeur_secondaire": |
5264 |
$message_filtre = " "._("dont je suis l'instructeur"); |
$message_filtre = " "._("dont je suis l'instructeur"); |
5265 |
break; |
break; |
5266 |
|
case "instructeur_secondaire": |
5267 |
|
$message_filtre = " "._("dont je suis l'instructeur secondaire"); |
5268 |
|
break; |
5269 |
case "division": |
case "division": |
5270 |
$message_filtre = " "._("situés dans ma division"); |
$message_filtre = " "._("situés dans ma division"); |
5271 |
break; |
break; |
5340 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
5341 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
5342 |
} |
} |
5343 |
$query = sprintf(" |
|
5344 |
SELECT |
$query = sprintf( |
5345 |
|
"SELECT |
5346 |
%s |
%s |
5347 |
FROM |
FROM |
5348 |
%s |
%s |
5349 |
|
%s |
5350 |
WHERE |
WHERE |
5351 |
%s |
%s |
5352 |
%s |
%s |
5353 |
%s", |
%s |
5354 |
|
%s", |
5355 |
$query_ct_select, |
$query_ct_select, |
5356 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
5357 |
|
'%s', // emplacement pour les jointure du filtre |
5358 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
5359 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
5360 |
|
'%s', // emplacement pour les conditions du filtre |
5361 |
$query_ct_orderby |
$query_ct_orderby |
5362 |
); |
); |
5363 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
5364 |
|
$sqlFilter = $this->get_query_filter( |
5365 |
|
$query, |
5366 |
|
$conf['arguments']['filtre'] |
5367 |
|
); |
5368 |
|
$query = sprintf( |
5369 |
|
$query, |
5370 |
|
$sqlFilter["FROM"], |
5371 |
|
$sqlFilter["WHERE"] |
5372 |
|
); |
5373 |
|
|
5374 |
/** |
/** |
5375 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
5573 |
// |
// |
5574 |
$arguments[$key] = $value; |
$arguments[$key] = $value; |
5575 |
} |
} |
5576 |
|
// Utilisation du filtre instructeur dédié au contentieux si le filtre |
5577 |
|
// paramétré est "instructeur" |
5578 |
|
if (! empty($arguments["filtre"]) && $arguments["filtre"] === 'instructeur') { |
5579 |
|
$arguments["filtre"] = 'instructeur_ou_instructeur_secondaire'; |
5580 |
|
} |
5581 |
$filtre = $arguments["filtre"]; |
$filtre = $arguments["filtre"]; |
5582 |
|
|
5583 |
// SELECT - CHAMPAFFICHE |
// SELECT - CHAMPAFFICHE |
5665 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
5666 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
5667 |
%s |
%s |
|
%s |
|
|
%s |
|
5668 |
"; |
"; |
5669 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
5670 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
OR dossier.instructeur_2=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} |
|
|
|
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} |
|
5671 |
|
|
5672 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
5673 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
5683 |
"; |
"; |
5684 |
} |
} |
5685 |
|
|
5686 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
5687 |
|
|
5688 |
// WHERE |
// WHERE |
5689 |
$query_ct_where_common = " |
$query_ct_where_common = " |
5706 |
$message_filtre = ""; |
$message_filtre = ""; |
5707 |
// |
// |
5708 |
switch ($filtre) { |
switch ($filtre) { |
5709 |
case "instructeur": |
case "instructeur_ou_instructeur_secondaire": |
5710 |
$message_filtre = " "._("dont je suis l'instructeur"); |
$message_filtre = " "._("dont je suis l'instructeur"); |
5711 |
break; |
break; |
5712 |
case "division": |
case "division": |
5782 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
5783 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
5784 |
} |
} |
5785 |
$query = sprintf(" |
|
5786 |
SELECT |
$query = sprintf( |
5787 |
|
"SELECT |
5788 |
%s |
%s |
5789 |
FROM |
FROM |
5790 |
%s |
%s |
5791 |
|
%s |
5792 |
WHERE |
WHERE |
5793 |
%s |
%s |
5794 |
%s |
%s |
5795 |
%s", |
%s |
5796 |
|
%s", |
5797 |
$query_ct_select, |
$query_ct_select, |
5798 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
5799 |
|
'%s', // emplacement pour les jointure du filtre |
5800 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
5801 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
5802 |
|
'%s', // emplacement pour les conditions du filtre |
5803 |
$query_ct_orderby |
$query_ct_orderby |
5804 |
); |
); |
5805 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
5806 |
|
$sqlFilter = $this->get_query_filter( |
5807 |
|
$query, |
5808 |
|
$conf['arguments']['filtre'] |
5809 |
|
); |
5810 |
|
$query = sprintf( |
5811 |
|
$query, |
5812 |
|
$sqlFilter["FROM"], |
5813 |
|
$sqlFilter["WHERE"] |
5814 |
|
); |
5815 |
|
|
5816 |
/** |
/** |
5817 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
6100 |
) |
) |
6101 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
6102 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
6103 |
%s |
LEFT JOIN ".DB_PREFIXE."division |
6104 |
|
ON dossier.division=division.division |
6105 |
%s |
%s |
6106 |
"; |
"; |
6107 |
|
|
|
$query_ct_where_division_filter = ""; |
|
6108 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
6109 |
$query_ct_where_statut_filter = ""; |
$query_ct_where_statut_filter = ""; |
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_division_filter = " LEFT JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division"; |
|
|
} |
|
6110 |
|
|
6111 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
6112 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
6130 |
|
|
6131 |
$query_ct_from = sprintf($query_ct_from, |
$query_ct_from = sprintf($query_ct_from, |
6132 |
$query_ct_where_statut_filter, |
$query_ct_where_statut_filter, |
|
$query_ct_where_division_filter, |
|
6133 |
$query_ct_where_collectivite_filter |
$query_ct_where_collectivite_filter |
6134 |
); |
); |
6135 |
|
|
6241 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
6242 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
6243 |
} |
} |
6244 |
$query = sprintf(" |
|
6245 |
SELECT |
$query = sprintf( |
6246 |
|
"SELECT |
6247 |
%s |
%s |
6248 |
FROM |
FROM |
6249 |
%s |
%s |
6250 |
|
%s |
6251 |
WHERE |
WHERE |
6252 |
%s |
%s |
6253 |
%s |
%s |
6254 |
%s", |
%s |
6255 |
|
%s", |
6256 |
$query_ct_select, |
$query_ct_select, |
6257 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
6258 |
|
'%s', // emplacement pour les jointure du filtre |
6259 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
6260 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
6261 |
|
'%s', // emplacement pour les conditions du filtre |
6262 |
$query_ct_orderby |
$query_ct_orderby |
6263 |
); |
); |
6264 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
6265 |
|
$sqlFilter = $this->get_query_filter( |
6266 |
|
$query, |
6267 |
|
$conf['arguments']['filtre'] |
6268 |
|
); |
6269 |
|
$query = sprintf( |
6270 |
|
$query, |
6271 |
|
$sqlFilter["FROM"], |
6272 |
|
$sqlFilter["WHERE"] |
6273 |
|
); |
6274 |
|
|
6275 |
/** |
/** |
6276 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
6463 |
// |
// |
6464 |
$arguments[$key] = $value; |
$arguments[$key] = $value; |
6465 |
} |
} |
6466 |
|
// Utilisation du filtre instructeur dédié au contentieux si le filtre |
6467 |
|
// paramétré est "instructeur" |
6468 |
|
if (! empty($arguments["filtre"]) && $arguments["filtre"] === 'instructeur') { |
6469 |
|
$arguments["filtre"] = 'instructeur_ou_instructeur_secondaire'; |
6470 |
|
} |
6471 |
$filtre = $arguments["filtre"]; |
$filtre = $arguments["filtre"]; |
6472 |
$d_encours = $arguments["dossier_encours"]; |
$d_encours = $arguments["dossier_encours"]; |
6473 |
|
|
6548 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
6549 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
6550 |
%s |
%s |
|
%s |
|
|
%s |
|
6551 |
"; |
"; |
6552 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
6553 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
6554 |
$query_ct_where_statut_filter = ""; |
$query_ct_where_statut_filter = ""; |
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
OR dossier.instructeur_2=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} |
|
|
|
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} |
|
6555 |
|
|
6556 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
6557 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
6575 |
$query_ct_from = sprintf( |
$query_ct_from = sprintf( |
6576 |
$query_ct_from, |
$query_ct_from, |
6577 |
$query_ct_where_statut_filter, |
$query_ct_where_statut_filter, |
|
$query_ct_where_instructeur_filter, |
|
|
$query_ct_where_division_filter, |
|
6578 |
$query_ct_where_collectivite_filter |
$query_ct_where_collectivite_filter |
6579 |
); |
); |
6580 |
|
|
6601 |
$message_filtre = ""; |
$message_filtre = ""; |
6602 |
// |
// |
6603 |
switch ($filtre) { |
switch ($filtre) { |
6604 |
case "instructeur": |
case "instructeur_ou_instructeur_secondaire": |
6605 |
$message_filtre = " "._("dont je suis l'instructeur"); |
$message_filtre = " "._("dont je suis l'instructeur"); |
6606 |
break; |
break; |
6607 |
|
case "instructeur_secondaire": |
6608 |
|
$message_filtre = " "._("dont je suis l'instructeur secondaire"); |
6609 |
|
break; |
6610 |
case "division": |
case "division": |
6611 |
$message_filtre = " "._("situés dans ma division"); |
$message_filtre = " "._("situés dans ma division"); |
6612 |
break; |
break; |
6678 |
/** |
/** |
6679 |
* Composition de la requête |
* Composition de la requête |
6680 |
*/ |
*/ |
|
// |
|
|
$query = sprintf(" |
|
|
SELECT |
|
|
COUNT(*) |
|
|
FROM |
|
|
%s |
|
|
WHERE |
|
|
%s |
|
|
%s", |
|
|
$conf["query_ct_from"], |
|
|
$conf["query_ct_where"], |
|
|
$conf["query_ct_where_groupe"] |
|
|
); |
|
|
|
|
|
/** |
|
|
* Exécution de la requête |
|
|
*/ |
|
6681 |
// Gestion de la requête selon le type d'affichage |
// Gestion de la requête selon le type d'affichage |
6682 |
$query_ct_orderby = sprintf( |
$query_ct_orderby = sprintf( |
6683 |
"ORDER BY |
"ORDER BY |
6690 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
6691 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
6692 |
} |
} |
6693 |
$query = sprintf(" |
$query = sprintf( |
6694 |
SELECT |
"SELECT |
6695 |
%s |
%s |
6696 |
FROM |
FROM |
6697 |
%s |
%s |
6698 |
|
%s |
6699 |
WHERE |
WHERE |
6700 |
%s |
%s |
6701 |
%s |
%s |
6702 |
%s", |
%s |
6703 |
|
%s", |
6704 |
$query_ct_select, |
$query_ct_select, |
6705 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
6706 |
|
'%s', // emplacement pour les jointure du filtre |
6707 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
6708 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
6709 |
|
'%s', // emplacement pour les conditions du filtre |
6710 |
$query_ct_orderby |
$query_ct_orderby |
6711 |
); |
); |
6712 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
6713 |
|
$sqlFilter = $this->get_query_filter( |
6714 |
|
$query, |
6715 |
|
$conf['arguments']['filtre'] |
6716 |
|
); |
6717 |
|
$query = sprintf( |
6718 |
|
$query, |
6719 |
|
$sqlFilter["FROM"], |
6720 |
|
$sqlFilter["WHERE"] |
6721 |
|
); |
6722 |
|
|
6723 |
|
|
6724 |
/** |
/** |
6911 |
// |
// |
6912 |
$arguments[$key] = $value; |
$arguments[$key] = $value; |
6913 |
} |
} |
6914 |
|
// Utilisation du filtre instructeur dédié au contentieux si le filtre |
6915 |
|
// paramétré est "instructeur" |
6916 |
|
if (! empty($arguments["filtre"]) && $arguments["filtre"] === 'instructeur') { |
6917 |
|
$arguments["filtre"] = 'instructeur_ou_instructeur_secondaire'; |
6918 |
|
} |
6919 |
$filtre = $arguments["filtre"]; |
$filtre = $arguments["filtre"]; |
6920 |
$d_encours = $arguments["dossier_encours"]; |
$d_encours = $arguments["dossier_encours"]; |
6921 |
|
|
6996 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
6997 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
6998 |
%s |
%s |
|
%s |
|
|
%s |
|
6999 |
"; |
"; |
7000 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
7001 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
7002 |
$query_ct_where_statut_filter = ""; |
$query_ct_where_statut_filter = ""; |
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
OR dossier.instructeur_2=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} |
|
|
|
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} |
|
7003 |
|
|
7004 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
7005 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
7024 |
$query_ct_from = sprintf( |
$query_ct_from = sprintf( |
7025 |
$query_ct_from, |
$query_ct_from, |
7026 |
$query_ct_where_statut_filter, |
$query_ct_where_statut_filter, |
|
$query_ct_where_instructeur_filter, |
|
|
$query_ct_where_division_filter, |
|
7027 |
$query_ct_where_collectivite_filter |
$query_ct_where_collectivite_filter |
7028 |
); |
); |
7029 |
|
|
7050 |
$message_filtre = ""; |
$message_filtre = ""; |
7051 |
// |
// |
7052 |
switch ($filtre) { |
switch ($filtre) { |
7053 |
case "instructeur": |
case "instructeur_ou_instructeur_secondaire": |
7054 |
$message_filtre = " "._("dont je suis l'instructeur"); |
$message_filtre = " "._("dont je suis l'instructeur"); |
7055 |
break; |
break; |
7056 |
case "division": |
case "division": |
7136 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
7137 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
7138 |
} |
} |
7139 |
$query = sprintf(" |
$query = sprintf( |
7140 |
SELECT |
"SELECT |
7141 |
%s |
%s |
7142 |
FROM |
FROM |
7143 |
%s |
%s |
7144 |
|
%s |
7145 |
WHERE |
WHERE |
7146 |
%s |
%s |
7147 |
%s |
%s |
7148 |
%s", |
%s |
7149 |
|
%s", |
7150 |
$query_ct_select, |
$query_ct_select, |
7151 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
7152 |
|
'%s', // emplacement pour les jointure du filtre |
7153 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
7154 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
7155 |
|
'%s', // emplacement pour les conditions du filtre |
7156 |
$query_ct_orderby |
$query_ct_orderby |
7157 |
); |
); |
7158 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
7159 |
|
$sqlFilter = $this->get_query_filter( |
7160 |
|
$query, |
7161 |
|
$conf['arguments']['filtre'] |
7162 |
|
); |
7163 |
|
$query = sprintf( |
7164 |
|
$query, |
7165 |
|
$sqlFilter["FROM"], |
7166 |
|
$sqlFilter["WHERE"] |
7167 |
|
); |
7168 |
|
|
7169 |
/** |
/** |
7170 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
7350 |
// |
// |
7351 |
$arguments[$key] = $value; |
$arguments[$key] = $value; |
7352 |
} |
} |
7353 |
|
// Utilisation du filtre instructeur dédié au contentieux si le filtre |
7354 |
|
// paramétré est "instructeur" |
7355 |
|
if (! empty($arguments["filtre"]) && $arguments["filtre"] === 'instructeur') { |
7356 |
|
$arguments["filtre"] = 'instructeur_ou_instructeur_secondaire'; |
7357 |
|
} |
7358 |
$filtre = $arguments["filtre"]; |
$filtre = $arguments["filtre"]; |
7359 |
|
|
7360 |
// SELECT - CHAMPAFFICHE |
// SELECT - CHAMPAFFICHE |
7453 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
7454 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
7455 |
%s |
%s |
|
%s |
|
|
%s |
|
7456 |
"; |
"; |
7457 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
7458 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
OR dossier.instructeur_2=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} |
|
|
|
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} |
|
7459 |
|
|
7460 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
7461 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
7471 |
"; |
"; |
7472 |
} |
} |
7473 |
|
|
7474 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
7475 |
|
|
7476 |
// WHERE - COMMON |
// WHERE - COMMON |
7477 |
$query_ct_where_common = " |
$query_ct_where_common = " |
7497 |
$message_filtre = ""; |
$message_filtre = ""; |
7498 |
// |
// |
7499 |
switch ($filtre) { |
switch ($filtre) { |
7500 |
case "instructeur": |
case "instructeur_ou_instructeur_secondaire": |
7501 |
$message_filtre = " "._("dont je suis l'instructeur"); |
$message_filtre = " "._("dont je suis l'instructeur"); |
7502 |
break; |
break; |
7503 |
case "division": |
case "division": |
7575 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
7576 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
7577 |
} |
} |
7578 |
$query = sprintf(" |
$query = sprintf( |
7579 |
SELECT |
"SELECT |
7580 |
%s |
%s |
7581 |
FROM |
FROM |
7582 |
%s |
%s |
7583 |
|
%s |
7584 |
WHERE |
WHERE |
7585 |
%s |
%s |
7586 |
%s |
%s |
7587 |
%s", |
%s |
7588 |
|
%s", |
7589 |
$query_ct_select, |
$query_ct_select, |
7590 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
7591 |
|
'%s', // emplacement pour les jointure du filtre |
7592 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
7593 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
7594 |
|
'%s', // emplacement pour les conditions du filtre |
7595 |
$query_ct_orderby |
$query_ct_orderby |
7596 |
); |
); |
7597 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
7598 |
|
$sqlFilter = $this->get_query_filter( |
7599 |
|
$query, |
7600 |
|
$conf['arguments']['filtre'] |
7601 |
|
); |
7602 |
|
$query = sprintf( |
7603 |
|
$query, |
7604 |
|
$sqlFilter["FROM"], |
7605 |
|
$sqlFilter["WHERE"] |
7606 |
|
); |
7607 |
|
|
7608 |
/** |
/** |
7609 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
7789 |
// |
// |
7790 |
$arguments[$key] = $value; |
$arguments[$key] = $value; |
7791 |
} |
} |
7792 |
|
// Utilisation du filtre instructeur dédié au contentieux si le filtre |
7793 |
|
// paramétré est "instructeur" |
7794 |
|
if (! empty($arguments["filtre"]) && $arguments["filtre"] === 'instructeur') { |
7795 |
|
$arguments["filtre"] = 'instructeur_ou_instructeur_secondaire'; |
7796 |
|
} |
7797 |
$filtre = $arguments["filtre"]; |
$filtre = $arguments["filtre"]; |
7798 |
|
|
7799 |
// SELECT - CHAMPAFFICHE |
// SELECT - CHAMPAFFICHE |
7875 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
7876 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
7877 |
%s |
%s |
|
%s |
|
|
%s |
|
7878 |
"; |
"; |
7879 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
7880 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
OR dossier.instructeur_2=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} |
|
|
|
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} |
|
7881 |
|
|
7882 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
7883 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
7893 |
"; |
"; |
7894 |
} |
} |
7895 |
|
|
7896 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
7897 |
|
|
7898 |
// WHERE - COMMON |
// WHERE - COMMON |
7899 |
$query_ct_where_common = " |
$query_ct_where_common = " |
7919 |
$message_filtre = ""; |
$message_filtre = ""; |
7920 |
// |
// |
7921 |
switch ($filtre) { |
switch ($filtre) { |
7922 |
case "instructeur": |
case "instructeur_ou_instructeur_secondaire": |
7923 |
$message_filtre = " "._("dont je suis l'instructeur"); |
$message_filtre = " "._("dont je suis l'instructeur"); |
7924 |
break; |
break; |
7925 |
case "division": |
case "division": |
7996 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
7997 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
7998 |
} |
} |
7999 |
$query = sprintf(" |
$query = sprintf( |
8000 |
SELECT |
"SELECT |
8001 |
%s |
%s |
8002 |
FROM |
FROM |
8003 |
%s |
%s |
8004 |
|
%s |
8005 |
WHERE |
WHERE |
8006 |
%s |
%s |
8007 |
%s |
%s |
8008 |
%s", |
%s |
8009 |
|
%s", |
8010 |
$query_ct_select, |
$query_ct_select, |
8011 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
8012 |
|
'%s', // emplacement pour les jointure du filtre |
8013 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
8014 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
8015 |
|
'%s', // emplacement pour les conditions du filtre |
8016 |
$query_ct_orderby |
$query_ct_orderby |
8017 |
); |
); |
8018 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
8019 |
|
$sqlFilter = $this->get_query_filter( |
8020 |
|
$query, |
8021 |
|
$conf['arguments']['filtre'] |
8022 |
|
); |
8023 |
|
$query = sprintf( |
8024 |
|
$query, |
8025 |
|
$sqlFilter["FROM"], |
8026 |
|
$sqlFilter["WHERE"] |
8027 |
|
); |
8028 |
|
|
8029 |
/** |
/** |
8030 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
8233 |
/** |
/** |
8234 |
* Composition de la requête |
* Composition de la requête |
8235 |
*/ |
*/ |
|
// |
|
8236 |
$query = sprintf( |
$query = sprintf( |
8237 |
"SELECT COUNT (DISTINCT(dossier.dossier)) |
"SELECT |
8238 |
|
COUNT(DISTINCT(dossier.dossier)) |
8239 |
FROM |
FROM |
8240 |
%s |
%s |
8241 |
|
%s |
8242 |
WHERE |
WHERE |
8243 |
%s |
%s |
8244 |
%s |
%s |
8245 |
%s |
%s |
8246 |
%s |
%s |
8247 |
|
%s |
8248 |
%s", |
%s", |
8249 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
8250 |
|
'%s', // emplacement pour les jointure du filtre |
8251 |
$conf["query_ct_where_common"], |
$conf["query_ct_where_common"], |
8252 |
$conf["query_ct_where_date_filter"], |
$conf["query_ct_where_date_filter"], |
8253 |
$conf["query_ct_where_groupe"], |
$conf["query_ct_where_groupe"], |
8254 |
$conf["query_ct_where_depot_filter"], |
$conf["query_ct_where_depot_filter"], |
8255 |
$conf["query_ct_where_datd_filter"] |
$conf["query_ct_where_datd_filter"], |
8256 |
|
'%s' // emplacement pour les conditions du filtre |
8257 |
|
); |
8258 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
8259 |
|
$sqlFilter = $this->get_query_filter( |
8260 |
|
$query, |
8261 |
|
$conf['arguments']['filtre'] |
8262 |
|
); |
8263 |
|
$query = sprintf( |
8264 |
|
$query, |
8265 |
|
$sqlFilter["FROM"], |
8266 |
|
$sqlFilter["WHERE"] |
8267 |
); |
); |
8268 |
|
|
8269 |
/** |
/** |
8345 |
$arguments[$key] = explode(";", $elem); |
$arguments[$key] = explode(";", $elem); |
8346 |
continue; |
continue; |
8347 |
} elseif ($key === "filtre" |
} elseif ($key === "filtre" |
8348 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "instructeur_secondaire", "division", "aucun"))) { |
8349 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
8350 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
8351 |
continue; |
continue; |
8416 |
OR su2_avt_shon18 IS NOT NULL |
OR su2_avt_shon18 IS NOT NULL |
8417 |
OR su2_avt_shon19 IS NOT NULL |
OR su2_avt_shon19 IS NOT NULL |
8418 |
OR su2_avt_shon20 IS NOT NULL |
OR su2_avt_shon20 IS NOT NULL |
8419 |
|
OR su2_avt_shon21 IS NOT NULL |
8420 |
|
OR su2_avt_shon22 IS NOT NULL |
8421 |
OR su2_cstr_shon1 IS NOT NULL |
OR su2_cstr_shon1 IS NOT NULL |
8422 |
OR su2_cstr_shon2 IS NOT NULL |
OR su2_cstr_shon2 IS NOT NULL |
8423 |
OR su2_cstr_shon3 IS NOT NULL |
OR su2_cstr_shon3 IS NOT NULL |
8438 |
OR su2_cstr_shon18 IS NOT NULL |
OR su2_cstr_shon18 IS NOT NULL |
8439 |
OR su2_cstr_shon19 IS NOT NULL |
OR su2_cstr_shon19 IS NOT NULL |
8440 |
OR su2_cstr_shon20 IS NOT NULL |
OR su2_cstr_shon20 IS NOT NULL |
8441 |
|
OR su2_cstr_shon21 IS NOT NULL |
8442 |
|
OR su2_cstr_shon22 IS NOT NULL |
8443 |
OR su2_chge_shon1 IS NOT NULL |
OR su2_chge_shon1 IS NOT NULL |
8444 |
OR su2_chge_shon2 IS NOT NULL |
OR su2_chge_shon2 IS NOT NULL |
8445 |
OR su2_chge_shon3 IS NOT NULL |
OR su2_chge_shon3 IS NOT NULL |
8460 |
OR su2_chge_shon18 IS NOT NULL |
OR su2_chge_shon18 IS NOT NULL |
8461 |
OR su2_chge_shon19 IS NOT NULL |
OR su2_chge_shon19 IS NOT NULL |
8462 |
OR su2_chge_shon20 IS NOT NULL |
OR su2_chge_shon20 IS NOT NULL |
8463 |
|
OR su2_chge_shon21 IS NOT NULL |
8464 |
|
OR su2_chge_shon22 IS NOT NULL |
8465 |
OR su2_demo_shon1 IS NOT NULL |
OR su2_demo_shon1 IS NOT NULL |
8466 |
OR su2_demo_shon2 IS NOT NULL |
OR su2_demo_shon2 IS NOT NULL |
8467 |
OR su2_demo_shon3 IS NOT NULL |
OR su2_demo_shon3 IS NOT NULL |
8482 |
OR su2_demo_shon18 IS NOT NULL |
OR su2_demo_shon18 IS NOT NULL |
8483 |
OR su2_demo_shon19 IS NOT NULL |
OR su2_demo_shon19 IS NOT NULL |
8484 |
OR su2_demo_shon20 IS NOT NULL |
OR su2_demo_shon20 IS NOT NULL |
8485 |
|
OR su2_demo_shon21 IS NOT NULL |
8486 |
|
OR su2_demo_shon22 IS NOT NULL |
8487 |
OR su2_sup_shon1 IS NOT NULL |
OR su2_sup_shon1 IS NOT NULL |
8488 |
OR su2_sup_shon2 IS NOT NULL |
OR su2_sup_shon2 IS NOT NULL |
8489 |
OR su2_sup_shon3 IS NOT NULL |
OR su2_sup_shon3 IS NOT NULL |
8504 |
OR su2_sup_shon18 IS NOT NULL |
OR su2_sup_shon18 IS NOT NULL |
8505 |
OR su2_sup_shon19 IS NOT NULL |
OR su2_sup_shon19 IS NOT NULL |
8506 |
OR su2_sup_shon20 IS NOT NULL |
OR su2_sup_shon20 IS NOT NULL |
8507 |
|
OR su2_sup_shon21 IS NOT NULL |
8508 |
|
OR su2_sup_shon22 IS NOT NULL |
8509 |
THEN |
THEN |
8510 |
donnees_techniques.su2_cstr_shon_tot |
donnees_techniques.su2_cstr_shon_tot |
8511 |
ELSE |
ELSE |
8531 |
OR su2_avt_shon18 IS NOT NULL |
OR su2_avt_shon18 IS NOT NULL |
8532 |
OR su2_avt_shon19 IS NOT NULL |
OR su2_avt_shon19 IS NOT NULL |
8533 |
OR su2_avt_shon20 IS NOT NULL |
OR su2_avt_shon20 IS NOT NULL |
8534 |
|
OR su2_avt_shon21 IS NOT NULL |
8535 |
|
OR su2_avt_shon22 IS NOT NULL |
8536 |
OR su2_cstr_shon1 IS NOT NULL |
OR su2_cstr_shon1 IS NOT NULL |
8537 |
OR su2_cstr_shon2 IS NOT NULL |
OR su2_cstr_shon2 IS NOT NULL |
8538 |
OR su2_cstr_shon3 IS NOT NULL |
OR su2_cstr_shon3 IS NOT NULL |
8553 |
OR su2_cstr_shon18 IS NOT NULL |
OR su2_cstr_shon18 IS NOT NULL |
8554 |
OR su2_cstr_shon19 IS NOT NULL |
OR su2_cstr_shon19 IS NOT NULL |
8555 |
OR su2_cstr_shon20 IS NOT NULL |
OR su2_cstr_shon20 IS NOT NULL |
8556 |
|
OR su2_cstr_shon21 IS NOT NULL |
8557 |
|
OR su2_cstr_shon22 IS NOT NULL |
8558 |
OR su2_chge_shon1 IS NOT NULL |
OR su2_chge_shon1 IS NOT NULL |
8559 |
OR su2_chge_shon2 IS NOT NULL |
OR su2_chge_shon2 IS NOT NULL |
8560 |
OR su2_chge_shon3 IS NOT NULL |
OR su2_chge_shon3 IS NOT NULL |
8575 |
OR su2_chge_shon18 IS NOT NULL |
OR su2_chge_shon18 IS NOT NULL |
8576 |
OR su2_chge_shon19 IS NOT NULL |
OR su2_chge_shon19 IS NOT NULL |
8577 |
OR su2_chge_shon20 IS NOT NULL |
OR su2_chge_shon20 IS NOT NULL |
8578 |
|
OR su2_chge_shon21 IS NOT NULL |
8579 |
|
OR su2_chge_shon22 IS NOT NULL |
8580 |
OR su2_demo_shon1 IS NOT NULL |
OR su2_demo_shon1 IS NOT NULL |
8581 |
OR su2_demo_shon2 IS NOT NULL |
OR su2_demo_shon2 IS NOT NULL |
8582 |
OR su2_demo_shon3 IS NOT NULL |
OR su2_demo_shon3 IS NOT NULL |
8597 |
OR su2_demo_shon18 IS NOT NULL |
OR su2_demo_shon18 IS NOT NULL |
8598 |
OR su2_demo_shon19 IS NOT NULL |
OR su2_demo_shon19 IS NOT NULL |
8599 |
OR su2_demo_shon20 IS NOT NULL |
OR su2_demo_shon20 IS NOT NULL |
8600 |
|
OR su2_demo_shon21 IS NOT NULL |
8601 |
|
OR su2_demo_shon22 IS NOT NULL |
8602 |
OR su2_sup_shon1 IS NOT NULL |
OR su2_sup_shon1 IS NOT NULL |
8603 |
OR su2_sup_shon2 IS NOT NULL |
OR su2_sup_shon2 IS NOT NULL |
8604 |
OR su2_sup_shon3 IS NOT NULL |
OR su2_sup_shon3 IS NOT NULL |
8619 |
OR su2_sup_shon18 IS NOT NULL |
OR su2_sup_shon18 IS NOT NULL |
8620 |
OR su2_sup_shon19 IS NOT NULL |
OR su2_sup_shon19 IS NOT NULL |
8621 |
OR su2_sup_shon20 IS NOT NULL |
OR su2_sup_shon20 IS NOT NULL |
8622 |
|
OR su2_sup_shon21 IS NOT NULL |
8623 |
|
OR su2_sup_shon22 IS NOT NULL |
8624 |
THEN |
THEN |
8625 |
REGEXP_REPLACE(CONCAT( |
REGEXP_REPLACE(CONCAT( |
8626 |
CASE WHEN donnees_techniques.su2_cstr_shon1 IS NULL |
CASE WHEN donnees_techniques.su2_cstr_shon1 IS NULL |
8663 |
THEN '' |
THEN '' |
8664 |
ELSE CONCAT ('Cinéma - ', donnees_techniques.su2_cstr_shon10, ' m² / ') |
ELSE CONCAT ('Cinéma - ', donnees_techniques.su2_cstr_shon10, ' m² / ') |
8665 |
END, |
END, |
8666 |
|
CASE WHEN donnees_techniques.su2_cstr_shon21 IS NULL |
8667 |
|
THEN '' |
8668 |
|
ELSE CONCAT ('Hôtels - ', donnees_techniques.su2_cstr_shon21, ' m² / ') |
8669 |
|
END, |
8670 |
|
CASE WHEN donnees_techniques.su2_cstr_shon22 IS NULL |
8671 |
|
THEN '' |
8672 |
|
ELSE CONCAT ('Autres hébergements touristiques - ', donnees_techniques.su2_cstr_shon22, ' m² / ') |
8673 |
|
END, |
8674 |
CASE WHEN donnees_techniques.su2_cstr_shon11 IS NULL |
CASE WHEN donnees_techniques.su2_cstr_shon11 IS NULL |
8675 |
THEN '' |
THEN '' |
8676 |
ELSE CONCAT ('Locaux et bureaux accueillant du public des administrations publiques et assimilés - ', donnees_techniques.su2_cstr_shon11, ' m² / ') |
ELSE CONCAT ('Locaux et bureaux accueillant du public des administrations publiques et assimilés - ', donnees_techniques.su2_cstr_shon11, ' m² / ') |
8845 |
) |
) |
8846 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
8847 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
8848 |
%s |
LEFT JOIN ".DB_PREFIXE."instructeur |
8849 |
%s |
ON dossier.instructeur=instructeur.instructeur |
8850 |
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
8851 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
8852 |
|
LEFT JOIN ".DB_PREFIXE."division |
8853 |
|
ON dossier.division=division.division |
8854 |
%s |
%s |
8855 |
"; |
"; |
8856 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
8857 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_instructeur_filter = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_division_filter = " LEFT JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division"; |
|
|
} |
|
8858 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
8859 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
8860 |
// collectivité |
// collectivité |
8869 |
"; |
"; |
8870 |
} |
} |
8871 |
|
|
8872 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
8873 |
// WHERE - COMMON |
// WHERE - COMMON |
8874 |
$query_ct_where_common = " |
$query_ct_where_common = " |
8875 |
groupe.code != 'CTX' |
groupe.code != 'CTX' |
8945 |
case "instructeur" : |
case "instructeur" : |
8946 |
$message_filtre = " "._("(filtrés par instructeur)"); |
$message_filtre = " "._("(filtrés par instructeur)"); |
8947 |
break; |
break; |
8948 |
|
case "instructeur_secondaire" : |
8949 |
|
$message_filtre = " "._("(filtrés par instructeur secondaire)"); |
8950 |
|
break; |
8951 |
case "division" : |
case "division" : |
8952 |
$message_filtre = " "._("(filtrés par division)"); |
$message_filtre = " "._("(filtrés par division)"); |
8953 |
break; |
break; |
9325 |
%s |
%s |
9326 |
FROM |
FROM |
9327 |
%s |
%s |
9328 |
|
%s |
9329 |
WHERE |
WHERE |
9330 |
%s |
%s |
9331 |
%s |
%s |
9332 |
%s", |
%s |
9333 |
|
%s |
9334 |
|
%s", |
9335 |
$query_ct_select, |
$query_ct_select, |
9336 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
9337 |
|
'%s', // emplacement pour les jointure du filtre |
9338 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
9339 |
$conf["query_ct_where_datd_filter"], |
$conf["query_ct_where_datd_filter"], |
9340 |
|
$conf["query_ct_where_groupe"], |
9341 |
|
'%s', // emplacement pour les conditions du filtre |
9342 |
$query_ct_orderby |
$query_ct_orderby |
9343 |
); |
); |
9344 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
9345 |
|
$sqlFilter = $this->get_query_filter( |
9346 |
|
$query, |
9347 |
|
$conf['arguments']['filtre'] |
9348 |
|
); |
9349 |
|
$query = sprintf( |
9350 |
|
$query, |
9351 |
|
$sqlFilter["FROM"], |
9352 |
|
$sqlFilter["WHERE"] |
9353 |
|
); |
9354 |
|
|
9355 |
/** |
/** |
9356 |
* Template nécessaires à l'affichage du widget |
* Template nécessaires à l'affichage du widget |
9567 |
$elem = trim($arguments[$key]); |
$elem = trim($arguments[$key]); |
9568 |
// |
// |
9569 |
if ($key === "filtre" |
if ($key === "filtre" |
9570 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "instructeur_secondaire", "division", "aucun"))) { |
9571 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
9572 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
9573 |
continue; |
continue; |
9636 |
) |
) |
9637 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
9638 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
9639 |
%s |
LEFT JOIN ".DB_PREFIXE."instructeur |
9640 |
%s |
ON dossier.instructeur=instructeur.instructeur |
9641 |
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
9642 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
9643 |
|
LEFT JOIN ".DB_PREFIXE."division |
9644 |
|
ON dossier.division=division.division |
9645 |
%s |
%s |
9646 |
"; |
"; |
9647 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
9648 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
9649 |
// Filtre sur les dossiers qui concernent l'utilisateur |
// Filtre sur les dossiers qui concernent l'utilisateur |
9650 |
|
/* |
9651 |
|
$query_ct_where_instructeur_filter = ""; |
9652 |
|
$query_ct_where_division_filter = ""; |
9653 |
if ($filtre == "instructeur") { |
if ($filtre == "instructeur") { |
9654 |
// |
// |
9655 |
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
9675 |
} else { |
} else { |
9676 |
$query_ct_where_division_filter = " LEFT JOIN ".DB_PREFIXE."division |
$query_ct_where_division_filter = " LEFT JOIN ".DB_PREFIXE."division |
9677 |
ON dossier.division=division.division"; |
ON dossier.division=division.division"; |
9678 |
} |
}*/ |
9679 |
|
|
9680 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
9681 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
9691 |
"; |
"; |
9692 |
} |
} |
9693 |
|
|
9694 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
9695 |
|
|
9696 |
$query_ct_where =" |
$query_ct_where =" |
9697 |
dossier.a_qualifier IS TRUE |
dossier.a_qualifier IS TRUE |
9732 |
case "instructeur": |
case "instructeur": |
9733 |
$message_filtre = " ".__("dont je suis l'instructeur"); |
$message_filtre = " ".__("dont je suis l'instructeur"); |
9734 |
break; |
break; |
9735 |
|
case "instructeur_secondaire": |
9736 |
|
$message_filtre = " ".__("dont je suis l'instructeur secondaire"); |
9737 |
|
break; |
9738 |
case "aucun": |
case "aucun": |
9739 |
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) { |
9740 |
$message_filtre = " ".__("situés dans ma collectivité"); |
$message_filtre = " ".__("situés dans ma collectivité"); |
9822 |
if (isset($arguments[$key])) { |
if (isset($arguments[$key])) { |
9823 |
$elem = trim($arguments[$key]); |
$elem = trim($arguments[$key]); |
9824 |
if ($key === "filtre" |
if ($key === "filtre" |
9825 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "instructeur_secondaire", "division", "aucun"))) { |
9826 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
9827 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
9828 |
continue; |
continue; |
9880 |
ON demande.demande_type = demande_type.demande_type |
ON demande.demande_type = demande_type.demande_type |
9881 |
) |
) |
9882 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
9883 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type', |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
9884 |
|
LEFT JOIN %1$sinstructeur |
9885 |
|
ON dossier.instructeur=instructeur.instructeur |
9886 |
|
LEFT JOIN %1$som_utilisateur |
9887 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
9888 |
|
LEFT JOIN %1$sdivision |
9889 |
|
ON dossier.division=division.division', |
9890 |
DB_PREFIXE |
DB_PREFIXE |
9891 |
); |
); |
9892 |
|
|
|
$filtre = $arguments["filtre"]; |
|
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
$query_ct_from .= sprintf(" |
|
|
JOIN %1\$sinstructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
JOIN %1\$som_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='%2\$s'", |
|
|
DB_PREFIXE, |
|
|
$_SESSION['login'] |
|
|
); |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
$query_ct_from .= sprintf(" |
|
|
JOIN %1\$sdivision |
|
|
ON dossier.division=division.division AND division.division = %2\$s", |
|
|
DB_PREFIXE, |
|
|
$_SESSION['division'] |
|
|
); |
|
|
} |
|
|
|
|
9893 |
$query_ct_where = sprintf( |
$query_ct_where = sprintf( |
9894 |
" dossier_autorisation_type_detaille.dossier_platau = TRUE AND |
" dossier_autorisation_type_detaille.dossier_platau = TRUE AND |
9895 |
(etat_transmission_platau='non_transmissible' OR |
(etat_transmission_platau='non_transmissible' OR |
9951 |
$arguments = $this->get_arguments($content, $params); |
$arguments = $this->get_arguments($content, $params); |
9952 |
// Récupération de la configuration du widget |
// Récupération de la configuration du widget |
9953 |
$conf = $this->get_config_dossier_non_transmis_platau($arguments); |
$conf = $this->get_config_dossier_non_transmis_platau($arguments); |
9954 |
$sql = sprintf( |
$query = sprintf(" |
9955 |
"SELECT |
SELECT |
9956 |
%s |
%s |
9957 |
FROM |
FROM |
9958 |
%s |
%s |
9959 |
|
%s |
9960 |
WHERE |
WHERE |
9961 |
%s |
%s |
9962 |
|
%s |
9963 |
%s |
%s |
9964 |
%s", |
%s", |
9965 |
$conf["query_ct_select"], |
$conf["query_ct_select"], |
9966 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
9967 |
|
'%s', // emplacement pour les jointure du filtre |
9968 |
$conf["query_ct_where"], |
$conf["query_ct_where"], |
9969 |
|
'%s', // emplacement pour les conditions du filtre |
9970 |
$conf["query_ct_orderby"], |
$conf["query_ct_orderby"], |
9971 |
$conf["query_ct_limit"] |
$conf["query_ct_limit"] |
9972 |
); |
); |
9973 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
9974 |
|
$sqlFilter = $this->get_query_filter( |
9975 |
|
$query, |
9976 |
|
$conf['arguments']['filtre'] |
9977 |
|
); |
9978 |
|
$query = sprintf( |
9979 |
|
$query, |
9980 |
|
$sqlFilter["FROM"], |
9981 |
|
$sqlFilter["WHERE"] |
9982 |
|
); |
9983 |
|
|
9984 |
$template_table = ' |
$template_table = ' |
9985 |
<table class="tab-tab"> |
<table class="tab-tab"> |
10033 |
// Affichage du widget avec une bulle |
// Affichage du widget avec une bulle |
10034 |
if ($conf["arguments"]["affichage"] === "nombre") { |
if ($conf["arguments"]["affichage"] === "nombre") { |
10035 |
// Execution de la requête |
// Execution de la requête |
10036 |
$res = $this->f->db->getone($sql); |
$res = $this->f->db->getone($query); |
10037 |
$this->addToLog(__METHOD__."(): db->getone(\"".$sql."\");", VERBOSE_MODE); |
$this->addToLog(__METHOD__."(): db->getone(\"".$query."\");", VERBOSE_MODE); |
10038 |
$this->f->isDatabaseError($res); |
$this->f->isDatabaseError($res); |
10039 |
|
|
10040 |
// Affichage du message d'informations |
// Affichage du message d'informations |
10065 |
); |
); |
10066 |
} else { |
} else { |
10067 |
// Affichage du widget avec un listing de 5 éléments |
// Affichage du widget avec un listing de 5 éléments |
10068 |
$res = $this->f->db->query($sql); |
$res = $this->f->db->query($query); |
10069 |
$this->f->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE); |
$this->f->addToLog(__METHOD__."(): db->query(\"".$query."\");", VERBOSE_MODE); |
10070 |
$this->f->isDatabaseError($res); |
$this->f->isDatabaseError($res); |
10071 |
|
|
10072 |
if ($res->numrows() == 0) { |
if ($res->numrows() == 0) { |
10166 |
continue; |
continue; |
10167 |
} |
} |
10168 |
if ($key === "filtre" |
if ($key === "filtre" |
10169 |
&& in_array($elem, array("instructeur", "division", "aucun"))) { |
&& in_array($elem, array("instructeur", "instructeur_secondaire", "division", "aucun"))) { |
10170 |
// La valeur doit être dans cette liste |
// La valeur doit être dans cette liste |
10171 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
10172 |
continue; |
continue; |
10178 |
continue; |
continue; |
10179 |
} |
} |
10180 |
if ($key === "categorie_tache" |
if ($key === "categorie_tache" |
10181 |
&& in_array($elem, array("portal", "platau"))) { |
&& in_array($elem, array(PORTAL, PLATAU))) { |
10182 |
// Ce doit être un tableau |
// Ce doit être un tableau |
10183 |
$arguments[$key] = $elem; |
$arguments[$key] = $elem; |
10184 |
continue; |
continue; |
10265 |
) |
) |
10266 |
ON demande.dossier_instruction = dossier.dossier |
ON demande.dossier_instruction = dossier.dossier |
10267 |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
AND demande_type.dossier_instruction_type = dossier.dossier_instruction_type |
10268 |
%s |
LEFT JOIN ".DB_PREFIXE."instructeur |
10269 |
%s |
ON dossier.instructeur=instructeur.instructeur |
10270 |
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
10271 |
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
10272 |
|
LEFT JOIN ".DB_PREFIXE."division |
10273 |
|
ON dossier.division=division.division |
10274 |
%s |
%s |
10275 |
"; |
"; |
10276 |
|
|
10279 |
$arguments['nb_max_resultat'] |
$arguments['nb_max_resultat'] |
10280 |
); |
); |
10281 |
|
|
|
$query_ct_where_instructeur_filter = ""; |
|
|
$query_ct_where_division_filter = ""; |
|
10282 |
$query_ct_where_collectivite_filter = ""; |
$query_ct_where_collectivite_filter = ""; |
|
// Filtre sur les dossiers qui concernent l'utilisateur |
|
|
if ($filtre == "instructeur") { |
|
|
// |
|
|
$query_ct_where_instructeur_filter = " JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
|
|
AND om_utilisateur.login='".$_SESSION['login']."' |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_instructeur_filter = " LEFT JOIN ".DB_PREFIXE."instructeur |
|
|
ON dossier.instructeur=instructeur.instructeur |
|
|
LEFT JOIN ".DB_PREFIXE."om_utilisateur |
|
|
ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur "; |
|
|
} |
|
|
// Filtre sur les dossier de la division |
|
|
if ($filtre == "division") { |
|
|
// |
|
|
$query_ct_where_division_filter = " JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division |
|
|
AND division.division = ".$_SESSION['division']." |
|
|
"; |
|
|
} else { |
|
|
$query_ct_where_division_filter = " LEFT JOIN ".DB_PREFIXE."division |
|
|
ON dossier.division=division.division"; |
|
|
} |
|
10283 |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
// Dans tous les cas si l'utilisateur fait partie d'une collectivité |
10284 |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
// de niveau 1 (mono), on restreint le listing sur les dossiers de sa |
10285 |
// collectivité |
// collectivité |
10294 |
"; |
"; |
10295 |
} |
} |
10296 |
|
|
10297 |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_instructeur_filter, $query_ct_where_division_filter, $query_ct_where_collectivite_filter); |
$query_ct_from = sprintf($query_ct_from, $query_ct_where_collectivite_filter); |
10298 |
|
|
10299 |
|
|
10300 |
// WHERE - TASK ETAT |
// WHERE - TASK ETAT |
10451 |
$query_ct_orderby = ""; |
$query_ct_orderby = ""; |
10452 |
$query_ct_select = "COUNT(*)"; |
$query_ct_select = "COUNT(*)"; |
10453 |
} |
} |
|
|
|
10454 |
$query = sprintf(" |
$query = sprintf(" |
10455 |
SELECT |
SELECT |
10456 |
%s |
%s |
10457 |
FROM |
FROM |
10458 |
%s |
%s |
10459 |
%s |
%s |
10460 |
|
%s |
10461 |
%s |
%s |
10462 |
%s", |
%s |
10463 |
|
%s", |
10464 |
$query_ct_select, |
$query_ct_select, |
10465 |
$conf["query_ct_from"], |
$conf["query_ct_from"], |
10466 |
! empty($conf["query_ct_where"]) ? 'WHERE '.$conf["query_ct_where"] : "", |
'%s', // emplacement pour les jointure du filtre |
10467 |
|
! empty($conf["query_ct_where"]) ? |
10468 |
|
'WHERE '.$conf["query_ct_where"] : |
10469 |
|
"", |
10470 |
|
'%s', // emplacement pour les conditions du filtre |
10471 |
$query_ct_orderby, |
$query_ct_orderby, |
10472 |
$query_ct_limit |
$query_ct_limit |
10473 |
); |
); |
10474 |
|
// Récupération des éléments à ajouter à la requête pour y intégrer le filtre |
10475 |
|
$sqlFilter = $this->get_query_filter( |
10476 |
|
$query, |
10477 |
|
$conf['arguments']['filtre'] |
10478 |
|
); |
10479 |
|
$query = sprintf( |
10480 |
|
$query, |
10481 |
|
$sqlFilter["FROM"], |
10482 |
|
$sqlFilter["WHERE"] |
10483 |
|
); |
10484 |
|
|
10485 |
/** |
/** |
10486 |
* Templates nécessaires à l'affichage du widget |
* Templates nécessaires à l'affichage du widget |
10639 |
_("Voir +") |
_("Voir +") |
10640 |
); |
); |
10641 |
} |
} |
10642 |
|
|
10643 |
|
/** |
10644 |
|
* Récupère une requête sql et un filtre et renvoie sous la forme |
10645 |
|
* d'un tableau les jointures et les conditions nécessaire pour |
10646 |
|
* mettre en place le filtre. |
10647 |
|
* Si il n'y a pas de filtre, que la méthode de récupération du filtre |
10648 |
|
* n'est pas configuré ou qu'aucune requête n'est passée en paramètre |
10649 |
|
* le tableau sera renvoyé mais ses entrées seront vide. |
10650 |
|
* |
10651 |
|
* @param string query |
10652 |
|
* @param string filter |
10653 |
|
* @return string requête sql avec les filtres |
10654 |
|
*/ |
10655 |
|
public function get_query_filter(string $query, string $filter = '') { |
10656 |
|
$sqlFilter = array( |
10657 |
|
'FROM' => '', |
10658 |
|
'WHERE' => '' |
10659 |
|
); |
10660 |
|
// Vérifie si le paramétrage est correct. Renvoie la requête sans modification |
10661 |
|
// si ce n'est pas le cas |
10662 |
|
if (! empty($query) && |
10663 |
|
! empty($filter) && |
10664 |
|
in_array($filter, $this->existing_filters)) { |
10665 |
|
// Fait appel à la méthode permettant de récupérer le sql du filtre |
10666 |
|
$methodName = 'add_filter_'.$filter.'_to_query'; |
10667 |
|
if (method_exists($this, $methodName)) { |
10668 |
|
$sqlFilter = $this->$methodName($query); |
10669 |
|
} |
10670 |
|
} |
10671 |
|
// Renvoie les jointures et les conditions nécessaire à l'intégration |
10672 |
|
// du filtre |
10673 |
|
return $sqlFilter; |
10674 |
|
} |
10675 |
|
|
10676 |
|
protected function add_filter_instructeur_to_query(string $query) { |
10677 |
|
$sqlFilter = array( |
10678 |
|
'FROM' => '', |
10679 |
|
'WHERE' => '' |
10680 |
|
); |
10681 |
|
// Vérifie si le lien entre la table instructeur et l'instructeur |
10682 |
|
// du dossier existe. Si ce n'est pas le cas on ajoute une jointure. |
10683 |
|
if (preg_match("/".DB_PREFIXE."instructeur(?!_)/i", $query) === 0) { |
10684 |
|
$sqlFilter['FROM'] .= sprintf( |
10685 |
|
' |
10686 |
|
LEFT JOIN %1$sinstructeur |
10687 |
|
ON dossier.instructeur = instructeur.instructeur |
10688 |
|
LEFT JOIN %1$som_utilisateur |
10689 |
|
ON instructeur.om_utilisateur = om_utilisateur.om_utilisateur |
10690 |
|
', |
10691 |
|
DB_PREFIXE |
10692 |
|
); |
10693 |
|
} |
10694 |
|
|
10695 |
|
// Ajout du filtre dans le where. |
10696 |
|
$sqlFilter['WHERE'] .= sprintf( |
10697 |
|
' %1$s om_utilisateur.login = \'%2$s\' ', |
10698 |
|
preg_match("/\bWHERE\b/i", $query) === 0 ? 'WHERE' : 'AND', |
10699 |
|
$_SESSION['login'] |
10700 |
|
); |
10701 |
|
// Renvoie la requête |
10702 |
|
return $sqlFilter; |
10703 |
|
} |
10704 |
|
|
10705 |
|
protected function add_filter_instructeur_ou_instructeur_secondaire_to_query(string $query) { |
10706 |
|
$sqlFilter = array( |
10707 |
|
'FROM' => '', |
10708 |
|
'WHERE' => '' |
10709 |
|
); |
10710 |
|
// Vérifie si le lien entre la table instructeur et l'instructeur |
10711 |
|
// du dossier existe. Si ce n'est pas le cas on ajoute une jointure. |
10712 |
|
if (preg_match("/".DB_PREFIXE."instructeur(?!_)/i", $query) === 0) { |
10713 |
|
$sqlFilter['FROM'] .= sprintf( |
10714 |
|
' |
10715 |
|
LEFT JOIN %1$sinstructeur |
10716 |
|
ON dossier.instructeur = instructeur.instructeur |
10717 |
|
LEFT JOIN %1$som_utilisateur |
10718 |
|
ON instructeur.om_utilisateur = om_utilisateur.om_utilisateur |
10719 |
|
', |
10720 |
|
DB_PREFIXE |
10721 |
|
); |
10722 |
|
} |
10723 |
|
// Vérifie si le lien entre la table instructeur et l'instructeur secondaire |
10724 |
|
// du dossier existe. Si ce n'est pas le cas on ajoute une jointure. |
10725 |
|
if (preg_match("/dossier.instructeur_2(?!_)/i", $query) === 0) { |
10726 |
|
$sqlFilter['FROM'] .= sprintf( |
10727 |
|
' |
10728 |
|
LEFT JOIN %1$sinstructeur as instructeur_secondaire |
10729 |
|
ON dossier.instructeur_2 = instructeur_secondaire.instructeur |
10730 |
|
LEFT JOIN %1$som_utilisateur as utilisateur_2 |
10731 |
|
ON instructeur_secondaire.om_utilisateur = utilisateur_2.om_utilisateur |
10732 |
|
', |
10733 |
|
DB_PREFIXE |
10734 |
|
); |
10735 |
|
} |
10736 |
|
|
10737 |
|
// Ajout du filtre dans le where. |
10738 |
|
$sqlFilter['WHERE'] .= sprintf( |
10739 |
|
' %1$s (om_utilisateur.login = \'%2$s\' |
10740 |
|
OR utilisateur_2.login = \'%2$s\') ', |
10741 |
|
preg_match("/\bWHERE\b/i", $query) === 0 ? 'WHERE' : 'AND', |
10742 |
|
$_SESSION['login'] |
10743 |
|
); |
10744 |
|
// Renvoie la requête |
10745 |
|
return $sqlFilter; |
10746 |
|
} |
10747 |
|
|
10748 |
|
protected function add_filter_instructeur_secondaire_to_query(string $query) { |
10749 |
|
$sqlFilter = array( |
10750 |
|
'FROM' => '', |
10751 |
|
'WHERE' => '' |
10752 |
|
); |
10753 |
|
// Vérifie si le lien entre la table instructeur et l'instructeur secondaire |
10754 |
|
// du dossier existe. Si ce n'est pas le cas on ajoute une jointure. |
10755 |
|
if (preg_match("/dossier.instructeur_2(?!_)/i", $query) === 0) { |
10756 |
|
$sqlFilter['FROM'] = sprintf( |
10757 |
|
' |
10758 |
|
LEFT JOIN %1$sinstructeur as instructeur_secondaire |
10759 |
|
ON dossier.instructeur_2 = instructeur_secondaire.instructeur |
10760 |
|
LEFT JOIN %1$som_utilisateur as utilisateur_2 |
10761 |
|
ON instructeur_secondaire.om_utilisateur = utilisateur_2.om_utilisateur |
10762 |
|
', |
10763 |
|
DB_PREFIXE |
10764 |
|
); |
10765 |
|
} |
10766 |
|
|
10767 |
|
// Ajout du filtre dans le where. |
10768 |
|
$sqlFilter['WHERE'] .= sprintf( |
10769 |
|
' %1$s utilisateur_2.login = \'%2$s\' ', |
10770 |
|
preg_match("/\bWHERE\b/i", $query) === 0 ? 'WHERE' : 'AND', |
10771 |
|
$_SESSION['login'] |
10772 |
|
); |
10773 |
|
// Renvoie la requête |
10774 |
|
return $sqlFilter; |
10775 |
|
} |
10776 |
|
|
10777 |
|
protected function add_filter_division_to_query(string $query) { |
10778 |
|
$sqlFilter = array( |
10779 |
|
'FROM' => '', |
10780 |
|
'WHERE' => '' |
10781 |
|
); |
10782 |
|
// Vérifie si le lien entre la table division et la division |
10783 |
|
// du dossier existe. Si ce n'est pas le cas on ajoute une jointure. |
10784 |
|
if (preg_match("/".DB_PREFIXE."division(?!_)/i", $query) === 0) { |
10785 |
|
$sqlFilter['FROM'] = |
10786 |
|
' |
10787 |
|
LEFT JOIN %1$sdivision |
10788 |
|
ON dossier.division=division.division |
10789 |
|
'; |
10790 |
|
} |
10791 |
|
|
10792 |
|
// Ajout du filtre dans le where. |
10793 |
|
$sqlFilter['WHERE'] .= sprintf( |
10794 |
|
' %1$s division.division = \'%2$s\' ', |
10795 |
|
preg_match("/\bWHERE\b/i", $query) === 0 ? 'WHERE' : 'AND', |
10796 |
|
$_SESSION['division'] |
10797 |
|
); |
10798 |
|
|
10799 |
|
// Renvoie la requête |
10800 |
|
return $sqlFilter; |
10801 |
|
} |
10802 |
} |
} |