'AlarmeringenWidget', 'description' => 'Laat 112 alarmeringen zien van een opgegeven P2000 capcode.' ); $this->WP_Widget('AlarmeringenWidget', '112 Alarmeringen', $widgetOptions); } // The form shown in the backend function form($instance){ $instance = wp_parse_args( (array) $instance, array( 'title' => '', 'capcode' => '', 'updatefreq' => '', 'aantal' => 5, 'showLabel' => '0', 'showTime' => '', 'showMelding' => '')); $title = $instance['title']; $capcode = $instance['capcode']; $updatefreq = $instance['updatefreq']; $aantal = $instance['aantal']; $showLabel = $instance['showLabel']; $showTime = $instance['showTime']; $showMelding = $instance['showMelding']; ?>

($timestamp + ($instance['updatefreq'] * 60)))){ $nieuweAlarmeringen = file_get_contents('http://www.zoutkamp.net/json/alarmeringen.php?c=' . $instance['capcode'] . '&n=' . $instance['aantal']); if($nieuweAlarmeringen != ''){ update_option('alarmeringen_widget_' . $instance['capcode'] . '_' . $instance['updatefreq'] . '_' . $instance['aantal'] . '_json' , $nieuweAlarmeringen); update_option('alarmeringen_widget_' . $instance['capcode'] . '_' . $instance['updatefreq'] . '_' . $instance['aantal'] . '_json_timestamp' , time()); } $alarmeringen = $nieuweAlarmeringen; } $alarmeringen = json_decode($alarmeringen, true); extract($args, EXTR_SKIP); echo $before_widget; $title = empty($instance['title']) ? ' ' : apply_filters('widget_title', $instance['title']); if (!empty($title)) echo $before_title . $title . $after_title; echo '
'; $beenhere = false; foreach($alarmeringen as $alarmering){ echo '
'; if($instance['showLabel']){ echo '
'; echo $alarmering['label']; echo '
'; } if($instance['showTime']){ echo '
'; echo date("d-m-Y H:i", $alarmering['timestamp']); echo '
'; } if($instance['showMelding']){ echo '
'; echo $alarmering['text']; echo '
'; } echo '
'; $beenhere = true; } if(!$beenhere){ _e('Geen recente meldingen'); } echo '
'; // WIDGET CODE GOES HERE //echo print_r($alarmeringen,1); //echo $this->id; //echo "

This is my new widget!

"; echo $after_widget; } } add_action( 'widgets_init', create_function('', 'return register_widget("alarmeringenWidget");') ); /* add_filter( 'cron_schedules', 'alarmeringen_cron_schedules'); function alarmeringen_cron_schedules(){ return array( 'one_minutes' => array( 'interval' => 60, 'display' => 'Every mintue', 'five_minutes' => array( 'interval' => 60 * 5, 'display' => 'Every five mintues', 'ten_minutes' => array( 'interval' => 60 * 10, 'display' => 'Every ten mintues', 'fifteen_minutes' => array( 'interval' => 60 * 15, 'display' => 'Every fifteen mintues', 'thirty_minutes' => array( 'interval' => 60 * 30, 'display' => 'Every thirty mintues' ) ); } add_action('alarmeringen_update', 'alarmeringen_update'); function alarmeringen_update(){ //error_log('update!'); update_option('jsonalarmeringen', 'Hoi' . date("H:i:s", time())); } function alarmeringen_activate() { // just to be sure, first deactivate. $timestamp = wp_next_scheduled( 'alarmeringen_update' ); wp_unschedule_event($timestamp, 'alarmeringen_update' ); //wp_schedule_event( time(), 'five_minutes', 'alarmeringen_update' ); } register_activation_hook( __FILE__, 'alarmeringen_activate' ); function alarmeringen_deactivate() { $timestamp = wp_next_scheduled( 'alarmeringen_update' ); wp_unschedule_event($timestamp, 'alarmeringen_update' ); } register_deactivation_hook( __FILE__, 'alarmeringen_deactivate' ); /** Step 2 (from text above). * / add_action( 'admin_menu', 'alarmeringen_menu' ); /** Step 1. * / function alarmeringen_menu() { add_options_page( 'alarmeringen Options', 'alarmeringen', 'manage_options', 'alarmeringen', 'alarmeringen_options' ); //call register settings function add_action( 'admin_init', 'register_mysettings' ); } function register_mysettings() { //register our settings register_setting( 'alarmeringen-group', 'jsonalarmeringen' ); register_setting( 'alarmeringen-group', 'capcode' ); register_setting( 'alarmeringen-group', 'discipline' ); } /** Step 3. * / function alarmeringen_options() { if ( !current_user_can( 'manage_options' ) ) { wp_die( __( 'You do not have sufficient permissions to access this page.' ) ); } ?>

alarmeringen settings

Deze plugin haalt de recente meldingen op van een bepaalde capcode. Een capcode is het nummer waar de pagers van de betreffende dienst op reageren. Er zijn lijsten te vinden met capcodes bijvoorbeel op het Hulpverleningsforum.
Capcode: discipline: />
$line) { $spatie = strpos($line," "); $data[substr($line,0,$spatie)] = substr($line, $spatie); } return $data; } // [bartag foo="foo-value"] function alarmeringen_func( $atts ) { extract( shortcode_atts( array( 'sensor' => '', ), $atts ) ); if(!$data = laadData()){ return 'Error!'; } $output = $data[$sensor]; $dateformatstring = get_option('date_format'); $timeformatstring = get_option('time_format'); $spatieren = get_option('spatieren'); $koppel = get_option('datumtijdkoppel'); if($spatieren){ $koppel = ' ' . $koppel . ' '; } if(strstr($sensor, 'puredate')){ $output = date_i18n( $dateformatstring, strtotime($output));// date("d-m-Y", strtotime($output)); }elseif(preg_match("/alltime_.*?_time/", $sensor)){ $output = date_i18n($dateformatstring, strtotime($output)) . (!empty($koppel)? $koppel : ' ') . date_i18n($timeformatstring, strtotime($output));//date("d-m-Y \o\m H:i", strtotime($output)); }elseif(strstr(str_replace("alltime", "", $sensor), 'time')){ $output = date_i18n( $timeformatstring, strtotime($output)); } return $output; } add_shortcode( 'alarmeringen', 'alarmeringen_func' );