( current_time( 'timestamp' )-20*60) ) ) { return $old_array; } $html = file_get_contents( 'http://www.regione.lombardia.it/wps/portal/istituzionale/HP/DettaglioRedazionale/servizi-e-informazioni/enti-e-operatori/protezione-civile/allerte/allerte' ); $doc = new DOMDocument(); @$doc->loadHTML($html); $tags = $doc->getElementById('collapseContentPanels4')->getElementsByTagName('td'); $counter = 0; $stato = 0; foreach ($tags as $tag) { //telegram_log( $counter, $stato, $tag->nodeValue); switch ( $tag->nodeValue ) { case 'Idrogeologico': $stato = 1; $counter = 0; break; case 'Idraulico': $stato = 2; $counter = 0; break; case 'Temporali Forti': $stato = 3; $counter = 0; break; case 'Vento Forte': $stato = 4; $counter = 0; break; } if ( strpos( $tag->nodeValue, $id) || strpos( $tag->nodeValue, 'Tutte' ) ) { switch ( $stato ) { case 1: $IDROGEO = $counter-1; break; case 2: $IDRAULICO = $counter-1; break; case 3: $TEMPORALI = $counter-1; break; case 4: $VENTO = $counter-1; break 2; } } $counter++; } $array = array( 'idrogeologico' => $IDROGEO, 'idraulico' => $IDRAULICO, 'temporali' => $TEMPORALI, 'vento' => $VENTO ); if ( $old_array != $array ) { do_action( 'amli_weather_change', $id, $array ); } update_option( 'amli_'.$id, $array); update_option( 'amli_t_'.$id, current_time( 'timestamp' ) ); return $array; } function amli_get_paesi( $zona_id = 0 ) { $zone = array( array( '01', 'VALCHIAVENNA' ), array( '02', 'MEDIA-BASSA VALTELLINA' ), array( '03', 'ALTA VALTELLINA' ), array( '04', 'LAGHI E PREALPI VARESINE' ), array( '05', 'LARIO E PREALPI OCCIDENTALI' ), array( '06', 'OROBIE BERGAMASCHE' ), array( '07', 'VALCAMONICA' ), array( '08', 'LAGHI E PREALPI ORIENTALI' ), array( '09', 'NODO IDRAULICO DI MILANO' ), array( '10', 'PIANURA CENTRALE' ), array( '11', 'ALTA PIANURA ORIENTALE' ), array( '12', 'BASSA PIANURA OCCIDENTALE' ), array( '13', 'BASSA PIANURA ORIENTALE' ), array( '14', 'APPENNINO PAVESE' ) ); if ( $zona_id ) { $zona_id = ((int)$zona_id)-1; return $zone[$zona_id][1]; } else { return $zone; } } function amli_get_alert_display( $int ){ switch( $int ) { case 0: return array ( 'Assente', '#66ff00' ); case 1: return array ( 'Ordinaria ⚠', '#ffff00', '⚠' ); case 2: return array ( 'Moderata ⚠⚠', '#ff9900', '⚠⚠' ); case 3: return array ( 'Elevata ⚠⚠⚠', '#ff0000', '⚠⚠⚠' ); } } ?>