',"","",$NewEnte->Nome,""); menu($Stato); break; case "Crearobots": if (!isset($_REQUEST['creasic'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['creasic'],'creasicurezza')){ $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } ap_crearobots(); menu(); break; case "rip": $AttiDaAggiornare=unserialize($_GET['AttiDaAgg']); // echo "
";var_dump($AttiDaAggiornare);echo "
"; $AttiAggiornati=ap_ripubblica_atti_correnti($AttiDaAggiornare); if(count($AttiDaAggiornare)==$AttiAggiornati) $Stato="Tutti gli Atti(".$AttiAggiornati.") sono stati agiornati"; else $Stato="Purtroppo si sono verficati degli errori negli aggiornamenti degli Atti. Atti da aggiornare:".count($AttiDaAggiornare)." Aggiornati:".$AttiAggiornati; menu($Stato); break; case "menu": menu(str_replace("%%br%%","
",sanitize_text_field($_GET['stato']))); unset($_GET['action']); break; case "creafsic": menu(ap_NoIndexNoDirectLink(AP_BASE_DIR.get_option('opt_AP_FolderUpload'))); unset($_POST['action']); break; case "posttrasf": if (!isset($_REQUEST['posttrasf'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['posttrasf'],'posttrasferimento')){ $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } $Msg=ap_NoIndexNoDirectLink(AP_BASE_DIR.get_option('opt_AP_FolderUpload'))."
"; $Msg.=ap_allinea_allegati(); unset($_POST['action']); menu($Msg); break; case "BackupData": if (!isset($_REQUEST['bckdata'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['bckdata'],'BackupDatiAlbo')){ $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } $Data=date('Ymd_H_i_s'); $nf=ap_BackupDatiFiles($Data,"",AlboBCK,TRUE); /* $filename=WP_CONTENT_DIR."/AlboOnLine/BackupDatiAlbo/tmp/msg.txt"; $fpmsg = @fopen($filename, "rb"); $Stato=fread($fpmsg,filesize($filename)); fclose($fpmsg); */ $Stato=__("Backup Completato e pronto per il download","albo-online"); menu($Stato); unset($_POST['action']); break; case "setData": if (!isset($_REQUEST['ripub'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['ripub'],'ripubblicaatti')){ $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!$_REQUEST['DataInterruzione']){ $Stato="Bisogna impostare la Data inizio di interruzione del serzio"; menu($Stato); }elseif ($_REQUEST['ggInterruzione']<1){ $Stato="Bisogna impostare il numero di giorni di interruzione del serzio"; menu($Stato); }else menu("","1",$_REQUEST['DataInterruzione'],$_REQUEST['ggInterruzione']); break; case "verificaproc": if (!isset($_REQUEST['verproc'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['verproc'],'verificaprocedura')){ $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } TestProcedura(); break; case "agghash": if (!isset($_REQUEST['verproc'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['verproc'],'verificaprocedura')) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } AggiornaHashAllegati(); break; case "creaninf": if (!isset($_REQUEST['rigenera'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['rigenera'],'rigenerasic')){ $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } ImplementaNINF(); break; case "DelIPLog": if (!isset($_REQUEST['securdeliplog'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['securdeliplog'],'svuotavaloriipnelfiledilog')){ $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } $Ris=ap_del_ip_log(); if(is_numeric($Ris)){ menu(sprintf(__("N° %s IP nel file di log CANCELLATI","albo-online"),$Ris)); }else{ menu(__("Non è sono stati cancellati gli indirizzi IP nel file di log per il seguente errore: ","albo-online").$Ris); } break; case "creaTabella": creaTabella(sanitize_text_field($_REQUEST['Tabella'])); TestProcedura(); break; case "creacategorie": CreaCategorie(); break; case "svuotalog": if (!isset($_REQUEST['svuotalog'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['svuotalog'],'svuotafilelog')){ $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } $Msg=SvuotaLog(0); menu($Msg); break; case "puliscilog": if (!isset($_REQUEST['puliscilog'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['puliscilog'],'puliscifilelog')){ $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } $Msg=SvuotaLog(11); menu($Msg); break; case "ArchivioAnnoMese": if (!isset($_REQUEST['securarchivioannomese'])) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } if (!wp_verify_nonce($_REQUEST['securarchivioannomese'],'archivioannomese')) { $Stato=__("ATTENZIONE. Rilevato potenziale pericolo di attacco informatico, l'operazione è stata annullata","albo-online"); menu($Stato); break; } $Msg=ArchivioAllegati(); break; default: menu($Stato); } }else{ menu($Stato); } function ArchivioAllegati(){ if (isset($_POST["esBackup"]) And $_POST["esBackup"]=="Si") { echo "

".__("Creazione Backup Albo OnLine","albo-online")."

"; ap_BackupDatiFiles("Organizza_Archivio_Allegati_Mese_Anno",__("Modifica sistema archiviazione Allegati","albo-online"),AlboBCK,TRUE); echo "

".__("Fine creazione Backup Albo OnLine","albo-online")."

".__("Il backup si trova nella cartella","albo-online").": ".AlboBCK."

"; } echo "

".__("Spostamento Allegati Albo OnLine","albo-online")."

"; ap_Move_Allegati_CartellaMeseAnno(); echo "

".__("Operazione eseguita","albo-online")."

"; update_option('opt_AP_FolderUploadMeseAnno',"Si" ); } function CreaCategorie(){ echo '

'.__("Creazione Categorie","albo-online").'

'; echo AP_CreaCategorieBase().'
'.__("Categorie","albo-online").' '.__("Stato","albo-online").'
'; } function SvuotaLog($Tipo){ $NumRow=ap_svuota_log($Tipo); if ($NumRow==0) return (__("Non sono state cancellate righe dal file di Log","albo-online")); else return(__("Log cancellato correttamente, sono state cancellate","albo-online")." ".$NumRow." righe"); } function ImplementaNINF(){ $newPathAllegati=AP_BASE_DIR."AllegatiAttiAlboPretorio"; ap_NoIndexNoDirectLink($newPathAllegati); echo'

'.__("File .htaccess e index.php necessari per il diritto all'oblio sono stati ricreati.","albo-online").'

'.__("Operazione terminata","albo-online").'   '.__("Torna indietro","albo-online").'

'; } function menu($Stato="",$passo=0,$Data="",$GG=0){ global $wpdb; $Stato=sanitize_text_field($Stato); $passo=intval($passo); $upload_dir = wp_upload_dir(); $basedir=substr( $upload_dir['basedir'],0,strlen($upload_dir['basedir'])-19); if (null===get_option( 'opt_AP_FolderUploadMeseAnno' ) Or get_option('opt_AP_FolderUploadMeseAnno')!="Si") { $dirUploadMA=TRUE; } else { $dirUploadMA=FALSE; } echo '

'.__("Utility","albo-online").'

'; if ($Stato!="") echo '

'.str_replace("%%br%%","
",$Stato).'

'; echo '

'.__("Attenzione","albo-online").'!!!!!
'.__("Operazione di proroga della scadenza degli atti in corso di validità a causa di interruzione del servizio di pubblicazione","albo-online").'

'.sprintf(__("Questa operazione PROROGA gli atti in corso di validità con motivazione %s Proroga validità Atti per interruzione del sevizio di pubblicazione %sLa nuova scadenza degli atti viene proroga di un numero di giorni uguale a quello dell'interruzione. %sEstratto dalle Linee Guida di Agid punto 7:%sLa pubblicazione si intende soddisfatta se un documento è rimasto disponibile sul sito complessivamente per almeno dodici ore per ciascun giorno di pubblicazione.%sIl periodo di pubblicazione è prorogato di un giorno per ciascun giorno di pubblicazione inferiore complessivamente a dodici ore, in base a un’attestazione del responsabile della pubblicazione o di un suo delegato.%s","albo-online"),'','
','

','
','
','').'

'.__("Questa è un'operazione irreversibile e modifica dati sostanziali degli Atti, si consiglia di eseguire un backup prima di procedere, per poter recuperare i dati originali in caso di errori.","albo-online").'

'; switch ($passo){ case 0: echo '
'.__("Giorno di inizio Interruzione","albo-online").'
'.__("Giorni di Interruzione","albo-online").'
'; break; case 1: $AData=ap_DateAdd($Data,$GG); $TotAtti=ap_get_all_atti(10,0,0,0,'',$Data,$AData,'',0,0,true,false,'',-1,true); echo'

'.$TotAtti.' '.__("Atti in pubblicazione da data","albo-online").' '.ap_VisualizzaData($Data).' '.__("a data","albo-online").' '.ap_VisualizzaData($AData).'

'; $atti =ap_get_all_atti(10,0,0,0,'',$Data,$AData,"Numero Desc"); $ArrAggSca=array(); if ( ! empty( $atti ) ) { echo "
    "; foreach ($atti as $a) { // echo "
    ";var_dump($a);"
    "; echo "
  • ($a->IdAtto) $a->Oggetto del $a->Numero/$a->Anno"; if($a->DataInizio>$Data){ $AttoDaData=$a->DataInizio; }else{ $AttoDaData=$Data; } if($a->DataFine>$AData){ $AttoAData=$AData; }else{ $AttoAData=$a->DataFine; } $NggInc=ap_datediff("d",$AttoDaData,$AttoAData); if($NggInc==0) $NggInc=1; $NuovaScadenza=ap_DateAdd($a->DataFine,$NggInc); while(ap_IsDataFestiva($NuovaScadenza)){ $NuovaScadenza=ap_DateAdd($NuovaScadenza,1); $NggInc++; } echo " (".$a->DataInizio." - ".$a->DataFine.") gg >> ".$NggInc." Nuova scadenza ".ap_DateAdd($a->DataFine,$NggInc); echo "
  • "; $ArrAggSca[$a->IdAtto]=(int)$NggInc; } echo "
"; echo ''.__("Ripubblica gli atti a causa dell'interruzione del servizio","albo-online").'?'; } } echo '

'.__("Questa procedura esegue un test generale della procedura e riporta eventuali anomalie nei dati e nelle impostazioni.","albo-online").'

'.__("Operazioni eseguite","albo-online").':

  • '.__("Verifica permessi cartella di Upload degli allegati","albo-online").'
  • '.__("Verifica dati del Data Base e viene riportata una breve statistica sui dati","albo-online").'

'.__("Questa procedura esegue le operazioni necessarie per l'allineamento dei files e delle tabelle del DataBase per mantenere il diritto all'oblio degli atti pubblicati","albo-online").':

  • '.sprintf(__("Aggiornamento del contenuto del files %s e %s nella cartella","albo-online"),'.htaccess','index.php').' '.AP_BASE_DIR.'AllegatiAttiAlboPretorio
  • '.sprintf(__("Aggiornamento del contenuto del file %s nella cartella","albo-online"),'robots.txt').' '.$basedir.'
  • '.__("Aggiornamento del percorso nella tabella degli allegati nel Data Base","albo-online").'

'.__("Questa procedura può cancellare una grossa quantità di dati, se non si vuole perderli si consiglia di fare un backup del DataBase o della tabella","albo-online").' '.$wpdb->table_name_Log.'

  • '.__("Questa procedura cancella tutte le registrazioni presenti nel file di log","albo-online").'  
  • '.__("Questa procedura cancella tutte le registrazioni di gestione dal file di log mantenendo le statistiche di accesso","albo-online").'
'; //$elenco=""; $elencoExpo=""; $Dir=str_replace("\\","/",WP_CONTENT_DIR.'/AlboOnLine/BackupDatiAlbo'); if (is_dir($Dir)){ $files_bck = scandir($Dir, 1); foreach($files_bck as $fileinfo) { if (is_file($Dir."/".$fileinfo)) { // $elenco.=""; $elencoExpo.=""; } } } echo '

'.__("Backup dei Dati","albo-online").':     

'.__("Esporta file di Backup","albo-online").':

'; if (isset($_GET['Anno'])) $AnnoRepertorio=$_GET['Anno']; else $AnnoRepertorio=date("Y"); if (($Anni=ap_AnniAtti())!=FALSE){ echo '
'.__("Repertorio","albo-online").'

'.__("Repertorio Anno","albo-online").' '.$AnnoRepertorio.'

'; echo ap_Repertorio($AnnoRepertorio); echo '
'.__("Ente titolare dell'Atto","albo-online").' '.__("Numero progressivo","albo-online").' '.__("Codice di Riferimento","albo-online").' '.__("Oggetto","albo-online").' '.__("Data inizio Pubblicazione","albo-online").' '.__("Data fine Pubblicazione","albo-online").' '.__("Data Annullamento","albo-online").' '.__("Motivo Annullamento","albo-online").' '.__("Richiedente","albo-online").' '.__("Unità Organizzativa Responsabile","albo-online").' '.__("Responsabile del procedimento amministrativo","albo-online").' '.__("Categoria","albo-online").' '.__("Note","albo-online").'
'; } echo'

'.__("Adeguamento DGPR","albo-online").'

IP nel Log:

'.__("Utility Dati Atti","albo-online").'

'.__("Imposta Ente","albo-online").': '.ap_get_dropdown_enti('Ente','Ente','postform richiesto ValValue(>-1)','',0).'

'.sprintf(__("Questa procedura imposta %s in tutti gli atti in cui l'Ente risulta come %sEnte non definito","albo-online"),''.ap_get_ente_me().'','').'

'; if ($dirUploadMA){ echo '

'.__("Utility Organizzazione cartella Upload Allegati","albo-online").'

'.__("Attenzione","albo-online").'
'.__("Questa operazione richiede molto tempo, potrebbe essere interrotta prima del termine per Time Out.","albo-online").'
'.__("Soluzioni","albo-online").':

  • '.__("modificare il file php.ini parametro max_execution_time=XXX modificare inserendo il numero di secondi in genere di default sono 60","albo-online").'
  • '.sprintf(__("modificare il file %s: aggiungere il seguente comando set_time_limit(XXX)","albo-online"),"wp-config.php").'
  • '.sprintf(__("modificare il file %s: fare preventivamente una copia del file. Aggiungere la segunte direttiva: php_value max_execution_time XXX","albo-online"),'.htaccess').'.
'.__("un valore possibile di XXX è 360 (6 minuti)","albo-online").'


'.__("Selezionare questa opzione per eseguire il Backup. (Se eseguite il Backup separatamente potete risparmiare tempo di esecuzione della procedura)","albo-online").'
'.__("Attiva Archiviazione per Mese Anno","albo-online").':

'; } echo '

'.__("Utility che aggiorna l'impronta HASH degli allegati","albo-online").'

'.__("Attenzione","albo-online").'
'.__("Questa operazione potrebbe richiede molto tempo, potrebbe essere interrotta prima del termine per Time Out.","albo-online").'

'; } function TestCampiTabella($Tabella,$Ripara=false){ global $wpdb; switch ($Tabella){ case $wpdb->table_name_Atti: $Par=array("IdAtto" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "PRI", "Default" => "", "Extra" =>"auto_increment"), "Numero" => array("Tipo" => "int(4)", "Null" =>"NO", "Key" => "", "Default" => "0", "Extra" =>""), "Anno" => array("Tipo" => "int(4)", "Null" =>"NO", "Key" => "", "Default" => "0", "Extra" =>""), "Data" => array("Tipo" => "date", "Null" =>"NO", "Key" => "", "Default" => "0000-00-00", "Extra" =>""), "Riferimento" => array("Tipo" => "text", "Null" =>"No", "Key" => "", "Default" => "", "Extra" =>""), "Oggetto" => array("Tipo" => "text", "Null" =>"No", "Key" => "", "Default" => "", "Extra" =>""), "DataInizio" => array("Tipo" => "date", "Null" =>"NO", "Key" => "", "Default" => "0000-00-00", "Extra" =>""), "DataFine" => array("Tipo" => "date", "Null" =>"YES", "Key" => "", "Default" => "0000-00-00", "Extra" =>""), "Informazioni" => array("Tipo" => "text", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "IdCategoria" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "0", "Extra" =>""), "RespProc" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "DataAnnullamento" => array("Tipo" => "date", "Null" =>"YES", "Key" => "", "Default" => "0000-00-00", "Extra" =>""), "MotivoAnnullamento" => array("Tipo" => "text", "Null" =>"YES", "Key" => "", "Default" => "", "Extra" =>""), "Ente" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "0", "Extra" =>""), "DataOblio" => array("Tipo" => "date", "Null" =>"NO", "Key" => "", "Default" => "0000-00-00", "Extra" =>""), "Soggetti" => array("Tipo" => "varchar(100)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "IdUnitaOrganizzativa" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "0", "Extra" =>""), "Richiedente" => array("Tipo" => "varchar(100)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>"")); break; case $wpdb->table_name_Allegati: $Par=array("IdAllegato" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "PRI", "Default" => "", "Extra" =>"auto_increment"), "TitoloAllegato" => array("Tipo" => "varchar(255)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Allegato" => array("Tipo" => "varchar(255)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "IdAtto" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "0", "Extra" =>""), "TipoFile" => array("Tipo" => "varchar(6)", "Null" =>"YES", "Key" => "", "Default" => "", "Extra" =>""), "DocIntegrale" => array("Tipo" => "tinyint(1)", "Null" =>"NO", "Key" => "", "Default" => "1", "Extra" =>""), "Impronta" => array("Tipo" => "char(64)", "Null" =>"No", "Key" => "", "Default" => "", "Extra" =>""), "Natura" => array("Tipo" => "char(1)", "Null" =>"No", "Key" => "", "Default" => "A", "Extra" =>""), "Note" => array("Tipo" => "varchar(255)", "Null" =>"Si", "Key" => "", "Default" => "", "Extra" =>"")); break; case $wpdb->table_name_Categorie: $Par=array("IdCategoria" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "PRI", "Default" => "", "Extra" =>"auto_increment"), "Nome" => array("Tipo" => "varchar(255)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Descrizione" => array("Tipo" => "varchar(255)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Genitore" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "0", "Extra" =>""), "Giorni" => array("Tipo" => "smallint(3)", "Null" =>"NO", "Key" => "", "Default" => "0", "Extra" =>"")); break; case $wpdb->table_name_Log: $Par=array("Data" => array("Tipo" => "timestamp", "Null" =>"NO", "Key" => "", "Default" => "CURRENT_TIMESTAMP", "Extra" =>""), "Utente" => array("Tipo" => "varchar(60)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "IPAddress" => array("Tipo" => "varchar(16)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Oggetto" => array("Tipo" => "int(1)", "Null" =>"NO", "Key" => "", "Default" => "1", "Extra" =>""), "IdOggetto" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "1", "Extra" =>""), "IdOggetto" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "1", "Extra" =>""), "IdAtto" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "0", "Extra" =>""), "TipoOperazione" => array("Tipo" => "int(1)", "Null" =>"NO", "Key" => "", "Default" => "1", "Extra" =>""), "Operazione" => array("Tipo" => "text", "Null" =>"Yes", "Key" => "", "Default" => "", "Extra" =>"")); break; case $wpdb->table_name_RespProc: $Par=array("IdResponsabile" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "PRI", "Default" => "", "Extra" =>"auto_increment"), "Cognome" => array("Tipo" => "varchar(20)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Nome" => array("Tipo" => "varchar(20)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Email" => array("Tipo" => "varchar(100)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Telefono" => array("Tipo" => "varchar(30)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Orario" => array("Tipo" => "varchar(60)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Note" => array("Tipo" => "text", "Null" =>"YES", "Key" => "", "Default" => "", "Extra" =>""), "Funzione" => array("Tipo" => "char(8)", "Null" =>"YES", "Key" => "", "Default" => "RP", "Extra" =>"")); break; case $wpdb->table_name_Enti: $Par=array("IdEnte" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "PRI", "Default" => "", "Extra" =>"auto_increment"), "Nome" => array("Tipo" => "varchar(100)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Indirizzo" => array("Tipo" => "varchar(150)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Url" => array("Tipo" => "varchar(100)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Email" => array("Tipo" => "varchar(100)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Pec" => array("Tipo" => "varchar(100)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Telefono" => array("Tipo" => "varchar(40)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Fax" => array("Tipo" => "varchar(40)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Note" => array("Tipo" => "text", "Null" =>"Yes", "Key" => "", "Default" => "", "Extra" =>"")); break; case $wpdb->table_name_Attimeta: $Par=array("IdAttoMeta" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "PRI", "Default" => "", "Extra" =>"auto_increment"), "IdAtto" => array("Tipo" => "int(11)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Meta" => array("Tipo" => "varchar(100)", "Null" =>"NO", "Key" => "", "Default" => "", "Extra" =>""), "Value" => array("Tipo" => "text", "Null" =>"YES", "Key" => "", "Default" => "", "Extra" =>"")); break; } $wpdb->flush(); $result=$wpdb->get_results("Describe $Tabella"); $Verificato=true; $Msg=""; // var_dump($Tabella); foreach ( $result as $campo ) { // echo "
";var_dump($campo->Field);var_dump($campo->Type);var_dump($Par[$campo->Field]["Default"]);echo "
"; if (is_string($Par[$campo->Field]["Tipo"]) And is_string($campo->Default) And strtolower($Par[$campo->Field]["Tipo"])!=strtolower($campo->Type)){ $Msg.= "".$campo->Field."
   ".__("Tipo DB","albo-online")." ". $campo->Type . "
   ".__("Tipo Originale","albo-online")." ".$Par[$campo->Field]["Tipo"]."
"; $Verificato=false; } if (is_string($Par[$campo->Field]["Null"]) And is_string($campo->Default) And strtolower($Par[$campo->Field]["Null"])!=strtolower($campo->Null)){ $Msg.= "".$campo->Field."
   Null DB ". $campo->Null . "
   Null ".__("Originale","albo-online")." ".$Par[$campo->Field]["Null"]."
"; $Verificato=false; } if (is_string($Par[$campo->Field]["Default"]) And is_string($campo->Default) And strtolower($Par[$campo->Field]["Default"])!=strtolower($campo->Default)){ $Msg.= "".$campo->Field."
   Default DB ". $campo->Default . "
   Default ".__("Originale","albo-online")." ".$Par[$campo->Field]["Default"]."
"; $Verificato=false; } if (is_string($Par[$campo->Field]["Extra"]) And is_string($campo->Default) And strtolower($Par[$campo->Field]["Extra"])!=strtolower($campo->Extra)){ $Msg.= "".$campo->Field."
   Extra DB ". $campo->Extra . "
   Extra ".__("Originale","albo-online")." ".$Par[$campo->Field]["Extra"]."
"; $Verificato=false; } if (is_string($Par[$campo->Field]["Key"]) And is_string($campo->Default) And strtolower($Par[$campo->Field]["Key"])!=strtolower($campo->Key)){ $Msg.= "".$campo->Field."
   Key DB ". $campo->Key . "
   Key ".__("Originale","albo-online")." ".$Par[$campo->Field]["Key"]."
"; $Verificato=false; } } if ($Verificato == True) $Msg.= ''; return $Msg; } function TestCongruitaDati($Tabella){ global $wpdb; $Analisi=""; switch ($Tabella){ case $wpdb->table_name_Atti: $Analisi.=''.__("Atti","albo-online").':'.ap_get_all_atti(0,0,0,0,'', 0,0,"",0,0,true).'
'; $Analisi.=''.__("Atti da Pubblicare","albo-online").':'.ap_get_all_atti(3,0,0,0,'', 0,0,"",0,0,true).'
'; $Analisi.=''.__("Atti In corso di Validità","albo-online").':'.ap_get_all_atti(1,0,0,0,'', 0,0,"",0,0,true).' '; $Analisi.=' '.__("di cui Annullati","albo-online").':'.ap_get_all_atti(1,0,0,0,'', 0,0,"",0,0,true,true).'
'; $Analisi.=''.__("Atti Scaduti","albo-online").':'.ap_get_all_atti(2,0,0,0,'', 0,0,"",0,0,true).' '; $Analisi.=' '.__("di cui Annullati","albo-online").':'.ap_get_all_atti(2,0,0,0,'', 0,0,"",0,0,true,true).'
'; $Analisi.=''.__("Atti Oblio (da Cancellare)","albo-online").':'.ap_get_all_atti(4,0,0,0,'', 0,0,"",0,0,true).'
'; // Verifica Atti con Categorie Orfane $CategorieOrfane=ap_categorie_orfane(); if ($CategorieOrfane){ foreach ($CategorieOrfane as $CategoriaOrfana){ $Analisi.=sprintf(__("%sAtto N. %s/%sriporta la Categoria con Codice %sNON TROVATA nella tabella Categorie %s","albo-online"),'',''.$CategoriaOrfana->Numero,$CategoriaOrfana->Anno.' ',''.$CategoriaOrfana->IdCategoria.' ','
'); } } $EntiOrfani=ap_enti_orfani(); if ($EntiOrfani){ foreach ($EntiOrfani as $EnteOrfano){ $Analisi.=sprintf(__("%sAtto N. %s/%sriporta l'ente con Codice %sNON TROVATA nella tabella Enti %s","albo-online"),'',''.$EnteOrfano->Numero,$EnteOrfano->Anno.' ',''.$EnteOrfano->Ente.' ','
'); } } $ResponsabiliOrfani=ap_responsabili_orfani(); if ($ResponsabiliOrfani){ foreach ($ResponsabiliOrfani as $ResponsabileOrfano) { $Analisi.=sprintf(__("%sAtto N. %s/%sriporta il responsabile con Codice %sNON TROVATA nella tabella Responsabili %s","albo-online"),'',''.$ResponsabileOrfano->Numero,$ResponsabileOrfano->Anno.' ',''.$ResponsabileOrfano->RespProc.' ','
'); } } return $Analisi; break; case $wpdb->table_name_Allegati: $NumAllegati=ap_num_allegati(); $AllegatiOrfani=ap_allegati_orfani(); $Analisi= sprintf(__("%sN. Allegati %s di cui orfani %s","albo-online"),'',''.$NumAllegati.' ',' '.count($AllegatiOrfani).'
'); if (count($AllegatiOrfani)>0) $Analisi.="
".__("Allegati Orfani","albo-online")."
"; foreach ($AllegatiOrfani as $AllegatoOrfano){ $Analisi.=sprintf(__("%sAllegato %s Associato all'Atto con id n.%s","albo-online"),'',''.$AllegatoOrfano->IdAtto.' ',' '.$AllegatoOrfano->IdAtto.'
'); } return $Analisi; break; case $wpdb->table_name_Categorie: $NumCategorie=ap_num_categorie(); $NumCategorieInutilizzate=ap_num_categorie_inutilizzate(); $Categorie=ap_get_categorie(); $UsoCategorie=""; foreach ($Categorie as $Categoria){ $NCategorie=ap_num_categoria_atto($Categoria->IdCategoria); $NCategorie=$NCategorie ? $NCategorie : 0; $UsoCategorie.=sprintf(__("%s Presente in %s Associato all'Atto con id n.%s Presente in Atti%s","albo-online"),'',''.$Categoria->Nome,''.$NCategorie .' ', '
'); } return sprintf(__("%sCategorie codificate %s di cui inutilizzate%s","albo-online"),'',''.$NumCategorie.' ',' '.$NumCategorieInutilizzate.'
'.$UsoCategorie); break; case $wpdb->table_name_Log: $LogPerOggetti=ap_get_Stat_Log("Oggetto"); $Statistiche="".__("Numero record per Oggetto","albo-online")."
"; foreach ($LogPerOggetti as $LogPerOggetto){ $Statistiche.="".$LogPerOggetto->NomeOggetto." => ".$LogPerOggetto->Numero ."
"; } $LogPerTipoOperazioni=ap_get_Stat_Log("TipoOperazione"); $Statistiche.="".__("Numero record per Tipo Operazione","albo-online")."
"; foreach ($LogPerTipoOperazioni as $LogPerTipoOperazione){ $Statistiche.="".$LogPerTipoOperazione->NomeTipoOperazione." => ".$LogPerTipoOperazione->Numero ."
"; } return $Statistiche; break; case $wpdb->table_name_RespProc: $NumResp=ap_num_responsabili(); $NumResponsabiliInutilizzate=ap_num_responsabili_inutilizzati(); $Responsabili=ap_get_responsabili(); $UsoResponsabili=""; foreach ($Responsabili as $Responsabile){ $NResponsabile=ap_get_NumAttiSoggetto($Responsabile->IdResponsabile); $NResponsabile=$NResponsabile ? $NResponsabile : 0; $UsoResponsabili.="".$Responsabile->Cognome." ".$Responsabile->Nome." ".__("Presente in","albo-online")." ".$NResponsabile ." ".__("Atti","albo-online")."
"; } return sprintf(__("%s Responsabili codificati %s di cui inutilizzati%s","albo-online"),'',''.$NumResp.' ',' '.$NumResponsabiliInutilizzate.'
'.$UsoResponsabili); break; case $wpdb->table_name_Enti: $NumEnti=ap_num_enti(); $NumEntiInutilizzati=ap_num_enti_Inutilizzati(); $Enti=ap_get_enti(); $UsoEnti=""; foreach ($Enti as $Ente){ $NAtti=ap_num_enti_atto($Ente->IdEnte); $NAtti=$NAtti ? $NAtti : 0; $UsoEnti.="".$Ente->Nome." ".__("Presente in","albo-online")." ".$NAtti ." ".__("Atti","albo-online")."
"; } return sprintf(__("%s Enti codificati %s di cui inutilizzati%s","albo-online"),'',''.$NumEnti,'
'.$NumEntiInutilizzati.'
'.$UsoEnti); break; case $wpdb->table_name_Attimeta: $MetaDati=ap_get_elenco_attimeta("Array","listaAttiMeta","ListaAttiMeta","Si",0,TRUE); $MetaRighe=""; foreach ($MetaDati as $MetaDato){ $MetaRighe.="".$MetaDato->Meta." => ".$MetaDato->Value." ".__("Presente in","albo-online")."

"; $Atti=""; $AttiEstratti=ap_get_GruppiAtti($MetaDato->Meta,$MetaDato->Value); foreach($AttiEstratti as $AttiEstratto){ $MetaRighe.=" (".$AttiEstratto->IdAtto.") ".$AttiEstratto->Oggetto."
"; } } return "".__("Meta Dati codificati","albo-online")." ".$MetaRighe; break; } } function TestProcedura(){ global $wpdb; $Tabelle=array($wpdb->table_name_Atti, $wpdb->table_name_Categorie, $wpdb->table_name_Allegati, $wpdb->table_name_Log, $wpdb->table_name_RespProc, $wpdb->table_name_Enti, $wpdb->table_name_Attimeta); if(is_file(AP_BASE_DIR.get_option('opt_AP_FolderUpload')."/.htaccess")) $ob1=TRUE; else $ob1=FALSE; if(is_file(AP_BASE_DIR.get_option('opt_AP_FolderUpload')."/index.php")) $ob2=TRUE; else $ob2=FALSE; if(is_file(APHomePath."/robots.txt")) $ob3=TRUE; else $ob3=FALSE; echo '

'.__("Analisi procedura","albo-online").' '.__("Torna indietro","albo-online").'

'.__("Librerie","albo-online").'Librerie

'; else echo''; echo '
'.__("Libreria","albo-online").' '.__("Stato","albo-online").' '.__("Note","albo-online").'
PclZip '; if (is_file(Albo_DIR.'/inc/pclzip.php')) echo'-- '.__("Senza questa libreria non puoi eseguire i Backup","albo-online").'

'.__("Diritto all'OBLIO","albo-online").'

'; echo' '; //if (!$ob1 or !$ob2) echo ' '; echo ' '; //if (!$ob3) echo ' '; echo '
'.__("Cartella","albo-online").' .htaccess index.php robots.txt '.__("Operazione","albo-online").'
'.AP_BASE_DIR.get_option('opt_AP_FolderUpload').' '; if($ob1) echo''; else echo''; echo ' '; if($ob2) echo''; else echo''; echo ' '.__("Rigenera","albo-online").'
'.APHomePath.' '; if($ob3) echo''; else echo''; echo ' '.__("Crea","albo-online").'

'.__("Permessi Cartella Upload","albo-online").'

'; $CartellaUp=str_replace("\\","/",AP_BASE_DIR.get_option('opt_AP_FolderUpload')); $permessi=ap_get_fileperm($CartellaUp); $permProp=ap_get_fileperm_Gruppo($CartellaUp,"Proprietario"); if($permProp==7 Or $permProp==6 Or $permProp==3 Or $permProp==2) $StatoCartella=''; else $StatoCartella=''; echo '
'.__("Cartella","albo-online").'Cartella '.__("Permessi","albo-online").' '.__("Stato","albo-online").'
'.$CartellaUp.' '.$permessi.' '.$StatoCartella.'

'.__("Permessi Cartella Servizio","albo-online").'

'; $Cartella=AlboBCK; $permessi=ap_get_fileperm($Cartella); $permProp=ap_get_fileperm_Gruppo($Cartella,"Proprietario"); if($permProp==7 Or $permProp==6 Or $permProp==3 Or $permProp==2) $StatoCartella=''; else $StatoCartella=''; echo ' '; $Cartella=AlboBCK.'/BackupDatiAlbo'; $permessi=ap_get_fileperm($Cartella); $permProp=ap_get_fileperm_Gruppo($Cartella,"Proprietario"); if($permProp==7 Or $permProp==6 Or $permProp==3 Or $permProp==2) $StatoCartella=''; else $StatoCartella=''; echo ' '; $Cartella=AlboBCK.'/OblioDatiAlbo'; $permessi=ap_get_fileperm($Cartella); $permProp=ap_get_fileperm_Gruppo($Cartella,"Proprietario"); if($permProp==7 Or $permProp==6 Or $permProp==3 Or $permProp==2) $StatoCartella=''; else $StatoCartella=''; echo '
'.__("Cartella","albo-online").' '.__("Permessi","albo-online").' '.__("Stato","albo-online").'
'.$Cartella.' '.$permessi.' '.$StatoCartella.'
'.$Cartella.' '.$permessi.' '.$StatoCartella.'
'.$Cartella.' '.$permessi.' '.$StatoCartella.'

'.__("Analisi Data Base","albo-online").'

'; foreach($Tabelle as $Tabella){ $TestCampi=""; if (ap_existTable($Tabella)) $EsisteTabella=''; else $EsisteTabella=''.__("Crea Tabella","albo-online").''; $TestCampi=TestCampiTabella($Tabella); $DatiTabella=TestCongruitaDati($Tabella); echo' '; } echo'
'.__("Tabella","albo-online").' '.__("Esistenza","albo-online").' '.__("Struttura","albo-online").' '.__("Analisi dati","albo-online").'
'.$Tabella.' '.$EsisteTabella.' '.$TestCampi.' '.$DatiTabella.'
'; } function AggiornaHashAllegati(){ global $wpdb; $allegati=$wpdb->get_results("SELECT * FROM $wpdb->table_name_Allegati ;",ARRAY_A ); foreach ( $allegati as $allegato) { if (is_file($allegato['Allegato'])){ $Impronta=hash_file("sha256", $allegato['Allegato']); if ($wpdb->update($wpdb->table_name_Allegati, array('Impronta' => $Impronta), array('IdAllegato' => $allegato['IdAllegato'] ), array('%s'), array('%d'))) { echo''.__('Aggiornamento Hash Allegato','albo-online').' '.$allegato['Allegato'].' '.$Impronta.'
'; }else{ echo $allegato['Allegato'].' '.__('Allegato già aggiornato','albo-online').'
'; } }else{ echo $allegato['Allegato'].' '.__('File non trovato','albo-online').'
'; } } echo ''; } ?>