permission($id_modulo)) { $contratto = stipula::init($_GET['codice_contratto']); if(!empty($contratto)){ $return = array(); $return["draw"] = (int)$_GET["draw"]; $return["recordsTotal"] = (int)0; $return["recordsFiltered"] = (int)0; $filters = [ 'codice_contratto' => $contratto->info['codice'], ]; $orders = [ 'codice_classe_documentale' => 'GROUP BY', // 'timestamp_creazione' => 'DESC', 'max_timestamp_creazione' => 'MAX' ]; switch($_GET["order"][0]["column"]) { case "0": null ; break; case "1": null ; break; case "2": null ; break; case "3": null; break; case "4": $orderKey = 'timestamp_creazione'; break; } if ($_GET["order"][0]["dir"] == "desc") { $orders[$orderKey] = "DESC"; } else { $orders[$orderKey] = "ASC"; } $classiDocumentali = $contratto->getDocumentali()->fetchAll(PDO::FETCH_ASSOC); $codiciClassiDocumentali = array_values(array_unique(pluck('codice_classe_documentale', $classiDocumentali))); if(!empty($codiciClassiDocumentali)){ $classiDocumentali = ContrattoDocumentale::getAllDocumentali(['codici' => $codiciClassiDocumentali, 'titolo' => $_GET['search']['value']]); $countRecordFiltered = 0; foreach($classiDocumentali as $classeDocumentale){ $filters = [ 'codice_contratto' => $contratto->info['codice'], 'codice_classe_documentale' => $classeDocumentale['codice'] ]; $richieste = RichiestaDocumentale::getRichieste($filters, ['timestamp_creazione' => 'DESC']); $row = array(); if(count($richieste) == 1){ $richieste = rispostaDocumentale::getBadge($contratto->info['codice'], $richieste, "sa"); $richiesta = reset($richieste); $row[] = ""; $row[] = "". $classeDocumentale['titolo'] .""; $row[] = "". __($classeDocumentale['ambito_validita']) .""; $row[] = "". ContrattoDocumentale::getSoggetti($classeDocumentale['soggetto']) .""; $row[] = mysql2datetime($richiesta['timestamp_creazione']); if (!empty($richiesta['statoLabel'])) { $row[] = "". __($richiesta['statoLabel']['titolo']) . ""; }elseif(!empty($richiesta['statoBadges'])){ ob_start(); foreach ($richiesta['statoBadges'] as $stat => $value) { ?> '> ". __('Errore visualizzazione Stati').""; } $row[] = ""; }else{ $badges = rispostaDocumentale::getGroupBadge($contratto->info['codice'], $richieste, "sa"); $row[] = ""; $row[] = "". $classeDocumentale['titolo'] .""; $row[] = "". __($classeDocumentale['ambito_validita']) .""; $row[] = "". ContrattoDocumentale::getSoggetti($classeDocumentale['soggetto']) .""; $row[] = mysql2datetime($richieste[0]['timestamp_creazione']); ob_start(); foreach ($badges as $stat => $badge) { ?> '> info['codice']}&codice_classe_documentale={$classeDocumentale['codice']}' class='btn btn-sm btn-primary'>"; } if(!empty($_GET['stato'])){ if (count($richieste) == 1) { if (!empty($richiesta['statoLabel']) && $richiesta['statoLabel']['key'] == $_GET['stato'] ) { $countRecordFiltered++; $return["data"][] = $row; }elseif(!empty($richiesta['statoBadges']) && $richiesta['statoBadges'][$_GET['stato']]['contatori'] > 0){ $countRecordFiltered++; $return["data"][] = $row; } }else{ if ($badges[$_GET['stato']]['contatori'] > 0) { $countRecordFiltered++; $return["data"][] = $row; } } }else{ $countRecordFiltered++; $return["data"][] = $row; } } $return["recordsTotal"] = $countRecordFiltered; $return["recordsFiltered"] = $countRecordFiltered; }else { $return["data"] = array(); } }else{ $return["data"] = array(); } echo json_encode($return); } ?>