Simple Calendar – Google Calendar Plugin - Version 0.7.1

Version Description

  • Fixed bug causing AJAX enabled calendar grids to not function correctly
  • Fixed bug causing all-day events from outside required date range to be displayed
  • Fixed bug causing tooltip date title heading setting to be ignored
  • Added further data sanitisation on output
  • Feeds with no events will now be cached to prevent HTTP requests on every page load
Download this release

Release Info

Developer rosshanney
Plugin Icon 128x128 Simple Calendar – Google Calendar Plugin
Version 0.7.1
Comparing to
See all releases

Code changes from version 0.7 to 0.7.1

google-calendar-events.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Google Calendar Events
4
  Plugin URI: http://www.rhanney.co.uk/plugins/google-calendar-events
5
  Description: Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget.
6
- Version: 0.7
7
  Author: Ross Hanney
8
  Author URI: http://www.rhanney.co.uk
9
  License: GPL2
@@ -36,7 +36,7 @@ define( 'GCE_PLUGIN_NAME', str_replace( '.php', '', basename( __FILE__ ) ) );
36
  define( 'GCE_TEXT_DOMAIN', 'google-calendar-events' );
37
  define( 'GCE_OPTIONS_NAME', 'gce_options' );
38
  define( 'GCE_GENERAL_OPTIONS_NAME', 'gce_general' );
39
- define( 'GCE_VERSION', 0.7 );
40
 
41
  if ( ! class_exists( 'Google_Calendar_Events' ) ) {
42
  class Google_Calendar_Events {
@@ -207,8 +207,19 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
207
 
208
  //Setup admin settings page
209
  function setup_admin(){
210
- if ( function_exists( 'add_options_page' ) )
211
- add_options_page( 'Google Calendar Events', 'Google Calendar Events', 'manage_options', basename( __FILE__ ), array( $this, 'admin_page' ) );
 
 
 
 
 
 
 
 
 
 
 
212
  }
213
 
214
  //Prints admin settings page
@@ -493,7 +504,7 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
493
  extract( shortcode_atts( array(
494
  'id' => '',
495
  'type' => 'grid',
496
- 'title' => false,
497
  'max' => 0,
498
  'order' => 'asc'
499
  ), $atts ) );
@@ -576,7 +587,7 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
576
 
577
  //Adds the required scripts
578
  function add_scripts() {
579
- //Don't add scripts if on admin screens
580
  if ( ! is_admin() ) {
581
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
582
  $add_to_footer = (bool) $options['javascript'];
@@ -588,19 +599,19 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
588
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
589
  'loading' => $options['loading']
590
  ) );
591
- } else {
592
- wp_enqueue_script( 'gce_scripts', WP_PLUGIN_URL . '/' . GCE_PLUGIN_NAME . '/js/gce-admin-script.js', array( 'jquery' ) );
593
  }
594
  }
595
 
596
  //AJAX stuffs
597
  function gce_ajax() {
598
  if ( isset( $_GET['gce_feed_ids'] ) ) {
599
- $ids = esc_html( $_GET['gce_feed_ids'] );
600
- $title = esc_html( $_GET['gce_title_text'] );
601
- $max = absint( $_GET['gce_max_events'] );
602
- $month = absint( $_GET['gce_month'] );
603
- $year = absint( $_GET['gce_year'] );
 
 
604
 
605
  if ( 'page' == $_GET['gce_type'] ) {
606
  //The page grid markup to be returned via AJAX
@@ -643,7 +654,7 @@ function gce_print_list( $feed_ids, $title_text, $max_events, $sort_order, $grou
643
  return $list->error_messages();
644
  } else {
645
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
646
- return $options['error'];
647
  }
648
  }
649
  }
@@ -660,11 +671,14 @@ function gce_print_grid( $feed_ids, $title_text, $max_events, $ajaxified = false
660
 
661
  //If there are less errors than feeds parsed, at least one feed must have parsed successfully so continue to display the grid
662
  if ( $num_errors < count( $ids ) ) {
663
- $markup = '<div class="gce-page-grid" id="gce-page-grid-' . $feed_ids .'">';
 
 
 
664
 
665
  //Add AJAX script if required
666
  if ( $ajaxified )
667
- $markup .= '<script type="text/javascript">jQuery(document).ready(function($){gce_ajaxify("gce-page-grid-' . $feed_ids . '", "' . $feed_ids . '", "' . $max_events . '", "' . $title_text . '", "page");});</script>';
668
 
669
  $markup .= $grid->get_grid( $year, $month, $ajaxified ) . '</div>';
670
 
@@ -680,7 +694,7 @@ function gce_print_grid( $feed_ids, $title_text, $max_events, $ajaxified = false
680
  return $grid->error_messages();
681
  } else {
682
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
683
- return $options['error'];
684
  }
685
  }
686
  }
3
  Plugin Name: Google Calendar Events
4
  Plugin URI: http://www.rhanney.co.uk/plugins/google-calendar-events
5
  Description: Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget.
6
+ Version: 0.7.1
7
  Author: Ross Hanney
8
  Author URI: http://www.rhanney.co.uk
9
  License: GPL2
36
  define( 'GCE_TEXT_DOMAIN', 'google-calendar-events' );
37
  define( 'GCE_OPTIONS_NAME', 'gce_options' );
38
  define( 'GCE_GENERAL_OPTIONS_NAME', 'gce_general' );
39
+ define( 'GCE_VERSION', '0.7.1' );
40
 
41
  if ( ! class_exists( 'Google_Calendar_Events' ) ) {
42
  class Google_Calendar_Events {
207
 
208
  //Setup admin settings page
209
  function setup_admin(){
210
+ global $gce_settings_page;
211
+
212
+ $gce_settings_page = add_options_page( 'Google Calendar Events', 'Google Calendar Events', 'manage_options', basename( __FILE__ ), array( $this, 'admin_page' ) );
213
+
214
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
215
+ }
216
+
217
+ //Add admin JavaScript (to GCE settings page only)
218
+ function enqueue_admin_scripts( $hook_suffix ) {
219
+ global $gce_settings_page;
220
+
221
+ if ( $gce_settings_page == $hook_suffix )
222
+ wp_enqueue_script( 'gce_scripts', WP_PLUGIN_URL . '/' . GCE_PLUGIN_NAME . '/js/gce-admin-script.js', array( 'jquery' ) );
223
  }
224
 
225
  //Prints admin settings page
504
  extract( shortcode_atts( array(
505
  'id' => '',
506
  'type' => 'grid',
507
+ 'title' => null,
508
  'max' => 0,
509
  'order' => 'asc'
510
  ), $atts ) );
587
 
588
  //Adds the required scripts
589
  function add_scripts() {
590
+ //Don't add scripts if on admin pages
591
  if ( ! is_admin() ) {
592
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
593
  $add_to_footer = (bool) $options['javascript'];
599
  'ajaxurl' => admin_url( 'admin-ajax.php' ),
600
  'loading' => $options['loading']
601
  ) );
 
 
602
  }
603
  }
604
 
605
  //AJAX stuffs
606
  function gce_ajax() {
607
  if ( isset( $_GET['gce_feed_ids'] ) ) {
608
+ $ids = $_GET['gce_feed_ids'];
609
+ $title = $_GET['gce_title_text'];
610
+ $max = $_GET['gce_max_events'];
611
+ $month = $_GET['gce_month'];
612
+ $year = $_GET['gce_year'];
613
+
614
+ $title = ( 'null' == $title ) ? null : $title;
615
 
616
  if ( 'page' == $_GET['gce_type'] ) {
617
  //The page grid markup to be returned via AJAX
654
  return $list->error_messages();
655
  } else {
656
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
657
+ return wp_kses_post( $options['error'] );
658
  }
659
  }
660
  }
671
 
672
  //If there are less errors than feeds parsed, at least one feed must have parsed successfully so continue to display the grid
673
  if ( $num_errors < count( $ids ) ) {
674
+ $feed_ids = esc_attr( $feed_ids );
675
+ $title_text = isset( $title_text ) ? esc_html( $title_text) : 'null';
676
+
677
+ $markup = '<div class="gce-page-grid" id="gce-page-grid-' . $feed_ids . '">';
678
 
679
  //Add AJAX script if required
680
  if ( $ajaxified )
681
+ $markup .= '<script type="text/javascript">jQuery(document).ready(function($){gce_ajaxify("gce-page-grid-' . $feed_ids . '", "' . $feed_ids . '", "' . absint( $max_events ) . '", "' . $title_text . '", "page");});</script>';
682
 
683
  $markup .= $grid->get_grid( $year, $month, $ajaxified ) . '</div>';
684
 
694
  return $grid->error_messages();
695
  } else {
696
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
697
+ return wp_kses_post( $options['error'] );
698
  }
699
  }
700
  }
inc/gce-event.php CHANGED
@@ -12,6 +12,8 @@ class GCE_Event{
12
  private $pos;
13
  private $feed;
14
  private $day_type;
 
 
15
 
16
  function __construct( $id, $title, $description, $location, $start_time, $end_time, $link ) {
17
  $this->id = $id;
@@ -66,7 +68,7 @@ class GCE_Event{
66
  $days = array();
67
 
68
  //If multiple day events should be handled, and this event is a multi-day event, add multiple day event to required days
69
- if ( $this->feed->get_multi_day() && ( $this->day_type == 'MPD' || $this->day_type == 'MWD' ) ) {
70
  $on_next_day = true;
71
  $next_day = $start_time;
72
 
@@ -101,6 +103,8 @@ class GCE_Event{
101
  //Set the position of this event in array of events currently being processed
102
  $this->pos = $num;
103
 
 
 
104
  //Use the builder or the old display options to create the markup, depending on user choice
105
  if ( $this->feed->get_use_builder() )
106
  return $this->use_builder();
@@ -156,30 +160,19 @@ class GCE_Event{
156
  'if-single-day' //The event does not span multiple days
157
  );
158
 
159
- $shortcodes = implode( '|', $shortcodes );
160
-
161
- $markup = $this->feed->get_builder();
162
 
163
- $count = 0;
164
-
165
- //Go through the builder text looking for valid shortcodes. If one is found, send it to parse_shortcodes(). Once $count reaches 0, there are no un-parsed shortcodes
166
- //left, so return the markup (which now contains all the appropriate event information)
167
- do {
168
- $markup = preg_replace_callback(
169
- '/(.?)\[(' . $shortcodes . ')\b(.*?)(?:(\/))?\](?:(.+?)\[\/\2\])?(.?)/s',
170
- array( $this, 'parse_shortcode' ),
171
- $markup,
172
- -1,
173
- $count
174
- );
175
- } while ( $count > 0 );
176
 
177
- return $markup;
 
 
178
  }
179
 
180
  //Parse a shortcode, returning the appropriate event information
181
  //Much of this code is 'borrowed' from WordPress' own shortcode handling stuff!
182
- function parse_shortcode( $m ) {
183
  if ( '[' == $m[1] && ']' == $m[6] )
184
  return substr( $m[0], 1, -1 );
185
 
@@ -205,8 +198,6 @@ class GCE_Event{
205
  $offset = intval( $offset );
206
  $autolink = ( 'true' === $autolink );
207
 
208
- $time_now = current_time( 'timestamp' );
209
-
210
  //Do the appropriate stuff depending on which shortcode we're looking at. See valid shortcode list (above) for explanation of each shortcode
211
  switch ( $m[2] ) {
212
  case 'event-title':
@@ -230,7 +221,7 @@ class GCE_Event{
230
  return $m[1] . date_i18n( $format, $this->start_time + $offset ) . $m[6];
231
 
232
  case 'start-human':
233
- return $m[1] . $this->gce_human_time_diff( $this->start_time + $offset, $time_now, $precision ) . $m[6];
234
 
235
  case 'end-time':
236
  return $m[1] . date_i18n( $this->feed->get_time_format(), $this->end_time + $offset ) . $m[6];
@@ -242,7 +233,7 @@ class GCE_Event{
242
  return $m[1] . date_i18n( $format, $this->end_time + $offset ) . $m[6];
243
 
244
  case 'end-human':
245
- return $m[1] . $this->gce_human_time_diff( $this->end_time + $offset, $time_now, $precision ) . $m[6];
246
 
247
  case 'location':
248
  $location = esc_html( trim( $this->location ) );
@@ -283,133 +274,133 @@ class GCE_Event{
283
 
284
  case 'link':
285
  $new_window = ( $newwindow ) ? ' target="_blank"' : '';
286
- return $m[1] . '<a href="' . $this->link . '&amp;ctz=' . $this->feed->get_timezone() . '"' . $new_window . '>' . $m[5] . '</a>' . $m[6];
287
 
288
  case 'url':
289
- return $m[1] . $this->link . '&amp;ctz=' . $this->feed->get_timezone() . $m[6];
290
 
291
  case 'feed-id':
292
- return $m[1] . $this->feed->get_feed_id() . $m[6];
293
 
294
  case 'feed-title':
295
- return $m[1] . $this->feed->get_feed_title() . $m[6];
296
 
297
  case 'maps-link':
298
  $new_window = ( $newwindow ) ? ' target="_blank"' : '';
299
- return $m[1] . '<a href="http://maps.google.com?q=' . urlencode( $this->location ) . '"' . $new_window . '>' . $m[5] . '</a>' . $m[6];
300
 
301
  case 'length':
302
  return $m[1] . $this->gce_human_time_diff( $this->start_time, $this->end_time, $precision ) . $m[6];
303
 
304
  case 'event-num':
305
- return $m[1] . $this->pos . $m[6];
306
 
307
  case 'event-id':
308
- return $m[1] . $this->id . $m[6];
309
 
310
  case 'cal-id':
311
  $cal_id = explode( '/', $this->feed->get_feed_url() );
312
- return $m[1] . $cal_id[5] . $m[6];
313
 
314
  case 'if-all-day':
315
  if ( 'SWD' == $this->day_type || 'MWD' == $this->day_type )
316
- return $m[1] . $m[5] . $m[6];
317
 
318
- return '';
319
 
320
  case 'if-not-all-day':
321
  if ( 'SPD' == $this->day_type || 'MPD' == $this->day_type )
322
- return $m[1] . $m[5] . $m[6];
323
 
324
  return '';
325
 
326
  case 'if-title':
327
  if ( '' != $this->title )
328
- return $m[1] . $m[5] . $m[6];
329
 
330
  return '';
331
 
332
  case 'if-description':
333
  if ( '' != $this->description )
334
- return $m[1] . $m[5] . $m[6];
335
 
336
  return '';
337
 
338
  case 'if-location':
339
  if ( '' != $this->location )
340
- return $m[1] . $m[5] . $m[6];
341
 
342
  return '';
343
 
344
  case 'if-tooltip':
345
  if ( 'tooltip' == $this->type )
346
- return $m[1] . $m[5] . $m[6];
347
 
348
  return '';
349
 
350
  case 'if-list':
351
  if ( 'list' == $this->type )
352
- return $m[1] . $m[5] . $m[6];
353
 
354
  return '';
355
 
356
  case 'if-now':
357
- if ( $time_now >= $this->start_time && $time_now < $this->end_time )
358
- return $m[1] . $m[5] . $m[6];
359
 
360
  return '';
361
 
362
  case 'if-not-now':
363
- if ( $this->end_time < $time_now || $this->start_time > $time_now )
364
- return $m[1] . $m[5] . $m[6];
365
 
366
  return '';
367
 
368
  case 'if-started':
369
- if ( $this->start_time < $time_now )
370
- return $m[1] . $m[5] . $m[6];
371
 
372
  return '';
373
 
374
  case 'if-not-started':
375
- if ( $this->start_time > $time_now )
376
- return $m[1] . $m[5] . $m[6];
377
 
378
  return '';
379
 
380
  case 'if-ended':
381
- if ( $this->end_time < $time_now )
382
- return $m[1] . $m[5] . $m[6];
383
 
384
  return '';
385
 
386
  case 'if-not-ended':
387
- if ( $this->end_time > $time_now )
388
- return $m[1] . $m[5] . $m[6];
389
 
390
  return '';
391
 
392
  case 'if-first':
393
  if ( 0 == $this->num_in_day )
394
- return $m[1] . $m[5] . $m[6];
395
 
396
  return '';
397
 
398
  case 'if-not-first':
399
  if ( 0 != $this->num_in_day )
400
- return $m[1] . $m[5] . $m[6];
401
 
402
  return '';
403
 
404
  case 'if-multi-day':
405
  if ( 'MPD' == $this->day_type || 'MWD' == $this->day_type )
406
- return $m[1] . $m[5] . $m[6];
407
 
408
  return '';
409
 
410
  case 'if-single-day':
411
  if ( 'SPD' == $this->day_type || 'SWD' == $this->day_type )
412
- return $m[1] . $m[5] . $m[6];
413
 
414
  return '';
415
  }
@@ -443,16 +434,16 @@ class GCE_Event{
443
 
444
  //Add the correct start / end, date / time information to $markup
445
  foreach ( $start_end as $start_or_end => $info ) {
446
- $markup .= '<p class="gce-' . $this->type . '-' . $start_or_end . '"><span>' . $display_options['display_' . $start_or_end . '_text'] . '</span> ';
447
 
448
  switch ( $display_options['display_' . $start_or_end] ) {
449
- case 'time': $markup .= $info['time'];
450
  break;
451
- case 'date': $markup .= $info['date'];
452
  break;
453
- case 'time-date': $markup .= $info['time'] . $display_options['display_separator'] . $info['date'];
454
  break;
455
- case 'date-time': $markup .= $info['date'] . $display_options['display_separator'] . $info['time'];
456
  }
457
 
458
  $markup .= '</p>';
@@ -462,7 +453,7 @@ class GCE_Event{
462
  if ( isset( $display_options['display_location'] ) ) {
463
  $event_location = $this->location;
464
  if ( '' != $event_location )
465
- $markup .= '<p class="gce-' . $this->type . '-loc"><span>' . $display_options['display_location_text'] . '</span> ' . esc_html( $event_location ) . '</p>';
466
  }
467
 
468
  //If description should be displayed (and is not empty) add to $markup
@@ -482,7 +473,7 @@ class GCE_Event{
482
 
483
  //If link should be displayed add to $markup
484
  if ( isset($display_options['display_link'] ) ) //Below: add target="_blank" if required
485
- $markup .= '<p class="gce-' . $this->type . '-link"><a href="' . $this->link . '&amp;ctz=' . $this->feed->get_timezone() . '"' . ( ( isset( $display_options['display_link_target'] ) ) ? ' target="_blank"' : '' ) . '>' . $display_options['display_link_text'] . '</a></p>';
486
 
487
  return $markup;
488
  }
12
  private $pos;
13
  private $feed;
14
  private $day_type;
15
+ private $time_now;
16
+ private $regex;
17
 
18
  function __construct( $id, $title, $description, $location, $start_time, $end_time, $link ) {
19
  $this->id = $id;
68
  $days = array();
69
 
70
  //If multiple day events should be handled, and this event is a multi-day event, add multiple day event to required days
71
+ if ( $this->feed->get_multi_day() && ( 'MPD' == $this->day_type || 'MWD' == $this->day_type ) ) {
72
  $on_next_day = true;
73
  $next_day = $start_time;
74
 
103
  //Set the position of this event in array of events currently being processed
104
  $this->pos = $num;
105
 
106
+ $this->time_now = current_time( 'timestamp' );
107
+
108
  //Use the builder or the old display options to create the markup, depending on user choice
109
  if ( $this->feed->get_use_builder() )
110
  return $this->use_builder();
160
  'if-single-day' //The event does not span multiple days
161
  );
162
 
163
+ $this->regex = '/(.?)\[(' . implode( '|', $shortcodes ) . ')\b(.*?)(?:(\/))?\](?:(.+?)\[\/\2\])?(.?)/s';
 
 
164
 
165
+ return $this->look_for_shortcodes( $this->feed->get_builder() );
166
+ }
 
 
 
 
 
 
 
 
 
 
 
167
 
168
+ //Look through the EDB markup for shortcodes
169
+ function look_for_shortcodes( $markup ) {
170
+ return preg_replace_callback( $this->regex, array( $this, 'process_shortcode' ), $markup );
171
  }
172
 
173
  //Parse a shortcode, returning the appropriate event information
174
  //Much of this code is 'borrowed' from WordPress' own shortcode handling stuff!
175
+ function process_shortcode( $m ) {
176
  if ( '[' == $m[1] && ']' == $m[6] )
177
  return substr( $m[0], 1, -1 );
178
 
198
  $offset = intval( $offset );
199
  $autolink = ( 'true' === $autolink );
200
 
 
 
201
  //Do the appropriate stuff depending on which shortcode we're looking at. See valid shortcode list (above) for explanation of each shortcode
202
  switch ( $m[2] ) {
203
  case 'event-title':
221
  return $m[1] . date_i18n( $format, $this->start_time + $offset ) . $m[6];
222
 
223
  case 'start-human':
224
+ return $m[1] . $this->gce_human_time_diff( $this->start_time + $offset, $this->time_now, $precision ) . $m[6];
225
 
226
  case 'end-time':
227
  return $m[1] . date_i18n( $this->feed->get_time_format(), $this->end_time + $offset ) . $m[6];
233
  return $m[1] . date_i18n( $format, $this->end_time + $offset ) . $m[6];
234
 
235
  case 'end-human':
236
+ return $m[1] . $this->gce_human_time_diff( $this->end_time + $offset, $this->time_now, $precision ) . $m[6];
237
 
238
  case 'location':
239
  $location = esc_html( trim( $this->location ) );
274
 
275
  case 'link':
276
  $new_window = ( $newwindow ) ? ' target="_blank"' : '';
277
+ return $m[1] . '<a href="' . esc_url( $this->link . '&ctz=' . $this->feed->get_timezone() ) . '"' . $new_window . '>' . $this->look_for_shortcodes( $m[5] ) . '</a>' . $m[6];
278
 
279
  case 'url':
280
+ return $m[1] . esc_url( $this->link . '&ctz=' . $this->feed->get_timezone() ) . $m[6];
281
 
282
  case 'feed-id':
283
+ return $m[1] . intval( $this->feed->get_feed_id() ) . $m[6];
284
 
285
  case 'feed-title':
286
+ return $m[1] . esc_html( $this->feed->get_feed_title() ) . $m[6];
287
 
288
  case 'maps-link':
289
  $new_window = ( $newwindow ) ? ' target="_blank"' : '';
290
+ return $m[1] . '<a href="' . esc_url( 'http://maps.google.com?q=' . urlencode( $this->location ) ) . '"' . $new_window . '>' . $this->look_for_shortcodes( $m[5] ) . '</a>' . $m[6];
291
 
292
  case 'length':
293
  return $m[1] . $this->gce_human_time_diff( $this->start_time, $this->end_time, $precision ) . $m[6];
294
 
295
  case 'event-num':
296
+ return $m[1] . intval( $this->pos ) . $m[6];
297
 
298
  case 'event-id':
299
+ return $m[1] . esc_html( $this->id ) . $m[6];
300
 
301
  case 'cal-id':
302
  $cal_id = explode( '/', $this->feed->get_feed_url() );
303
+ return $m[1] . esc_html( $cal_id[5] ) . $m[6];
304
 
305
  case 'if-all-day':
306
  if ( 'SWD' == $this->day_type || 'MWD' == $this->day_type )
307
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
308
 
309
+ return '';
310
 
311
  case 'if-not-all-day':
312
  if ( 'SPD' == $this->day_type || 'MPD' == $this->day_type )
313
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
314
 
315
  return '';
316
 
317
  case 'if-title':
318
  if ( '' != $this->title )
319
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
320
 
321
  return '';
322
 
323
  case 'if-description':
324
  if ( '' != $this->description )
325
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
326
 
327
  return '';
328
 
329
  case 'if-location':
330
  if ( '' != $this->location )
331
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
332
 
333
  return '';
334
 
335
  case 'if-tooltip':
336
  if ( 'tooltip' == $this->type )
337
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
338
 
339
  return '';
340
 
341
  case 'if-list':
342
  if ( 'list' == $this->type )
343
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
344
 
345
  return '';
346
 
347
  case 'if-now':
348
+ if ( $this->time_now >= $this->start_time && $this->time_now < $this->end_time )
349
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
350
 
351
  return '';
352
 
353
  case 'if-not-now':
354
+ if ( $this->end_time < $this->time_now || $this->start_time > $this->time_now )
355
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
356
 
357
  return '';
358
 
359
  case 'if-started':
360
+ if ( $this->start_time < $this->time_now )
361
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
362
 
363
  return '';
364
 
365
  case 'if-not-started':
366
+ if ( $this->start_time > $this->time_now )
367
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
368
 
369
  return '';
370
 
371
  case 'if-ended':
372
+ if ( $this->end_time < $this->time_now )
373
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
374
 
375
  return '';
376
 
377
  case 'if-not-ended':
378
+ if ( $this->end_time > $this->time_now )
379
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
380
 
381
  return '';
382
 
383
  case 'if-first':
384
  if ( 0 == $this->num_in_day )
385
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
386
 
387
  return '';
388
 
389
  case 'if-not-first':
390
  if ( 0 != $this->num_in_day )
391
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
392
 
393
  return '';
394
 
395
  case 'if-multi-day':
396
  if ( 'MPD' == $this->day_type || 'MWD' == $this->day_type )
397
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
398
 
399
  return '';
400
 
401
  case 'if-single-day':
402
  if ( 'SPD' == $this->day_type || 'SWD' == $this->day_type )
403
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
404
 
405
  return '';
406
  }
434
 
435
  //Add the correct start / end, date / time information to $markup
436
  foreach ( $start_end as $start_or_end => $info ) {
437
+ $markup .= '<p class="gce-' . $this->type . '-' . $start_or_end . '"><span>' . esc_html( $display_options['display_' . $start_or_end . '_text'] ) . '</span> ';
438
 
439
  switch ( $display_options['display_' . $start_or_end] ) {
440
+ case 'time': $markup .= esc_html( $info['time'] );
441
  break;
442
+ case 'date': $markup .= esc_html( $info['date'] );
443
  break;
444
+ case 'time-date': $markup .= esc_html( $info['time'] . $display_options['display_separator'] . $info['date'] );
445
  break;
446
+ case 'date-time': $markup .= esc_html( $info['date'] . $display_options['display_separator'] . $info['time'] );
447
  }
448
 
449
  $markup .= '</p>';
453
  if ( isset( $display_options['display_location'] ) ) {
454
  $event_location = $this->location;
455
  if ( '' != $event_location )
456
+ $markup .= '<p class="gce-' . $this->type . '-loc"><span>' . esc_html( $display_options['display_location_text'] ) . '</span> ' . esc_html( $event_location ) . '</p>';
457
  }
458
 
459
  //If description should be displayed (and is not empty) add to $markup
473
 
474
  //If link should be displayed add to $markup
475
  if ( isset($display_options['display_link'] ) ) //Below: add target="_blank" if required
476
+ $markup .= '<p class="gce-' . $this->type . '-link"><a href="' . esc_url( $this->link ) . '&amp;ctz=' . esc_url( $this->feed->get_timezone() ) . '"' . ( ( isset( $display_options['display_link_target'] ) ) ? ' target="_blank"' : '' ) . '>' . esc_html( $display_options['display_link_text'] ) . '</a></p>';
477
 
478
  return $markup;
479
  }
inc/gce-feed.php CHANGED
@@ -31,9 +31,11 @@ class GCE_Feed{
31
  //Add the default parameters to the querystring (retrieving JSON, not XML)
32
  $query = '?alt=json&singleevents=true&sortorder=ascending&orderby=starttime';
33
 
 
 
34
  //Append the feed specific parameters to the querystring
35
- $query .= '&start-min=' . date( 'Y-m-d\TH:i:s', $this->feed_start );
36
- $query .= '&start-max=' . date( 'Y-m-d\TH:i:s', $this->feed_end );
37
  $query .= '&max-results=' . $this->max_events;
38
 
39
  if ( ! empty( $this->timezone ) )
@@ -84,11 +86,11 @@ class GCE_Feed{
84
  //Create a GCE_Event using the above data. Add it to the array of events
85
  $this->events[] = new GCE_Event( $id, $title, $description, $location, $start_time, $end_time, $link );
86
  }
87
-
88
- //Cache the feed data
89
- set_transient( 'gce_feed_' . $this->feed_id, $this->events, $this->cache_duration );
90
- set_transient( 'gce_feed_' . $this->feed_id . '_url', $url, $this->cache_duration );
91
  }
 
 
 
 
92
  } else {
93
  //json_decode failed
94
  $this->error = __( 'Some data was retrieved, but could not be parsed successfully. Please ensure your feed URL is correct.', GCE_TEXT_DOMAIN );
31
  //Add the default parameters to the querystring (retrieving JSON, not XML)
32
  $query = '?alt=json&singleevents=true&sortorder=ascending&orderby=starttime';
33
 
34
+ $gmt_offset = get_option( 'gmt_offset' ) * 3600;
35
+
36
  //Append the feed specific parameters to the querystring
37
+ $query .= '&start-min=' . date( 'Y-m-d\TH:i:s', $this->feed_start - $gmt_offset );
38
+ $query .= '&start-max=' . date( 'Y-m-d\TH:i:s', $this->feed_end - $gmt_offset );
39
  $query .= '&max-results=' . $this->max_events;
40
 
41
  if ( ! empty( $this->timezone ) )
86
  //Create a GCE_Event using the above data. Add it to the array of events
87
  $this->events[] = new GCE_Event( $id, $title, $description, $location, $start_time, $end_time, $link );
88
  }
 
 
 
 
89
  }
90
+
91
+ //Cache the feed data
92
+ set_transient( 'gce_feed_' . $this->feed_id, $this->events, $this->cache_duration );
93
+ set_transient( 'gce_feed_' . $this->feed_id . '_url', $url, $this->cache_duration );
94
  } else {
95
  //json_decode failed
96
  $this->error = __( 'Some data was retrieved, but could not be parsed successfully. Please ensure your feed URL is correct.', GCE_TEXT_DOMAIN );
inc/gce-parser.php CHANGED
@@ -37,25 +37,23 @@ class GCE_Parser {
37
  if ( 'default' != $feed_options['timezone'] )
38
  $feed->set_timezone( $feed_options['timezone'] );
39
 
40
- $gmt_offset = get_option( 'gmt_offset' ) * 3600;
41
-
42
  //Set the start date to the appropriate value based on the retrieve_from option
43
  switch ( $feed_options['retrieve_from'] ) {
44
  //Don't just use time() for 'now', as this will effectively make cache duration 1 second. Instead set to previous minute. Events in Google Calendar cannot be set to precision of seconds anyway
45
  case 'now':
46
- $feed->set_feed_start( mktime( date( 'H' ), date( 'i' ), 0, date( 'm' ), date( 'j' ), date( 'Y' ) ) + $feed_options['retrieve_from_value'] + $gmt_offset );
47
  break;
48
  case 'today':
49
- $feed->set_feed_start( mktime( 0, 0, 0, date( 'm' ), date( 'j' ), date( 'Y' ) ) + $feed_options['retrieve_from_value'] + $gmt_offset );
50
  break;
51
  case 'week':
52
- $feed->set_feed_start( mktime( 0, 0, 0, date( 'm' ), ( date( 'j' ) - date( 'w' ) + $this->start_of_week ), date( 'Y' ) ) + $feed_options['retrieve_from_value'] + $gmt_offset );
53
  break;
54
  case 'month-start':
55
- $feed->set_feed_start( mktime( 0, 0, 0, date( 'm' ), 1, date( 'Y' ) ) + $feed_options['retrieve_from_value'] + $gmt_offset );
56
  break;
57
  case 'month-end':
58
- $feed->set_feed_start( mktime( 0, 0, 0, date( 'm' ) + 1, 1, date( 'Y' ) ) + $feed_options['retrieve_from_value'] + $gmt_offset );
59
  break;
60
  case 'date':
61
  $feed->set_feed_start( $feed_options['retrieve_from_value'] );
@@ -67,19 +65,19 @@ class GCE_Parser {
67
  //Set the end date to the appropriate value based on the retrieve_until option
68
  switch ( $feed_options['retrieve_until'] ) {
69
  case 'now':
70
- $feed->set_feed_end( mktime( date( 'H' ), date( 'i' ), 0, date( 'm' ), date( 'j' ), date( 'Y' ) ) + $feed_options['retrieve_until_value'] + $gmt_offset );
71
  break;
72
  case 'today':
73
- $feed->set_feed_end( mktime( 0, 0, 0, date( 'm' ), date( 'j' ), date( 'Y' ) ) + $feed_options['retrieve_until_value'] + $gmt_offset );
74
  break;
75
  case 'week':
76
- $feed->set_feed_end( mktime( 0, 0, 0, date( 'm' ), ( date( 'j' ) - date( 'w' ) + $this->start_of_week ), date( 'Y' ) ) + $feed_options['retrieve_until_value'] + $gmt_offset );
77
  break;
78
  case 'month-start':
79
- $feed->set_feed_end( mktime( 0, 0, 0, date( 'm' ), 1, date( 'Y' ) ) + $feed_options['retrieve_until_value'] + $gmt_offset );
80
  break;
81
  case 'month-end':
82
- $feed->set_feed_end( mktime( 0, 0, 0, date( 'm' ) + 1, 1, date( 'Y' ) ) + $feed_options['retrieve_until_value'] + $gmt_offset );
83
  break;
84
  case 'date':
85
  $feed->set_feed_end( $feed_options['retrieve_until_value'] );
@@ -178,8 +176,8 @@ class GCE_Parser {
178
  for ( $i = 0; $i < $count && $max > 0; $i++ ) {
179
  $event = $this->merged_feed_data[$i];
180
 
181
- //Check that event end time isn't before start time of feed (ignores events from before start time that may have been inadvertently retrieved)
182
- if ( $event->get_end_time() > $event->get_feed()->get_feed_start() ) {
183
  foreach ( $event->get_days() as $day ) {
184
  $event_days[$day][] = $event;
185
  }
@@ -242,12 +240,12 @@ class GCE_Parser {
242
 
243
  //If title option has been set for display, add it
244
  if ( isset( $this->title ) )
245
- $markup .= '<div class="gce-tooltip-title">' . $this->title . ' ' . date_i18n( $event_day[0]->get_feed()->get_date_format(), $key ) . '</div>';
246
 
247
  $markup .= '<ul>';
248
 
249
  foreach ( $event_day as $num_in_day => $event ) {
250
- $feed_id = $event->get_feed()->get_feed_id();
251
  $markup .= '<li class="gce-tooltip-feed-' . $feed_id . '">' . $event->get_event_markup( 'tooltip', $num_in_day, $i ) . '</li>';
252
 
253
  //Add CSS class for the feed from which this event comes. If there are multiple events from the same feed on the same day, the CSS class will only be added once.
@@ -327,7 +325,7 @@ class GCE_Parser {
327
  if ( $grouped ) {
328
  $markup .=
329
  '<li' . ( ( $key == $today ) ? ' class="gce-today"' : '' ) . '>' .
330
- '<div class="gce-list-title">' . $this->title . ' ' . date_i18n( $event_day[0]->get_feed()->get_date_format(), $key ) . '</div>' .
331
  '<ul>';
332
  }
333
 
@@ -336,7 +334,7 @@ class GCE_Parser {
336
  $markup .=
337
  '<li class="gce-feed-' . $event->get_feed()->get_feed_id() . '">' .
338
  //If this isn't a grouped list and a date title should be displayed, add the date title
339
- ( ( ! $grouped && isset( $this->title ) ) ? '<div class="gce-list-title">' . $this->title . ' ' . date_i18n( $event->get_feed()->get_date_format(), $key ) . '</div>' : '' ) .
340
  //Add the event markup
341
  $event->get_event_markup( 'list', $num_in_day, $i ) .
342
  '</li>';
37
  if ( 'default' != $feed_options['timezone'] )
38
  $feed->set_timezone( $feed_options['timezone'] );
39
 
 
 
40
  //Set the start date to the appropriate value based on the retrieve_from option
41
  switch ( $feed_options['retrieve_from'] ) {
42
  //Don't just use time() for 'now', as this will effectively make cache duration 1 second. Instead set to previous minute. Events in Google Calendar cannot be set to precision of seconds anyway
43
  case 'now':
44
+ $feed->set_feed_start( mktime( date( 'H' ), date( 'i' ), 0, date( 'm' ), date( 'j' ), date( 'Y' ) ) + $feed_options['retrieve_from_value'] );
45
  break;
46
  case 'today':
47
+ $feed->set_feed_start( mktime( 0, 0, 0, date( 'm' ), date( 'j' ), date( 'Y' ) ) + $feed_options['retrieve_from_value'] );
48
  break;
49
  case 'week':
50
+ $feed->set_feed_start( mktime( 0, 0, 0, date( 'm' ), ( date( 'j' ) - date( 'w' ) + $this->start_of_week ), date( 'Y' ) ) + $feed_options['retrieve_from_value'] );
51
  break;
52
  case 'month-start':
53
+ $feed->set_feed_start( mktime( 0, 0, 0, date( 'm' ), 1, date( 'Y' ) ) + $feed_options['retrieve_from_value'] );
54
  break;
55
  case 'month-end':
56
+ $feed->set_feed_start( mktime( 0, 0, 0, date( 'm' ) + 1, 1, date( 'Y' ) ) + $feed_options['retrieve_from_value'] );
57
  break;
58
  case 'date':
59
  $feed->set_feed_start( $feed_options['retrieve_from_value'] );
65
  //Set the end date to the appropriate value based on the retrieve_until option
66
  switch ( $feed_options['retrieve_until'] ) {
67
  case 'now':
68
+ $feed->set_feed_end( mktime( date( 'H' ), date( 'i' ), 0, date( 'm' ), date( 'j' ), date( 'Y' ) ) + $feed_options['retrieve_until_value'] );
69
  break;
70
  case 'today':
71
+ $feed->set_feed_end( mktime( 0, 0, 0, date( 'm' ), date( 'j' ), date( 'Y' ) ) + $feed_options['retrieve_until_value'] );
72
  break;
73
  case 'week':
74
+ $feed->set_feed_end( mktime( 0, 0, 0, date( 'm' ), ( date( 'j' ) - date( 'w' ) + $this->start_of_week ), date( 'Y' ) ) + $feed_options['retrieve_until_value'] );
75
  break;
76
  case 'month-start':
77
+ $feed->set_feed_end( mktime( 0, 0, 0, date( 'm' ), 1, date( 'Y' ) ) + $feed_options['retrieve_until_value'] );
78
  break;
79
  case 'month-end':
80
+ $feed->set_feed_end( mktime( 0, 0, 0, date( 'm' ) + 1, 1, date( 'Y' ) ) + $feed_options['retrieve_until_value'] );
81
  break;
82
  case 'date':
83
  $feed->set_feed_end( $feed_options['retrieve_until_value'] );
176
  for ( $i = 0; $i < $count && $max > 0; $i++ ) {
177
  $event = $this->merged_feed_data[$i];
178
 
179
+ //Check that event ends, or starts (or both) within the required date range. This prevents all-day events from before / after date range from showing up.
180
+ if ( $event->get_end_time() > $event->get_feed()->get_feed_start() && $event->get_start_time() < $event->get_feed()->get_feed_end() ) {
181
  foreach ( $event->get_days() as $day ) {
182
  $event_days[$day][] = $event;
183
  }
240
 
241
  //If title option has been set for display, add it
242
  if ( isset( $this->title ) )
243
+ $markup .= '<div class="gce-tooltip-title">' . esc_html( $this->title ) . ' ' . date_i18n( $event_day[0]->get_feed()->get_date_format(), $key ) . '</div>';
244
 
245
  $markup .= '<ul>';
246
 
247
  foreach ( $event_day as $num_in_day => $event ) {
248
+ $feed_id = absint( $event->get_feed()->get_feed_id() );
249
  $markup .= '<li class="gce-tooltip-feed-' . $feed_id . '">' . $event->get_event_markup( 'tooltip', $num_in_day, $i ) . '</li>';
250
 
251
  //Add CSS class for the feed from which this event comes. If there are multiple events from the same feed on the same day, the CSS class will only be added once.
325
  if ( $grouped ) {
326
  $markup .=
327
  '<li' . ( ( $key == $today ) ? ' class="gce-today"' : '' ) . '>' .
328
+ '<div class="gce-list-title">' . esc_html( $this->title ) . ' ' . date_i18n( $event_day[0]->get_feed()->get_date_format(), $key ) . '</div>' .
329
  '<ul>';
330
  }
331
 
334
  $markup .=
335
  '<li class="gce-feed-' . $event->get_feed()->get_feed_id() . '">' .
336
  //If this isn't a grouped list and a date title should be displayed, add the date title
337
+ ( ( ! $grouped && isset( $this->title ) ) ? '<div class="gce-list-title">' . esc_html( $this->title ) . ' ' . date_i18n( $event->get_feed()->get_date_format(), $key ) . '</div>' : '' ) .
338
  //Add the event markup
339
  $event->get_event_markup( 'list', $num_in_day, $i ) .
340
  '</li>';
languages/google-calendar-events.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the Google Calendar Events package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Google Calendar Events 0.7\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/google-calendar-events\n"
7
- "POT-Creation-Date: 2011-06-25 18:33:59+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -12,1026 +12,1026 @@ msgstr ""
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
- #: inc/gce-feed.php:94
16
- msgid ""
17
- "Some data was retrieved, but could not be parsed successfully. Please ensure "
18
- "your feed URL is correct."
19
  msgstr ""
20
 
21
- #: inc/gce-feed.php:100
22
- msgid ""
23
- "The feed could not be found (404). Please ensure your feed URL is correct."
24
  msgstr ""
25
 
26
- #: inc/gce-feed.php:103
27
- msgid ""
28
- "Access to this feed was denied (403). Please ensure you have public sharing "
29
- "enabled for your calendar."
30
  msgstr ""
31
 
32
- #: inc/gce-feed.php:106
33
- msgid ""
34
- "The feed data could not be retrieved. Error code: %s. Please ensure your "
35
- "feed URL is correct."
36
  msgstr ""
37
 
38
- #: inc/gce-event.php:493
39
- msgid "%s year"
40
  msgstr ""
41
 
42
- #: inc/gce-event.php:493
43
- msgid "%s years"
44
  msgstr ""
45
 
46
- #: inc/gce-event.php:494
47
- msgid "%s month"
48
  msgstr ""
49
 
50
- #: inc/gce-event.php:494
51
- msgid "%s months"
52
  msgstr ""
53
 
54
- #: inc/gce-event.php:495
55
- msgid "%s week"
56
  msgstr ""
57
 
58
- #: inc/gce-event.php:495
59
- msgid "%s weeks"
60
  msgstr ""
61
 
62
- #: inc/gce-event.php:496
63
- msgid "%s day"
64
  msgstr ""
65
 
66
- #: inc/gce-event.php:496
67
- msgid "%s days"
68
  msgstr ""
69
 
70
- #: inc/gce-event.php:497
71
- msgid "%s hour"
72
  msgstr ""
73
 
74
- #: inc/gce-event.php:497
75
- msgid "%s hours"
76
  msgstr ""
77
 
78
- #: inc/gce-event.php:498
79
- msgid "%s min"
80
  msgstr ""
81
 
82
- #: inc/gce-event.php:498
83
- msgid "%s mins"
84
  msgstr ""
85
 
86
- #: inc/gce-event.php:526
87
- msgctxt "human_time_diff"
88
- msgid ", "
89
  msgstr ""
90
 
91
- #: inc/gce-parser.php:158
92
- msgid ""
93
- "1 or more of your feeds could not be displayed. The following errors "
94
- "occurred:"
95
  msgstr ""
96
 
97
- #: inc/gce-parser.php:161
98
- msgid "Feed %s:"
99
  msgstr ""
100
 
101
- #: inc/gce-parser.php:317
102
- msgid "There are currently no events to display."
103
  msgstr ""
104
 
105
- #: google-calendar-events.php:204
106
- msgid "Settings"
107
  msgstr ""
108
 
109
- #. #-#-#-#-# plugin.pot (Google Calendar Events 0.7) #-#-#-#-#
110
- #. Plugin Name of the plugin/theme
111
- #: google-calendar-events.php:220 widget/gce-widget.php:6
112
- msgid "Google Calendar Events"
113
  msgstr ""
114
 
115
- #: google-calendar-events.php:224
116
- msgid "Notice:"
117
  msgstr ""
118
 
119
- #: google-calendar-events.php:224
120
  msgid ""
121
- "The way in which Google Calendar Events stores cached data has been much "
122
- "improved in version 0.6. As you have upgraded from a previous version of the "
123
- "plugin, there is likely to be some data from the old caching system hanging "
124
- "around in your database that is now useless. Click below to clear expired "
125
- "cached data from your database."
126
  msgstr ""
127
 
128
- #: google-calendar-events.php:225
129
- msgid "Clear expired cached data"
130
  msgstr ""
131
 
132
- #: google-calendar-events.php:226
133
- msgid "or"
 
 
134
  msgstr ""
135
 
136
- #: google-calendar-events.php:227
137
- msgid "Ignore this notice"
 
 
138
  msgstr ""
139
 
140
- #: google-calendar-events.php:242 admin/main.php:4
141
- msgid "Add Feed"
 
 
 
 
 
 
142
  msgstr ""
143
 
144
- #: google-calendar-events.php:243 google-calendar-events.php:249
145
- #: google-calendar-events.php:259 google-calendar-events.php:266
146
- msgid "Cancel"
 
147
  msgstr ""
148
 
149
- #: google-calendar-events.php:248
150
- msgid "Refresh Feed"
 
 
 
151
  msgstr ""
152
 
153
- #: google-calendar-events.php:258
154
- msgid "Save Changes"
 
 
 
155
  msgstr ""
156
 
157
- #: google-calendar-events.php:265 admin/delete.php:9
158
- msgid "Delete Feed"
 
 
159
  msgstr ""
160
 
161
- #: google-calendar-events.php:299
162
- msgid "Old cached data cleared."
 
 
163
  msgstr ""
164
 
165
- #: google-calendar-events.php:476
166
- msgid "General options updated."
 
 
167
  msgstr ""
168
 
169
- #: google-calendar-events.php:535
170
  msgid ""
171
- "No valid Feed IDs have been entered for this shortcode. Please check that "
172
- "you have entered the IDs correctly and that the Feeds have not been deleted."
173
  msgstr ""
174
 
175
- #: google-calendar-events.php:555 widget/gce-widget.php:100
176
  msgid ""
177
- "No feeds have been added yet. You can add a feed in the Google Calendar "
178
- "Events settings."
179
  msgstr ""
180
 
181
- #: admin/main.php:2
182
- msgid "Add a New Feed"
 
 
 
 
183
  msgstr ""
184
 
185
- #: admin/main.php:4
186
- msgid "Click here to add a new feed"
187
  msgstr ""
188
 
189
- #: admin/main.php:7
190
- msgid "Current Feeds"
191
  msgstr ""
192
 
193
- #: admin/main.php:16
194
- msgid "You haven't added any Google Calendar feeds yet."
 
 
 
 
 
 
 
195
  msgstr ""
196
 
197
- #: admin/main.php:24 admin/main.php:32
198
- msgid "ID"
 
 
 
 
199
  msgstr ""
200
 
201
- #: admin/main.php:25 admin/main.php:33
202
- msgid "Title"
203
  msgstr ""
204
 
205
- #: admin/main.php:26 admin/main.php:34
206
- msgid "URL"
 
 
207
  msgstr ""
208
 
209
- #: admin/main.php:47
210
- msgid "Refresh"
 
 
211
  msgstr ""
212
 
213
- #: admin/main.php:47
214
- msgid "Edit"
 
 
215
  msgstr ""
216
 
217
- #: admin/main.php:47
218
- msgid "Delete"
 
 
219
  msgstr ""
220
 
221
- #: admin/main.php:61
222
- msgid "General Options"
 
 
 
223
  msgstr ""
224
 
225
- #: admin/main.php:65
226
- msgid "Custom stylesheet URL"
 
227
  msgstr ""
228
 
229
- #: admin/main.php:67
230
  msgid ""
231
- "If you want to alter the default plugin styling, create a new stylesheet on "
232
- "your server (not in the <code>google-calendar-events</code> directory) and "
233
- "then enter its URL below."
234
  msgstr ""
235
 
236
- #: admin/main.php:72
237
- msgid "Add JavaScript to footer?"
 
 
238
  msgstr ""
239
 
240
- #: admin/main.php:74
241
  msgid ""
242
- "If you are having issues with tooltips not appearing or the AJAX "
243
- "functionality not working, try ticking the checkbox below."
244
  msgstr ""
245
 
246
- #: admin/main.php:79
247
- msgid "Loading text"
 
 
248
  msgstr ""
249
 
250
- #: admin/main.php:81
251
- msgid "Text to display while calendar data is loading (on AJAX requests)."
 
 
 
252
  msgstr ""
253
 
254
- #: admin/main.php:86
255
- msgid "Error message"
 
 
256
  msgstr ""
257
 
258
- #: admin/main.php:88
259
  msgid ""
260
- "An error message to display to non-admin users if events cannot be displayed "
261
- "for any reason (admins will see a message indicating the cause of the "
262
- "problem)."
263
  msgstr ""
264
 
265
- #: admin/main.php:93
266
- msgid "Optimise event retrieval?"
267
  msgstr ""
268
 
269
- #: admin/main.php:95
270
  msgid ""
271
- "If this option is enabled, the plugin will use an experimental feature of "
272
- "the Google Data API, which can improve performance significantly, especially "
273
- "with large numbers of events. Google could potentially remove / change this "
274
- "feature at any time."
275
- msgstr ""
276
-
277
- #: admin/main.php:100
278
- msgid "Use old styles?"
279
  msgstr ""
280
 
281
- #: admin/main.php:102
282
  msgid ""
283
- "Some CSS changes were made in version 0.7. If this option is enabled, the "
284
- "old CSS will still be added along with the main stylesheet. You should "
285
- "consider updating your stylesheet so that you don't need this enabled."
286
  msgstr ""
287
 
288
- #: admin/main.php:111
289
- msgid "Save"
290
  msgstr ""
291
 
292
- #: admin/add.php:8
293
- msgid "Add a Feed"
294
  msgstr ""
295
 
296
- #: admin/add.php:10 admin/delete.php:11 admin/edit.php:11 admin/refresh.php:11
297
- msgid "Feed ID"
298
  msgstr ""
299
 
300
- #: admin/add.php:11 admin/delete.php:12 admin/edit.php:12 admin/refresh.php:12
301
- msgid "Feed Title"
302
  msgstr ""
303
 
304
- #: admin/add.php:12 admin/edit.php:13
305
- msgid "Feed URL"
306
- msgstr ""
307
-
308
- #: admin/add.php:13 admin/edit.php:14
309
- msgid "Retrieve events from"
310
  msgstr ""
311
 
312
- #: admin/add.php:14 admin/edit.php:15
313
- msgid "Retrieve events until"
314
  msgstr ""
315
 
316
- #: admin/add.php:15 admin/edit.php:16
317
- msgid "Maximum number of events to retrieve"
 
 
318
  msgstr ""
319
 
320
- #: admin/add.php:16 admin/edit.php:17
321
- msgid "Date format"
322
  msgstr ""
323
 
324
- #: admin/add.php:17 admin/edit.php:18
325
- msgid "Time format"
326
  msgstr ""
327
 
328
- #: admin/add.php:18 admin/edit.php:19
329
- msgid "Timezone adjustment"
330
  msgstr ""
331
 
332
- #: admin/add.php:19 admin/edit.php:20
333
- msgid "Cache duration"
334
  msgstr ""
335
 
336
- #: admin/add.php:20 admin/edit.php:21
337
- msgid "Show multiple day events on each day?"
338
  msgstr ""
339
 
340
- #: admin/add.php:22 admin/edit.php:23
341
- msgid "Display Options"
342
  msgstr ""
343
 
344
- #: admin/add.php:23 admin/edit.php:24
345
- msgid "Select display customization method"
346
  msgstr ""
347
 
348
- #: admin/add.php:25 admin/edit.php:26
349
- msgid "Event Display Builder"
 
350
  msgstr ""
351
 
352
- #: admin/add.php:26 admin/edit.php:27
353
- msgid "Event display builder HTML and shortcodes"
354
  msgstr ""
355
 
356
- #: admin/add.php:28 admin/edit.php:29
357
- msgid "Simple Display Options"
358
  msgstr ""
359
 
360
- #: admin/add.php:29 admin/edit.php:30
361
- msgid "Display start time / date?"
362
  msgstr ""
363
 
364
- #: admin/add.php:30 admin/edit.php:31
365
- msgid "Display end time / date?"
366
  msgstr ""
367
 
368
- #: admin/add.php:31 admin/edit.php:32
369
- msgid "Separator text / characters"
370
  msgstr ""
371
 
372
- #: admin/add.php:32 admin/edit.php:33
373
- msgid "Display location?"
374
  msgstr ""
375
 
376
- #: admin/add.php:33 admin/edit.php:34
377
- msgid "Display description?"
378
  msgstr ""
379
 
380
- #: admin/add.php:34 admin/edit.php:35
381
- msgid "Display link to event?"
382
  msgstr ""
383
 
384
- #: admin/add.php:39
385
- msgid "Enter the feed details below, then click the Add Feed button."
386
  msgstr ""
387
 
388
- #: admin/add.php:63 admin/edit.php:59
389
- msgid "Anything you like. 'Upcoming Club Events', for example."
390
  msgstr ""
391
 
392
- #: admin/add.php:72
393
- msgid "This will probably be something like:"
394
  msgstr ""
395
 
396
- #: admin/add.php:74
397
- msgid "or:"
 
 
398
  msgstr ""
399
 
400
- #: admin/add.php:84
401
  msgid ""
402
- "The point in time at which to start retrieving events. Use the text-box to "
403
- "specify an additional offset from you chosen start point. The offset should "
404
- "be provided in seconds (3600 = 1 hour, 86400 = 1 day) and can be negative. "
405
- "If you have selected the 'Specific date / time' option, enter a"
 
406
  msgstr ""
407
 
408
- #: admin/add.php:85
409
- msgid "UNIX timestamp"
410
  msgstr ""
411
 
412
- #: admin/add.php:86
413
- msgid "in the text-box."
 
 
 
414
  msgstr ""
415
 
416
- #: admin/add.php:90 admin/add.php:108
417
- msgid "Now"
 
 
418
  msgstr ""
419
 
420
- #: admin/add.php:91 admin/add.php:109
421
- msgid "00:00 today"
 
 
422
  msgstr ""
423
 
424
- #: admin/add.php:92 admin/add.php:110
425
- msgid "Start of current week"
 
 
426
  msgstr ""
427
 
428
- #: admin/add.php:93 admin/add.php:111
429
- msgid "Start of current month"
 
 
430
  msgstr ""
431
 
432
- #: admin/add.php:94 admin/add.php:112
433
- msgid "End of current month"
 
 
434
  msgstr ""
435
 
436
- #: admin/add.php:95
437
- msgid "The beginning of time"
438
  msgstr ""
439
 
440
- #: admin/add.php:96 admin/add.php:114
441
- msgid "Specific date / time"
442
  msgstr ""
443
 
444
- #: admin/add.php:105 admin/edit.php:103
445
- msgid ""
446
- "The point in time at which to stop retrieving events. The instructions for "
447
- "the above option also apply here."
448
  msgstr ""
449
 
450
- #: admin/add.php:113
451
- msgid "The end of time"
452
  msgstr ""
453
 
454
- #: admin/add.php:124 admin/edit.php:124
455
- msgid ""
456
- "Set this to a few more than you actually want to display (due to caching and "
457
- "timezone issues). The exact number to display can be configured per "
458
- "shortcode / widget."
459
  msgstr ""
460
 
461
- #: admin/add.php:133 admin/edit.php:135
462
- msgid ""
463
- "In <a href=\"http://php.net/manual/en/function.date.php\" target=\"_blank"
464
- "\">PHP date format</a>. Leave this blank if you'd rather stick with the "
465
- "default format for your blog."
466
  msgstr ""
467
 
468
- #: admin/add.php:142 admin/edit.php:146
469
- msgid ""
470
- "In <a href=\"http://php.net/manual/en/function.date.php\" target=\"_blank"
471
- "\">PHP date format</a>. Again, leave this blank to stick with the default."
472
  msgstr ""
473
 
474
- #: admin/add.php:155 admin/edit.php:161
475
- msgid ""
476
- "If you are having problems with dates and times displaying in the wrong "
477
- "timezone, select a city in your required timezone here."
478
  msgstr ""
479
 
480
- #: admin/add.php:164 admin/edit.php:172
481
- msgid ""
482
- "The length of time, in seconds, to cache the feed (43200 = 12 hours). If "
483
- "this feed changes regularly, you may want to reduce the cache duration."
484
  msgstr ""
485
 
486
- #: admin/add.php:173 admin/edit.php:183
487
- msgid ""
488
- "Show events that span multiple days on each day that they span, rather than "
489
- "just the first day."
490
  msgstr ""
491
 
492
- #: admin/add.php:184 admin/edit.php:194
493
- msgid ""
494
- "These settings control what information will be displayed for this feed in "
495
- "the tooltip (for grids), or in a list."
496
  msgstr ""
497
 
498
- #: admin/add.php:190 admin/edit.php:202
499
- msgid ""
500
- "It is recommended that you use the event display builder option, as it "
501
- "provides much more flexibility than the simple display options. The event "
502
- "display builder can do everything the simple display options can, plus lots "
503
- "more!"
504
  msgstr ""
505
 
506
- #: admin/add.php:193 admin/edit.php:205
507
- msgid "Event display builder"
508
  msgstr ""
509
 
510
- #: admin/add.php:194 admin/edit.php:206
511
- msgid "Simple display options"
512
  msgstr ""
513
 
514
- #: admin/add.php:203
515
  msgid ""
516
- "Use the event display builder to customize how event information will be "
517
- "displayed in the grid tooltips and in lists. Use HTML and the shortcodes "
518
- "(explained below) to display the information you require. A basic example "
519
- "display format is provided as a starting point. For more information, take a "
520
- "look at the"
521
  msgstr ""
522
 
523
- #: admin/add.php:204 admin/add.php:222
524
- msgid "event display builder guide"
525
  msgstr ""
526
 
527
- #: admin/add.php:221
528
- msgid ""
529
- "(More information on all of the below shortcodes and attributes, and working "
530
- "examples, can be found in the"
531
  msgstr ""
532
 
533
- #: admin/add.php:224 admin/edit.php:225
534
- msgid "Event information shortcodes:"
 
 
535
  msgstr ""
536
 
537
- #: admin/add.php:226 admin/edit.php:227
538
- msgid ""
539
- "The event title (possible attributes: <code>html</code>, <code>markdown</"
540
- "code>)"
541
  msgstr ""
542
 
543
- #: admin/add.php:227 admin/edit.php:228
544
  msgid ""
545
- "The event start time. Will use the time format specified in the above "
546
- "settings"
547
  msgstr ""
548
 
549
- #: admin/add.php:228 admin/edit.php:229
550
- msgid ""
551
- "The event start date. Will use the date format specified in the above "
552
- "settings"
553
  msgstr ""
554
 
555
- #: admin/add.php:229 admin/edit.php:230
556
- msgid ""
557
- "The event start date / time. Will use the format specified in the "
558
- "<code>format</code> attribute (possible attributes: <code>format</code>)"
559
  msgstr ""
560
 
561
- #: admin/add.php:230 admin/edit.php:231
562
- msgid ""
563
- "The difference between the start time of the event and the time now, in "
564
- "human-readable format, such as '1 hour', '4 days', '15 mins' (possible "
565
- "attributes: <code>precision</code>)"
566
  msgstr ""
567
 
568
- #: admin/add.php:231 admin/edit.php:232
569
- msgid ""
570
- "The event end time. Will use the time format specified in the above settings"
571
  msgstr ""
572
 
573
- #: admin/add.php:232 admin/edit.php:233
574
- msgid ""
575
- "The event end date. Will use the date format specified in the above settings"
576
  msgstr ""
577
 
578
- #: admin/add.php:233 admin/edit.php:234
579
- msgid ""
580
- "The event end date / time. Will use the format specified in the "
581
- "<code>format</code> attribute (possible attributes: <code>format</code>)"
582
  msgstr ""
583
 
584
- #: admin/add.php:234 admin/edit.php:235
585
- msgid ""
586
- "The difference between the end time of the event and the time now, in human-"
587
- "readable format (possible attributes: <code>precision</code>)"
588
  msgstr ""
589
 
590
- #: admin/add.php:235 admin/edit.php:236
591
  msgid ""
592
- "The event location (possible attributes: <code>html</code>, <code>markdown</"
593
- "code>)"
 
 
594
  msgstr ""
595
 
596
- #: admin/add.php:236 admin/edit.php:237
597
- msgid ""
598
- "Anything between the opening and closing shortcode tags (inlcuding further "
599
- "shortcodes) will be linked to Google Maps, using the event location as a "
600
- "search parameter (possible attributes: <code>newwindow</code>)"
601
  msgstr ""
602
 
603
- #: admin/add.php:237 admin/edit.php:238
604
- msgid ""
605
- "The event description (possible attributes: <code>html</code>, "
606
- "<code>markdown</code>, <code>limit</code>)"
607
  msgstr ""
608
 
609
- #: admin/add.php:238 admin/edit.php:239
610
- msgid ""
611
- "Anything between the opening and closing shortcode tags (inlcuding further "
612
- "shortcodes) will be linked to the Google Calendar page for the event "
613
- "(possible attributes: <code>newwindow</code>)"
614
  msgstr ""
615
 
616
- #: admin/add.php:239 admin/edit.php:240
617
- msgid "The raw URL to the Google Calendar page for the event"
618
  msgstr ""
619
 
620
- #: admin/add.php:240 admin/edit.php:241
621
- msgid ""
622
- "The length of the event, in human-readable format (possible attributes: "
623
- "<code>precision</code>)"
624
  msgstr ""
625
 
626
- #: admin/add.php:241 admin/edit.php:242
627
- msgid ""
628
- "The position of the event in the current list, or the position of the event "
629
- "in the current month (for grids)"
630
  msgstr ""
631
 
632
- #: admin/add.php:242 admin/edit.php:243
633
- msgid "The event UID (a unique identifier assigned to the event by Google)"
634
  msgstr ""
635
 
636
- #: admin/add.php:244 admin/edit.php:245
637
- msgid "Feed information shortcodes:"
638
  msgstr ""
639
 
640
- #: admin/add.php:246 admin/edit.php:247
641
- msgid "The title of the feed from which the event comes"
642
  msgstr ""
643
 
644
- #: admin/add.php:247 admin/edit.php:248
645
- msgid "The ID of the feed from which the event comes"
646
  msgstr ""
647
 
648
- #: admin/add.php:248 admin/edit.php:249
649
  msgid ""
650
- "The calendar ID (a unique identifier assigned to the calendar by Google)"
 
 
 
 
651
  msgstr ""
652
 
653
- #: admin/add.php:250 admin/edit.php:251
654
- msgid "Conditional shortcodes:"
655
  msgstr ""
656
 
657
- #: admin/add.php:251 admin/edit.php:252
658
  msgid ""
659
- "Anything entered between the opening and closing tags of each of the "
660
- "following shortcodes will only be displayed if its condition (below) is met."
661
  msgstr ""
662
 
663
- #: admin/add.php:253 admin/edit.php:254
664
- msgid "The event is an all-day event"
 
 
665
  msgstr ""
666
 
667
- #: admin/add.php:254 admin/edit.php:255
668
- msgid "The event is not an all-day event"
669
  msgstr ""
670
 
671
- #: admin/add.php:255 admin/edit.php:256
672
- msgid "The event has a title"
 
 
673
  msgstr ""
674
 
675
- #: admin/add.php:256 admin/edit.php:257
676
- msgid "The event has a description"
677
  msgstr ""
678
 
679
- #: admin/add.php:257 admin/edit.php:258
680
- msgid "The event has a location"
681
  msgstr ""
682
 
683
- #: admin/add.php:258 admin/edit.php:259
684
- msgid "The event is to be displayed in a tooltip (not a list)"
 
 
685
  msgstr ""
686
 
687
- #: admin/add.php:259 admin/edit.php:260
688
- msgid "The event is to be displayed in a list (not a tooltip)"
689
  msgstr ""
690
 
691
- #: admin/add.php:260 admin/edit.php:261
692
- msgid ""
693
- "The event is taking place now (after the start time, but before the end time)"
694
  msgstr ""
695
 
696
- #: admin/add.php:261 admin/edit.php:262
697
- msgid "The event is not taking place now (may have ended or not yet started)"
698
  msgstr ""
699
 
700
- #: admin/add.php:262 admin/edit.php:263
701
- msgid "The event has started (even if it has also ended)"
702
  msgstr ""
703
 
704
- #: admin/add.php:263 admin/edit.php:264
705
- msgid "The event has not started"
706
  msgstr ""
707
 
708
- #: admin/add.php:264 admin/edit.php:265
709
- msgid "The event has ended"
710
  msgstr ""
711
 
712
- #: admin/add.php:265 admin/edit.php:266
713
- msgid "The event has not ended (even if it hasn't started)"
714
  msgstr ""
715
 
716
- #: admin/add.php:266 admin/edit.php:267
717
- msgid "The event is the first of the day"
718
  msgstr ""
719
 
720
- #: admin/add.php:267 admin/edit.php:268
721
- msgid "The event is not the first of the day"
722
  msgstr ""
723
 
724
- #: admin/add.php:268 admin/edit.php:269
725
- msgid "The event spans multiple days"
726
  msgstr ""
727
 
728
- #: admin/add.php:269 admin/edit.php:270
729
- msgid "The event does not span multiple days"
730
  msgstr ""
731
 
732
- #: admin/add.php:271 admin/edit.php:272
733
- msgid "Attributes:"
734
  msgstr ""
735
 
736
- #: admin/add.php:272 admin/edit.php:273
737
- msgid "The possible attributes mentioned above are explained here:"
738
  msgstr ""
739
 
740
- #: admin/add.php:274 admin/edit.php:275
741
  msgid ""
742
- "Whether or not to parse HTML that has been entered in the relevant field. "
743
- "Can be <code>true</code> or <code>false</code>"
 
744
  msgstr ""
745
 
746
- #: admin/add.php:275 admin/edit.php:276
 
 
 
 
747
  msgid ""
748
- "Whether or not to parse <a href=\"http://daringfireball.net/projects/markdown"
749
- "\" target=\"_blank\">Markdown</a> that has been entered in the relevant "
750
- "field. <a href=\"http://michelf.com/projects/php-markdown\" target=\"_blank"
751
- "\">PHP Markdown</a> must be installed for this to work. Can be <code>true</"
752
- "code> or <code>false</code>"
753
  msgstr ""
754
 
755
- #: admin/add.php:276 admin/edit.php:277
756
- msgid "The word limit for the field. Should be specified as a positive integer"
757
  msgstr ""
758
 
759
- #: admin/add.php:277 admin/edit.php:278
760
- msgid ""
761
- "The date / time format to use. Should specified as a <a href=\"http://php."
762
- "net/manual/en/function.date.php\" target=\"_blank\">PHP date format</a> "
763
- "string"
764
  msgstr ""
765
 
766
- #: admin/add.php:278 admin/edit.php:279
767
- msgid ""
768
- "Whether or not the link should open in a new window / tab. Can be "
769
- "<code>true</code> or <code>false</code>"
770
  msgstr ""
771
 
772
- #: admin/add.php:279 admin/edit.php:280
773
  msgid ""
774
- "How precise to be when displaying a time difference in human-readable "
775
- "format. Should be specified as a positive integer"
 
776
  msgstr ""
777
 
778
- #: admin/add.php:280 admin/edit.php:281
779
- msgid ""
780
- "An offset (in seconds) to apply to start / end times before display. Should "
781
- "be specified as a (positive or negative) integer"
782
  msgstr ""
783
 
784
- #: admin/add.php:281 admin/edit.php:282
785
  msgid ""
786
- "Whether or not to automatically convert URLs in the description to links. "
787
- "Can be <code>true</code> or <code>false</code>"
 
 
788
  msgstr ""
789
 
790
- #: admin/add.php:289 admin/edit.php:290
791
- msgid ""
792
- "You can use some HTML in the text fields, but ensure it is valid or things "
793
- "might go wonky. Text fields can be empty too."
794
  msgstr ""
795
 
796
- #: admin/add.php:295 admin/edit.php:298
797
- msgid "Select how to display the start date / time."
 
 
 
798
  msgstr ""
799
 
800
- #: admin/add.php:298 admin/edit.php:301
801
- msgid "Don't display start time or date"
802
  msgstr ""
803
 
804
- #: admin/add.php:299 admin/edit.php:302
805
- msgid "Display start time"
 
 
806
  msgstr ""
807
 
808
- #: admin/add.php:300 admin/edit.php:303
809
- msgid "Display start date"
 
 
810
  msgstr ""
811
 
812
- #: admin/add.php:301 admin/edit.php:304
813
- msgid "Display start time and date (in that order)"
 
 
 
814
  msgstr ""
815
 
816
- #: admin/add.php:302 admin/edit.php:305
817
- msgid "Display start date and time (in that order)"
 
 
818
  msgstr ""
819
 
820
- #: admin/add.php:305 admin/edit.php:308
821
- msgid "Text to display before the start time."
 
 
822
  msgstr ""
823
 
824
- #: admin/add.php:313 admin/edit.php:318
825
- msgid "Select how to display the end date / time."
 
 
826
  msgstr ""
827
 
828
- #: admin/add.php:316 admin/edit.php:321
829
- msgid "Don't display end time or date"
830
  msgstr ""
831
 
832
- #: admin/add.php:317 admin/edit.php:322
833
- msgid "Display end time"
834
  msgstr ""
835
 
836
- #: admin/add.php:318 admin/edit.php:323
837
- msgid "Display end date"
838
  msgstr ""
839
 
840
- #: admin/add.php:319 admin/edit.php:324
841
- msgid "Display end time and date (in that order)"
842
  msgstr ""
843
 
844
- #: admin/add.php:320 admin/edit.php:325
845
- msgid "Display end date and time (in that order)"
846
  msgstr ""
847
 
848
- #: admin/add.php:323 admin/edit.php:328
849
- msgid "Text to display before the end time."
850
  msgstr ""
851
 
852
- #: admin/add.php:331 admin/edit.php:338
853
- msgid ""
854
- "If you have chosen to display both the time and date above, enter the text / "
855
- "characters to display between the time and date here (including any spaces)."
856
  msgstr ""
857
 
858
- #: admin/add.php:340 admin/edit.php:349
859
- msgid "Show the location of events?"
860
  msgstr ""
861
 
862
- #: admin/add.php:342 admin/edit.php:351
863
- msgid "Text to display before the location."
864
  msgstr ""
865
 
866
- #: admin/add.php:351
867
  msgid ""
868
- "Show the description of events? (URLs in the description will be made into "
869
- "links)."
870
  msgstr ""
871
 
872
- #: admin/add.php:353 admin/edit.php:364
873
- msgid "Text to display before the description."
 
 
874
  msgstr ""
875
 
876
- #: admin/add.php:357 admin/edit.php:368
877
  msgid ""
878
- "Maximum number of words to show from description. Leave blank for no limit."
879
  msgstr ""
880
 
881
- #: admin/add.php:366 admin/edit.php:379
882
- msgid "Show a link to the Google Calendar page for an event?"
 
 
883
  msgstr ""
884
 
885
- #: admin/add.php:369 admin/edit.php:382
886
- msgid "Links open in a new window / tab?"
 
 
887
  msgstr ""
888
 
889
- #: admin/add.php:371 admin/edit.php:384
890
- msgid "The link text to be displayed."
891
  msgstr ""
892
 
893
- #: admin/delete.php:17
894
- msgid ""
895
- "Are you want you want to delete this feed? (Remember to remove / adjust any "
896
- "widgets or shortcodes associated with this feed)."
897
  msgstr ""
898
 
899
- #: admin/edit.php:9
900
- msgid "Edit Feed"
901
  msgstr ""
902
 
903
- #: admin/edit.php:40
904
- msgid ""
905
- "Make any changes you require to the feed details below, then click the Save "
906
- "Changes button."
907
  msgstr ""
908
 
909
- #: admin/edit.php:70
910
- msgid ""
911
- "This will probably be something like: <code>http://www.google.com/calendar/"
912
- "feeds/your-email@gmail.com/public/full</code>."
913
  msgstr ""
914
 
915
- #: admin/edit.php:72
916
- msgid ""
917
- "or: <code>http://www.google.com/calendar/feeds/your-email@gmail.com/private-"
918
- "d65741b037h695ff274247f90746b2ty/basic</code>."
919
  msgstr ""
920
 
921
- #: admin/edit.php:83
922
- msgid ""
923
- "The point in time at which to start retrieving events. Use the text-box to "
924
- "specify an additional offset from you chosen start point. The offset should "
925
- "be provided in seconds (3600 = 1 hour, 86400 = 1 day) and can be negative. "
926
- "If you have selected the 'Specific date / time' option, enter a <a href="
927
- "\"http://www.timestampgenerator.com\" target=\"_blank\">UNIX timestamp</a> "
928
- "in the text-box."
929
  msgstr ""
930
 
931
- #: admin/edit.php:214
932
- msgid ""
933
- "Use the event display builder to customize how event information will be "
934
- "displayed in the grid tooltips and in lists. Use HTML and the shortcodes "
935
- "(explained below) to display the information you require. A basic example "
936
- "display format is provided as a starting point. For more information, take a "
937
- "look at the <a href=\"http://www.rhanney.co.uk/plugins/google-calendar-"
938
- "events/event-display-builder\" target=\"_blank\">event display builder "
939
- "guide</a>."
940
  msgstr ""
941
 
942
- #: admin/edit.php:224
943
- msgid ""
944
- "(More information on all of the below shortcodes and attributes, and working "
945
- "examples, can be found in the <a href=\"http://www.rhanney.co.uk/plugins/"
946
- "google-calendar-events/event-display-builder\" target=\"_blank\">event "
947
- "display builder guide</a>)"
948
  msgstr ""
949
 
950
- #: admin/edit.php:362
951
- msgid ""
952
- "Show the description of events? (URLs in the description will be made into "
953
- "links)."
954
  msgstr ""
955
 
956
- #: admin/refresh.php:9
957
- msgid "Refresh Feed Cache"
958
  msgstr ""
959
 
960
- #: admin/refresh.php:17
961
- msgid ""
962
- "The plugin will automatically refresh the cache when it expires, but you can "
963
- "manually clear the cache now by clicking the button below."
964
  msgstr ""
965
 
966
- #: admin/refresh.php:18
967
- msgid "Are you want you want to clear the cache data for this feed?"
 
968
  msgstr ""
969
 
970
- #: widget/gce-widget.php:7
971
  msgid ""
972
- "Display a list or calendar grid of events from one or more Google Calendar "
973
- "feeds you have added"
974
  msgstr ""
975
 
976
- #: widget/gce-widget.php:57
977
- msgid ""
978
- "No valid Feed IDs have been entered for this widget. Please check that you "
979
- "have entered the IDs correctly in the widget settings (Appearance > "
980
- "Widgets), and that the Feeds have not been deleted."
981
  msgstr ""
982
 
983
- #: widget/gce-widget.php:129
984
- msgid ""
985
- "No feeds have been added yet. You can add feeds in the Google Calendar "
986
- "Events settings."
987
  msgstr ""
988
 
989
- #: widget/gce-widget.php:145
990
- msgid ""
991
- "Feeds to display, as a comma separated list (e.g. 1, 2, 4). Leave blank to "
992
- "display all feeds:"
993
  msgstr ""
994
 
995
- #: widget/gce-widget.php:149
996
- msgid "Display events as:"
997
  msgstr ""
998
 
999
- #: widget/gce-widget.php:151
1000
- msgid "Calendar Grid"
 
 
 
 
 
1001
  msgstr ""
1002
 
1003
- #: widget/gce-widget.php:152
1004
- msgid "Calendar Grid - with AJAX"
1005
  msgstr ""
1006
 
1007
- #: widget/gce-widget.php:153
1008
- msgid "List"
1009
  msgstr ""
1010
 
1011
- #: widget/gce-widget.php:154
1012
- msgid "List - grouped by date"
1013
  msgstr ""
1014
 
1015
- #: widget/gce-widget.php:157
1016
- msgid "Maximum no. events to display. Enter 0 to show all retrieved."
 
1017
  msgstr ""
1018
 
1019
- #: widget/gce-widget.php:160
1020
- msgid "Sort order (only applies to lists):"
1021
  msgstr ""
1022
 
1023
- #: widget/gce-widget.php:162
1024
- msgid "Ascending"
1025
  msgstr ""
1026
 
1027
- #: widget/gce-widget.php:163
1028
- msgid "Descending"
1029
  msgstr ""
1030
 
1031
- #: widget/gce-widget.php:166
 
 
 
 
1032
  msgid ""
1033
- "Display title on tooltip / list item? (e.g. 'Events on 7th March') Grouped "
1034
- "lists always have a title displayed."
1035
  msgstr ""
1036
 
1037
  #. Plugin URI of the plugin/theme
2
  # This file is distributed under the same license as the Google Calendar Events package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Google Calendar Events 0.7.1\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/google-calendar-events\n"
7
+ "POT-Creation-Date: 2011-07-17 10:47:22+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
15
+ #: admin/edit.php:9
16
+ msgid "Edit Feed"
 
 
17
  msgstr ""
18
 
19
+ #: admin/edit.php:11 admin/add.php:10 admin/refresh.php:11 admin/delete.php:11
20
+ msgid "Feed ID"
 
21
  msgstr ""
22
 
23
+ #: admin/edit.php:12 admin/add.php:11 admin/refresh.php:12 admin/delete.php:12
24
+ msgid "Feed Title"
 
 
25
  msgstr ""
26
 
27
+ #: admin/edit.php:13 admin/add.php:12
28
+ msgid "Feed URL"
 
 
29
  msgstr ""
30
 
31
+ #: admin/edit.php:14 admin/add.php:13
32
+ msgid "Retrieve events from"
33
  msgstr ""
34
 
35
+ #: admin/edit.php:15 admin/add.php:14
36
+ msgid "Retrieve events until"
37
  msgstr ""
38
 
39
+ #: admin/edit.php:16 admin/add.php:15
40
+ msgid "Maximum number of events to retrieve"
41
  msgstr ""
42
 
43
+ #: admin/edit.php:17 admin/add.php:16
44
+ msgid "Date format"
45
  msgstr ""
46
 
47
+ #: admin/edit.php:18 admin/add.php:17
48
+ msgid "Time format"
49
  msgstr ""
50
 
51
+ #: admin/edit.php:19 admin/add.php:18
52
+ msgid "Timezone adjustment"
53
  msgstr ""
54
 
55
+ #: admin/edit.php:20 admin/add.php:19
56
+ msgid "Cache duration"
57
  msgstr ""
58
 
59
+ #: admin/edit.php:21 admin/add.php:20
60
+ msgid "Show multiple day events on each day?"
61
  msgstr ""
62
 
63
+ #: admin/edit.php:23 admin/add.php:22
64
+ msgid "Display Options"
65
  msgstr ""
66
 
67
+ #: admin/edit.php:24 admin/add.php:23
68
+ msgid "Select display customization method"
69
  msgstr ""
70
 
71
+ #: admin/edit.php:26 admin/add.php:25
72
+ msgid "Event Display Builder"
73
  msgstr ""
74
 
75
+ #: admin/edit.php:27 admin/add.php:26
76
+ msgid "Event display builder HTML and shortcodes"
77
  msgstr ""
78
 
79
+ #: admin/edit.php:29 admin/add.php:28
80
+ msgid "Simple Display Options"
 
81
  msgstr ""
82
 
83
+ #: admin/edit.php:30 admin/add.php:29
84
+ msgid "Display start time / date?"
 
 
85
  msgstr ""
86
 
87
+ #: admin/edit.php:31 admin/add.php:30
88
+ msgid "Display end time / date?"
89
  msgstr ""
90
 
91
+ #: admin/edit.php:32 admin/add.php:31
92
+ msgid "Separator text / characters"
93
  msgstr ""
94
 
95
+ #: admin/edit.php:33 admin/add.php:32
96
+ msgid "Display location?"
97
  msgstr ""
98
 
99
+ #: admin/edit.php:34 admin/add.php:33
100
+ msgid "Display description?"
 
 
101
  msgstr ""
102
 
103
+ #: admin/edit.php:35 admin/add.php:34
104
+ msgid "Display link to event?"
105
  msgstr ""
106
 
107
+ #: admin/edit.php:40
108
  msgid ""
109
+ "Make any changes you require to the feed details below, then click the Save "
110
+ "Changes button."
 
 
 
111
  msgstr ""
112
 
113
+ #: admin/edit.php:59 admin/add.php:63
114
+ msgid "Anything you like. 'Upcoming Club Events', for example."
115
  msgstr ""
116
 
117
+ #: admin/edit.php:70
118
+ msgid ""
119
+ "This will probably be something like: <code>http://www.google.com/calendar/"
120
+ "feeds/your-email@gmail.com/public/full</code>."
121
  msgstr ""
122
 
123
+ #: admin/edit.php:72
124
+ msgid ""
125
+ "or: <code>http://www.google.com/calendar/feeds/your-email@gmail.com/private-"
126
+ "d65741b037h695ff274247f90746b2ty/basic</code>."
127
  msgstr ""
128
 
129
+ #: admin/edit.php:83
130
+ msgid ""
131
+ "The point in time at which to start retrieving events. Use the text-box to "
132
+ "specify an additional offset from you chosen start point. The offset should "
133
+ "be provided in seconds (3600 = 1 hour, 86400 = 1 day) and can be negative. "
134
+ "If you have selected the 'Specific date / time' option, enter a <a href="
135
+ "\"http://www.timestampgenerator.com\" target=\"_blank\">UNIX timestamp</a> "
136
+ "in the text-box."
137
  msgstr ""
138
 
139
+ #: admin/edit.php:103 admin/add.php:105
140
+ msgid ""
141
+ "The point in time at which to stop retrieving events. The instructions for "
142
+ "the above option also apply here."
143
  msgstr ""
144
 
145
+ #: admin/edit.php:124 admin/add.php:124
146
+ msgid ""
147
+ "Set this to a few more than you actually want to display (due to caching and "
148
+ "timezone issues). The exact number to display can be configured per "
149
+ "shortcode / widget."
150
  msgstr ""
151
 
152
+ #: admin/edit.php:135 admin/add.php:133
153
+ msgid ""
154
+ "In <a href=\"http://php.net/manual/en/function.date.php\" target=\"_blank"
155
+ "\">PHP date format</a>. Leave this blank if you'd rather stick with the "
156
+ "default format for your blog."
157
  msgstr ""
158
 
159
+ #: admin/edit.php:146 admin/add.php:142
160
+ msgid ""
161
+ "In <a href=\"http://php.net/manual/en/function.date.php\" target=\"_blank"
162
+ "\">PHP date format</a>. Again, leave this blank to stick with the default."
163
  msgstr ""
164
 
165
+ #: admin/edit.php:161 admin/add.php:155
166
+ msgid ""
167
+ "If you are having problems with dates and times displaying in the wrong "
168
+ "timezone, select a city in your required timezone here."
169
  msgstr ""
170
 
171
+ #: admin/edit.php:172 admin/add.php:164
172
+ msgid ""
173
+ "The length of time, in seconds, to cache the feed (43200 = 12 hours). If "
174
+ "this feed changes regularly, you may want to reduce the cache duration."
175
  msgstr ""
176
 
177
+ #: admin/edit.php:183 admin/add.php:173
178
  msgid ""
179
+ "Show events that span multiple days on each day that they span, rather than "
180
+ "just the first day."
181
  msgstr ""
182
 
183
+ #: admin/edit.php:194 admin/add.php:184
184
  msgid ""
185
+ "These settings control what information will be displayed for this feed in "
186
+ "the tooltip (for grids), or in a list."
187
  msgstr ""
188
 
189
+ #: admin/edit.php:202 admin/add.php:190
190
+ msgid ""
191
+ "It is recommended that you use the event display builder option, as it "
192
+ "provides much more flexibility than the simple display options. The event "
193
+ "display builder can do everything the simple display options can, plus lots "
194
+ "more!"
195
  msgstr ""
196
 
197
+ #: admin/edit.php:205 admin/add.php:193
198
+ msgid "Event display builder"
199
  msgstr ""
200
 
201
+ #: admin/edit.php:206 admin/add.php:194
202
+ msgid "Simple display options"
203
  msgstr ""
204
 
205
+ #: admin/edit.php:214
206
+ msgid ""
207
+ "Use the event display builder to customize how event information will be "
208
+ "displayed in the grid tooltips and in lists. Use HTML and the shortcodes "
209
+ "(explained below) to display the information you require. A basic example "
210
+ "display format is provided as a starting point. For more information, take a "
211
+ "look at the <a href=\"http://www.rhanney.co.uk/plugins/google-calendar-"
212
+ "events/event-display-builder\" target=\"_blank\">event display builder "
213
+ "guide</a>."
214
  msgstr ""
215
 
216
+ #: admin/edit.php:224
217
+ msgid ""
218
+ "(More information on all of the below shortcodes and attributes, and working "
219
+ "examples, can be found in the <a href=\"http://www.rhanney.co.uk/plugins/"
220
+ "google-calendar-events/event-display-builder\" target=\"_blank\">event "
221
+ "display builder guide</a>)"
222
  msgstr ""
223
 
224
+ #: admin/edit.php:225 admin/add.php:224
225
+ msgid "Event information shortcodes:"
226
  msgstr ""
227
 
228
+ #: admin/edit.php:227 admin/add.php:226
229
+ msgid ""
230
+ "The event title (possible attributes: <code>html</code>, <code>markdown</"
231
+ "code>)"
232
  msgstr ""
233
 
234
+ #: admin/edit.php:228 admin/add.php:227
235
+ msgid ""
236
+ "The event start time. Will use the time format specified in the above "
237
+ "settings"
238
  msgstr ""
239
 
240
+ #: admin/edit.php:229 admin/add.php:228
241
+ msgid ""
242
+ "The event start date. Will use the date format specified in the above "
243
+ "settings"
244
  msgstr ""
245
 
246
+ #: admin/edit.php:230 admin/add.php:229
247
+ msgid ""
248
+ "The event start date / time. Will use the format specified in the "
249
+ "<code>format</code> attribute (possible attributes: <code>format</code>)"
250
  msgstr ""
251
 
252
+ #: admin/edit.php:231 admin/add.php:230
253
+ msgid ""
254
+ "The difference between the start time of the event and the time now, in "
255
+ "human-readable format, such as '1 hour', '4 days', '15 mins' (possible "
256
+ "attributes: <code>precision</code>)"
257
  msgstr ""
258
 
259
+ #: admin/edit.php:232 admin/add.php:231
260
+ msgid ""
261
+ "The event end time. Will use the time format specified in the above settings"
262
  msgstr ""
263
 
264
+ #: admin/edit.php:233 admin/add.php:232
265
  msgid ""
266
+ "The event end date. Will use the date format specified in the above settings"
 
 
267
  msgstr ""
268
 
269
+ #: admin/edit.php:234 admin/add.php:233
270
+ msgid ""
271
+ "The event end date / time. Will use the format specified in the "
272
+ "<code>format</code> attribute (possible attributes: <code>format</code>)"
273
  msgstr ""
274
 
275
+ #: admin/edit.php:235 admin/add.php:234
276
  msgid ""
277
+ "The difference between the end time of the event and the time now, in human-"
278
+ "readable format (possible attributes: <code>precision</code>)"
279
  msgstr ""
280
 
281
+ #: admin/edit.php:236 admin/add.php:235
282
+ msgid ""
283
+ "The event location (possible attributes: <code>html</code>, <code>markdown</"
284
+ "code>)"
285
  msgstr ""
286
 
287
+ #: admin/edit.php:237 admin/add.php:236
288
+ msgid ""
289
+ "Anything between the opening and closing shortcode tags (inlcuding further "
290
+ "shortcodes) will be linked to Google Maps, using the event location as a "
291
+ "search parameter (possible attributes: <code>newwindow</code>)"
292
  msgstr ""
293
 
294
+ #: admin/edit.php:238 admin/add.php:237
295
+ msgid ""
296
+ "The event description (possible attributes: <code>html</code>, "
297
+ "<code>markdown</code>, <code>limit</code>)"
298
  msgstr ""
299
 
300
+ #: admin/edit.php:239 admin/add.php:238
301
  msgid ""
302
+ "Anything between the opening and closing shortcode tags (inlcuding further "
303
+ "shortcodes) will be linked to the Google Calendar page for the event "
304
+ "(possible attributes: <code>newwindow</code>)"
305
  msgstr ""
306
 
307
+ #: admin/edit.php:240 admin/add.php:239
308
+ msgid "The raw URL to the Google Calendar page for the event"
309
  msgstr ""
310
 
311
+ #: admin/edit.php:241 admin/add.php:240
312
  msgid ""
313
+ "The length of the event, in human-readable format (possible attributes: "
314
+ "<code>precision</code>)"
 
 
 
 
 
 
315
  msgstr ""
316
 
317
+ #: admin/edit.php:242 admin/add.php:241
318
  msgid ""
319
+ "The position of the event in the current list, or the position of the event "
320
+ "in the current month (for grids)"
 
321
  msgstr ""
322
 
323
+ #: admin/edit.php:243 admin/add.php:242
324
+ msgid "The event UID (a unique identifier assigned to the event by Google)"
325
  msgstr ""
326
 
327
+ #: admin/edit.php:245 admin/add.php:244
328
+ msgid "Feed information shortcodes:"
329
  msgstr ""
330
 
331
+ #: admin/edit.php:247 admin/add.php:246
332
+ msgid "The title of the feed from which the event comes"
333
  msgstr ""
334
 
335
+ #: admin/edit.php:248 admin/add.php:247
336
+ msgid "The ID of the feed from which the event comes"
337
  msgstr ""
338
 
339
+ #: admin/edit.php:249 admin/add.php:248
340
+ msgid ""
341
+ "The calendar ID (a unique identifier assigned to the calendar by Google)"
 
 
 
342
  msgstr ""
343
 
344
+ #: admin/edit.php:251 admin/add.php:250
345
+ msgid "Conditional shortcodes:"
346
  msgstr ""
347
 
348
+ #: admin/edit.php:252 admin/add.php:251
349
+ msgid ""
350
+ "Anything entered between the opening and closing tags of each of the "
351
+ "following shortcodes will only be displayed if its condition (below) is met."
352
  msgstr ""
353
 
354
+ #: admin/edit.php:254 admin/add.php:253
355
+ msgid "The event is an all-day event"
356
  msgstr ""
357
 
358
+ #: admin/edit.php:255 admin/add.php:254
359
+ msgid "The event is not an all-day event"
360
  msgstr ""
361
 
362
+ #: admin/edit.php:256 admin/add.php:255
363
+ msgid "The event has a title"
364
  msgstr ""
365
 
366
+ #: admin/edit.php:257 admin/add.php:256
367
+ msgid "The event has a description"
368
  msgstr ""
369
 
370
+ #: admin/edit.php:258 admin/add.php:257
371
+ msgid "The event has a location"
372
  msgstr ""
373
 
374
+ #: admin/edit.php:259 admin/add.php:258
375
+ msgid "The event is to be displayed in a tooltip (not a list)"
376
  msgstr ""
377
 
378
+ #: admin/edit.php:260 admin/add.php:259
379
+ msgid "The event is to be displayed in a list (not a tooltip)"
380
  msgstr ""
381
 
382
+ #: admin/edit.php:261 admin/add.php:260
383
+ msgid ""
384
+ "The event is taking place now (after the start time, but before the end time)"
385
  msgstr ""
386
 
387
+ #: admin/edit.php:262 admin/add.php:261
388
+ msgid "The event is not taking place now (may have ended or not yet started)"
389
  msgstr ""
390
 
391
+ #: admin/edit.php:263 admin/add.php:262
392
+ msgid "The event has started (even if it has also ended)"
393
  msgstr ""
394
 
395
+ #: admin/edit.php:264 admin/add.php:263
396
+ msgid "The event has not started"
397
  msgstr ""
398
 
399
+ #: admin/edit.php:265 admin/add.php:264
400
+ msgid "The event has ended"
401
  msgstr ""
402
 
403
+ #: admin/edit.php:266 admin/add.php:265
404
+ msgid "The event has not ended (even if it hasn't started)"
405
  msgstr ""
406
 
407
+ #: admin/edit.php:267 admin/add.php:266
408
+ msgid "The event is the first of the day"
409
  msgstr ""
410
 
411
+ #: admin/edit.php:268 admin/add.php:267
412
+ msgid "The event is not the first of the day"
413
  msgstr ""
414
 
415
+ #: admin/edit.php:269 admin/add.php:268
416
+ msgid "The event spans multiple days"
417
  msgstr ""
418
 
419
+ #: admin/edit.php:270 admin/add.php:269
420
+ msgid "The event does not span multiple days"
421
  msgstr ""
422
 
423
+ #: admin/edit.php:272 admin/add.php:271
424
+ msgid "Attributes:"
425
  msgstr ""
426
 
427
+ #: admin/edit.php:273 admin/add.php:272
428
+ msgid "The possible attributes mentioned above are explained here:"
429
  msgstr ""
430
 
431
+ #: admin/edit.php:275 admin/add.php:274
432
+ msgid ""
433
+ "Whether or not to parse HTML that has been entered in the relevant field. "
434
+ "Can be <code>true</code> or <code>false</code>"
435
  msgstr ""
436
 
437
+ #: admin/edit.php:276 admin/add.php:275
438
  msgid ""
439
+ "Whether or not to parse <a href=\"http://daringfireball.net/projects/markdown"
440
+ "\" target=\"_blank\">Markdown</a> that has been entered in the relevant "
441
+ "field. <a href=\"http://michelf.com/projects/php-markdown\" target=\"_blank"
442
+ "\">PHP Markdown</a> must be installed for this to work. Can be <code>true</"
443
+ "code> or <code>false</code>"
444
  msgstr ""
445
 
446
+ #: admin/edit.php:277 admin/add.php:276
447
+ msgid "The word limit for the field. Should be specified as a positive integer"
448
  msgstr ""
449
 
450
+ #: admin/edit.php:278 admin/add.php:277
451
+ msgid ""
452
+ "The date / time format to use. Should specified as a <a href=\"http://php."
453
+ "net/manual/en/function.date.php\" target=\"_blank\">PHP date format</a> "
454
+ "string"
455
  msgstr ""
456
 
457
+ #: admin/edit.php:279 admin/add.php:278
458
+ msgid ""
459
+ "Whether or not the link should open in a new window / tab. Can be "
460
+ "<code>true</code> or <code>false</code>"
461
  msgstr ""
462
 
463
+ #: admin/edit.php:280 admin/add.php:279
464
+ msgid ""
465
+ "How precise to be when displaying a time difference in human-readable "
466
+ "format. Should be specified as a positive integer"
467
  msgstr ""
468
 
469
+ #: admin/edit.php:281 admin/add.php:280
470
+ msgid ""
471
+ "An offset (in seconds) to apply to start / end times before display. Should "
472
+ "be specified as a (positive or negative) integer"
473
  msgstr ""
474
 
475
+ #: admin/edit.php:282 admin/add.php:281
476
+ msgid ""
477
+ "Whether or not to automatically convert URLs in the description to links. "
478
+ "Can be <code>true</code> or <code>false</code>"
479
  msgstr ""
480
 
481
+ #: admin/edit.php:290 admin/add.php:289
482
+ msgid ""
483
+ "You can use some HTML in the text fields, but ensure it is valid or things "
484
+ "might go wonky. Text fields can be empty too."
485
  msgstr ""
486
 
487
+ #: admin/edit.php:298 admin/add.php:295
488
+ msgid "Select how to display the start date / time."
489
  msgstr ""
490
 
491
+ #: admin/edit.php:301 admin/add.php:298
492
+ msgid "Don't display start time or date"
493
  msgstr ""
494
 
495
+ #: admin/edit.php:302 admin/add.php:299
496
+ msgid "Display start time"
 
 
497
  msgstr ""
498
 
499
+ #: admin/edit.php:303 admin/add.php:300
500
+ msgid "Display start date"
501
  msgstr ""
502
 
503
+ #: admin/edit.php:304 admin/add.php:301
504
+ msgid "Display start time and date (in that order)"
 
 
 
505
  msgstr ""
506
 
507
+ #: admin/edit.php:305 admin/add.php:302
508
+ msgid "Display start date and time (in that order)"
 
 
 
509
  msgstr ""
510
 
511
+ #: admin/edit.php:308 admin/add.php:305
512
+ msgid "Text to display before the start time."
 
 
513
  msgstr ""
514
 
515
+ #: admin/edit.php:318 admin/add.php:313
516
+ msgid "Select how to display the end date / time."
 
 
517
  msgstr ""
518
 
519
+ #: admin/edit.php:321 admin/add.php:316
520
+ msgid "Don't display end time or date"
 
 
521
  msgstr ""
522
 
523
+ #: admin/edit.php:322 admin/add.php:317
524
+ msgid "Display end time"
 
 
525
  msgstr ""
526
 
527
+ #: admin/edit.php:323 admin/add.php:318
528
+ msgid "Display end date"
 
 
529
  msgstr ""
530
 
531
+ #: admin/edit.php:324 admin/add.php:319
532
+ msgid "Display end time and date (in that order)"
 
 
 
 
533
  msgstr ""
534
 
535
+ #: admin/edit.php:325 admin/add.php:320
536
+ msgid "Display end date and time (in that order)"
537
  msgstr ""
538
 
539
+ #: admin/edit.php:328 admin/add.php:323
540
+ msgid "Text to display before the end time."
541
  msgstr ""
542
 
543
+ #: admin/edit.php:338 admin/add.php:331
544
  msgid ""
545
+ "If you have chosen to display both the time and date above, enter the text / "
546
+ "characters to display between the time and date here (including any spaces)."
 
 
 
547
  msgstr ""
548
 
549
+ #: admin/edit.php:349 admin/add.php:340
550
+ msgid "Show the location of events?"
551
  msgstr ""
552
 
553
+ #: admin/edit.php:351 admin/add.php:342
554
+ msgid "Text to display before the location."
 
 
555
  msgstr ""
556
 
557
+ #: admin/edit.php:362
558
+ msgid ""
559
+ "Show the description of events? (URLs in the description will be made into "
560
+ "links)."
561
  msgstr ""
562
 
563
+ #: admin/edit.php:364 admin/add.php:353
564
+ msgid "Text to display before the description."
 
 
565
  msgstr ""
566
 
567
+ #: admin/edit.php:368 admin/add.php:357
568
  msgid ""
569
+ "Maximum number of words to show from description. Leave blank for no limit."
 
570
  msgstr ""
571
 
572
+ #: admin/edit.php:379 admin/add.php:366
573
+ msgid "Show a link to the Google Calendar page for an event?"
 
 
574
  msgstr ""
575
 
576
+ #: admin/edit.php:382 admin/add.php:369
577
+ msgid "Links open in a new window / tab?"
 
 
578
  msgstr ""
579
 
580
+ #: admin/edit.php:384 admin/add.php:371
581
+ msgid "The link text to be displayed."
 
 
 
582
  msgstr ""
583
 
584
+ #: admin/add.php:8
585
+ msgid "Add a Feed"
 
586
  msgstr ""
587
 
588
+ #: admin/add.php:39
589
+ msgid "Enter the feed details below, then click the Add Feed button."
 
590
  msgstr ""
591
 
592
+ #: admin/add.php:72
593
+ msgid "This will probably be something like:"
 
 
594
  msgstr ""
595
 
596
+ #: admin/add.php:74
597
+ msgid "or:"
 
 
598
  msgstr ""
599
 
600
+ #: admin/add.php:84
601
  msgid ""
602
+ "The point in time at which to start retrieving events. Use the text-box to "
603
+ "specify an additional offset from you chosen start point. The offset should "
604
+ "be provided in seconds (3600 = 1 hour, 86400 = 1 day) and can be negative. "
605
+ "If you have selected the 'Specific date / time' option, enter a"
606
  msgstr ""
607
 
608
+ #: admin/add.php:85
609
+ msgid "UNIX timestamp"
 
 
 
610
  msgstr ""
611
 
612
+ #: admin/add.php:86
613
+ msgid "in the text-box."
 
 
614
  msgstr ""
615
 
616
+ #: admin/add.php:90 admin/add.php:108
617
+ msgid "Now"
 
 
 
618
  msgstr ""
619
 
620
+ #: admin/add.php:91 admin/add.php:109
621
+ msgid "00:00 today"
622
  msgstr ""
623
 
624
+ #: admin/add.php:92 admin/add.php:110
625
+ msgid "Start of current week"
 
 
626
  msgstr ""
627
 
628
+ #: admin/add.php:93 admin/add.php:111
629
+ msgid "Start of current month"
 
 
630
  msgstr ""
631
 
632
+ #: admin/add.php:94 admin/add.php:112
633
+ msgid "End of current month"
634
  msgstr ""
635
 
636
+ #: admin/add.php:95
637
+ msgid "The beginning of time"
638
  msgstr ""
639
 
640
+ #: admin/add.php:96 admin/add.php:114
641
+ msgid "Specific date / time"
642
  msgstr ""
643
 
644
+ #: admin/add.php:113
645
+ msgid "The end of time"
646
  msgstr ""
647
 
648
+ #: admin/add.php:203
649
  msgid ""
650
+ "Use the event display builder to customize how event information will be "
651
+ "displayed in the grid tooltips and in lists. Use HTML and the shortcodes "
652
+ "(explained below) to display the information you require. A basic example "
653
+ "display format is provided as a starting point. For more information, take a "
654
+ "look at the"
655
  msgstr ""
656
 
657
+ #: admin/add.php:204 admin/add.php:222
658
+ msgid "event display builder guide"
659
  msgstr ""
660
 
661
+ #: admin/add.php:221
662
  msgid ""
663
+ "(More information on all of the below shortcodes and attributes, and working "
664
+ "examples, can be found in the"
665
  msgstr ""
666
 
667
+ #: admin/add.php:351
668
+ msgid ""
669
+ "Show the description of events? (URLs in the description will be made into "
670
+ "links)."
671
  msgstr ""
672
 
673
+ #: admin/refresh.php:9
674
+ msgid "Refresh Feed Cache"
675
  msgstr ""
676
 
677
+ #: admin/refresh.php:17
678
+ msgid ""
679
+ "The plugin will automatically refresh the cache when it expires, but you can "
680
+ "manually clear the cache now by clicking the button below."
681
  msgstr ""
682
 
683
+ #: admin/refresh.php:18
684
+ msgid "Are you want you want to clear the cache data for this feed?"
685
  msgstr ""
686
 
687
+ #: admin/delete.php:9 google-calendar-events.php:276
688
+ msgid "Delete Feed"
689
  msgstr ""
690
 
691
+ #: admin/delete.php:17
692
+ msgid ""
693
+ "Are you want you want to delete this feed? (Remember to remove / adjust any "
694
+ "widgets or shortcodes associated with this feed)."
695
  msgstr ""
696
 
697
+ #: admin/main.php:2
698
+ msgid "Add a New Feed"
699
  msgstr ""
700
 
701
+ #: admin/main.php:4
702
+ msgid "Click here to add a new feed"
 
703
  msgstr ""
704
 
705
+ #: admin/main.php:4 google-calendar-events.php:253
706
+ msgid "Add Feed"
707
  msgstr ""
708
 
709
+ #: admin/main.php:7
710
+ msgid "Current Feeds"
711
  msgstr ""
712
 
713
+ #: admin/main.php:16
714
+ msgid "You haven't added any Google Calendar feeds yet."
715
  msgstr ""
716
 
717
+ #: admin/main.php:24 admin/main.php:32
718
+ msgid "ID"
719
  msgstr ""
720
 
721
+ #: admin/main.php:25 admin/main.php:33
722
+ msgid "Title"
723
  msgstr ""
724
 
725
+ #: admin/main.php:26 admin/main.php:34
726
+ msgid "URL"
727
  msgstr ""
728
 
729
+ #: admin/main.php:47
730
+ msgid "Refresh"
731
  msgstr ""
732
 
733
+ #: admin/main.php:47
734
+ msgid "Edit"
735
  msgstr ""
736
 
737
+ #: admin/main.php:47
738
+ msgid "Delete"
739
  msgstr ""
740
 
741
+ #: admin/main.php:61
742
+ msgid "General Options"
743
  msgstr ""
744
 
745
+ #: admin/main.php:65
746
+ msgid "Custom stylesheet URL"
747
  msgstr ""
748
 
749
+ #: admin/main.php:67
750
  msgid ""
751
+ "If you want to alter the default plugin styling, create a new stylesheet on "
752
+ "your server (not in the <code>google-calendar-events</code> directory) and "
753
+ "then enter its URL below."
754
  msgstr ""
755
 
756
+ #: admin/main.php:72
757
+ msgid "Add JavaScript to footer?"
758
+ msgstr ""
759
+
760
+ #: admin/main.php:74
761
  msgid ""
762
+ "If you are having issues with tooltips not appearing or the AJAX "
763
+ "functionality not working, try ticking the checkbox below."
 
 
 
764
  msgstr ""
765
 
766
+ #: admin/main.php:79
767
+ msgid "Loading text"
768
  msgstr ""
769
 
770
+ #: admin/main.php:81
771
+ msgid "Text to display while calendar data is loading (on AJAX requests)."
 
 
 
772
  msgstr ""
773
 
774
+ #: admin/main.php:86
775
+ msgid "Error message"
 
 
776
  msgstr ""
777
 
778
+ #: admin/main.php:88
779
  msgid ""
780
+ "An error message to display to non-admin users if events cannot be displayed "
781
+ "for any reason (admins will see a message indicating the cause of the "
782
+ "problem)."
783
  msgstr ""
784
 
785
+ #: admin/main.php:93
786
+ msgid "Optimise event retrieval?"
 
 
787
  msgstr ""
788
 
789
+ #: admin/main.php:95
790
  msgid ""
791
+ "If this option is enabled, the plugin will use an experimental feature of "
792
+ "the Google Data API, which can improve performance significantly, especially "
793
+ "with large numbers of events. Google could potentially remove / change this "
794
+ "feature at any time."
795
  msgstr ""
796
 
797
+ #: admin/main.php:100
798
+ msgid "Use old styles?"
 
 
799
  msgstr ""
800
 
801
+ #: admin/main.php:102
802
+ msgid ""
803
+ "Some CSS changes were made in version 0.7. If this option is enabled, the "
804
+ "old CSS will still be added along with the main stylesheet. You should "
805
+ "consider updating your stylesheet so that you don't need this enabled."
806
  msgstr ""
807
 
808
+ #: admin/main.php:111
809
+ msgid "Save"
810
  msgstr ""
811
 
812
+ #. #-#-#-#-# plugin.pot (Google Calendar Events 0.7.1) #-#-#-#-#
813
+ #. Plugin Name of the plugin/theme
814
+ #: widget/gce-widget.php:6 google-calendar-events.php:231
815
+ msgid "Google Calendar Events"
816
  msgstr ""
817
 
818
+ #: widget/gce-widget.php:7
819
+ msgid ""
820
+ "Display a list or calendar grid of events from one or more Google Calendar "
821
+ "feeds you have added"
822
  msgstr ""
823
 
824
+ #: widget/gce-widget.php:57
825
+ msgid ""
826
+ "No valid Feed IDs have been entered for this widget. Please check that you "
827
+ "have entered the IDs correctly in the widget settings (Appearance > "
828
+ "Widgets), and that the Feeds have not been deleted."
829
  msgstr ""
830
 
831
+ #: widget/gce-widget.php:100 google-calendar-events.php:566
832
+ msgid ""
833
+ "No feeds have been added yet. You can add a feed in the Google Calendar "
834
+ "Events settings."
835
  msgstr ""
836
 
837
+ #: widget/gce-widget.php:129
838
+ msgid ""
839
+ "No feeds have been added yet. You can add feeds in the Google Calendar "
840
+ "Events settings."
841
  msgstr ""
842
 
843
+ #: widget/gce-widget.php:145
844
+ msgid ""
845
+ "Feeds to display, as a comma separated list (e.g. 1, 2, 4). Leave blank to "
846
+ "display all feeds:"
847
  msgstr ""
848
 
849
+ #: widget/gce-widget.php:149
850
+ msgid "Display events as:"
851
  msgstr ""
852
 
853
+ #: widget/gce-widget.php:151
854
+ msgid "Calendar Grid"
855
  msgstr ""
856
 
857
+ #: widget/gce-widget.php:152
858
+ msgid "Calendar Grid - with AJAX"
859
  msgstr ""
860
 
861
+ #: widget/gce-widget.php:153
862
+ msgid "List"
863
  msgstr ""
864
 
865
+ #: widget/gce-widget.php:154
866
+ msgid "List - grouped by date"
867
  msgstr ""
868
 
869
+ #: widget/gce-widget.php:157
870
+ msgid "Maximum no. events to display. Enter 0 to show all retrieved."
871
  msgstr ""
872
 
873
+ #: widget/gce-widget.php:160
874
+ msgid "Sort order (only applies to lists):"
 
 
875
  msgstr ""
876
 
877
+ #: widget/gce-widget.php:162
878
+ msgid "Ascending"
879
  msgstr ""
880
 
881
+ #: widget/gce-widget.php:163
882
+ msgid "Descending"
883
  msgstr ""
884
 
885
+ #: widget/gce-widget.php:166
886
  msgid ""
887
+ "Display title on tooltip / list item? (e.g. 'Events on 7th March') Grouped "
888
+ "lists always have a title displayed."
889
  msgstr ""
890
 
891
+ #: inc/gce-feed.php:96
892
+ msgid ""
893
+ "Some data was retrieved, but could not be parsed successfully. Please ensure "
894
+ "your feed URL is correct."
895
  msgstr ""
896
 
897
+ #: inc/gce-feed.php:102
898
  msgid ""
899
+ "The feed could not be found (404). Please ensure your feed URL is correct."
900
  msgstr ""
901
 
902
+ #: inc/gce-feed.php:105
903
+ msgid ""
904
+ "Access to this feed was denied (403). Please ensure you have public sharing "
905
+ "enabled for your calendar."
906
  msgstr ""
907
 
908
+ #: inc/gce-feed.php:108
909
+ msgid ""
910
+ "The feed data could not be retrieved. Error code: %s. Please ensure your "
911
+ "feed URL is correct."
912
  msgstr ""
913
 
914
+ #: inc/gce-event.php:484
915
+ msgid "%s year"
916
  msgstr ""
917
 
918
+ #: inc/gce-event.php:484
919
+ msgid "%s years"
 
 
920
  msgstr ""
921
 
922
+ #: inc/gce-event.php:485
923
+ msgid "%s month"
924
  msgstr ""
925
 
926
+ #: inc/gce-event.php:485
927
+ msgid "%s months"
 
 
928
  msgstr ""
929
 
930
+ #: inc/gce-event.php:486
931
+ msgid "%s week"
 
 
932
  msgstr ""
933
 
934
+ #: inc/gce-event.php:486
935
+ msgid "%s weeks"
 
 
936
  msgstr ""
937
 
938
+ #: inc/gce-event.php:487
939
+ msgid "%s day"
 
 
 
 
 
 
940
  msgstr ""
941
 
942
+ #: inc/gce-event.php:487
943
+ msgid "%s days"
 
 
 
 
 
 
 
944
  msgstr ""
945
 
946
+ #: inc/gce-event.php:488
947
+ msgid "%s hour"
 
 
 
 
948
  msgstr ""
949
 
950
+ #: inc/gce-event.php:488
951
+ msgid "%s hours"
 
 
952
  msgstr ""
953
 
954
+ #: inc/gce-event.php:489
955
+ msgid "%s min"
956
  msgstr ""
957
 
958
+ #: inc/gce-event.php:489
959
+ msgid "%s mins"
 
 
960
  msgstr ""
961
 
962
+ #: inc/gce-event.php:517
963
+ msgctxt "human_time_diff"
964
+ msgid ", "
965
  msgstr ""
966
 
967
+ #: inc/gce-parser.php:156
968
  msgid ""
969
+ "1 or more of your feeds could not be displayed. The following errors "
970
+ "occurred:"
971
  msgstr ""
972
 
973
+ #: inc/gce-parser.php:159
974
+ msgid "Feed %s:"
 
 
 
975
  msgstr ""
976
 
977
+ #: inc/gce-parser.php:315
978
+ msgid "There are currently no events to display."
 
 
979
  msgstr ""
980
 
981
+ #: google-calendar-events.php:204
982
+ msgid "Settings"
 
 
983
  msgstr ""
984
 
985
+ #: google-calendar-events.php:235
986
+ msgid "Notice:"
987
  msgstr ""
988
 
989
+ #: google-calendar-events.php:235
990
+ msgid ""
991
+ "The way in which Google Calendar Events stores cached data has been much "
992
+ "improved in version 0.6. As you have upgraded from a previous version of the "
993
+ "plugin, there is likely to be some data from the old caching system hanging "
994
+ "around in your database that is now useless. Click below to clear expired "
995
+ "cached data from your database."
996
  msgstr ""
997
 
998
+ #: google-calendar-events.php:236
999
+ msgid "Clear expired cached data"
1000
  msgstr ""
1001
 
1002
+ #: google-calendar-events.php:237
1003
+ msgid "or"
1004
  msgstr ""
1005
 
1006
+ #: google-calendar-events.php:238
1007
+ msgid "Ignore this notice"
1008
  msgstr ""
1009
 
1010
+ #: google-calendar-events.php:254 google-calendar-events.php:260
1011
+ #: google-calendar-events.php:270 google-calendar-events.php:277
1012
+ msgid "Cancel"
1013
  msgstr ""
1014
 
1015
+ #: google-calendar-events.php:259
1016
+ msgid "Refresh Feed"
1017
  msgstr ""
1018
 
1019
+ #: google-calendar-events.php:269
1020
+ msgid "Save Changes"
1021
  msgstr ""
1022
 
1023
+ #: google-calendar-events.php:310
1024
+ msgid "Old cached data cleared."
1025
  msgstr ""
1026
 
1027
+ #: google-calendar-events.php:487
1028
+ msgid "General options updated."
1029
+ msgstr ""
1030
+
1031
+ #: google-calendar-events.php:546
1032
  msgid ""
1033
+ "No valid Feed IDs have been entered for this shortcode. Please check that "
1034
+ "you have entered the IDs correctly and that the Feeds have not been deleted."
1035
  msgstr ""
1036
 
1037
  #. Plugin URI of the plugin/theme
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.rhanney.co.uk/plugins/google-calendar-events/#donate
4
  Tags: google, google calendar, calendar, event, events, ajax, widget
5
  Requires at least: 3.0
6
  Tested up to: 3.2
7
- Stable tag: 0.7
8
 
9
  Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget.
10
 
@@ -50,6 +50,13 @@ You can now start adding feeds. Visit the [plugin homepage](http://www.rhanney.c
50
 
51
  == Changelog ==
52
 
 
 
 
 
 
 
 
53
  = 0.7 =
54
  * Fixed bug causing event dates / times to be displayed in the wrong timezone
55
  * Changed the [link-path] Event Display Builder shortcode to [url]
4
  Tags: google, google calendar, calendar, event, events, ajax, widget
5
  Requires at least: 3.0
6
  Tested up to: 3.2
7
+ Stable tag: 0.7.1
8
 
9
  Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget.
10
 
50
 
51
  == Changelog ==
52
 
53
+ = 0.7.1 =
54
+ * Fixed bug causing AJAX enabled calendar grids to not function correctly
55
+ * Fixed bug causing all-day events from outside required date range to be displayed
56
+ * Fixed bug causing tooltip date title heading setting to be ignored
57
+ * Added further data sanitisation on output
58
+ * Feeds with no events will now be cached to prevent HTTP requests on every page load
59
+
60
  = 0.7 =
61
  * Fixed bug causing event dates / times to be displayed in the wrong timezone
62
  * Changed the [link-path] Event Display Builder shortcode to [url]
widget/gce-widget.php CHANGED
@@ -183,26 +183,33 @@ function gce_widget_content_grid( $feed_ids, $title_text, $max_events, $widget_i
183
 
184
  $num_errors = $grid->get_num_errors();
185
 
 
 
186
  //If there are less errors than feeds parsed, at least one feed must have parsed successfully so continue to display the grid
187
  if ( $num_errors < count( $ids ) ) {
 
 
 
188
  //If there was at least one error, and user is an admin, output error messages
189
  if ( $num_errors > 0 && current_user_can( 'manage_options' ) )
190
- echo $grid->error_messages();
191
 
192
  //Add AJAX script if required
193
  if ( $ajaxified )
194
- ?><script type="text/javascript">jQuery(document).ready(function($){gce_ajaxify("<?php echo $widget_id; ?>", "<?php echo $feed_ids; ?>", "<?php echo $max_events; ?>", "<?php echo $title_text; ?>", "widget");});</script><?php
195
 
196
- echo $grid->get_grid( $year, $month, $ajaxified );
197
  } else {
198
  //If current user is an admin, display an error message explaining problem. Otherwise, display a 'nice' error messsage
199
  if ( current_user_can( 'manage_options' ) ) {
200
- echo $grid->error_messages();
201
  } else {
202
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
203
- echo $options['error'];
204
  }
205
  }
 
 
206
  }
207
 
208
  function gce_widget_content_list( $feed_ids, $title_text, $max_events, $sort_order, $grouped = false ) {
183
 
184
  $num_errors = $grid->get_num_errors();
185
 
186
+ $markup = '';
187
+
188
  //If there are less errors than feeds parsed, at least one feed must have parsed successfully so continue to display the grid
189
  if ( $num_errors < count( $ids ) ) {
190
+ $ids = esc_attr( $ids );
191
+ $title_text = isset( $title_text ) ? esc_html( $title_text) : 'null';
192
+
193
  //If there was at least one error, and user is an admin, output error messages
194
  if ( $num_errors > 0 && current_user_can( 'manage_options' ) )
195
+ $markup .= $grid->error_messages();
196
 
197
  //Add AJAX script if required
198
  if ( $ajaxified )
199
+ $markup .= '<script type="text/javascript">jQuery(document).ready(function($){gce_ajaxify("' . $widget_id . '", "' . $feed_ids . '", "' . $max_events . '", "' . $title_text .'", "widget");});</script>';
200
 
201
+ $markup .= $grid->get_grid( $year, $month, $ajaxified );
202
  } else {
203
  //If current user is an admin, display an error message explaining problem. Otherwise, display a 'nice' error messsage
204
  if ( current_user_can( 'manage_options' ) ) {
205
+ $markup .= $grid->error_messages();
206
  } else {
207
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
208
+ $markup .= $options['error'];
209
  }
210
  }
211
+
212
+ echo $markup;
213
  }
214
 
215
  function gce_widget_content_list( $feed_ids, $title_text, $max_events, $sort_order, $grouped = false ) {