8 && $ora < 19 && empty(getQueueLog($_SESSION["ente"]->codice, "anac_autopubblica-H{$ora}")))) { $metadataSchede = NuovaPiattaformaAppalti::getCardsMetadata(); $schedePubblicazioneImplicita = array_keys(array_filter($metadataSchede, function($val, $index) { return $val["pubblicazione_implicita"] ?? false; }, ARRAY_FILTER_USE_BOTH)); writeQueueLog($_SESSION["ente"]->codice, "anac_autopubblica-H{$ora}"); $schede = NuovaPiattaformaAppalti::fetchSchede( ["codice"], [ "stato" => ["AND", [[">=", NuovaPiattaformaAppalti::TRASMITTED_STATO], ["<", NuovaPiattaformaAppalti::PUBLISHED_STATO]]], "errore" => "NO", "id_scheda" => ["IN", $schedePubblicazioneImplicita], ], true, true ); $count = count($schede); if ($count) { alertManager::printCliInfo("Ottenimento {$count} avvisi auto-pubblicati da ANAC."); foreach ($schede as $scheda) { try { $npa = NuovaPiattaformaAppalti::init(null, $scheda["codice"]); if (!$npa) { alertManager::printCliAlert("Impossibile inizializzare NuovaPiattaformaAppalti per la scheda {$scheda['codice']}"); continue; } //if($npa->isUserLoggedIn()) { $validRoles = $npa->getPermissionFor("pubblicazioneAvvisi", "read"); foreach ($validRoles as $role) { $cf = $npa->getUserFromRole($role, RoleSyncBehaviour::NEVER_SYNC); if ($cf === null) continue; $npa->setCronOverrideUser($role, $cf); if ($npa->updatePublicationStatus($message)) { alertManager::printCliInfo("\t- La scheda {$scheda['codice']} ha terminato la sua pubblicazione."); } break; } } catch (\Throwable $t) { $alert = <<getMessage()} {$t->getTraceAsString()} ERR; alertManager::printCliAlert($alert); ec_create_ticket("Eccezione in NPA::AUTOPUBBLICA", $alert, $ente->codice ?? 0); } } } else { alertManager::printCliInfo("Nessuna scheda da finalizzare"); } } else { alertManager::printCliInfo("Salto la verifica avviso ANAC per l'ora {$ora}"); } }