'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.' ) );
}
?>
$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' );