= 5) { alertManager::printCliInfo("Aggiornamento Indici SPID"); if (empty(getQueueLog("0","updateSpid"))) { $indexes = SpidSA::getIndexs("tuttogare-pa"); if (!empty($indexes)) { $found = []; $updateStato = $pdo->prepare("UPDATE b_enti SET indice_spid = :index, spid = 'S' WHERE codice_spid = :codice"); foreach($indexes AS $index) { $updateStato->bindValue(":index",$index["index"]); $updateStato->bindValue(":codice",$index["codice"]); $updateStato->execute(); $found[] = (int) $index["codice"]; } } // if (!empty($found)) { // $enti = $pdo->go("UPDATE b_enti SET indice_spid = NULL, spid = 'N' WHERE spid <> 'W' AND codice_spid NOT IN (" . implode(",",$found) . ")"); // } $idp_list_url = 'https://registry.spid.gov.it/assets/data/idp.json'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $idp_list_url); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 15); echo "Contacting $idp_list_url" . PHP_EOL; $json = curl_exec($ch); curl_close($ch); $idps = json_decode($json); foreach ($idps->data as $idp) { $metadata_url = $idp->metadata_url; $ipa_entity_code = $idp->ipa_entity_code; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $metadata_url); curl_setopt($ch, CURLOPT_FAILONERROR, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 60); echo "Contacting $metadata_url" . PHP_EOL; $xml = curl_exec($ch); if ($xml !== false) { // operation completed successfully $file = "{$spidIDPFolder}{$ipa_entity_code}.xml"; file_put_contents($file, $xml); } curl_close($ch); } writeQueueLog("0","updateSpid"); } else { alertManager::printCliWarning("GiĆ  eseguito"); } } } ?>