Simple Calendar – Google Calendar Plugin - Version 0.7.2.1

Version Description

= 0.5 = Event retrieval date / time range is now much more flexible. Also adds event display builder, which allows much greater customization of the event information displayed.

Download this release

Release Info

Developer pderksen
Plugin Icon 128x128 Simple Calendar – Google Calendar Plugin
Version 0.7.2.1
Comparing to
See all releases

Code changes from version 0.7.3.1 to 0.7.2.1

admin/add.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  //Redirect to the main plugin options page if form has been submitted
3
- if ( isset( $_GET['action'] ) ) {
4
  if ( 'add' == $_GET['action'] && isset( $_GET['updated'] ) )
5
  wp_redirect( admin_url( 'options-general.php?page=' . GCE_PLUGIN_NAME . '.php&updated=added' ) );
6
  }
@@ -17,7 +17,9 @@ add_settings_field( 'gce_add_date_format_field', __( 'Date format', GCE_TEX
17
  add_settings_field( 'gce_add_time_format_field', __( 'Time format', GCE_TEXT_DOMAIN ), 'gce_add_time_format_field', 'add_feed', 'gce_add' );
18
  add_settings_field( 'gce_add_timezone_field', __( 'Timezone adjustment', GCE_TEXT_DOMAIN ), 'gce_add_timezone_field', 'add_feed', 'gce_add' );
19
  add_settings_field( 'gce_add_cache_duration_field', __( 'Cache duration', GCE_TEXT_DOMAIN ), 'gce_add_cache_duration_field', 'add_feed', 'gce_add' );
 
20
  add_settings_field( 'gce_add_multiple_field', __( 'Show multiple day events on each day?', GCE_TEXT_DOMAIN ), 'gce_add_multiple_field', 'add_feed', 'gce_add' );
 
21
 
22
  add_settings_section( 'gce_add_display', __( 'Display Options', GCE_TEXT_DOMAIN ), 'gce_add_display_main_text', 'add_display' );
23
  add_settings_field( 'gce_add_use_builder_field', __( 'Select display customization method', GCE_TEXT_DOMAIN ), 'gce_add_use_builder_field', 'add_display', 'gce_add_display' );
@@ -167,6 +169,15 @@ function gce_add_cache_duration_field() {
167
  <?php
168
  }
169
 
 
 
 
 
 
 
 
 
 
170
  //Multiple day events
171
  function gce_add_multiple_field() {
172
  ?>
@@ -177,6 +188,16 @@ function gce_add_multiple_field() {
177
  <?php
178
  }
179
 
 
 
 
 
 
 
 
 
 
 
180
 
181
  //Display options
182
  function gce_add_display_main_text() {
@@ -267,6 +288,8 @@ function gce_add_builder_field() {
267
  <li><code>[if-not-first]&hellip;[/if-not-first]</code><span class="description"> - <?php _e( 'The event is not the first of the day', GCE_TEXT_DOMAIN ); ?></span></li>
268
  <li><code>[if-multi-day]&hellip;[/if-multi-day]</code><span class="description"> - <?php _e( 'The event spans multiple days', GCE_TEXT_DOMAIN ); ?></span></li>
269
  <li><code>[if-single-day]&hellip;[/if-single-day]</code><span class="description"> - <?php _e( 'The event does not span multiple days', GCE_TEXT_DOMAIN ); ?></span></li>
 
 
270
  </ul>
271
  <h4><?php _e( 'Attributes:', GCE_TEXT_DOMAIN ); ?></h4>
272
  <p class="description" style="margin-bottom:18px;"><?php _e( 'The possible attributes mentioned above are explained here:', GCE_TEXT_DOMAIN ); ?></p>
1
  <?php
2
  //Redirect to the main plugin options page if form has been submitted
3
+ if(isset($_GET['page']) && GCE_PLUGIN_NAME == $_GET['page'] && isset($_GET['action'])){
4
  if ( 'add' == $_GET['action'] && isset( $_GET['updated'] ) )
5
  wp_redirect( admin_url( 'options-general.php?page=' . GCE_PLUGIN_NAME . '.php&updated=added' ) );
6
  }
17
  add_settings_field( 'gce_add_time_format_field', __( 'Time format', GCE_TEXT_DOMAIN ), 'gce_add_time_format_field', 'add_feed', 'gce_add' );
18
  add_settings_field( 'gce_add_timezone_field', __( 'Timezone adjustment', GCE_TEXT_DOMAIN ), 'gce_add_timezone_field', 'add_feed', 'gce_add' );
19
  add_settings_field( 'gce_add_cache_duration_field', __( 'Cache duration', GCE_TEXT_DOMAIN ), 'gce_add_cache_duration_field', 'add_feed', 'gce_add' );
20
+ add_settings_field( 'gce_add_query_field', __( 'Search query', GCE_TEXT_DOMAIN ), 'gce_add_query_field', 'add_feed', 'gce_add' );
21
  add_settings_field( 'gce_add_multiple_field', __( 'Show multiple day events on each day?', GCE_TEXT_DOMAIN ), 'gce_add_multiple_field', 'add_feed', 'gce_add' );
22
+ add_settings_field( 'gce_add_expand_recurring_field', __( 'Expand recurring events?', GCE_TEXT_DOMAIN ), 'gce_add_expand_recurring_field', 'add_feed', 'gce_add' );
23
 
24
  add_settings_section( 'gce_add_display', __( 'Display Options', GCE_TEXT_DOMAIN ), 'gce_add_display_main_text', 'add_display' );
25
  add_settings_field( 'gce_add_use_builder_field', __( 'Select display customization method', GCE_TEXT_DOMAIN ), 'gce_add_use_builder_field', 'add_display', 'gce_add_display' );
169
  <?php
170
  }
171
 
172
+ //Query
173
+ function gce_add_query_field() {
174
+ ?>
175
+ <span class="description"><?php _e( 'Search query.', GCE_TEXT_DOMAIN ); ?></span>
176
+ <br />
177
+ <input type="text" name="gce_options[query]" size="50" />
178
+ <?php
179
+ }
180
+
181
  //Multiple day events
182
  function gce_add_multiple_field() {
183
  ?>
188
  <?php
189
  }
190
 
191
+ //Expand recurring
192
+ function gce_add_expand_recurring_field() {
193
+ ?>
194
+ <span class="description"><?php _e( 'Expand recurring events?', GCE_TEXT_DOMAIN ); ?></span>
195
+ <br />
196
+ <input type="checkbox" name="gce_options[expand_recurring]" value="true" checked="checked" />
197
+ <br /><br />
198
+ <?php
199
+ }
200
+
201
 
202
  //Display options
203
  function gce_add_display_main_text() {
288
  <li><code>[if-not-first]&hellip;[/if-not-first]</code><span class="description"> - <?php _e( 'The event is not the first of the day', GCE_TEXT_DOMAIN ); ?></span></li>
289
  <li><code>[if-multi-day]&hellip;[/if-multi-day]</code><span class="description"> - <?php _e( 'The event spans multiple days', GCE_TEXT_DOMAIN ); ?></span></li>
290
  <li><code>[if-single-day]&hellip;[/if-single-day]</code><span class="description"> - <?php _e( 'The event does not span multiple days', GCE_TEXT_DOMAIN ); ?></span></li>
291
+ <li><code>[if-recurring]&hellip;[/if-recurring]</code><span class="description"> - <?php _e( 'The event is recurring', GCE_TEXT_DOMAIN ); ?></span></li>
292
+ <li><code>[if-not-recurring]&hellip;[/if-not-recurring]</code><span class="description"> - <?php _e( 'The event is not recurring', GCE_TEXT_DOMAIN ); ?></span></li>
293
  </ul>
294
  <h4><?php _e( 'Attributes:', GCE_TEXT_DOMAIN ); ?></h4>
295
  <p class="description" style="margin-bottom:18px;"><?php _e( 'The possible attributes mentioned above are explained here:', GCE_TEXT_DOMAIN ); ?></p>
admin/delete.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  //Redirect to the main plugin options page if form has been submitted
3
- if(isset($_GET['action'])){
4
  if($_GET['action'] == 'delete' && isset($_GET['updated'])){
5
  wp_redirect(admin_url('options-general.php?page=' . GCE_PLUGIN_NAME . '.php&updated=deleted'));
6
  }
1
  <?php
2
  //Redirect to the main plugin options page if form has been submitted
3
+ if(isset($_GET['page']) && GCE_PLUGIN_NAME == $_GET['page'] && isset($_GET['action'])){
4
  if($_GET['action'] == 'delete' && isset($_GET['updated'])){
5
  wp_redirect(admin_url('options-general.php?page=' . GCE_PLUGIN_NAME . '.php&updated=deleted'));
6
  }
admin/edit.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  //Redirect to the main plugin options page if form has been submitted
3
- if(isset($_GET['action'])){
4
  if($_GET['action'] == 'edit' && isset($_GET['updated'])){
5
  wp_redirect(admin_url('options-general.php?page=' . GCE_PLUGIN_NAME . '.php&updated=edited'));
6
  }
@@ -18,7 +18,9 @@ add_settings_field('gce_edit_date_format_field', __('Date format', GCE_TEXT
18
  add_settings_field('gce_edit_time_format_field', __('Time format', GCE_TEXT_DOMAIN), 'gce_edit_time_format_field', 'edit_feed', 'gce_edit');
19
  add_settings_field('gce_edit_timezone_field', __('Timezone adjustment', GCE_TEXT_DOMAIN), 'gce_edit_timezone_field', 'edit_feed', 'gce_edit');
20
  add_settings_field('gce_edit_cache_duration_field', __('Cache duration', GCE_TEXT_DOMAIN), 'gce_edit_cache_duration_field', 'edit_feed', 'gce_edit');
 
21
  add_settings_field('gce_edit_multiple_field', __('Show multiple day events on each day?', GCE_TEXT_DOMAIN), 'gce_edit_multiple_field', 'edit_feed', 'gce_edit');
 
22
 
23
  add_settings_section('gce_edit_display', __('Display Options', GCE_TEXT_DOMAIN), 'gce_edit_display_main_text', 'edit_display');
24
  add_settings_field('gce_edit_use_builder_field', __('Select display customization method', GCE_TEXT_DOMAIN), 'gce_edit_use_builder_field', 'edit_display', 'gce_edit_display');
@@ -175,6 +177,17 @@ function gce_edit_cache_duration_field(){
175
  <?php
176
  }
177
 
 
 
 
 
 
 
 
 
 
 
 
178
  //Multiple day events
179
  function gce_edit_multiple_field(){
180
  $options = get_option(GCE_OPTIONS_NAME);
@@ -187,6 +200,18 @@ function gce_edit_multiple_field(){
187
  <?php
188
  }
189
 
 
 
 
 
 
 
 
 
 
 
 
 
190
 
191
  //Display options
192
  function gce_edit_display_main_text(){
@@ -268,6 +293,8 @@ function gce_edit_builder_field(){
268
  <li><code>[if-not-first]&hellip;[/if-not-first]</code><span class="description"> - <?php _e( 'The event is not the first of the day', GCE_TEXT_DOMAIN ); ?></span></li>
269
  <li><code>[if-multi-day]&hellip;[/if-multi-day]</code><span class="description"> - <?php _e( 'The event spans multiple days', GCE_TEXT_DOMAIN ); ?></span></li>
270
  <li><code>[if-single-day]&hellip;[/if-single-day]</code><span class="description"> - <?php _e( 'The event does not span multiple days', GCE_TEXT_DOMAIN ); ?></span></li>
 
 
271
  </ul>
272
  <h4><?php _e( 'Attributes:', GCE_TEXT_DOMAIN ); ?></h4>
273
  <p class="description" style="margin-bottom:18px;"><?php _e( 'The possible attributes mentioned above are explained here:', GCE_TEXT_DOMAIN ); ?></p>
1
  <?php
2
  //Redirect to the main plugin options page if form has been submitted
3
+ if(isset($_GET['page']) && GCE_PLUGIN_NAME == $_GET['page'] && isset($_GET['action'])){
4
  if($_GET['action'] == 'edit' && isset($_GET['updated'])){
5
  wp_redirect(admin_url('options-general.php?page=' . GCE_PLUGIN_NAME . '.php&updated=edited'));
6
  }
18
  add_settings_field('gce_edit_time_format_field', __('Time format', GCE_TEXT_DOMAIN), 'gce_edit_time_format_field', 'edit_feed', 'gce_edit');
19
  add_settings_field('gce_edit_timezone_field', __('Timezone adjustment', GCE_TEXT_DOMAIN), 'gce_edit_timezone_field', 'edit_feed', 'gce_edit');
20
  add_settings_field('gce_edit_cache_duration_field', __('Cache duration', GCE_TEXT_DOMAIN), 'gce_edit_cache_duration_field', 'edit_feed', 'gce_edit');
21
+ add_settings_field('gce_edit_query_field', __('Search query', GCE_TEXT_DOMAIN), 'gce_edit_query_field', 'edit_feed', 'gce_edit');
22
  add_settings_field('gce_edit_multiple_field', __('Show multiple day events on each day?', GCE_TEXT_DOMAIN), 'gce_edit_multiple_field', 'edit_feed', 'gce_edit');
23
+ add_settings_field('gce_edit_expand_recurring_field', __( 'Expand recurring events?', GCE_TEXT_DOMAIN ), 'gce_edit_expand_recurring_field', 'edit_feed', 'gce_edit' );
24
 
25
  add_settings_section('gce_edit_display', __('Display Options', GCE_TEXT_DOMAIN), 'gce_edit_display_main_text', 'edit_display');
26
  add_settings_field('gce_edit_use_builder_field', __('Select display customization method', GCE_TEXT_DOMAIN), 'gce_edit_use_builder_field', 'edit_display', 'gce_edit_display');
177
  <?php
178
  }
179
 
180
+ //Query
181
+ function gce_edit_query_field() {
182
+ $options = get_option(GCE_OPTIONS_NAME);
183
+ $options = $options[$_GET['id']];
184
+ ?>
185
+ <span class="description"><?php _e( 'Search query.', GCE_TEXT_DOMAIN ); ?></span>
186
+ <br />
187
+ <input type="text" name="gce_options[query]" value="<?php echo esc_attr( $options['query'] ); ?>" size="50" />
188
+ <?php
189
+ }
190
+
191
  //Multiple day events
192
  function gce_edit_multiple_field(){
193
  $options = get_option(GCE_OPTIONS_NAME);
200
  <?php
201
  }
202
 
203
+ //Expand recurring
204
+ function gce_edit_expand_recurring_field() {
205
+ $options = get_option(GCE_OPTIONS_NAME);
206
+ $options = $options[$_GET['id']];
207
+ ?>
208
+ <span class="description"><?php _e( 'Expand recurring events?', GCE_TEXT_DOMAIN ); ?></span>
209
+ <br />
210
+ <input type="checkbox" name="gce_options[expand_recurring]" value="true"<?php checked($options['expand_recurring'], 'true'); ?> />
211
+ <br /><br />
212
+ <?php
213
+ }
214
+
215
 
216
  //Display options
217
  function gce_edit_display_main_text(){
293
  <li><code>[if-not-first]&hellip;[/if-not-first]</code><span class="description"> - <?php _e( 'The event is not the first of the day', GCE_TEXT_DOMAIN ); ?></span></li>
294
  <li><code>[if-multi-day]&hellip;[/if-multi-day]</code><span class="description"> - <?php _e( 'The event spans multiple days', GCE_TEXT_DOMAIN ); ?></span></li>
295
  <li><code>[if-single-day]&hellip;[/if-single-day]</code><span class="description"> - <?php _e( 'The event does not span multiple days', GCE_TEXT_DOMAIN ); ?></span></li>
296
+ <li><code>[if-recurring]&hellip;[/if-recurring]</code><span class="description"> - <?php _e( 'The event is recurring', GCE_TEXT_DOMAIN ); ?></span></li>
297
+ <li><code>[if-not-recurring]&hellip;[/if-not-recurring]</code><span class="description"> - <?php _e( 'The event is not recurring', GCE_TEXT_DOMAIN ); ?></span></li>
298
  </ul>
299
  <h4><?php _e( 'Attributes:', GCE_TEXT_DOMAIN ); ?></h4>
300
  <p class="description" style="margin-bottom:18px;"><?php _e( 'The possible attributes mentioned above are explained here:', GCE_TEXT_DOMAIN ); ?></p>
admin/main.php CHANGED
@@ -37,7 +37,7 @@
37
  </tfoot>
38
 
39
  <tbody>
40
- <?php
41
  foreach($options as $key => $event){ ?>
42
  <tr>
43
  <td><?php echo $key; ?></td>
@@ -89,6 +89,13 @@
89
  <br />
90
  <input type="text" name="gce_general[error]" value="<?php echo $options['error']; ?>" size="100" />
91
  </td>
 
 
 
 
 
 
 
92
  </tr><tr>
93
  <th scope="row"><?php _e('Optimise event retrieval?', GCE_TEXT_DOMAIN); ?></th>
94
  <td>
@@ -104,14 +111,6 @@
104
  <input type="checkbox" name="gce_general[old_stylesheet]"<?php checked($options['old_stylesheet'], true); ?> value="on" />
105
  </td>
106
  </tr>
107
- <tr>
108
- <th scope="row"><?php _e('Save settings on uninstall?', GCE_TEXT_DOMAIN); ?></th>
109
- <td>
110
- <span class="description"><?php _e( 'Normally when you uninstall your plugin your settings are removed also. Checking this option will save your settings even after an uninstall.', GCE_TEXT_DOMAIN ); ?></span>
111
- <br />
112
- <input type="checkbox" name="gce_general[save_settings]"<?php checked($options['save_settings'], true); ?> value="on" />
113
- </td>
114
- </tr>
115
  </table>
116
 
117
  <br />
37
  </tfoot>
38
 
39
  <tbody>
40
+ <?php
41
  foreach($options as $key => $event){ ?>
42
  <tr>
43
  <td><?php echo $key; ?></td>
89
  <br />
90
  <input type="text" name="gce_general[error]" value="<?php echo $options['error']; ?>" size="100" />
91
  </td>
92
+ </tr><tr>
93
+ <th scope="row"><?php _e('No events message', GCE_TEXT_DOMAIN); ?></th>
94
+ <td>
95
+ <span class="description"><?php _e('An message to display when there are currently no events to show.', GCE_TEXT_DOMAIN); ?></span>
96
+ <br />
97
+ <input type="text" name="gce_general[no_events]" value="<?php echo $options['no_events']; ?>" size="100" />
98
+ </td>
99
  </tr><tr>
100
  <th scope="row"><?php _e('Optimise event retrieval?', GCE_TEXT_DOMAIN); ?></th>
101
  <td>
111
  <input type="checkbox" name="gce_general[old_stylesheet]"<?php checked($options['old_stylesheet'], true); ?> value="on" />
112
  </td>
113
  </tr>
 
 
 
 
 
 
 
 
114
  </table>
115
 
116
  <br />
admin/refresh.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  //Redirect to the main plugin options page if form has been submitted
3
- if ( isset( $_GET['action'] ) ) {
4
  if ( 'refresh' == $_GET['action'] && isset( $_GET['updated'] ) ) {
5
  wp_redirect( admin_url( 'options-general.php?page=' . GCE_PLUGIN_NAME . '.php&updated=refreshed' ) );
6
  }
@@ -15,7 +15,7 @@ add_settings_field( 'gce_refresh_title_field', __( 'Feed Title', GCE_TEXT_DOMAIN
15
  function gce_refresh_main_text() {
16
  ?>
17
  <p><?php _e( 'The plugin will automatically refresh the cache when it expires, but you can manually clear the cache now by clicking the button below.', GCE_TEXT_DOMAIN ); ?></p>
18
- <p><?php _e( 'Are you want you want to clear the cache data for this feed?', GCE_TEXT_DOMAIN ); ?></p>
19
  <?php
20
  }
21
 
1
  <?php
2
  //Redirect to the main plugin options page if form has been submitted
3
+ if( isset( $_GET['page']) && GCE_PLUGIN_NAME == $_GET['page'] && isset($_GET['action'] ) ) {
4
  if ( 'refresh' == $_GET['action'] && isset( $_GET['updated'] ) ) {
5
  wp_redirect( admin_url( 'options-general.php?page=' . GCE_PLUGIN_NAME . '.php&updated=refreshed' ) );
6
  }
15
  function gce_refresh_main_text() {
16
  ?>
17
  <p><?php _e( 'The plugin will automatically refresh the cache when it expires, but you can manually clear the cache now by clicking the button below.', GCE_TEXT_DOMAIN ); ?></p>
18
+ <p><?php _e( 'Are you sure you want to clear the cached data for this feed?', GCE_TEXT_DOMAIN ); ?></p>
19
  <?php
20
  }
21
 
google-calendar-events.php CHANGED
@@ -1,39 +1,47 @@
1
  <?php
 
 
 
 
 
 
 
 
2
 
3
- /**
4
- * Google Calendar Events
5
- *
6
- * @package GCE
7
- * @author Phil Derksen <pderksen@gmail.com>, Nick Young <mycorpweb@gmail.com>
8
- * @license GPL-2.0+
9
- * @link http://philderksen.com
10
- * @copyright 2014 Phil Derksen
11
- *
12
- * @wordpress-plugin
13
- * Plugin Name: Google Calendar Events
14
- * Plugin URI: http://philderksen.com/google-calendar-events-version-2/
15
- * Description: Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget.
16
- * Version: 0.7.3.1
17
- * Author: Phil Derksen
18
- * Author URI: http://philderksen.com
19
- * License: GPL-2.0+
20
- * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
21
- */
 
 
 
 
22
 
23
  define( 'GCE_PLUGIN_NAME', str_replace( '.php', '', basename( __FILE__ ) ) );
24
  define( 'GCE_TEXT_DOMAIN', 'google-calendar-events' );
25
  define( 'GCE_OPTIONS_NAME', 'gce_options' );
26
  define( 'GCE_GENERAL_OPTIONS_NAME', 'gce_general' );
27
- define( 'GCE_VERSION', '0.7.3' );
28
 
29
  if ( ! class_exists( 'Google_Calendar_Events' ) ) {
30
  class Google_Calendar_Events {
31
  function __construct() {
32
-
33
  register_activation_hook( __FILE__, array( $this, 'activate_plugin' ) );
34
-
35
- register_deactivation_hook( __FILE__, array( $this, 'deactivate_plugin' ) );
36
-
37
  add_action( 'init', array( $this, 'init_plugin' ) );
38
  add_action( 'wp_ajax_gce_ajax', array( $this, 'gce_ajax' ) );
39
  add_action( 'wp_ajax_nopriv_gce_ajax', array( $this, 'gce_ajax' ) );
@@ -47,28 +55,8 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
47
  add_action( 'wp_enqueue_scripts', array( $this, 'add_scripts' ) );
48
  add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'add_settings_link' ) );
49
  add_shortcode( 'google-calendar-events', array( $this, 'shortcode_handler' ) );
50
-
51
- if( false === get_option( 'gce_show_upgrade_notice' ) ) {
52
- add_action( 'admin_notices', array( $this, 'show_upgrade_notice' ) );
53
- }
54
  }
55
  }
56
-
57
- // Show an upgrade warning notice to users for the 2.0.0 release
58
- function show_upgrade_notice() {
59
-
60
- if ( ! empty( $_REQUEST['gce-dismiss-install-nag'] ) ) {
61
- add_option( 'gce_show_upgrade_notice', 1 );
62
- remove_action( 'admin_notices', array( $this, 'show_upgrade_notice' ) );
63
- return;
64
- }
65
-
66
- include_once( 'inc/upgrade-notice.php' );
67
- }
68
-
69
- function deactivate_plugin(){
70
- delete_option( 'gce_show_upgrade_notice' );
71
- }
72
 
73
  //PHP 5.2 is required (json_decode), so if PHP version is lower then 5.2, display an error message and deactivate the plugin
74
  function activate_plugin(){
@@ -98,7 +86,7 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
98
  if ( ! empty( $options ) ) {
99
  foreach ( $options as $key => $saved_feed_options ) {
100
  $defaults = array(
101
- 'id' => 1,
102
  'title' => '',
103
  'url' => '',
104
  'retrieve_from' => 'today',
@@ -111,6 +99,8 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
111
  'timezone' => 'default',
112
  'cache_duration' => 43200,
113
  'multiple_day' => 'false',
 
 
114
  'display_start' => 'time',
115
  'display_end' => 'time-date',
116
  'display_location' => '',
@@ -173,9 +163,9 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
173
  'javascript' => false,
174
  'loading' => 'Loading...',
175
  'error' => 'Events cannot currently be displayed, sorry! Please check back later.',
 
176
  'fields' => true,
177
- 'old_stylesheet' => false,
178
- 'save_settings' => true
179
  );
180
 
181
  $old_stylesheet_option = get_option( 'gce_stylesheet' );
@@ -197,14 +187,14 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
197
  if ( isset($options['error'] ) )
198
  $defaults['error'] = $options['error'];
199
 
 
 
 
200
  if ( isset($options['fields'] ) )
201
  $defaults['fields'] = $options['fields'];
202
 
203
  if( isset( $options['old_stylesheet'] ) )
204
  $defaults['old_stylesheet'] = $options['old_stylesheet'];
205
-
206
- if( isset( $options['save_settings'] ) )
207
- $defaults['save_settings'] = $options['save_settings'];
208
 
209
  //Save general options
210
  update_option( GCE_GENERAL_OPTIONS_NAME, $defaults );
@@ -425,6 +415,10 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
425
 
426
  $multiple_day = ( isset( $input['multiple_day'] ) ) ? 'true' : 'false';
427
 
 
 
 
 
428
  $display_start = esc_html( $input['display_start'] );
429
  $display_end = esc_html( $input['display_end'] );
430
 
@@ -450,7 +444,7 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
450
 
451
  //Fill options array with validated values
452
  $options[$id] = array(
453
- 'id' => $id,
454
  'title' => $title,
455
  'url' => $url,
456
  'retrieve_from' => $retrieve_from,
@@ -463,6 +457,8 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
463
  'timezone' => $timezone,
464
  'cache_duration' => $cache_duration,
465
  'multiple_day' => $multiple_day,
 
 
466
  'display_start' => $display_start,
467
  'display_end' => $display_end,
468
  'display_location' => $display_location,
@@ -497,9 +493,9 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
497
  $options['javascript'] = ( isset( $input['javascript'] ) ) ? true : false;
498
  $options['loading'] = esc_html( $input['loading'] );
499
  $options['error'] = wp_filter_kses( $input['error'] );
 
500
  $options['fields'] = ( isset( $input['fields'] ) ) ? true : false;
501
  $options['old_stylesheet'] = ( isset( $input['old_stylesheet'] ) ) ? true : false;
502
- $options['save_settings'] = ( isset( $input['save_settings'] ) ) ? true : false;
503
 
504
  add_settings_error( 'gce_general', 'gce_general_updated', __( 'General options updated.', GCE_TEXT_DOMAIN ), 'updated' );
505
 
@@ -586,13 +582,13 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
586
 
587
  //Adds the required CSS
588
  function add_styles() {
589
- wp_enqueue_style( 'gce_styles', WP_PLUGIN_URL . '/' . GCE_PLUGIN_NAME . '/css/gce-style.css' );
590
 
591
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
592
 
593
  //If old stylesheet option is enabled, enqueue old styles
594
  if ( $options['old_stylesheet'] )
595
- wp_enqueue_style( 'gce_old_styles', WP_PLUGIN_URL . '/' . GCE_PLUGIN_NAME . '/css/gce-old-style.css' );
596
 
597
  //If user has entered a URL to a custom stylesheet, enqueue it too
598
  if( '' != $options['stylesheet'] )
@@ -605,8 +601,8 @@ if ( ! class_exists( 'Google_Calendar_Events' ) ) {
605
  $add_to_footer = (bool) $options['javascript'];
606
 
607
  wp_enqueue_script( 'jquery' );
608
- wp_enqueue_script( 'gce_jquery_qtip', WP_PLUGIN_URL . '/' . GCE_PLUGIN_NAME . '/js/jquery-qtip.js', array( 'jquery' ), null, $add_to_footer );
609
- wp_enqueue_script( 'gce_scripts', WP_PLUGIN_URL . '/' . GCE_PLUGIN_NAME . '/js/gce-script.js', array( 'jquery' ), null, $add_to_footer );
610
  wp_localize_script( 'gce_scripts', 'GoogleCalendarEvents', array(
611
  'ajaxurl' => admin_url( 'admin-ajax.php', is_ssl() ? 'https' : 'http' ),
612
  'loading' => $options['loading']
@@ -711,9 +707,4 @@ function gce_print_grid( $feed_ids, $title_text, $max_events, $ajaxified = false
711
  }
712
 
713
  $gce = new Google_Calendar_Events();
714
-
715
-
716
-
717
-
718
-
719
- ?>
1
  <?php
2
+ /*
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.2
7
+ Author: Ross Hanney
8
+ Author URI: http://www.rhanney.co.uk
9
+ License: GPL2
10
 
11
+ ---
12
+
13
+ Copyright 2010 Ross Hanney (email: rosshanney@gmail.com)
14
+
15
+ This program is free software; you can redistribute it and/or modify
16
+ it under the terms of the GNU General Public License, version 2, as
17
+ published by the Free Software Foundation.
18
+
19
+ This program is distributed in the hope that it will be useful,
20
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
21
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
+ GNU General Public License for more details.
23
+
24
+ You should have received a copy of the GNU General Public License
25
+ along with this program; if not, write to the Free Software
26
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
27
+
28
+ ---
29
+
30
+ Contains code inspired by and adapted from GCalendar - http://g4j.laoneo.net/content/extensions/download/cat_view/2-simplepie-gcalendar.html
31
+
32
+ GCalendar: Copyright 2007-2009 Allon Moritz
33
+ */
34
 
35
  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.2' );
40
 
41
  if ( ! class_exists( 'Google_Calendar_Events' ) ) {
42
  class Google_Calendar_Events {
43
  function __construct() {
 
44
  register_activation_hook( __FILE__, array( $this, 'activate_plugin' ) );
 
 
 
45
  add_action( 'init', array( $this, 'init_plugin' ) );
46
  add_action( 'wp_ajax_gce_ajax', array( $this, 'gce_ajax' ) );
47
  add_action( 'wp_ajax_nopriv_gce_ajax', array( $this, 'gce_ajax' ) );
55
  add_action( 'wp_enqueue_scripts', array( $this, 'add_scripts' ) );
56
  add_filter( 'plugin_action_links_' . plugin_basename( __FILE__ ), array( $this, 'add_settings_link' ) );
57
  add_shortcode( 'google-calendar-events', array( $this, 'shortcode_handler' ) );
 
 
 
 
58
  }
59
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
 
61
  //PHP 5.2 is required (json_decode), so if PHP version is lower then 5.2, display an error message and deactivate the plugin
62
  function activate_plugin(){
86
  if ( ! empty( $options ) ) {
87
  foreach ( $options as $key => $saved_feed_options ) {
88
  $defaults = array(
89
+ 'id' => 1,
90
  'title' => '',
91
  'url' => '',
92
  'retrieve_from' => 'today',
99
  'timezone' => 'default',
100
  'cache_duration' => 43200,
101
  'multiple_day' => 'false',
102
+ 'query' => '',
103
+ 'expand_recurring' => 'true',
104
  'display_start' => 'time',
105
  'display_end' => 'time-date',
106
  'display_location' => '',
163
  'javascript' => false,
164
  'loading' => 'Loading...',
165
  'error' => 'Events cannot currently be displayed, sorry! Please check back later.',
166
+ 'no_events' => 'There are currently no events to display.',
167
  'fields' => true,
168
+ 'old_stylesheet' => false
 
169
  );
170
 
171
  $old_stylesheet_option = get_option( 'gce_stylesheet' );
187
  if ( isset($options['error'] ) )
188
  $defaults['error'] = $options['error'];
189
 
190
+ if ( isset($options['no_events'] ) )
191
+ $defaults['no_events'] = $options['no_events'];
192
+
193
  if ( isset($options['fields'] ) )
194
  $defaults['fields'] = $options['fields'];
195
 
196
  if( isset( $options['old_stylesheet'] ) )
197
  $defaults['old_stylesheet'] = $options['old_stylesheet'];
 
 
 
198
 
199
  //Save general options
200
  update_option( GCE_GENERAL_OPTIONS_NAME, $defaults );
415
 
416
  $multiple_day = ( isset( $input['multiple_day'] ) ) ? 'true' : 'false';
417
 
418
+ $query = sanitize_text_field( $input['query'] );
419
+
420
+ $expand_recurring = ( isset( $input['expand_recurring'] ) ) ? 'true' : 'false';
421
+
422
  $display_start = esc_html( $input['display_start'] );
423
  $display_end = esc_html( $input['display_end'] );
424
 
444
 
445
  //Fill options array with validated values
446
  $options[$id] = array(
447
+ 'id' => $id,
448
  'title' => $title,
449
  'url' => $url,
450
  'retrieve_from' => $retrieve_from,
457
  'timezone' => $timezone,
458
  'cache_duration' => $cache_duration,
459
  'multiple_day' => $multiple_day,
460
+ 'query' => $query,
461
+ 'expand_recurring' => $expand_recurring,
462
  'display_start' => $display_start,
463
  'display_end' => $display_end,
464
  'display_location' => $display_location,
493
  $options['javascript'] = ( isset( $input['javascript'] ) ) ? true : false;
494
  $options['loading'] = esc_html( $input['loading'] );
495
  $options['error'] = wp_filter_kses( $input['error'] );
496
+ $options['no_events'] = wp_filter_kses( $input['no_events'] );
497
  $options['fields'] = ( isset( $input['fields'] ) ) ? true : false;
498
  $options['old_stylesheet'] = ( isset( $input['old_stylesheet'] ) ) ? true : false;
 
499
 
500
  add_settings_error( 'gce_general', 'gce_general_updated', __( 'General options updated.', GCE_TEXT_DOMAIN ), 'updated' );
501
 
582
 
583
  //Adds the required CSS
584
  function add_styles() {
585
+ wp_enqueue_style( 'gce_styles', plugins_url( '/css/gce-style.css', __FILE__ ) );
586
 
587
  $options = get_option( GCE_GENERAL_OPTIONS_NAME );
588
 
589
  //If old stylesheet option is enabled, enqueue old styles
590
  if ( $options['old_stylesheet'] )
591
+ wp_enqueue_style( 'gce_old_styles', plugins_url( '/css/gce-old-style.css', __FILE__ ) );
592
 
593
  //If user has entered a URL to a custom stylesheet, enqueue it too
594
  if( '' != $options['stylesheet'] )
601
  $add_to_footer = (bool) $options['javascript'];
602
 
603
  wp_enqueue_script( 'jquery' );
604
+ wp_enqueue_script( 'gce_jquery_qtip', plugins_url( '/js/jquery-qtip.js', __FILE__ ), array( 'jquery' ), null, $add_to_footer );
605
+ wp_enqueue_script( 'gce_scripts', plugins_url( '/js/gce-script.js', __FILE__ ), array( 'jquery' ), null, $add_to_footer );
606
  wp_localize_script( 'gce_scripts', 'GoogleCalendarEvents', array(
607
  'ajaxurl' => admin_url( 'admin-ajax.php', is_ssl() ? 'https' : 'http' ),
608
  'loading' => $options['loading']
707
  }
708
 
709
  $gce = new Google_Calendar_Events();
710
+ ?>
 
 
 
 
 
inc/gce-event.php CHANGED
@@ -7,6 +7,7 @@ class GCE_Event{
7
  private $start_time;
8
  private $end_time;
9
  private $link;
 
10
  private $type;
11
  private $num_in_day;
12
  private $pos;
@@ -15,7 +16,7 @@ class GCE_Event{
15
  private $time_now;
16
  private $regex;
17
 
18
- function __construct( $id, $title, $description, $location, $start_time, $end_time, $link ) {
19
  $this->id = $id;
20
  $this->title = $title;
21
  $this->description = $description;
@@ -23,6 +24,7 @@ class GCE_Event{
23
  $this->start_time = $start_time;
24
  $this->end_time = $end_time;
25
  $this->link = $link;
 
26
 
27
  //Calculate which day type this event is (SWD = single whole day, SPD = single part day, MWD = multiple whole day, MPD = multiple part day)
28
  if ( ( $start_time + 86400 ) <= $end_time ) {
@@ -141,26 +143,28 @@ class GCE_Event{
141
 
142
  //Anything between the opening and closing tags of the following logical shortcodes (including further shortcodes) will only be displayed if:
143
 
144
- 'if-all-day', //This is an all-day event
145
- 'if-not-all-day', //This is not an all-day event
146
- 'if-title', //The event has a title
147
- 'if-description', //The event has a description
148
- 'if-location', //The event has a location
149
- 'if-tooltip', //The current display type is 'tooltip'
150
- 'if-list', //The current display type is 'list'
151
- 'if-now', //The event is taking place now (after the start time, but before the end time)
152
- 'if-not-now', //The event is not taking place now (may have ended or not yet started)
153
- 'if-started', //The event has started (and even if it has ended)
154
- 'if-not-started', //The event has not yet started
155
- 'if-ended', //The event has ended
156
- 'if-not-ended', //The event has not ended (and even if it hasn't started)
157
- 'if-first', //The event is the first in the day
158
- 'if-not-first', //The event is not the first in the day
159
- 'if-multi-day', //The event spans multiple days
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
  }
@@ -203,6 +207,12 @@ class GCE_Event{
203
  case 'event-title':
204
  $title = esc_html( trim( $this->title ) );
205
 
 
 
 
 
 
 
206
  if ( $markdown && function_exists( 'Markdown' ) )
207
  $title = Markdown( $title );
208
 
@@ -274,10 +284,17 @@ class GCE_Event{
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];
@@ -403,6 +420,18 @@ class GCE_Event{
403
  return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
404
 
405
  return '';
 
 
 
 
 
 
 
 
 
 
 
 
406
  }
407
  }
408
 
@@ -478,7 +507,7 @@ class GCE_Event{
478
  return $markup;
479
  }
480
 
481
- //Returns the difference between two times in human-readable format. Based on a patch for human_time_diff posted in the WordPress trac (http://core.trac.wordpress.org/ticket/9272) by Viper007Bond
482
  function gce_human_time_diff( $from, $to = '', $limit = 1 ) {
483
  $units = array(
484
  31556926 => array( __( '%s year', GCE_TEXT_DOMAIN ), __( '%s years', GCE_TEXT_DOMAIN ) ),
@@ -490,7 +519,7 @@ class GCE_Event{
490
  );
491
 
492
  if ( empty( $to ) )
493
- $to = time();
494
 
495
  $from = (int) $from;
496
  $to = (int) $to;
@@ -501,27 +530,27 @@ class GCE_Event{
501
 
502
  foreach ( $units as $unitsec => $unitnames ) {
503
  if ( $items >= $limit )
504
- break;
505
 
506
  if ( $diff < $unitsec )
507
- continue;
508
 
509
- $numthisunits = floor( $diff / $unitsec );
510
- $diff = $diff - ( $numthisunits * $unitsec );
511
- $items++;
512
 
513
  if ( $numthisunits > 0 )
514
- $output[] = sprintf( _n( $unitnames[0], $unitnames[1], $numthisunits ), $numthisunits );
515
- }
516
 
517
- $seperator = _x( ', ', 'human_time_diff' );
518
 
519
  if ( ! empty( $output ) ) {
520
- return implode( $seperator, $output );
521
  } else {
522
- $smallest = array_pop( $units );
523
- return sprintf( $smallest[0], 1 );
524
- }
525
- }
526
  }
527
  ?>
7
  private $start_time;
8
  private $end_time;
9
  private $link;
10
+ private $recurs;
11
  private $type;
12
  private $num_in_day;
13
  private $pos;
16
  private $time_now;
17
  private $regex;
18
 
19
+ function __construct( $id, $title, $description, $location, $start_time, $end_time, $link, $recurs ) {
20
  $this->id = $id;
21
  $this->title = $title;
22
  $this->description = $description;
24
  $this->start_time = $start_time;
25
  $this->end_time = $end_time;
26
  $this->link = $link;
27
+ $this->recurs = $recurs;
28
 
29
  //Calculate which day type this event is (SWD = single whole day, SPD = single part day, MWD = multiple whole day, MPD = multiple part day)
30
  if ( ( $start_time + 86400 ) <= $end_time ) {
143
 
144
  //Anything between the opening and closing tags of the following logical shortcodes (including further shortcodes) will only be displayed if:
145
 
146
+ 'if-all-day', //This is an all-day event
147
+ 'if-not-all-day', //This is not an all-day event
148
+ 'if-title', //The event has a title
149
+ 'if-description', //The event has a description
150
+ 'if-location', //The event has a location
151
+ 'if-tooltip', //The current display type is 'tooltip'
152
+ 'if-list', //The current display type is 'list'
153
+ 'if-now', //The event is taking place now (after the start time, but before the end time)
154
+ 'if-not-now', //The event is not taking place now (may have ended or not yet started)
155
+ 'if-started', //The event has started (and even if it has ended)
156
+ 'if-not-started', //The event has not yet started
157
+ 'if-ended', //The event has ended
158
+ 'if-not-ended', //The event has not ended (and even if it hasn't started)
159
+ 'if-first', //The event is the first in the day
160
+ 'if-not-first', //The event is not the first in the day
161
+ 'if-multi-day', //The event spans multiple days
162
+ 'if-single-day', //The event does not span multiple days
163
+ 'if-recurring', //The event is recurring
164
+ 'if-not-recurring' //The event is not recurring
165
  );
166
 
167
+ $this->regex = '/\\[(\\[?)(' . implode( '|', $shortcodes ) . ')(?![\\w-])([^\\]\\/]*(?:\\/(?!\\])[^\\]\\/]*)*?)(?:(\\/)\\]|\\](?:([^\\[]*+(?:\\[(?!\\/\\2\\])[^\\[]*+)*+)\\[\\/\\2\\])?)(\\]?)/s';
168
 
169
  return $this->look_for_shortcodes( $this->feed->get_builder() );
170
  }
207
  case 'event-title':
208
  $title = esc_html( trim( $this->title ) );
209
 
210
+ //If a word limit has been set, trim the title to the required length
211
+ if ( 0 != $limit ) {
212
+ preg_match( '/([\S]+\s*){0,' . $limit . '}/', esc_html( $this->title ), $title );
213
+ $title = trim( $title[0] );
214
+ }
215
+
216
  if ( $markdown && function_exists( 'Markdown' ) )
217
  $title = Markdown( $title );
218
 
284
 
285
  case 'link':
286
  $new_window = ( $newwindow ) ? ' target="_blank"' : '';
287
+
288
+ $tz = $this->feed->get_timezone();
289
+ $tz = ( empty( $tz ) ) ? '' : '&ctz=' . $tz;
290
+
291
+ return $m[1] . '<a href="' . esc_url( $this->link . $tz ) . '"' . $new_window . '>' . $this->look_for_shortcodes( $m[5] ) . '</a>' . $m[6];
292
 
293
  case 'url':
294
+ $tz = $this->feed->get_timezone();
295
+ $tz = ( empty( $tz ) ) ? '' : '&ctz=' . $tz;
296
+
297
+ return $m[1] . esc_url( $this->link . $tz ) . $m[6];
298
 
299
  case 'feed-id':
300
  return $m[1] . intval( $this->feed->get_feed_id() ) . $m[6];
420
  return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
421
 
422
  return '';
423
+
424
+ case 'if-recurring':
425
+ if ( $this->recurs )
426
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
427
+
428
+ return '';
429
+
430
+ case 'if-not-recurring':
431
+ if ( ! $this->recurs )
432
+ return $m[1] . $this->look_for_shortcodes( $m[5] ) . $m[6];
433
+
434
+ return '';
435
  }
436
  }
437
 
507
  return $markup;
508
  }
509
 
510
+ //Returns the difference between two times in human-readable format. Based on a patch for human_time_diff posted in the WordPress trac (http://core.trac.wordpress.org/ticket/9272) by Viper007Bond
511
  function gce_human_time_diff( $from, $to = '', $limit = 1 ) {
512
  $units = array(
513
  31556926 => array( __( '%s year', GCE_TEXT_DOMAIN ), __( '%s years', GCE_TEXT_DOMAIN ) ),
519
  );
520
 
521
  if ( empty( $to ) )
522
+ $to = time();
523
 
524
  $from = (int) $from;
525
  $to = (int) $to;
530
 
531
  foreach ( $units as $unitsec => $unitnames ) {
532
  if ( $items >= $limit )
533
+ break;
534
 
535
  if ( $diff < $unitsec )
536
+ continue;
537
 
538
+ $numthisunits = floor( $diff / $unitsec );
539
+ $diff = $diff - ( $numthisunits * $unitsec );
540
+ $items++;
541
 
542
  if ( $numthisunits > 0 )
543
+ $output[] = sprintf( _n( $unitnames[0], $unitnames[1], $numthisunits ), $numthisunits );
544
+ }
545
 
546
+ $seperator = _x( ', ', 'human_time_diff' );
547
 
548
  if ( ! empty( $output ) ) {
549
+ return implode( $seperator, $output );
550
  } else {
551
+ $smallest = array_pop( $units );
552
+ return sprintf( $smallest[0], 1 );
553
+ }
554
+ }
555
  }
556
  ?>
inc/gce-feed.php CHANGED
@@ -16,6 +16,8 @@ class GCE_Feed{
16
  private $builder = '';
17
  private $events = array();
18
  private $error = false;
 
 
19
 
20
  function init() {
21
  require_once 'gce-event.php';
@@ -29,7 +31,7 @@ class GCE_Feed{
29
  $path = substr( $url_parts['path'], 0, strrpos( $url_parts['path'], '/' ) ) . '/full-noattendees';
30
 
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
 
@@ -41,10 +43,16 @@ class GCE_Feed{
41
  if ( ! empty( $this->timezone ) )
42
  $query .= '&ctz=' . $this->timezone;
43
 
 
 
 
 
 
 
44
  //If enabled, use experimental 'fields' parameter of Google Data API, so that only necessary data is retrieved. This *significantly* reduces amount of data to retrieve and process
45
  $general_options = get_option( GCE_GENERAL_OPTIONS_NAME );
46
  if ( $general_options['fields'] )
47
- $query .= '&fields=entry(title,link[@rel="alternate"],content,gd:where,gd:when,gCal:uid)';
48
 
49
  //Put the URL back together
50
  $url = $scheme_and_host . $path . $query;
@@ -82,9 +90,10 @@ class GCE_Feed{
82
  $location = esc_html( $event['gd$where'][0]['valueString'] );
83
  $start_time = $this->iso_to_ts( $event['gd$when'][0]['startTime'] );
84
  $end_time = $this->iso_to_ts( $event['gd$when'][0]['endTime'] );
 
85
 
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
 
@@ -98,7 +107,7 @@ class GCE_Feed{
98
  $this->error = __( 'Some data was retrieved, but could not be parsed successfully. Please ensure your feed URL is correct.', GCE_TEXT_DOMAIN );
99
  }
100
  } else {
101
- //The response code wasn't 200, so generate a helpful(ish) error message depending on error code
102
  switch ( $raw_data['response']['code'] ) {
103
  case 404:
104
  $this->error = __( 'The feed could not be found (404). Please ensure your feed URL is correct.', GCE_TEXT_DOMAIN );
@@ -191,6 +200,14 @@ class GCE_Feed{
191
  $this->builder = $v;
192
  }
193
 
 
 
 
 
 
 
 
 
194
  //Getters
195
 
196
  function get_events() {
@@ -244,5 +261,13 @@ class GCE_Feed{
244
  function get_builder() {
245
  return $this->builder;
246
  }
 
 
 
 
 
 
 
 
247
  }
248
  ?>
16
  private $builder = '';
17
  private $events = array();
18
  private $error = false;
19
+ private $text_query = '';
20
+ private $expand_recurring = false;
21
 
22
  function init() {
23
  require_once 'gce-event.php';
31
  $path = substr( $url_parts['path'], 0, strrpos( $url_parts['path'], '/' ) ) . '/full-noattendees';
32
 
33
  //Add the default parameters to the querystring (retrieving JSON, not XML)
34
+ $query = '?alt=json&sortorder=ascending&orderby=starttime';
35
 
36
  $gmt_offset = get_option( 'gmt_offset' ) * 3600;
37
 
43
  if ( ! empty( $this->timezone ) )
44
  $query .= '&ctz=' . $this->timezone;
45
 
46
+ if ( ! empty( $this->text_query ) )
47
+ $query .= '&q=' . rawurlencode( $this->text_query );
48
+
49
+ if ( $this->expand_recurring )
50
+ $query .= '&singleevents=true';
51
+
52
  //If enabled, use experimental 'fields' parameter of Google Data API, so that only necessary data is retrieved. This *significantly* reduces amount of data to retrieve and process
53
  $general_options = get_option( GCE_GENERAL_OPTIONS_NAME );
54
  if ( $general_options['fields'] )
55
+ $query .= '&fields=entry(title,link[@rel="alternate"],content,gd:where,gd:when,gd:recurrence,gCal:uid)';
56
 
57
  //Put the URL back together
58
  $url = $scheme_and_host . $path . $query;
90
  $location = esc_html( $event['gd$where'][0]['valueString'] );
91
  $start_time = $this->iso_to_ts( $event['gd$when'][0]['startTime'] );
92
  $end_time = $this->iso_to_ts( $event['gd$when'][0]['endTime'] );
93
+ $recurs = isset( $event['gd$recurrence'] );
94
 
95
  //Create a GCE_Event using the above data. Add it to the array of events
96
+ $this->events[] = new GCE_Event( $id, $title, $description, $location, $start_time, $end_time, $link, $recurs );
97
  }
98
  }
99
 
107
  $this->error = __( 'Some data was retrieved, but could not be parsed successfully. Please ensure your feed URL is correct.', GCE_TEXT_DOMAIN );
108
  }
109
  } else {
110
+ //The response code wasn't 200, so generate a helpful(ish) error message depending on error code
111
  switch ( $raw_data['response']['code'] ) {
112
  case 404:
113
  $this->error = __( 'The feed could not be found (404). Please ensure your feed URL is correct.', GCE_TEXT_DOMAIN );
200
  $this->builder = $v;
201
  }
202
 
203
+ function set_query( $v ) {
204
+ $this->text_query = $v;
205
+ }
206
+
207
+ function set_expand_recurring( $v ) {
208
+ $this->expand_recurring = $v;
209
+ }
210
+
211
  //Getters
212
 
213
  function get_events() {
261
  function get_builder() {
262
  return $this->builder;
263
  }
264
+
265
+ function get_query() {
266
+ return $this->text_query;
267
+ }
268
+
269
+ function get_expand_recurring() {
270
+ return $this->expand_recurring;
271
+ }
272
  }
273
  ?>
inc/gce-parser.php CHANGED
@@ -37,23 +37,29 @@ class GCE_Parser {
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,19 +71,23 @@ class GCE_Parser {
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'] );
@@ -86,12 +96,17 @@ class GCE_Parser {
86
  $feed->set_feed_end( 2145916800 ); //any - 2038-01-01 00:00
87
  }
88
 
89
- //Set date and time formats. If they have not been set by user, set to global WordPress formats
90
  $feed->set_date_format( ( empty( $feed_options['date_format'] ) ) ? get_option( 'date_format' ) : $feed_options['date_format'] );
91
  $feed->set_time_format( ( empty( $feed_options['time_format'] ) ) ? get_option( 'time_format' ) : $feed_options['time_format'] );
92
  //Set whether to handle multiple day events
93
  $feed->set_multi_day( ( 'true' == $feed_options['multiple_day'] ) ? true : false );
94
 
 
 
 
 
 
95
  //Sets all display options
96
  $feed->set_display_options( array(
97
  'display_start' => $feed_options['display_start'],
@@ -311,8 +326,10 @@ class GCE_Parser {
311
  $event_days = $this->get_event_days();
312
 
313
  //If event_days is empty, there are no events in the feed(s), so return a message indicating this
314
- if( empty( $event_days) )
315
- return '<p>' . __( 'There are currently no events to display.', GCE_TEXT_DOMAIN ) . '</p>';
 
 
316
 
317
  $today = mktime( 0, 0, 0, date( 'm', $time_now ), date( 'd', $time_now ), date( 'Y', $time_now ) );
318
 
37
  if ( 'default' != $feed_options['timezone'] )
38
  $feed->set_timezone( $feed_options['timezone'] );
39
 
40
+ $now = current_time( 'timestamp' );
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', $now ), date( 'i', $now ), 0, date( 'm', $now ), date( 'j', $now ), date( 'Y', $now ) ) + $feed_options['retrieve_from_value'] );
47
  break;
48
  case 'today':
49
+ $feed->set_feed_start( mktime( 0, 0, 0, date( 'm', $now ), date( 'j', $now ), date( 'Y', $now ) ) + $feed_options['retrieve_from_value'] );
50
  break;
51
  case 'week':
52
+ //If current day of week is before week start day, adjust week start date to previous week
53
+ $diff = date( 'w', $now ) - $this->start_of_week;
54
+ $diff = ( $diff < 0 ) ? -$diff + 7 : -$diff;
55
+
56
+ $feed->set_feed_start( mktime( 0, 0, 0, date( 'm', $now ), ( date( 'j', $now ) + $diff ), date( 'Y', $now ) ) + $feed_options['retrieve_from_value'] );
57
  break;
58
  case 'month-start':
59
+ $feed->set_feed_start( mktime( 0, 0, 0, date( 'm', $now ), 1, date( 'Y', $now ) ) + $feed_options['retrieve_from_value'] );
60
  break;
61
  case 'month-end':
62
+ $feed->set_feed_start( mktime( 0, 0, 0, date( 'm', $now ) + 1, 1, date( 'Y', $now ) ) + $feed_options['retrieve_from_value'] );
63
  break;
64
  case 'date':
65
  $feed->set_feed_start( $feed_options['retrieve_from_value'] );
71
  //Set the end date to the appropriate value based on the retrieve_until option
72
  switch ( $feed_options['retrieve_until'] ) {
73
  case 'now':
74
+ $feed->set_feed_end( mktime( date( 'H', $now ), date( 'i', $now ), 0, date( 'm', $now ), date( 'j', $now ), date( 'Y', $now ) ) + $feed_options['retrieve_until_value'] );
75
  break;
76
  case 'today':
77
+ $feed->set_feed_end( mktime( 0, 0, 0, date( 'm', $now ), date( 'j', $now ), date( 'Y', $now ) ) + $feed_options['retrieve_until_value'] );
78
  break;
79
  case 'week':
80
+ //If current day of week is before week start day, adjust week start date to previous week
81
+ $diff = date( 'w', $now ) - $this->start_of_week;
82
+ $diff = ( $diff < 0 ) ? -$diff + 7 : -$diff;
83
+
84
+ $feed->set_feed_end( mktime( 0, 0, 0, date( 'm', $now ), ( date( 'j', $now ) + $diff ), date( 'Y', $now ) ) + $feed_options['retrieve_until_value'] );
85
  break;
86
  case 'month-start':
87
+ $feed->set_feed_end( mktime( 0, 0, 0, date( 'm', $now ), 1, date( 'Y', $now ) ) + $feed_options['retrieve_until_value'] );
88
  break;
89
  case 'month-end':
90
+ $feed->set_feed_end( mktime( 0, 0, 0, date( 'm', $now ) + 1, 1, date( 'Y', $now ) ) + $feed_options['retrieve_until_value'] );
91
  break;
92
  case 'date':
93
  $feed->set_feed_end( $feed_options['retrieve_until_value'] );
96
  $feed->set_feed_end( 2145916800 ); //any - 2038-01-01 00:00
97
  }
98
 
99
+ //Set date and time formats. If they have not been set by user, set to global WordPress formats
100
  $feed->set_date_format( ( empty( $feed_options['date_format'] ) ) ? get_option( 'date_format' ) : $feed_options['date_format'] );
101
  $feed->set_time_format( ( empty( $feed_options['time_format'] ) ) ? get_option( 'time_format' ) : $feed_options['time_format'] );
102
  //Set whether to handle multiple day events
103
  $feed->set_multi_day( ( 'true' == $feed_options['multiple_day'] ) ? true : false );
104
 
105
+ if ( ! empty( $feed_options['query'] ) )
106
+ $feed->set_query( $feed_options['query'] );
107
+
108
+ $feed->set_expand_recurring( ( 'true' == $feed_options['expand_recurring'] ) ? true : false );
109
+
110
  //Sets all display options
111
  $feed->set_display_options( array(
112
  'display_start' => $feed_options['display_start'],
326
  $event_days = $this->get_event_days();
327
 
328
  //If event_days is empty, there are no events in the feed(s), so return a message indicating this
329
+ if( empty( $event_days) ) {
330
+ $options = get_option( GCE_GENERAL_OPTIONS_NAME );
331
+ return '<p>' . wp_kses_post( $options['no_events'] ) . '</p>';
332
+ }
333
 
334
  $today = mktime( 0, 0, 0, date( 'm', $time_now ), date( 'd', $time_now ), date( 'Y', $time_now ) );
335
 
inc/upgrade-notice.php DELETED
@@ -1,31 +0,0 @@
1
- <?php
2
- /**
3
- * Show notice after plugin install/activate in admin dashboard until user acknowledges.
4
- *
5
- * @package PIB
6
- * @subpackage Views
7
- * @author Phil Derksen <pderksen@gmail.com>, Nick Young <mycorpweb@gmail.com>
8
- */
9
-
10
- // Exit if accessed directly.
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit;
13
- }
14
-
15
- ?>
16
-
17
- <style>
18
- #gce-install-notice .button-primary,
19
- #gce-install-notice .button-secondary {
20
- margin-left: 15px;
21
- line-height: 2;
22
- }
23
- </style>
24
-
25
- <div id="gce-install-notice" class="updated">
26
- <p>
27
- <?php _e( 'Major updates are coming to Google Calendar Events on August 23, 2014. ', 'gce' ); ?>
28
- <a href="http://philderksen.com/google-calendar-events-version-2/" target="_blank">Read more about the changes.</a>
29
- <a href="<?php echo add_query_arg( 'gce-dismiss-install-nag', 1 ); ?>" class="button-secondary"><?php _e( 'Hide this', 'gce' ); ?></a>
30
- </p>
31
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/jquery-qtip.js CHANGED
@@ -1,15 +1,15 @@
1
- /*!
2
- * jquery.qtip. The jQuery tooltip plugin
3
- *
4
- * Copyright (c) 2009 Craig Thompson
5
- * http://craigsworks.com
6
- *
7
- * Licensed under MIT
8
- * http://www.opensource.org/licenses/mit-license.php
9
- *
10
- * Launch : February 2009
11
- * Version : 1.0.0-rc3
12
- * Released: Tuesday 12th May, 2009 - 00:00
13
- * Debug: jquery.qtip.debug.js
14
- */
15
  (function(f){f.fn.qtip=function(B,u){var y,t,A,s,x,w,v,z;if(typeof B=="string"){if(typeof f(this).data("qtip")!=="object"){f.fn.qtip.log.error.call(self,1,f.fn.qtip.constants.NO_TOOLTIP_PRESENT,false)}if(B=="api"){return f(this).data("qtip").interfaces[f(this).data("qtip").current]}else{if(B=="interfaces"){return f(this).data("qtip").interfaces}}}else{if(!B){B={}}if(typeof B.content!=="object"||(B.content.jquery&&B.content.length>0)){B.content={text:B.content}}if(typeof B.content.title!=="object"){B.content.title={text:B.content.title}}if(typeof B.position!=="object"){B.position={corner:B.position}}if(typeof B.position.corner!=="object"){B.position.corner={target:B.position.corner,tooltip:B.position.corner}}if(typeof B.show!=="object"){B.show={when:B.show}}if(typeof B.show.when!=="object"){B.show.when={event:B.show.when}}if(typeof B.show.effect!=="object"){B.show.effect={type:B.show.effect}}if(typeof B.hide!=="object"){B.hide={when:B.hide}}if(typeof B.hide.when!=="object"){B.hide.when={event:B.hide.when}}if(typeof B.hide.effect!=="object"){B.hide.effect={type:B.hide.effect}}if(typeof B.style!=="object"){B.style={name:B.style}}B.style=c(B.style);s=f.extend(true,{},f.fn.qtip.defaults,B);s.style=a.call({options:s},s.style);s.user=f.extend(true,{},B)}return f(this).each(function(){if(typeof B=="string"){w=B.toLowerCase();A=f(this).qtip("interfaces");if(typeof A=="object"){if(u===true&&w=="destroy"){while(A.length>0){A[A.length-1].destroy()}}else{if(u!==true){A=[f(this).qtip("api")]}for(y=0;y<A.length;y++){if(w=="destroy"){A[y].destroy()}else{if(A[y].status.rendered===true){if(w=="show"){A[y].show()}else{if(w=="hide"){A[y].hide()}else{if(w=="focus"){A[y].focus()}else{if(w=="disable"){A[y].disable(true)}else{if(w=="enable"){A[y].disable(false)}}}}}}}}}}}else{v=f.extend(true,{},s);v.hide.effect.length=s.hide.effect.length;v.show.effect.length=s.show.effect.length;if(v.position.container===false){v.position.container=f(document.body)}if(v.position.target===false){v.position.target=f(this)}if(v.show.when.target===false){v.show.when.target=f(this)}if(v.hide.when.target===false){v.hide.when.target=f(this)}t=f.fn.qtip.interfaces.length;for(y=0;y<t;y++){if(typeof f.fn.qtip.interfaces[y]=="undefined"){t=y;break}}x=new d(f(this),v,t);f.fn.qtip.interfaces[t]=x;if(typeof f(this).data("qtip")==="object"&&f(this).data("qtip")){if(typeof f(this).attr("qtip")==="undefined"){f(this).data("qtip").current=f(this).data("qtip").interfaces.length}f(this).data("qtip").interfaces.push(x)}else{f(this).data("qtip",{current:0,interfaces:[x]})}if(v.content.prerender===false&&v.show.when.event!==false&&v.show.ready!==true){v.show.when.target.bind(v.show.when.event+".qtip-"+t+"-create",{qtip:t},function(C){z=f.fn.qtip.interfaces[C.data.qtip];z.options.show.when.target.unbind(z.options.show.when.event+".qtip-"+C.data.qtip+"-create");z.cache.mouse={x:C.pageX,y:C.pageY};p.call(z);z.options.show.when.target.trigger(z.options.show.when.event)})}else{x.cache.mouse={x:v.show.when.target.offset().left,y:v.show.when.target.offset().top};p.call(x)}}})};function d(u,t,v){var s=this;s.id=v;s.options=t;s.status={animated:false,rendered:false,disabled:false,focused:false};s.elements={target:u.addClass(s.options.style.classes.target),tooltip:null,wrapper:null,content:null,contentWrapper:null,title:null,button:null,tip:null,bgiframe:null};s.cache={mouse:{},position:{},toggle:0};s.timers={};f.extend(s,s.options.api,{show:function(y){var x,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"show")}if(s.elements.tooltip.css("display")!=="none"){return s}s.elements.tooltip.stop(true,false);x=s.beforeShow.call(s,y);if(x===false){return s}function w(){if(s.options.position.type!=="static"){s.focus()}s.onShow.call(s,y);if(f.browser.msie){s.elements.tooltip.get(0).style.removeAttribute("filter")}}s.cache.toggle=1;if(s.options.position.type!=="static"){s.updatePosition(y,(s.options.show.effect.length>0))}if(typeof s.options.show.solo=="object"){z=f(s.options.show.solo)}else{if(s.options.show.solo===true){z=f("div.qtip").not(s.elements.tooltip)}}if(z){z.each(function(){if(f(this).qtip("api").status.rendered===true){f(this).qtip("api").hide()}})}if(typeof s.options.show.effect.type=="function"){s.options.show.effect.type.call(s.elements.tooltip,s.options.show.effect.length);s.elements.tooltip.queue(function(){w();f(this).dequeue()})}else{switch(s.options.show.effect.type.toLowerCase()){case"fade":s.elements.tooltip.fadeIn(s.options.show.effect.length,w);break;case"slide":s.elements.tooltip.slideDown(s.options.show.effect.length,function(){w();if(s.options.position.type!=="static"){s.updatePosition(y,true)}});break;case"grow":s.elements.tooltip.show(s.options.show.effect.length,w);break;default:s.elements.tooltip.show(null,w);break}s.elements.tooltip.addClass(s.options.style.classes.active)}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_SHOWN,"show")},hide:function(y){var x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"hide")}else{if(s.elements.tooltip.css("display")==="none"){return s}}clearTimeout(s.timers.show);s.elements.tooltip.stop(true,false);x=s.beforeHide.call(s,y);if(x===false){return s}function w(){s.onHide.call(s,y)}s.cache.toggle=0;if(typeof s.options.hide.effect.type=="function"){s.options.hide.effect.type.call(s.elements.tooltip,s.options.hide.effect.length);s.elements.tooltip.queue(function(){w();f(this).dequeue()})}else{switch(s.options.hide.effect.type.toLowerCase()){case"fade":s.elements.tooltip.fadeOut(s.options.hide.effect.length,w);break;case"slide":s.elements.tooltip.slideUp(s.options.hide.effect.length,w);break;case"grow":s.elements.tooltip.hide(s.options.hide.effect.length,w);break;default:s.elements.tooltip.hide(null,w);break}s.elements.tooltip.removeClass(s.options.style.classes.active)}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_HIDDEN,"hide")},updatePosition:function(w,x){var C,G,L,J,H,E,y,I,B,D,K,A,F,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updatePosition")}else{if(s.options.position.type=="static"){return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.CANNOT_POSITION_STATIC,"updatePosition")}}G={position:{left:0,top:0},dimensions:{height:0,width:0},corner:s.options.position.corner.target};L={position:s.getPosition(),dimensions:s.getDimensions(),corner:s.options.position.corner.tooltip};if(s.options.position.target!=="mouse"){if(s.options.position.target.get(0).nodeName.toLowerCase()=="area"){J=s.options.position.target.attr("coords").split(",");for(C=0;C<J.length;C++){J[C]=parseInt(J[C])}H=s.options.position.target.parent("map").attr("name");E=f('img[usemap="#'+H+'"]:first').offset();G.position={left:Math.floor(E.left+J[0]),top:Math.floor(E.top+J[1])};switch(s.options.position.target.attr("shape").toLowerCase()){case"rect":G.dimensions={width:Math.ceil(Math.abs(J[2]-J[0])),height:Math.ceil(Math.abs(J[3]-J[1]))};break;case"circle":G.dimensions={width:J[2]+1,height:J[2]+1};break;case"poly":G.dimensions={width:J[0],height:J[1]};for(C=0;C<J.length;C++){if(C%2==0){if(J[C]>G.dimensions.width){G.dimensions.width=J[C]}if(J[C]<J[0]){G.position.left=Math.floor(E.left+J[C])}}else{if(J[C]>G.dimensions.height){G.dimensions.height=J[C]}if(J[C]<J[1]){G.position.top=Math.floor(E.top+J[C])}}}G.dimensions.width=G.dimensions.width-(G.position.left-E.left);G.dimensions.height=G.dimensions.height-(G.position.top-E.top);break;default:return f.fn.qtip.log.error.call(s,4,f.fn.qtip.constants.INVALID_AREA_SHAPE,"updatePosition");break}G.dimensions.width-=2;G.dimensions.height-=2}else{if(s.options.position.target.add(document.body).length===1){G.position={left:f(document).scrollLeft(),top:f(document).scrollTop()};G.dimensions={height:f(window).height(),width:f(window).width()}}else{if(typeof s.options.position.target.attr("qtip")!=="undefined"){G.position=s.options.position.target.qtip("api").cache.position}else{G.position=s.options.position.target.offset()}G.dimensions={height:s.options.position.target.outerHeight(),width:s.options.position.target.outerWidth()}}}y=f.extend({},G.position);if(G.corner.search(/right/i)!==-1){y.left+=G.dimensions.width}if(G.corner.search(/bottom/i)!==-1){y.top+=G.dimensions.height}if(G.corner.search(/((top|bottom)Middle)|center/)!==-1){y.left+=(G.dimensions.width/2)}if(G.corner.search(/((left|right)Middle)|center/)!==-1){y.top+=(G.dimensions.height/2)}}else{G.position=y={left:s.cache.mouse.x,top:s.cache.mouse.y};G.dimensions={height:1,width:1}}if(L.corner.search(/right/i)!==-1){y.left-=L.dimensions.width}if(L.corner.search(/bottom/i)!==-1){y.top-=L.dimensions.height}if(L.corner.search(/((top|bottom)Middle)|center/)!==-1){y.left-=(L.dimensions.width/2)}if(L.corner.search(/((left|right)Middle)|center/)!==-1){y.top-=(L.dimensions.height/2)}I=(f.browser.msie)?1:0;B=(f.browser.msie&&parseInt(f.browser.version.charAt(0))===6)?1:0;if(s.options.style.border.radius>0){if(L.corner.search(/Left/)!==-1){y.left-=s.options.style.border.radius}else{if(L.corner.search(/Right/)!==-1){y.left+=s.options.style.border.radius}}if(L.corner.search(/Top/)!==-1){y.top-=s.options.style.border.radius}else{if(L.corner.search(/Bottom/)!==-1){y.top+=s.options.style.border.radius}}}if(I){if(L.corner.search(/top/)!==-1){y.top-=I}else{if(L.corner.search(/bottom/)!==-1){y.top+=I}}if(L.corner.search(/left/)!==-1){y.left-=I}else{if(L.corner.search(/right/)!==-1){y.left+=I}}if(L.corner.search(/leftMiddle|rightMiddle/)!==-1){y.top-=1}}if(s.options.position.adjust.screen===true){y=o.call(s,y,G,L)}if(s.options.position.target==="mouse"&&s.options.position.adjust.mouse===true){if(s.options.position.adjust.screen===true&&s.elements.tip){K=s.elements.tip.attr("rel")}else{K=s.options.position.corner.tooltip}y.left+=(K.search(/right/i)!==-1)?-6:6;y.top+=(K.search(/bottom/i)!==-1)?-6:6}if(!s.elements.bgiframe&&f.browser.msie&&parseInt(f.browser.version.charAt(0))==6){f("select, object").each(function(){A=f(this).offset();A.bottom=A.top+f(this).height();A.right=A.left+f(this).width();if(y.top+L.dimensions.height>=A.top&&y.left+L.dimensions.width>=A.left){k.call(s)}})}y.left+=s.options.position.adjust.x;y.top+=s.options.position.adjust.y;F=s.getPosition();if(y.left!=F.left||y.top!=F.top){z=s.beforePositionUpdate.call(s,w);if(z===false){return s}s.cache.position=y;if(x===true){s.status.animated=true;s.elements.tooltip.animate(y,200,"swing",function(){s.status.animated=false})}else{s.elements.tooltip.css(y)}s.onPositionUpdate.call(s,w);if(typeof w!=="undefined"&&w.type&&w.type!=="mousemove"){f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_POSITION_UPDATED,"updatePosition")}}return s},updateWidth:function(w){var x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateWidth")}else{if(w&&typeof w!=="number"){return f.fn.qtip.log.error.call(s,2,"newWidth must be of type number","updateWidth")}}x=s.elements.contentWrapper.siblings().add(s.elements.tip).add(s.elements.button);if(!w){if(typeof s.options.style.width.value=="number"){w=s.options.style.width.value}else{s.elements.tooltip.css({width:"auto"});x.hide();if(f.browser.msie){s.elements.wrapper.add(s.elements.contentWrapper.children()).css({zoom:"normal"})}w=s.getDimensions().width+1;if(!s.options.style.width.value){if(w>s.options.style.width.max){w=s.options.style.width.max}if(w<s.options.style.width.min){w=s.options.style.width.min}}}}if(w%2!==0){w-=1}s.elements.tooltip.width(w);x.show();if(s.options.style.border.radius){s.elements.tooltip.find(".qtip-betweenCorners").each(function(y){f(this).width(w-(s.options.style.border.radius*2))})}if(f.browser.msie){s.elements.wrapper.add(s.elements.contentWrapper.children()).css({zoom:"1"});s.elements.wrapper.width(w);if(s.elements.bgiframe){s.elements.bgiframe.width(w).height(s.getDimensions.height)}}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_WIDTH_UPDATED,"updateWidth")},updateStyle:function(w){var z,A,x,y,B;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateStyle")}else{if(typeof w!=="string"||!f.fn.qtip.styles[w]){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.STYLE_NOT_DEFINED,"updateStyle")}}s.options.style=a.call(s,f.fn.qtip.styles[w],s.options.user.style);s.elements.content.css(q(s.options.style));if(s.options.content.title.text!==false){s.elements.title.css(q(s.options.style.title,true))}s.elements.contentWrapper.css({borderColor:s.options.style.border.color});if(s.options.style.tip.corner!==false){if(f("<canvas>").get(0).getContext){z=s.elements.tooltip.find(".qtip-tip canvas:first");x=z.get(0).getContext("2d");x.clearRect(0,0,300,300);y=z.parent("div[rel]:first").attr("rel");B=b(y,s.options.style.tip.size.width,s.options.style.tip.size.height);h.call(s,z,B,s.options.style.tip.color||s.options.style.border.color)}else{if(f.browser.msie){z=s.elements.tooltip.find('.qtip-tip [nodeName="shape"]');z.attr("fillcolor",s.options.style.tip.color||s.options.style.border.color)}}}if(s.options.style.border.radius>0){s.elements.tooltip.find(".qtip-betweenCorners").css({backgroundColor:s.options.style.border.color});if(f("<canvas>").get(0).getContext){A=g(s.options.style.border.radius);s.elements.tooltip.find(".qtip-wrapper canvas").each(function(){x=f(this).get(0).getContext("2d");x.clearRect(0,0,300,300);y=f(this).parent("div[rel]:first").attr("rel");r.call(s,f(this),A[y],s.options.style.border.radius,s.options.style.border.color)})}else{if(f.browser.msie){s.elements.tooltip.find('.qtip-wrapper [nodeName="arc"]').each(function(){f(this).attr("fillcolor",s.options.style.border.color)})}}}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_STYLE_UPDATED,"updateStyle")},updateContent:function(A,y){var z,x,w;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateContent")}else{if(!A){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.NO_CONTENT_PROVIDED,"updateContent")}}z=s.beforeContentUpdate.call(s,A);if(typeof z=="string"){A=z}else{if(z===false){return}}if(f.browser.msie){s.elements.contentWrapper.children().css({zoom:"normal"})}if(A.jquery&&A.length>0){A.clone(true).appendTo(s.elements.content).show()}else{s.elements.content.html(A)}x=s.elements.content.find("img[complete=false]");if(x.length>0){w=0;x.each(function(C){f('<img src="'+f(this).attr("src")+'" />').load(function(){if(++w==x.length){B()}})})}else{B()}function B(){s.updateWidth();if(y!==false){if(s.options.position.type!=="static"){s.updatePosition(s.elements.tooltip.is(":visible"),true)}if(s.options.style.tip.corner!==false){n.call(s)}}}s.onContentUpdate.call(s);return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_CONTENT_UPDATED,"loadContent")},loadContent:function(w,z,A){var y;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"loadContent")}y=s.beforeContentLoad.call(s);if(y===false){return s}if(A=="post"){f.post(w,z,x)}else{f.get(w,z,x)}function x(B){s.onContentLoad.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_CONTENT_LOADED,"loadContent");s.updateContent(B)}return s},updateTitle:function(w){if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateTitle")}else{if(!w){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.NO_CONTENT_PROVIDED,"updateTitle")}}returned=s.beforeTitleUpdate.call(s);if(returned===false){return s}if(s.elements.button){s.elements.button=s.elements.button.clone(true)}s.elements.title.html(w);if(s.elements.button){s.elements.title.prepend(s.elements.button)}s.onTitleUpdate.call(s);return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_TITLE_UPDATED,"updateTitle")},focus:function(A){var y,x,w,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"focus")}else{if(s.options.position.type=="static"){return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.CANNOT_FOCUS_STATIC,"focus")}}y=parseInt(s.elements.tooltip.css("z-index"));x=6000+f("div.qtip[qtip]").length-1;if(!s.status.focused&&y!==x){z=s.beforeFocus.call(s,A);if(z===false){return s}f("div.qtip[qtip]").not(s.elements.tooltip).each(function(){if(f(this).qtip("api").status.rendered===true){w=parseInt(f(this).css("z-index"));if(typeof w=="number"&&w>-1){f(this).css({zIndex:parseInt(f(this).css("z-index"))-1})}f(this).qtip("api").status.focused=false}});s.elements.tooltip.css({zIndex:x});s.status.focused=true;s.onFocus.call(s,A);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_FOCUSED,"focus")}return s},disable:function(w){if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"disable")}if(w){if(!s.status.disabled){s.status.disabled=true;f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_DISABLED,"disable")}else{f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.TOOLTIP_ALREADY_DISABLED,"disable")}}else{if(s.status.disabled){s.status.disabled=false;f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_ENABLED,"disable")}else{f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.TOOLTIP_ALREADY_ENABLED,"disable")}}return s},destroy:function(){var w,x,y;x=s.beforeDestroy.call(s);if(x===false){return s}if(s.status.rendered){s.options.show.when.target.unbind("mousemove.qtip",s.updatePosition);s.options.show.when.target.unbind("mouseout.qtip",s.hide);s.options.show.when.target.unbind(s.options.show.when.event+".qtip");s.options.hide.when.target.unbind(s.options.hide.when.event+".qtip");s.elements.tooltip.unbind(s.options.hide.when.event+".qtip");s.elements.tooltip.unbind("mouseover.qtip",s.focus);s.elements.tooltip.remove()}else{s.options.show.when.target.unbind(s.options.show.when.event+".qtip-create")}if(typeof s.elements.target.data("qtip")=="object"){y=s.elements.target.data("qtip").interfaces;if(typeof y=="object"&&y.length>0){for(w=0;w<y.length-1;w++){if(y[w].id==s.id){y.splice(w,1)}}}}delete f.fn.qtip.interfaces[s.id];if(typeof y=="object"&&y.length>0){s.elements.target.data("qtip").current=y.length-1}else{s.elements.target.removeData("qtip")}s.onDestroy.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_DESTROYED,"destroy");return s.elements.target},getPosition:function(){var w,x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"getPosition")}w=(s.elements.tooltip.css("display")!=="none")?false:true;if(w){s.elements.tooltip.css({visiblity:"hidden"}).show()}x=s.elements.tooltip.offset();if(w){s.elements.tooltip.css({visiblity:"visible"}).hide()}return x},getDimensions:function(){var w,x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"getDimensions")}w=(!s.elements.tooltip.is(":visible"))?true:false;if(w){s.elements.tooltip.css({visiblity:"hidden"}).show()}x={height:s.elements.tooltip.outerHeight(),width:s.elements.tooltip.outerWidth()};if(w){s.elements.tooltip.css({visiblity:"visible"}).hide()}return x}})}function p(){var s,w,u,t,v,y,x;s=this;s.beforeRender.call(s);s.status.rendered=true;s.elements.tooltip='<div qtip="'+s.id+'" class="qtip '+(s.options.style.classes.tooltip||s.options.style)+'"style="display:none; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0;position:'+s.options.position.type+';"> <div class="qtip-wrapper" style="position:relative; overflow:hidden; text-align:left;"> <div class="qtip-contentWrapper" style="overflow:hidden;"> <div class="qtip-content '+s.options.style.classes.content+'"></div></div></div></div>';s.elements.tooltip=f(s.elements.tooltip);s.elements.tooltip.appendTo(s.options.position.container);s.elements.tooltip.data("qtip",{current:0,interfaces:[s]});s.elements.wrapper=s.elements.tooltip.children("div:first");s.elements.contentWrapper=s.elements.wrapper.children("div:first").css({background:s.options.style.background});s.elements.content=s.elements.contentWrapper.children("div:first").css(q(s.options.style));if(f.browser.msie){s.elements.wrapper.add(s.elements.content).css({zoom:1})}if(s.options.hide.when.event=="unfocus"){s.elements.tooltip.attr("unfocus",true)}if(typeof s.options.style.width.value=="number"){s.updateWidth()}if(f("<canvas>").get(0).getContext||f.browser.msie){if(s.options.style.border.radius>0){m.call(s)}else{s.elements.contentWrapper.css({border:s.options.style.border.width+"px solid "+s.options.style.border.color})}if(s.options.style.tip.corner!==false){e.call(s)}}else{s.elements.contentWrapper.css({border:s.options.style.border.width+"px solid "+s.options.style.border.color});s.options.style.border.radius=0;s.options.style.tip.corner=false;f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.CANVAS_VML_NOT_SUPPORTED,"render")}if((typeof s.options.content.text=="string"&&s.options.content.text.length>0)||(s.options.content.text.jquery&&s.options.content.text.length>0)){u=s.options.content.text}else{if(typeof s.elements.target.attr("title")=="string"&&s.elements.target.attr("title").length>0){u=s.elements.target.attr("title").replace("\\n","<br />");s.elements.target.attr("title","")}else{if(typeof s.elements.target.attr("alt")=="string"&&s.elements.target.attr("alt").length>0){u=s.elements.target.attr("alt").replace("\\n","<br />");s.elements.target.attr("alt","")}else{u=" ";f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.NO_VALID_CONTENT,"render")}}}if(s.options.content.title.text!==false){j.call(s)}s.updateContent(u);l.call(s);if(s.options.show.ready===true){s.show()}if(s.options.content.url!==false){t=s.options.content.url;v=s.options.content.data;y=s.options.content.method||"get";s.loadContent(t,v,y)}s.onRender.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_RENDERED,"render")}function m(){var F,z,t,B,x,E,u,G,D,y,w,C,A,s,v;F=this;F.elements.wrapper.find(".qtip-borderBottom, .qtip-borderTop").remove();t=F.options.style.border.width;B=F.options.style.border.radius;x=F.options.style.border.color||F.options.style.tip.color;E=g(B);u={};for(z in E){u[z]='<div rel="'+z+'" style="'+((z.search(/Left/)!==-1)?"left":"right")+":0; position:absolute; height:"+B+"px; width:"+B+'px; overflow:hidden; line-height:0.1px; font-size:1px">';if(f("<canvas>").get(0).getContext){u[z]+='<canvas height="'+B+'" width="'+B+'" style="vertical-align: top"></canvas>'}else{if(f.browser.msie){G=B*2+3;u[z]+='<v:arc stroked="false" fillcolor="'+x+'" startangle="'+E[z][0]+'" endangle="'+E[z][1]+'" style="width:'+G+"px; height:"+G+"px; margin-top:"+((z.search(/bottom/)!==-1)?-2:-1)+"px; margin-left:"+((z.search(/Right/)!==-1)?E[z][2]-3.5:-1)+'px; vertical-align:top; display:inline-block; behavior:url(#default#VML)"></v:arc>'}}u[z]+="</div>"}D=F.getDimensions().width-(Math.max(t,B)*2);y='<div class="qtip-betweenCorners" style="height:'+B+"px; width:"+D+"px; overflow:hidden; background-color:"+x+'; line-height:0.1px; font-size:1px;">';w='<div class="qtip-borderTop" dir="ltr" style="height:'+B+"px; margin-left:"+B+'px; line-height:0.1px; font-size:1px; padding:0;">'+u.topLeft+u.topRight+y;F.elements.wrapper.prepend(w);C='<div class="qtip-borderBottom" dir="ltr" style="height:'+B+"px; margin-left:"+B+'px; line-height:0.1px; font-size:1px; padding:0;">'+u.bottomLeft+u.bottomRight+y;F.elements.wrapper.append(C);if(f("<canvas>").get(0).getContext){F.elements.wrapper.find("canvas").each(function(){A=E[f(this).parent("[rel]:first").attr("rel")];r.call(F,f(this),A,B,x)})}else{if(f.browser.msie){F.elements.tooltip.append('<v:image style="behavior:url(#default#VML);"></v:image>')}}s=Math.max(B,(B+(t-B)));v=Math.max(t-B,0);F.elements.contentWrapper.css({border:"0px solid "+x,borderWidth:v+"px "+s+"px"})}function r(u,w,s,t){var v=u.get(0).getContext("2d");v.fillStyle=t;v.beginPath();v.arc(w[0],w[1],s,0,Math.PI*2,false);v.fill()}function e(v){var t,s,x,u,w;t=this;if(t.elements.tip!==null){t.elements.tip.remove()}s=t.options.style.tip.color||t.options.style.border.color;if(t.options.style.tip.corner===false){return}else{if(!v){v=t.options.style.tip.corner}}x=b(v,t.options.style.tip.size.width,t.options.style.tip.size.height);t.elements.tip='<div class="'+t.options.style.classes.tip+'" dir="ltr" rel="'+v+'" style="position:absolute; height:'+t.options.style.tip.size.height+"px; width:"+t.options.style.tip.size.width+'px; margin:0 auto; line-height:0.1px; font-size:1px;">';if(f("<canvas>").get(0).getContext){t.elements.tip+='<canvas height="'+t.options.style.tip.size.height+'" width="'+t.options.style.tip.size.width+'"></canvas>'}else{if(f.browser.msie){u=t.options.style.tip.size.width+","+t.options.style.tip.size.height;w="m"+x[0][0]+","+x[0][1];w+=" l"+x[1][0]+","+x[1][1];w+=" "+x[2][0]+","+x[2][1];w+=" xe";t.elements.tip+='<v:shape fillcolor="'+s+'" stroked="false" filled="true" path="'+w+'" coordsize="'+u+'" style="width:'+t.options.style.tip.size.width+"px; height:"+t.options.style.tip.size.height+"px; line-height:0.1px; display:inline-block; behavior:url(#default#VML); vertical-align:"+((v.search(/top/)!==-1)?"bottom":"top")+'"></v:shape>';t.elements.tip+='<v:image style="behavior:url(#default#VML);"></v:image>';t.elements.contentWrapper.css("position","relative")}}t.elements.tooltip.prepend(t.elements.tip+"</div>");t.elements.tip=t.elements.tooltip.find("."+t.options.style.classes.tip).eq(0);if(f("<canvas>").get(0).getContext){h.call(t,t.elements.tip.find("canvas:first"),x,s)}if(v.search(/top/)!==-1&&f.browser.msie&&parseInt(f.browser.version.charAt(0))===6){t.elements.tip.css({marginTop:-4})}n.call(t,v)}function h(t,v,s){var u=t.get(0).getContext("2d");u.fillStyle=s;u.beginPath();u.moveTo(v[0][0],v[0][1]);u.lineTo(v[1][0],v[1][1]);u.lineTo(v[2][0],v[2][1]);u.fill()}function n(u){var t,w,s,x,v;t=this;if(t.options.style.tip.corner===false||!t.elements.tip){return}if(!u){u=t.elements.tip.attr("rel")}w=positionAdjust=(f.browser.msie)?1:0;t.elements.tip.css(u.match(/left|right|top|bottom/)[0],0);if(u.search(/top|bottom/)!==-1){if(f.browser.msie){if(parseInt(f.browser.version.charAt(0))===6){positionAdjust=(u.search(/top/)!==-1)?-3:1}else{positionAdjust=(u.search(/top/)!==-1)?1:2}}if(u.search(/Middle/)!==-1){t.elements.tip.css({left:"50%",marginLeft:-(t.options.style.tip.size.width/2)})}else{if(u.search(/Left/)!==-1){t.elements.tip.css({left:t.options.style.border.radius-w})}else{if(u.search(/Right/)!==-1){t.elements.tip.css({right:t.options.style.border.radius+w})}}}if(u.search(/top/)!==-1){t.elements.tip.css({top:-positionAdjust})}else{t.elements.tip.css({bottom:positionAdjust})}}else{if(u.search(/left|right/)!==-1){if(f.browser.msie){positionAdjust=(parseInt(f.browser.version.charAt(0))===6)?1:((u.search(/left/)!==-1)?1:2)}if(u.search(/Middle/)!==-1){t.elements.tip.css({top:"50%",marginTop:-(t.options.style.tip.size.height/2)})}else{if(u.search(/Top/)!==-1){t.elements.tip.css({top:t.options.style.border.radius-w})}else{if(u.search(/Bottom/)!==-1){t.elements.tip.css({bottom:t.options.style.border.radius+w})}}}if(u.search(/left/)!==-1){t.elements.tip.css({left:-positionAdjust})}else{t.elements.tip.css({right:positionAdjust})}}}s="padding-"+u.match(/left|right|top|bottom/)[0];x=t.options.style.tip.size[(s.search(/left|right/)!==-1)?"width":"height"];t.elements.tooltip.css("padding",0);t.elements.tooltip.css(s,x);if(f.browser.msie&&parseInt(f.browser.version.charAt(0))==6){v=parseInt(t.elements.tip.css("margin-top"))||0;v+=parseInt(t.elements.content.css("margin-top"))||0;t.elements.tip.css({marginTop:v})}}function j(){var s=this;if(s.elements.title!==null){s.elements.title.remove()}s.elements.title=f('<div class="'+s.options.style.classes.title+'">').css(q(s.options.style.title,true)).css({zoom:(f.browser.msie)?1:0}).prependTo(s.elements.contentWrapper);if(s.options.content.title.text){s.updateTitle.call(s,s.options.content.title.text)}if(s.options.content.title.button!==false&&typeof s.options.content.title.button=="string"){s.elements.button=f('<a class="'+s.options.style.classes.button+'" style="float:right; position: relative"></a>').css(q(s.options.style.button,true)).html(s.options.content.title.button).prependTo(s.elements.title).click(function(t){if(!s.status.disabled){s.hide(t)}})}}function l(){var t,v,u,s;t=this;v=t.options.show.when.target;u=t.options.hide.when.target;if(t.options.hide.fixed){u=u.add(t.elements.tooltip)}if(t.options.hide.when.event=="inactive"){s=["click","dblclick","mousedown","mouseup","mousemove","mouseout","mouseenter","mouseleave","mouseover"];function y(z){if(t.status.disabled===true){return}clearTimeout(t.timers.inactive);t.timers.inactive=setTimeout(function(){f(s).each(function(){u.unbind(this+".qtip-inactive");t.elements.content.unbind(this+".qtip-inactive")});t.hide(z)},t.options.hide.delay)}}else{if(t.options.hide.fixed===true){t.elements.tooltip.bind("mouseover.qtip",function(){if(t.status.disabled===true){return}clearTimeout(t.timers.hide)})}}function x(z){if(t.status.disabled===true){return}if(t.options.hide.when.event=="inactive"){f(s).each(function(){u.bind(this+".qtip-inactive",y);t.elements.content.bind(this+".qtip-inactive",y)});y()}clearTimeout(t.timers.show);clearTimeout(t.timers.hide);t.timers.show=setTimeout(function(){t.show(z)},t.options.show.delay)}function w(z){if(t.status.disabled===true){return}if(t.options.hide.fixed===true&&t.options.hide.when.event.search(/mouse(out|leave)/i)!==-1&&f(z.relatedTarget).parents("div.qtip[qtip]").length>0){z.stopPropagation();z.preventDefault();clearTimeout(t.timers.hide);return false}clearTimeout(t.timers.show);clearTimeout(t.timers.hide);t.elements.tooltip.stop(true,true);t.timers.hide=setTimeout(function(){t.hide(z)},t.options.hide.delay)}if((t.options.show.when.target.add(t.options.hide.when.target).length===1&&t.options.show.when.event==t.options.hide.when.event&&t.options.hide.when.event!=="inactive")||t.options.hide.when.event=="unfocus"){t.cache.toggle=0;v.bind(t.options.show.when.event+".qtip",function(z){if(t.cache.toggle==0){x(z)}else{w(z)}})}else{v.bind(t.options.show.when.event+".qtip",x);if(t.options.hide.when.event!=="inactive"){u.bind(t.options.hide.when.event+".qtip",w)}}if(t.options.position.type.search(/(fixed|absolute)/)!==-1){t.elements.tooltip.bind("mouseover.qtip",t.focus)}if(t.options.position.target==="mouse"&&t.options.position.type!=="static"){v.bind("mousemove.qtip",function(z){t.cache.mouse={x:z.pageX,y:z.pageY};if(t.status.disabled===false&&t.options.position.adjust.mouse===true&&t.options.position.type!=="static"&&t.elements.tooltip.css("display")!=="none"){t.updatePosition(z)}})}}function o(u,v,A){var z,s,x,y,t,w;z=this;if(A.corner=="center"){return v.position}s=f.extend({},u);y={x:false,y:false};t={left:(s.left<f.fn.qtip.cache.screen.scroll.left),right:(s.left+A.dimensions.width+2>=f.fn.qtip.cache.screen.width+f.fn.qtip.cache.screen.scroll.left),top:(s.top<f.fn.qtip.cache.screen.scroll.top),bottom:(s.top+A.dimensions.height+2>=f.fn.qtip.cache.screen.height+f.fn.qtip.cache.screen.scroll.top)};x={left:(t.left&&(A.corner.search(/right/i)!=-1||(A.corner.search(/right/i)==-1&&!t.right))),right:(t.right&&(A.corner.search(/left/i)!=-1||(A.corner.search(/left/i)==-1&&!t.left))),top:(t.top&&A.corner.search(/top/i)==-1),bottom:(t.bottom&&A.corner.search(/bottom/i)==-1)};if(x.left){if(z.options.position.target!=="mouse"){s.left=v.position.left+v.dimensions.width}else{s.left=z.cache.mouse.x}y.x="Left"}else{if(x.right){if(z.options.position.target!=="mouse"){s.left=v.position.left-A.dimensions.width}else{s.left=z.cache.mouse.x-A.dimensions.width}y.x="Right"}}if(x.top){if(z.options.position.target!=="mouse"){s.top=v.position.top+v.dimensions.height}else{s.top=z.cache.mouse.y}y.y="top"}else{if(x.bottom){if(z.options.position.target!=="mouse"){s.top=v.position.top-A.dimensions.height}else{s.top=z.cache.mouse.y-A.dimensions.height}y.y="bottom"}}if(s.left<0){s.left=u.left;y.x=false}if(s.top<0){s.top=u.top;y.y=false}if(z.options.style.tip.corner!==false){s.corner=new String(A.corner);if(y.x!==false){s.corner=s.corner.replace(/Left|Right|Middle/,y.x)}if(y.y!==false){s.corner=s.corner.replace(/top|bottom/,y.y)}if(s.corner!==z.elements.tip.attr("rel")){e.call(z,s.corner)}}return s}function q(u,t){var v,s;v=f.extend(true,{},u);for(s in v){if(t===true&&s.search(/(tip|classes)/i)!==-1){delete v[s]}else{if(!t&&s.search(/(width|border|tip|title|classes|user)/i)!==-1){delete v[s]}}}return v}function c(s){if(typeof s.tip!=="object"){s.tip={corner:s.tip}}if(typeof s.tip.size!=="object"){s.tip.size={width:s.tip.size,height:s.tip.size}}if(typeof s.border!=="object"){s.border={width:s.border}}if(typeof s.width!=="object"){s.width={value:s.width}}if(typeof s.width.max=="string"){s.width.max=parseInt(s.width.max.replace(/([0-9]+)/i,"$1"))}if(typeof s.width.min=="string"){s.width.min=parseInt(s.width.min.replace(/([0-9]+)/i,"$1"))}if(typeof s.tip.size.x=="number"){s.tip.size.width=s.tip.size.x;delete s.tip.size.x}if(typeof s.tip.size.y=="number"){s.tip.size.height=s.tip.size.y;delete s.tip.size.y}return s}function a(){var s,t,u,x,v,w;s=this;u=[true,{}];for(t=0;t<arguments.length;t++){u.push(arguments[t])}x=[f.extend.apply(f,u)];while(typeof x[0].name=="string"){x.unshift(c(f.fn.qtip.styles[x[0].name]))}x.unshift(true,{classes:{tooltip:"qtip-"+(arguments[0].name||"defaults")}},f.fn.qtip.styles.defaults);v=f.extend.apply(f,x);w=(f.browser.msie)?1:0;v.tip.size.width+=w;v.tip.size.height+=w;if(v.tip.size.width%2>0){v.tip.size.width+=1}if(v.tip.size.height%2>0){v.tip.size.height+=1}if(v.tip.corner===true){v.tip.corner=(s.options.position.corner.tooltip==="center")?false:s.options.position.corner.tooltip}return v}function b(v,u,t){var s={bottomRight:[[0,0],[u,t],[u,0]],bottomLeft:[[0,0],[u,0],[0,t]],topRight:[[0,t],[u,0],[u,t]],topLeft:[[0,0],[0,t],[u,t]],topMiddle:[[0,t],[u/2,0],[u,t]],bottomMiddle:[[0,0],[u,0],[u/2,t]],rightMiddle:[[0,0],[u,t/2],[0,t]],leftMiddle:[[u,0],[u,t],[0,t/2]]};s.leftTop=s.bottomRight;s.rightTop=s.bottomLeft;s.leftBottom=s.topRight;s.rightBottom=s.topLeft;return s[v]}function g(s){var t;if(f("<canvas>").get(0).getContext){t={topLeft:[s,s],topRight:[0,s],bottomLeft:[s,0],bottomRight:[0,0]}}else{if(f.browser.msie){t={topLeft:[-90,90,0],topRight:[-90,90,-s],bottomLeft:[90,270,0],bottomRight:[90,270,-s]}}}return t}function k(){var s,t,u;s=this;u=s.getDimensions();t='<iframe class="qtip-bgiframe" frameborder="0" tabindex="-1" src="javascript:false" style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=\'0\'); border: 1px solid red; height:'+u.height+"px; width:"+u.width+'px" />';s.elements.bgiframe=s.elements.wrapper.prepend(t).children(".qtip-bgiframe:first")}f(document).ready(function(){f.fn.qtip.cache={screen:{scroll:{left:f(window).scrollLeft(),top:f(window).scrollTop()},width:f(window).width(),height:f(window).height()}};var s;f(window).bind("resize scroll",function(t){clearTimeout(s);s=setTimeout(function(){if(t.type==="scroll"){f.fn.qtip.cache.screen.scroll={left:f(window).scrollLeft(),top:f(window).scrollTop()}}else{f.fn.qtip.cache.screen.width=f(window).width();f.fn.qtip.cache.screen.height=f(window).height()}for(i=0;i<f.fn.qtip.interfaces.length;i++){var u=f.fn.qtip.interfaces[i];if(u.status.rendered===true&&(u.options.position.type!=="static"||u.options.position.adjust.scroll&&t.type==="scroll"||u.options.position.adjust.resize&&t.type==="resize")){u.updatePosition(t,true)}}},100)});f(document).bind("mousedown.qtip",function(t){if(f(t.target).parents("div.qtip").length===0){f(".qtip[unfocus]").each(function(){var u=f(this).qtip("api");if(f(this).is(":visible")&&!u.status.disabled&&f(t.target).add(u.elements.target).length>1){u.hide(t)}})}})});f.fn.qtip.interfaces=[];f.fn.qtip.log={error:function(){return this}};f.fn.qtip.constants={};f.fn.qtip.defaults={content:{prerender:false,text:false,url:false,data:null,title:{text:false,button:false}},position:{target:false,corner:{target:"bottomRight",tooltip:"topLeft"},adjust:{x:0,y:0,mouse:true,screen:false,scroll:true,resize:true},type:"absolute",container:false},show:{when:{target:false,event:"mouseover"},effect:{type:"fade",length:100},delay:140,solo:false,ready:false},hide:{when:{target:false,event:"mouseout"},effect:{type:"fade",length:100},delay:0,fixed:false},api:{beforeRender:function(){},onRender:function(){},beforePositionUpdate:function(){},onPositionUpdate:function(){},beforeShow:function(){},onShow:function(){},beforeHide:function(){},onHide:function(){},beforeContentUpdate:function(){},onContentUpdate:function(){},beforeContentLoad:function(){},onContentLoad:function(){},beforeTitleUpdate:function(){},onTitleUpdate:function(){},beforeDestroy:function(){},onDestroy:function(){},beforeFocus:function(){},onFocus:function(){}}};f.fn.qtip.styles={defaults:{background:"white",color:"#111",overflow:"hidden",textAlign:"left",width:{min:0,max:250},padding:"5px 9px",border:{width:1,radius:0,color:"#d3d3d3"},tip:{corner:false,color:false,size:{width:13,height:13},opacity:1},title:{background:"#e1e1e1",fontWeight:"bold",padding:"7px 12px"},button:{cursor:"pointer"},classes:{target:"",tip:"qtip-tip",title:"qtip-title",button:"qtip-button",content:"qtip-content",active:"qtip-active"}},cream:{border:{width:3,radius:0,color:"#F9E98E"},title:{background:"#F0DE7D",color:"#A27D35"},background:"#FBF7AA",color:"#A27D35",classes:{tooltip:"qtip-cream"}},light:{border:{width:3,radius:0,color:"#E2E2E2"},title:{background:"#f1f1f1",color:"#454545"},background:"white",color:"#454545",classes:{tooltip:"qtip-light"}},dark:{border:{width:3,radius:0,color:"#303030"},title:{background:"#404040",color:"#f3f3f3"},background:"#505050",color:"#f3f3f3",classes:{tooltip:"qtip-dark"}},red:{border:{width:3,radius:0,color:"#CE6F6F"},title:{background:"#f28279",color:"#9C2F2F"},background:"#F79992",color:"#9C2F2F",classes:{tooltip:"qtip-red"}},green:{border:{width:3,radius:0,color:"#A9DB66"},title:{background:"#b9db8c",color:"#58792E"},background:"#CDE6AC",color:"#58792E",classes:{tooltip:"qtip-green"}},blue:{border:{width:3,radius:0,color:"#ADD9ED"},title:{background:"#D0E9F5",color:"#5E99BD"},background:"#E5F6FE",color:"#4D9FBF",classes:{tooltip:"qtip-blue"}}}})(jQuery);
1
+ /*!
2
+ * jquery.qtip. The jQuery tooltip plugin
3
+ *
4
+ * Copyright (c) 2009 Craig Thompson
5
+ * http://craigsworks.com
6
+ *
7
+ * Licensed under MIT
8
+ * http://www.opensource.org/licenses/mit-license.php
9
+ *
10
+ * Launch : February 2009
11
+ * Version : 1.0.0-rc3
12
+ * Released: Tuesday 12th May, 2009 - 00:00
13
+ * Debug: jquery.qtip.debug.js
14
+ */
15
  (function(f){f.fn.qtip=function(B,u){var y,t,A,s,x,w,v,z;if(typeof B=="string"){if(typeof f(this).data("qtip")!=="object"){f.fn.qtip.log.error.call(self,1,f.fn.qtip.constants.NO_TOOLTIP_PRESENT,false)}if(B=="api"){return f(this).data("qtip").interfaces[f(this).data("qtip").current]}else{if(B=="interfaces"){return f(this).data("qtip").interfaces}}}else{if(!B){B={}}if(typeof B.content!=="object"||(B.content.jquery&&B.content.length>0)){B.content={text:B.content}}if(typeof B.content.title!=="object"){B.content.title={text:B.content.title}}if(typeof B.position!=="object"){B.position={corner:B.position}}if(typeof B.position.corner!=="object"){B.position.corner={target:B.position.corner,tooltip:B.position.corner}}if(typeof B.show!=="object"){B.show={when:B.show}}if(typeof B.show.when!=="object"){B.show.when={event:B.show.when}}if(typeof B.show.effect!=="object"){B.show.effect={type:B.show.effect}}if(typeof B.hide!=="object"){B.hide={when:B.hide}}if(typeof B.hide.when!=="object"){B.hide.when={event:B.hide.when}}if(typeof B.hide.effect!=="object"){B.hide.effect={type:B.hide.effect}}if(typeof B.style!=="object"){B.style={name:B.style}}B.style=c(B.style);s=f.extend(true,{},f.fn.qtip.defaults,B);s.style=a.call({options:s},s.style);s.user=f.extend(true,{},B)}return f(this).each(function(){if(typeof B=="string"){w=B.toLowerCase();A=f(this).qtip("interfaces");if(typeof A=="object"){if(u===true&&w=="destroy"){while(A.length>0){A[A.length-1].destroy()}}else{if(u!==true){A=[f(this).qtip("api")]}for(y=0;y<A.length;y++){if(w=="destroy"){A[y].destroy()}else{if(A[y].status.rendered===true){if(w=="show"){A[y].show()}else{if(w=="hide"){A[y].hide()}else{if(w=="focus"){A[y].focus()}else{if(w=="disable"){A[y].disable(true)}else{if(w=="enable"){A[y].disable(false)}}}}}}}}}}}else{v=f.extend(true,{},s);v.hide.effect.length=s.hide.effect.length;v.show.effect.length=s.show.effect.length;if(v.position.container===false){v.position.container=f(document.body)}if(v.position.target===false){v.position.target=f(this)}if(v.show.when.target===false){v.show.when.target=f(this)}if(v.hide.when.target===false){v.hide.when.target=f(this)}t=f.fn.qtip.interfaces.length;for(y=0;y<t;y++){if(typeof f.fn.qtip.interfaces[y]=="undefined"){t=y;break}}x=new d(f(this),v,t);f.fn.qtip.interfaces[t]=x;if(typeof f(this).data("qtip")==="object"&&f(this).data("qtip")){if(typeof f(this).attr("qtip")==="undefined"){f(this).data("qtip").current=f(this).data("qtip").interfaces.length}f(this).data("qtip").interfaces.push(x)}else{f(this).data("qtip",{current:0,interfaces:[x]})}if(v.content.prerender===false&&v.show.when.event!==false&&v.show.ready!==true){v.show.when.target.bind(v.show.when.event+".qtip-"+t+"-create",{qtip:t},function(C){z=f.fn.qtip.interfaces[C.data.qtip];z.options.show.when.target.unbind(z.options.show.when.event+".qtip-"+C.data.qtip+"-create");z.cache.mouse={x:C.pageX,y:C.pageY};p.call(z);z.options.show.when.target.trigger(z.options.show.when.event)})}else{x.cache.mouse={x:v.show.when.target.offset().left,y:v.show.when.target.offset().top};p.call(x)}}})};function d(u,t,v){var s=this;s.id=v;s.options=t;s.status={animated:false,rendered:false,disabled:false,focused:false};s.elements={target:u.addClass(s.options.style.classes.target),tooltip:null,wrapper:null,content:null,contentWrapper:null,title:null,button:null,tip:null,bgiframe:null};s.cache={mouse:{},position:{},toggle:0};s.timers={};f.extend(s,s.options.api,{show:function(y){var x,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"show")}if(s.elements.tooltip.css("display")!=="none"){return s}s.elements.tooltip.stop(true,false);x=s.beforeShow.call(s,y);if(x===false){return s}function w(){if(s.options.position.type!=="static"){s.focus()}s.onShow.call(s,y);if(f.browser.msie){s.elements.tooltip.get(0).style.removeAttribute("filter")}}s.cache.toggle=1;if(s.options.position.type!=="static"){s.updatePosition(y,(s.options.show.effect.length>0))}if(typeof s.options.show.solo=="object"){z=f(s.options.show.solo)}else{if(s.options.show.solo===true){z=f("div.qtip").not(s.elements.tooltip)}}if(z){z.each(function(){if(f(this).qtip("api").status.rendered===true){f(this).qtip("api").hide()}})}if(typeof s.options.show.effect.type=="function"){s.options.show.effect.type.call(s.elements.tooltip,s.options.show.effect.length);s.elements.tooltip.queue(function(){w();f(this).dequeue()})}else{switch(s.options.show.effect.type.toLowerCase()){case"fade":s.elements.tooltip.fadeIn(s.options.show.effect.length,w);break;case"slide":s.elements.tooltip.slideDown(s.options.show.effect.length,function(){w();if(s.options.position.type!=="static"){s.updatePosition(y,true)}});break;case"grow":s.elements.tooltip.show(s.options.show.effect.length,w);break;default:s.elements.tooltip.show(null,w);break}s.elements.tooltip.addClass(s.options.style.classes.active)}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_SHOWN,"show")},hide:function(y){var x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"hide")}else{if(s.elements.tooltip.css("display")==="none"){return s}}clearTimeout(s.timers.show);s.elements.tooltip.stop(true,false);x=s.beforeHide.call(s,y);if(x===false){return s}function w(){s.onHide.call(s,y)}s.cache.toggle=0;if(typeof s.options.hide.effect.type=="function"){s.options.hide.effect.type.call(s.elements.tooltip,s.options.hide.effect.length);s.elements.tooltip.queue(function(){w();f(this).dequeue()})}else{switch(s.options.hide.effect.type.toLowerCase()){case"fade":s.elements.tooltip.fadeOut(s.options.hide.effect.length,w);break;case"slide":s.elements.tooltip.slideUp(s.options.hide.effect.length,w);break;case"grow":s.elements.tooltip.hide(s.options.hide.effect.length,w);break;default:s.elements.tooltip.hide(null,w);break}s.elements.tooltip.removeClass(s.options.style.classes.active)}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_HIDDEN,"hide")},updatePosition:function(w,x){var C,G,L,J,H,E,y,I,B,D,K,A,F,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updatePosition")}else{if(s.options.position.type=="static"){return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.CANNOT_POSITION_STATIC,"updatePosition")}}G={position:{left:0,top:0},dimensions:{height:0,width:0},corner:s.options.position.corner.target};L={position:s.getPosition(),dimensions:s.getDimensions(),corner:s.options.position.corner.tooltip};if(s.options.position.target!=="mouse"){if(s.options.position.target.get(0).nodeName.toLowerCase()=="area"){J=s.options.position.target.attr("coords").split(",");for(C=0;C<J.length;C++){J[C]=parseInt(J[C])}H=s.options.position.target.parent("map").attr("name");E=f('img[usemap="#'+H+'"]:first').offset();G.position={left:Math.floor(E.left+J[0]),top:Math.floor(E.top+J[1])};switch(s.options.position.target.attr("shape").toLowerCase()){case"rect":G.dimensions={width:Math.ceil(Math.abs(J[2]-J[0])),height:Math.ceil(Math.abs(J[3]-J[1]))};break;case"circle":G.dimensions={width:J[2]+1,height:J[2]+1};break;case"poly":G.dimensions={width:J[0],height:J[1]};for(C=0;C<J.length;C++){if(C%2==0){if(J[C]>G.dimensions.width){G.dimensions.width=J[C]}if(J[C]<J[0]){G.position.left=Math.floor(E.left+J[C])}}else{if(J[C]>G.dimensions.height){G.dimensions.height=J[C]}if(J[C]<J[1]){G.position.top=Math.floor(E.top+J[C])}}}G.dimensions.width=G.dimensions.width-(G.position.left-E.left);G.dimensions.height=G.dimensions.height-(G.position.top-E.top);break;default:return f.fn.qtip.log.error.call(s,4,f.fn.qtip.constants.INVALID_AREA_SHAPE,"updatePosition");break}G.dimensions.width-=2;G.dimensions.height-=2}else{if(s.options.position.target.add(document.body).length===1){G.position={left:f(document).scrollLeft(),top:f(document).scrollTop()};G.dimensions={height:f(window).height(),width:f(window).width()}}else{if(typeof s.options.position.target.attr("qtip")!=="undefined"){G.position=s.options.position.target.qtip("api").cache.position}else{G.position=s.options.position.target.offset()}G.dimensions={height:s.options.position.target.outerHeight(),width:s.options.position.target.outerWidth()}}}y=f.extend({},G.position);if(G.corner.search(/right/i)!==-1){y.left+=G.dimensions.width}if(G.corner.search(/bottom/i)!==-1){y.top+=G.dimensions.height}if(G.corner.search(/((top|bottom)Middle)|center/)!==-1){y.left+=(G.dimensions.width/2)}if(G.corner.search(/((left|right)Middle)|center/)!==-1){y.top+=(G.dimensions.height/2)}}else{G.position=y={left:s.cache.mouse.x,top:s.cache.mouse.y};G.dimensions={height:1,width:1}}if(L.corner.search(/right/i)!==-1){y.left-=L.dimensions.width}if(L.corner.search(/bottom/i)!==-1){y.top-=L.dimensions.height}if(L.corner.search(/((top|bottom)Middle)|center/)!==-1){y.left-=(L.dimensions.width/2)}if(L.corner.search(/((left|right)Middle)|center/)!==-1){y.top-=(L.dimensions.height/2)}I=(f.browser.msie)?1:0;B=(f.browser.msie&&parseInt(f.browser.version.charAt(0))===6)?1:0;if(s.options.style.border.radius>0){if(L.corner.search(/Left/)!==-1){y.left-=s.options.style.border.radius}else{if(L.corner.search(/Right/)!==-1){y.left+=s.options.style.border.radius}}if(L.corner.search(/Top/)!==-1){y.top-=s.options.style.border.radius}else{if(L.corner.search(/Bottom/)!==-1){y.top+=s.options.style.border.radius}}}if(I){if(L.corner.search(/top/)!==-1){y.top-=I}else{if(L.corner.search(/bottom/)!==-1){y.top+=I}}if(L.corner.search(/left/)!==-1){y.left-=I}else{if(L.corner.search(/right/)!==-1){y.left+=I}}if(L.corner.search(/leftMiddle|rightMiddle/)!==-1){y.top-=1}}if(s.options.position.adjust.screen===true){y=o.call(s,y,G,L)}if(s.options.position.target==="mouse"&&s.options.position.adjust.mouse===true){if(s.options.position.adjust.screen===true&&s.elements.tip){K=s.elements.tip.attr("rel")}else{K=s.options.position.corner.tooltip}y.left+=(K.search(/right/i)!==-1)?-6:6;y.top+=(K.search(/bottom/i)!==-1)?-6:6}if(!s.elements.bgiframe&&f.browser.msie&&parseInt(f.browser.version.charAt(0))==6){f("select, object").each(function(){A=f(this).offset();A.bottom=A.top+f(this).height();A.right=A.left+f(this).width();if(y.top+L.dimensions.height>=A.top&&y.left+L.dimensions.width>=A.left){k.call(s)}})}y.left+=s.options.position.adjust.x;y.top+=s.options.position.adjust.y;F=s.getPosition();if(y.left!=F.left||y.top!=F.top){z=s.beforePositionUpdate.call(s,w);if(z===false){return s}s.cache.position=y;if(x===true){s.status.animated=true;s.elements.tooltip.animate(y,200,"swing",function(){s.status.animated=false})}else{s.elements.tooltip.css(y)}s.onPositionUpdate.call(s,w);if(typeof w!=="undefined"&&w.type&&w.type!=="mousemove"){f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_POSITION_UPDATED,"updatePosition")}}return s},updateWidth:function(w){var x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateWidth")}else{if(w&&typeof w!=="number"){return f.fn.qtip.log.error.call(s,2,"newWidth must be of type number","updateWidth")}}x=s.elements.contentWrapper.siblings().add(s.elements.tip).add(s.elements.button);if(!w){if(typeof s.options.style.width.value=="number"){w=s.options.style.width.value}else{s.elements.tooltip.css({width:"auto"});x.hide();if(f.browser.msie){s.elements.wrapper.add(s.elements.contentWrapper.children()).css({zoom:"normal"})}w=s.getDimensions().width+1;if(!s.options.style.width.value){if(w>s.options.style.width.max){w=s.options.style.width.max}if(w<s.options.style.width.min){w=s.options.style.width.min}}}}if(w%2!==0){w-=1}s.elements.tooltip.width(w);x.show();if(s.options.style.border.radius){s.elements.tooltip.find(".qtip-betweenCorners").each(function(y){f(this).width(w-(s.options.style.border.radius*2))})}if(f.browser.msie){s.elements.wrapper.add(s.elements.contentWrapper.children()).css({zoom:"1"});s.elements.wrapper.width(w);if(s.elements.bgiframe){s.elements.bgiframe.width(w).height(s.getDimensions.height)}}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_WIDTH_UPDATED,"updateWidth")},updateStyle:function(w){var z,A,x,y,B;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateStyle")}else{if(typeof w!=="string"||!f.fn.qtip.styles[w]){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.STYLE_NOT_DEFINED,"updateStyle")}}s.options.style=a.call(s,f.fn.qtip.styles[w],s.options.user.style);s.elements.content.css(q(s.options.style));if(s.options.content.title.text!==false){s.elements.title.css(q(s.options.style.title,true))}s.elements.contentWrapper.css({borderColor:s.options.style.border.color});if(s.options.style.tip.corner!==false){if(f("<canvas>").get(0).getContext){z=s.elements.tooltip.find(".qtip-tip canvas:first");x=z.get(0).getContext("2d");x.clearRect(0,0,300,300);y=z.parent("div[rel]:first").attr("rel");B=b(y,s.options.style.tip.size.width,s.options.style.tip.size.height);h.call(s,z,B,s.options.style.tip.color||s.options.style.border.color)}else{if(f.browser.msie){z=s.elements.tooltip.find('.qtip-tip [nodeName="shape"]');z.attr("fillcolor",s.options.style.tip.color||s.options.style.border.color)}}}if(s.options.style.border.radius>0){s.elements.tooltip.find(".qtip-betweenCorners").css({backgroundColor:s.options.style.border.color});if(f("<canvas>").get(0).getContext){A=g(s.options.style.border.radius);s.elements.tooltip.find(".qtip-wrapper canvas").each(function(){x=f(this).get(0).getContext("2d");x.clearRect(0,0,300,300);y=f(this).parent("div[rel]:first").attr("rel");r.call(s,f(this),A[y],s.options.style.border.radius,s.options.style.border.color)})}else{if(f.browser.msie){s.elements.tooltip.find('.qtip-wrapper [nodeName="arc"]').each(function(){f(this).attr("fillcolor",s.options.style.border.color)})}}}return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_STYLE_UPDATED,"updateStyle")},updateContent:function(A,y){var z,x,w;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateContent")}else{if(!A){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.NO_CONTENT_PROVIDED,"updateContent")}}z=s.beforeContentUpdate.call(s,A);if(typeof z=="string"){A=z}else{if(z===false){return}}if(f.browser.msie){s.elements.contentWrapper.children().css({zoom:"normal"})}if(A.jquery&&A.length>0){A.clone(true).appendTo(s.elements.content).show()}else{s.elements.content.html(A)}x=s.elements.content.find("img[complete=false]");if(x.length>0){w=0;x.each(function(C){f('<img src="'+f(this).attr("src")+'" />').load(function(){if(++w==x.length){B()}})})}else{B()}function B(){s.updateWidth();if(y!==false){if(s.options.position.type!=="static"){s.updatePosition(s.elements.tooltip.is(":visible"),true)}if(s.options.style.tip.corner!==false){n.call(s)}}}s.onContentUpdate.call(s);return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_CONTENT_UPDATED,"loadContent")},loadContent:function(w,z,A){var y;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"loadContent")}y=s.beforeContentLoad.call(s);if(y===false){return s}if(A=="post"){f.post(w,z,x)}else{f.get(w,z,x)}function x(B){s.onContentLoad.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_CONTENT_LOADED,"loadContent");s.updateContent(B)}return s},updateTitle:function(w){if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"updateTitle")}else{if(!w){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.NO_CONTENT_PROVIDED,"updateTitle")}}returned=s.beforeTitleUpdate.call(s);if(returned===false){return s}if(s.elements.button){s.elements.button=s.elements.button.clone(true)}s.elements.title.html(w);if(s.elements.button){s.elements.title.prepend(s.elements.button)}s.onTitleUpdate.call(s);return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_TITLE_UPDATED,"updateTitle")},focus:function(A){var y,x,w,z;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"focus")}else{if(s.options.position.type=="static"){return f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.CANNOT_FOCUS_STATIC,"focus")}}y=parseInt(s.elements.tooltip.css("z-index"));x=6000+f("div.qtip[qtip]").length-1;if(!s.status.focused&&y!==x){z=s.beforeFocus.call(s,A);if(z===false){return s}f("div.qtip[qtip]").not(s.elements.tooltip).each(function(){if(f(this).qtip("api").status.rendered===true){w=parseInt(f(this).css("z-index"));if(typeof w=="number"&&w>-1){f(this).css({zIndex:parseInt(f(this).css("z-index"))-1})}f(this).qtip("api").status.focused=false}});s.elements.tooltip.css({zIndex:x});s.status.focused=true;s.onFocus.call(s,A);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_FOCUSED,"focus")}return s},disable:function(w){if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"disable")}if(w){if(!s.status.disabled){s.status.disabled=true;f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_DISABLED,"disable")}else{f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.TOOLTIP_ALREADY_DISABLED,"disable")}}else{if(s.status.disabled){s.status.disabled=false;f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_ENABLED,"disable")}else{f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.TOOLTIP_ALREADY_ENABLED,"disable")}}return s},destroy:function(){var w,x,y;x=s.beforeDestroy.call(s);if(x===false){return s}if(s.status.rendered){s.options.show.when.target.unbind("mousemove.qtip",s.updatePosition);s.options.show.when.target.unbind("mouseout.qtip",s.hide);s.options.show.when.target.unbind(s.options.show.when.event+".qtip");s.options.hide.when.target.unbind(s.options.hide.when.event+".qtip");s.elements.tooltip.unbind(s.options.hide.when.event+".qtip");s.elements.tooltip.unbind("mouseover.qtip",s.focus);s.elements.tooltip.remove()}else{s.options.show.when.target.unbind(s.options.show.when.event+".qtip-create")}if(typeof s.elements.target.data("qtip")=="object"){y=s.elements.target.data("qtip").interfaces;if(typeof y=="object"&&y.length>0){for(w=0;w<y.length-1;w++){if(y[w].id==s.id){y.splice(w,1)}}}}delete f.fn.qtip.interfaces[s.id];if(typeof y=="object"&&y.length>0){s.elements.target.data("qtip").current=y.length-1}else{s.elements.target.removeData("qtip")}s.onDestroy.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_DESTROYED,"destroy");return s.elements.target},getPosition:function(){var w,x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"getPosition")}w=(s.elements.tooltip.css("display")!=="none")?false:true;if(w){s.elements.tooltip.css({visiblity:"hidden"}).show()}x=s.elements.tooltip.offset();if(w){s.elements.tooltip.css({visiblity:"visible"}).hide()}return x},getDimensions:function(){var w,x;if(!s.status.rendered){return f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.TOOLTIP_NOT_RENDERED,"getDimensions")}w=(!s.elements.tooltip.is(":visible"))?true:false;if(w){s.elements.tooltip.css({visiblity:"hidden"}).show()}x={height:s.elements.tooltip.outerHeight(),width:s.elements.tooltip.outerWidth()};if(w){s.elements.tooltip.css({visiblity:"visible"}).hide()}return x}})}function p(){var s,w,u,t,v,y,x;s=this;s.beforeRender.call(s);s.status.rendered=true;s.elements.tooltip='<div qtip="'+s.id+'" class="qtip '+(s.options.style.classes.tooltip||s.options.style)+'"style="display:none; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0;position:'+s.options.position.type+';"> <div class="qtip-wrapper" style="position:relative; overflow:hidden; text-align:left;"> <div class="qtip-contentWrapper" style="overflow:hidden;"> <div class="qtip-content '+s.options.style.classes.content+'"></div></div></div></div>';s.elements.tooltip=f(s.elements.tooltip);s.elements.tooltip.appendTo(s.options.position.container);s.elements.tooltip.data("qtip",{current:0,interfaces:[s]});s.elements.wrapper=s.elements.tooltip.children("div:first");s.elements.contentWrapper=s.elements.wrapper.children("div:first").css({background:s.options.style.background});s.elements.content=s.elements.contentWrapper.children("div:first").css(q(s.options.style));if(f.browser.msie){s.elements.wrapper.add(s.elements.content).css({zoom:1})}if(s.options.hide.when.event=="unfocus"){s.elements.tooltip.attr("unfocus",true)}if(typeof s.options.style.width.value=="number"){s.updateWidth()}if(f("<canvas>").get(0).getContext||f.browser.msie){if(s.options.style.border.radius>0){m.call(s)}else{s.elements.contentWrapper.css({border:s.options.style.border.width+"px solid "+s.options.style.border.color})}if(s.options.style.tip.corner!==false){e.call(s)}}else{s.elements.contentWrapper.css({border:s.options.style.border.width+"px solid "+s.options.style.border.color});s.options.style.border.radius=0;s.options.style.tip.corner=false;f.fn.qtip.log.error.call(s,2,f.fn.qtip.constants.CANVAS_VML_NOT_SUPPORTED,"render")}if((typeof s.options.content.text=="string"&&s.options.content.text.length>0)||(s.options.content.text.jquery&&s.options.content.text.length>0)){u=s.options.content.text}else{if(typeof s.elements.target.attr("title")=="string"&&s.elements.target.attr("title").length>0){u=s.elements.target.attr("title").replace("\\n","<br />");s.elements.target.attr("title","")}else{if(typeof s.elements.target.attr("alt")=="string"&&s.elements.target.attr("alt").length>0){u=s.elements.target.attr("alt").replace("\\n","<br />");s.elements.target.attr("alt","")}else{u=" ";f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.NO_VALID_CONTENT,"render")}}}if(s.options.content.title.text!==false){j.call(s)}s.updateContent(u);l.call(s);if(s.options.show.ready===true){s.show()}if(s.options.content.url!==false){t=s.options.content.url;v=s.options.content.data;y=s.options.content.method||"get";s.loadContent(t,v,y)}s.onRender.call(s);f.fn.qtip.log.error.call(s,1,f.fn.qtip.constants.EVENT_RENDERED,"render")}function m(){var F,z,t,B,x,E,u,G,D,y,w,C,A,s,v;F=this;F.elements.wrapper.find(".qtip-borderBottom, .qtip-borderTop").remove();t=F.options.style.border.width;B=F.options.style.border.radius;x=F.options.style.border.color||F.options.style.tip.color;E=g(B);u={};for(z in E){u[z]='<div rel="'+z+'" style="'+((z.search(/Left/)!==-1)?"left":"right")+":0; position:absolute; height:"+B+"px; width:"+B+'px; overflow:hidden; line-height:0.1px; font-size:1px">';if(f("<canvas>").get(0).getContext){u[z]+='<canvas height="'+B+'" width="'+B+'" style="vertical-align: top"></canvas>'}else{if(f.browser.msie){G=B*2+3;u[z]+='<v:arc stroked="false" fillcolor="'+x+'" startangle="'+E[z][0]+'" endangle="'+E[z][1]+'" style="width:'+G+"px; height:"+G+"px; margin-top:"+((z.search(/bottom/)!==-1)?-2:-1)+"px; margin-left:"+((z.search(/Right/)!==-1)?E[z][2]-3.5:-1)+'px; vertical-align:top; display:inline-block; behavior:url(#default#VML)"></v:arc>'}}u[z]+="</div>"}D=F.getDimensions().width-(Math.max(t,B)*2);y='<div class="qtip-betweenCorners" style="height:'+B+"px; width:"+D+"px; overflow:hidden; background-color:"+x+'; line-height:0.1px; font-size:1px;">';w='<div class="qtip-borderTop" dir="ltr" style="height:'+B+"px; margin-left:"+B+'px; line-height:0.1px; font-size:1px; padding:0;">'+u.topLeft+u.topRight+y;F.elements.wrapper.prepend(w);C='<div class="qtip-borderBottom" dir="ltr" style="height:'+B+"px; margin-left:"+B+'px; line-height:0.1px; font-size:1px; padding:0;">'+u.bottomLeft+u.bottomRight+y;F.elements.wrapper.append(C);if(f("<canvas>").get(0).getContext){F.elements.wrapper.find("canvas").each(function(){A=E[f(this).parent("[rel]:first").attr("rel")];r.call(F,f(this),A,B,x)})}else{if(f.browser.msie){F.elements.tooltip.append('<v:image style="behavior:url(#default#VML);"></v:image>')}}s=Math.max(B,(B+(t-B)));v=Math.max(t-B,0);F.elements.contentWrapper.css({border:"0px solid "+x,borderWidth:v+"px "+s+"px"})}function r(u,w,s,t){var v=u.get(0).getContext("2d");v.fillStyle=t;v.beginPath();v.arc(w[0],w[1],s,0,Math.PI*2,false);v.fill()}function e(v){var t,s,x,u,w;t=this;if(t.elements.tip!==null){t.elements.tip.remove()}s=t.options.style.tip.color||t.options.style.border.color;if(t.options.style.tip.corner===false){return}else{if(!v){v=t.options.style.tip.corner}}x=b(v,t.options.style.tip.size.width,t.options.style.tip.size.height);t.elements.tip='<div class="'+t.options.style.classes.tip+'" dir="ltr" rel="'+v+'" style="position:absolute; height:'+t.options.style.tip.size.height+"px; width:"+t.options.style.tip.size.width+'px; margin:0 auto; line-height:0.1px; font-size:1px;">';if(f("<canvas>").get(0).getContext){t.elements.tip+='<canvas height="'+t.options.style.tip.size.height+'" width="'+t.options.style.tip.size.width+'"></canvas>'}else{if(f.browser.msie){u=t.options.style.tip.size.width+","+t.options.style.tip.size.height;w="m"+x[0][0]+","+x[0][1];w+=" l"+x[1][0]+","+x[1][1];w+=" "+x[2][0]+","+x[2][1];w+=" xe";t.elements.tip+='<v:shape fillcolor="'+s+'" stroked="false" filled="true" path="'+w+'" coordsize="'+u+'" style="width:'+t.options.style.tip.size.width+"px; height:"+t.options.style.tip.size.height+"px; line-height:0.1px; display:inline-block; behavior:url(#default#VML); vertical-align:"+((v.search(/top/)!==-1)?"bottom":"top")+'"></v:shape>';t.elements.tip+='<v:image style="behavior:url(#default#VML);"></v:image>';t.elements.contentWrapper.css("position","relative")}}t.elements.tooltip.prepend(t.elements.tip+"</div>");t.elements.tip=t.elements.tooltip.find("."+t.options.style.classes.tip).eq(0);if(f("<canvas>").get(0).getContext){h.call(t,t.elements.tip.find("canvas:first"),x,s)}if(v.search(/top/)!==-1&&f.browser.msie&&parseInt(f.browser.version.charAt(0))===6){t.elements.tip.css({marginTop:-4})}n.call(t,v)}function h(t,v,s){var u=t.get(0).getContext("2d");u.fillStyle=s;u.beginPath();u.moveTo(v[0][0],v[0][1]);u.lineTo(v[1][0],v[1][1]);u.lineTo(v[2][0],v[2][1]);u.fill()}function n(u){var t,w,s,x,v;t=this;if(t.options.style.tip.corner===false||!t.elements.tip){return}if(!u){u=t.elements.tip.attr("rel")}w=positionAdjust=(f.browser.msie)?1:0;t.elements.tip.css(u.match(/left|right|top|bottom/)[0],0);if(u.search(/top|bottom/)!==-1){if(f.browser.msie){if(parseInt(f.browser.version.charAt(0))===6){positionAdjust=(u.search(/top/)!==-1)?-3:1}else{positionAdjust=(u.search(/top/)!==-1)?1:2}}if(u.search(/Middle/)!==-1){t.elements.tip.css({left:"50%",marginLeft:-(t.options.style.tip.size.width/2)})}else{if(u.search(/Left/)!==-1){t.elements.tip.css({left:t.options.style.border.radius-w})}else{if(u.search(/Right/)!==-1){t.elements.tip.css({right:t.options.style.border.radius+w})}}}if(u.search(/top/)!==-1){t.elements.tip.css({top:-positionAdjust})}else{t.elements.tip.css({bottom:positionAdjust})}}else{if(u.search(/left|right/)!==-1){if(f.browser.msie){positionAdjust=(parseInt(f.browser.version.charAt(0))===6)?1:((u.search(/left/)!==-1)?1:2)}if(u.search(/Middle/)!==-1){t.elements.tip.css({top:"50%",marginTop:-(t.options.style.tip.size.height/2)})}else{if(u.search(/Top/)!==-1){t.elements.tip.css({top:t.options.style.border.radius-w})}else{if(u.search(/Bottom/)!==-1){t.elements.tip.css({bottom:t.options.style.border.radius+w})}}}if(u.search(/left/)!==-1){t.elements.tip.css({left:-positionAdjust})}else{t.elements.tip.css({right:positionAdjust})}}}s="padding-"+u.match(/left|right|top|bottom/)[0];x=t.options.style.tip.size[(s.search(/left|right/)!==-1)?"width":"height"];t.elements.tooltip.css("padding",0);t.elements.tooltip.css(s,x);if(f.browser.msie&&parseInt(f.browser.version.charAt(0))==6){v=parseInt(t.elements.tip.css("margin-top"))||0;v+=parseInt(t.elements.content.css("margin-top"))||0;t.elements.tip.css({marginTop:v})}}function j(){var s=this;if(s.elements.title!==null){s.elements.title.remove()}s.elements.title=f('<div class="'+s.options.style.classes.title+'">').css(q(s.options.style.title,true)).css({zoom:(f.browser.msie)?1:0}).prependTo(s.elements.contentWrapper);if(s.options.content.title.text){s.updateTitle.call(s,s.options.content.title.text)}if(s.options.content.title.button!==false&&typeof s.options.content.title.button=="string"){s.elements.button=f('<a class="'+s.options.style.classes.button+'" style="float:right; position: relative"></a>').css(q(s.options.style.button,true)).html(s.options.content.title.button).prependTo(s.elements.title).click(function(t){if(!s.status.disabled){s.hide(t)}})}}function l(){var t,v,u,s;t=this;v=t.options.show.when.target;u=t.options.hide.when.target;if(t.options.hide.fixed){u=u.add(t.elements.tooltip)}if(t.options.hide.when.event=="inactive"){s=["click","dblclick","mousedown","mouseup","mousemove","mouseout","mouseenter","mouseleave","mouseover"];function y(z){if(t.status.disabled===true){return}clearTimeout(t.timers.inactive);t.timers.inactive=setTimeout(function(){f(s).each(function(){u.unbind(this+".qtip-inactive");t.elements.content.unbind(this+".qtip-inactive")});t.hide(z)},t.options.hide.delay)}}else{if(t.options.hide.fixed===true){t.elements.tooltip.bind("mouseover.qtip",function(){if(t.status.disabled===true){return}clearTimeout(t.timers.hide)})}}function x(z){if(t.status.disabled===true){return}if(t.options.hide.when.event=="inactive"){f(s).each(function(){u.bind(this+".qtip-inactive",y);t.elements.content.bind(this+".qtip-inactive",y)});y()}clearTimeout(t.timers.show);clearTimeout(t.timers.hide);t.timers.show=setTimeout(function(){t.show(z)},t.options.show.delay)}function w(z){if(t.status.disabled===true){return}if(t.options.hide.fixed===true&&t.options.hide.when.event.search(/mouse(out|leave)/i)!==-1&&f(z.relatedTarget).parents("div.qtip[qtip]").length>0){z.stopPropagation();z.preventDefault();clearTimeout(t.timers.hide);return false}clearTimeout(t.timers.show);clearTimeout(t.timers.hide);t.elements.tooltip.stop(true,true);t.timers.hide=setTimeout(function(){t.hide(z)},t.options.hide.delay)}if((t.options.show.when.target.add(t.options.hide.when.target).length===1&&t.options.show.when.event==t.options.hide.when.event&&t.options.hide.when.event!=="inactive")||t.options.hide.when.event=="unfocus"){t.cache.toggle=0;v.bind(t.options.show.when.event+".qtip",function(z){if(t.cache.toggle==0){x(z)}else{w(z)}})}else{v.bind(t.options.show.when.event+".qtip",x);if(t.options.hide.when.event!=="inactive"){u.bind(t.options.hide.when.event+".qtip",w)}}if(t.options.position.type.search(/(fixed|absolute)/)!==-1){t.elements.tooltip.bind("mouseover.qtip",t.focus)}if(t.options.position.target==="mouse"&&t.options.position.type!=="static"){v.bind("mousemove.qtip",function(z){t.cache.mouse={x:z.pageX,y:z.pageY};if(t.status.disabled===false&&t.options.position.adjust.mouse===true&&t.options.position.type!=="static"&&t.elements.tooltip.css("display")!=="none"){t.updatePosition(z)}})}}function o(u,v,A){var z,s,x,y,t,w;z=this;if(A.corner=="center"){return v.position}s=f.extend({},u);y={x:false,y:false};t={left:(s.left<f.fn.qtip.cache.screen.scroll.left),right:(s.left+A.dimensions.width+2>=f.fn.qtip.cache.screen.width+f.fn.qtip.cache.screen.scroll.left),top:(s.top<f.fn.qtip.cache.screen.scroll.top),bottom:(s.top+A.dimensions.height+2>=f.fn.qtip.cache.screen.height+f.fn.qtip.cache.screen.scroll.top)};x={left:(t.left&&(A.corner.search(/right/i)!=-1||(A.corner.search(/right/i)==-1&&!t.right))),right:(t.right&&(A.corner.search(/left/i)!=-1||(A.corner.search(/left/i)==-1&&!t.left))),top:(t.top&&A.corner.search(/top/i)==-1),bottom:(t.bottom&&A.corner.search(/bottom/i)==-1)};if(x.left){if(z.options.position.target!=="mouse"){s.left=v.position.left+v.dimensions.width}else{s.left=z.cache.mouse.x}y.x="Left"}else{if(x.right){if(z.options.position.target!=="mouse"){s.left=v.position.left-A.dimensions.width}else{s.left=z.cache.mouse.x-A.dimensions.width}y.x="Right"}}if(x.top){if(z.options.position.target!=="mouse"){s.top=v.position.top+v.dimensions.height}else{s.top=z.cache.mouse.y}y.y="top"}else{if(x.bottom){if(z.options.position.target!=="mouse"){s.top=v.position.top-A.dimensions.height}else{s.top=z.cache.mouse.y-A.dimensions.height}y.y="bottom"}}if(s.left<0){s.left=u.left;y.x=false}if(s.top<0){s.top=u.top;y.y=false}if(z.options.style.tip.corner!==false){s.corner=new String(A.corner);if(y.x!==false){s.corner=s.corner.replace(/Left|Right|Middle/,y.x)}if(y.y!==false){s.corner=s.corner.replace(/top|bottom/,y.y)}if(s.corner!==z.elements.tip.attr("rel")){e.call(z,s.corner)}}return s}function q(u,t){var v,s;v=f.extend(true,{},u);for(s in v){if(t===true&&s.search(/(tip|classes)/i)!==-1){delete v[s]}else{if(!t&&s.search(/(width|border|tip|title|classes|user)/i)!==-1){delete v[s]}}}return v}function c(s){if(typeof s.tip!=="object"){s.tip={corner:s.tip}}if(typeof s.tip.size!=="object"){s.tip.size={width:s.tip.size,height:s.tip.size}}if(typeof s.border!=="object"){s.border={width:s.border}}if(typeof s.width!=="object"){s.width={value:s.width}}if(typeof s.width.max=="string"){s.width.max=parseInt(s.width.max.replace(/([0-9]+)/i,"$1"))}if(typeof s.width.min=="string"){s.width.min=parseInt(s.width.min.replace(/([0-9]+)/i,"$1"))}if(typeof s.tip.size.x=="number"){s.tip.size.width=s.tip.size.x;delete s.tip.size.x}if(typeof s.tip.size.y=="number"){s.tip.size.height=s.tip.size.y;delete s.tip.size.y}return s}function a(){var s,t,u,x,v,w;s=this;u=[true,{}];for(t=0;t<arguments.length;t++){u.push(arguments[t])}x=[f.extend.apply(f,u)];while(typeof x[0].name=="string"){x.unshift(c(f.fn.qtip.styles[x[0].name]))}x.unshift(true,{classes:{tooltip:"qtip-"+(arguments[0].name||"defaults")}},f.fn.qtip.styles.defaults);v=f.extend.apply(f,x);w=(f.browser.msie)?1:0;v.tip.size.width+=w;v.tip.size.height+=w;if(v.tip.size.width%2>0){v.tip.size.width+=1}if(v.tip.size.height%2>0){v.tip.size.height+=1}if(v.tip.corner===true){v.tip.corner=(s.options.position.corner.tooltip==="center")?false:s.options.position.corner.tooltip}return v}function b(v,u,t){var s={bottomRight:[[0,0],[u,t],[u,0]],bottomLeft:[[0,0],[u,0],[0,t]],topRight:[[0,t],[u,0],[u,t]],topLeft:[[0,0],[0,t],[u,t]],topMiddle:[[0,t],[u/2,0],[u,t]],bottomMiddle:[[0,0],[u,0],[u/2,t]],rightMiddle:[[0,0],[u,t/2],[0,t]],leftMiddle:[[u,0],[u,t],[0,t/2]]};s.leftTop=s.bottomRight;s.rightTop=s.bottomLeft;s.leftBottom=s.topRight;s.rightBottom=s.topLeft;return s[v]}function g(s){var t;if(f("<canvas>").get(0).getContext){t={topLeft:[s,s],topRight:[0,s],bottomLeft:[s,0],bottomRight:[0,0]}}else{if(f.browser.msie){t={topLeft:[-90,90,0],topRight:[-90,90,-s],bottomLeft:[90,270,0],bottomRight:[90,270,-s]}}}return t}function k(){var s,t,u;s=this;u=s.getDimensions();t='<iframe class="qtip-bgiframe" frameborder="0" tabindex="-1" src="javascript:false" style="display:block; position:absolute; z-index:-1; filter:alpha(opacity=\'0\'); border: 1px solid red; height:'+u.height+"px; width:"+u.width+'px" />';s.elements.bgiframe=s.elements.wrapper.prepend(t).children(".qtip-bgiframe:first")}f(document).ready(function(){f.fn.qtip.cache={screen:{scroll:{left:f(window).scrollLeft(),top:f(window).scrollTop()},width:f(window).width(),height:f(window).height()}};var s;f(window).bind("resize scroll",function(t){clearTimeout(s);s=setTimeout(function(){if(t.type==="scroll"){f.fn.qtip.cache.screen.scroll={left:f(window).scrollLeft(),top:f(window).scrollTop()}}else{f.fn.qtip.cache.screen.width=f(window).width();f.fn.qtip.cache.screen.height=f(window).height()}for(i=0;i<f.fn.qtip.interfaces.length;i++){var u=f.fn.qtip.interfaces[i];if(u.status.rendered===true&&(u.options.position.type!=="static"||u.options.position.adjust.scroll&&t.type==="scroll"||u.options.position.adjust.resize&&t.type==="resize")){u.updatePosition(t,true)}}},100)});f(document).bind("mousedown.qtip",function(t){if(f(t.target).parents("div.qtip").length===0){f(".qtip[unfocus]").each(function(){var u=f(this).qtip("api");if(f(this).is(":visible")&&!u.status.disabled&&f(t.target).add(u.elements.target).length>1){u.hide(t)}})}})});f.fn.qtip.interfaces=[];f.fn.qtip.log={error:function(){return this}};f.fn.qtip.constants={};f.fn.qtip.defaults={content:{prerender:false,text:false,url:false,data:null,title:{text:false,button:false}},position:{target:false,corner:{target:"bottomRight",tooltip:"topLeft"},adjust:{x:0,y:0,mouse:true,screen:false,scroll:true,resize:true},type:"absolute",container:false},show:{when:{target:false,event:"mouseover"},effect:{type:"fade",length:100},delay:140,solo:false,ready:false},hide:{when:{target:false,event:"mouseout"},effect:{type:"fade",length:100},delay:0,fixed:false},api:{beforeRender:function(){},onRender:function(){},beforePositionUpdate:function(){},onPositionUpdate:function(){},beforeShow:function(){},onShow:function(){},beforeHide:function(){},onHide:function(){},beforeContentUpdate:function(){},onContentUpdate:function(){},beforeContentLoad:function(){},onContentLoad:function(){},beforeTitleUpdate:function(){},onTitleUpdate:function(){},beforeDestroy:function(){},onDestroy:function(){},beforeFocus:function(){},onFocus:function(){}}};f.fn.qtip.styles={defaults:{background:"white",color:"#111",overflow:"hidden",textAlign:"left",width:{min:0,max:250},padding:"5px 9px",border:{width:1,radius:0,color:"#d3d3d3"},tip:{corner:false,color:false,size:{width:13,height:13},opacity:1},title:{background:"#e1e1e1",fontWeight:"bold",padding:"7px 12px"},button:{cursor:"pointer"},classes:{target:"",tip:"qtip-tip",title:"qtip-title",button:"qtip-button",content:"qtip-content",active:"qtip-active"}},cream:{border:{width:3,radius:0,color:"#F9E98E"},title:{background:"#F0DE7D",color:"#A27D35"},background:"#FBF7AA",color:"#A27D35",classes:{tooltip:"qtip-cream"}},light:{border:{width:3,radius:0,color:"#E2E2E2"},title:{background:"#f1f1f1",color:"#454545"},background:"white",color:"#454545",classes:{tooltip:"qtip-light"}},dark:{border:{width:3,radius:0,color:"#303030"},title:{background:"#404040",color:"#f3f3f3"},background:"#505050",color:"#f3f3f3",classes:{tooltip:"qtip-dark"}},red:{border:{width:3,radius:0,color:"#CE6F6F"},title:{background:"#f28279",color:"#9C2F2F"},background:"#F79992",color:"#9C2F2F",classes:{tooltip:"qtip-red"}},green:{border:{width:3,radius:0,color:"#A9DB66"},title:{background:"#b9db8c",color:"#58792E"},background:"#CDE6AC",color:"#58792E",classes:{tooltip:"qtip-green"}},blue:{border:{width:3,radius:0,color:"#ADD9ED"},title:{background:"#D0E9F5",color:"#5E99BD"},background:"#E5F6FE",color:"#4D9FBF",classes:{tooltip:"qtip-blue"}}}})(jQuery);
languages/google-calendar-events-hu_HU.po CHANGED
@@ -1,500 +1,500 @@
1
- # Translation of the WordPress plugin Google Calendar Events 0.4 by Ross Hanney.
2
- # Copyright (C) 2010 Ross Hanney
3
- # This file is distributed under the same license as the Google Calendar Events package.
4
- # FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
5
- #
6
- msgid ""
7
- msgstr ""
8
- "Project-Id-Version: Google Calendar Events 0.4\n"
9
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/google-calendar-events\n"
10
- "POT-Creation-Date: 2010-08-19 10:31+0000\n"
11
- "PO-Revision-Date: 2010-08-31 09:01+0100\n"
12
- "Last-Translator: Takács Dániel <daniel.takacs@gmail.com>\n"
13
- "Language-Team: Hungarian <daniel.takacs@gmail.com>\n"
14
- "MIME-Version: 1.0\n"
15
- "Content-Type: text/plain; charset=utf-8\n"
16
- "Content-Transfer-Encoding: 8bit\n"
17
- "X-Poedit-Language: Hungarian\n"
18
- "X-Poedit-Country: Hungary\n"
19
-
20
- #: admin/add.php:9
21
- msgid "Add a Feed"
22
- msgstr "Csatorna hozzáadása"
23
-
24
- #: admin/add.php:11
25
- #: admin/delete.php:11
26
- #: admin/edit.php:11
27
- msgid "Feed ID"
28
- msgstr "Csatorna azonosítója"
29
-
30
- #: admin/add.php:12
31
- #: admin/delete.php:12
32
- #: admin/edit.php:12
33
- msgid "Feed Title"
34
- msgstr "Csatorna címe"
35
-
36
- #: admin/add.php:13
37
- #: admin/edit.php:13
38
- msgid "Feed URL"
39
- msgstr "Csatorna URL"
40
-
41
- #: admin/add.php:14
42
- #: admin/edit.php:14
43
- msgid "Retrieve past events for current month?"
44
- msgstr "A jelenlegi hónapban történt, de már eltelt eseményeket is lekérdezzem?"
45
-
46
- #: admin/add.php:15
47
- #: admin/edit.php:15
48
- msgid "Maximum number of events to retrieve"
49
- msgstr "A lekérdezendő események maximális száma"
50
-
51
- #: admin/add.php:16
52
- #: admin/edit.php:16
53
- msgid "Number of days in the future to retrieve events for"
54
- msgstr "A lekérdezendő következő napok száma"
55
-
56
- #: admin/add.php:17
57
- #: admin/edit.php:17
58
- msgid "Date format"
59
- msgstr "Dátum formátuma"
60
-
61
- #: admin/add.php:18
62
- #: admin/edit.php:18
63
- msgid "Time format"
64
- msgstr "Idő formátuma"
65
-
66
- #: admin/add.php:19
67
- #: admin/edit.php:19
68
- msgid "Timezone adjustment"
69
- msgstr "Időzóna beállítása"
70
-
71
- #: admin/add.php:20
72
- #: admin/edit.php:20
73
- msgid "Cache duration"
74
- msgstr "Tároló frissítése"
75
-
76
- #: admin/add.php:21
77
- #: admin/edit.php:21
78
- msgid "Show multiple day events on each day?"
79
- msgstr "A több napos események minden nap külön látszódjanak?"
80
-
81
- #: admin/add.php:23
82
- #: admin/edit.php:23
83
- msgid "Display Options"
84
- msgstr "Megjelenítési beállítások"
85
-
86
- #: admin/add.php:24
87
- #: admin/edit.php:24
88
- msgid "Display start time / date?"
89
- msgstr "Látszódjon a kezdő idő / dátum?"
90
-
91
- #: admin/add.php:25
92
- #: admin/edit.php:25
93
- msgid "Display end time / date?"
94
- msgstr "Látszódjon a befejező idő / dátum?"
95
-
96
- #: admin/add.php:26
97
- #: admin/edit.php:26
98
- msgid "Separator text / characters"
99
- msgstr "Elválasztó szöveg / karakterek"
100
-
101
- #: admin/add.php:27
102
- #: admin/edit.php:27
103
- msgid "Display location?"
104
- msgstr "Látszódjon a hely?"
105
-
106
- #: admin/add.php:28
107
- #: admin/edit.php:28
108
- msgid "Display description?"
109
- msgstr "Látszódjon a leírás?"
110
-
111
- #: admin/add.php:29
112
- #: admin/edit.php:29
113
- msgid "Display link to event?"
114
- msgstr "Látszódjon az eseményre mutató linK:"
115
-
116
- #: admin/add.php:34
117
- msgid "Enter the feed details below, then click the Add Feed button."
118
- msgstr "Addja meg a csatorna részleteit, majd nyomja meg a Csatorna hozzáadása gombot."
119
-
120
- #: admin/add.php:58
121
- #: admin/edit.php:53
122
- msgid "Anything you like. 'Upcoming Club Events', for example."
123
- msgstr "Ami tetszik, pl. \"A következő Klub programok.\""
124
-
125
- #: admin/add.php:67
126
- #: admin/edit.php:64
127
- msgid "This will probably be something like: <code>http://www.google.com/calendar/feeds/your-email@gmail.com/public/full</code>."
128
- msgstr "Ez valahogy így fog kinézni: <code>http://www.google.com/calendar/feeds/your-email@gmail.com/public/full</code>."
129
-
130
- #: admin/add.php:76
131
- #: admin/edit.php:75
132
- msgid "If checked, events will be retrieved from the first of this month onwards. If unchecked, events will be retrieved from today onwards."
133
- msgstr "Ha be van jelölve, akkor a jelenlegi hónap első napjától lesznek listázva az események, ha nem, akkor csak az adott naptól."
134
-
135
- #: admin/add.php:85
136
- #: admin/edit.php:86
137
- msgid "The default number of events to retrieve from a Google Calendar feed is 25, but you may want less for a list, or more for a calendar grid."
138
- msgstr "A Google Naptár csatornájának alapértelmezett beállítása 25 esemény lekérdezése egyszerre, de ennél lehet többet és kevesebbet is beállítani."
139
-
140
- #: admin/add.php:94
141
- #: admin/edit.php:97
142
- msgid "The number of days in the future to retrieve events for (from 12:00am today). Leave blank for no day limit."
143
- msgstr "Ahány napot lekérdezzen a jövőben (ma déli 12 órától kezdve). Hagyja üresen, ha nem akar limitet beállítani."
144
-
145
- #: admin/add.php:103
146
- #: admin/edit.php:108
147
- msgid "In <a href=\"http://php.net/manual/en/function.date.php\">PHP date format</a>. Leave this blank if you'd rather stick with the default format for your blog."
148
- msgstr "<a href=\"http://php.net/manual/en/function.date.php\">PHP dátum formátum</a>. Hagyja üresen, ha a honlap alapértelmezését szeretné meghagyni."
149
-
150
- #: admin/add.php:112
151
- #: admin/edit.php:119
152
- msgid "In <a href=\"http://php.net/manual/en/function.date.php\">PHP date format</a>. Again, leave this blank to stick with the default."
153
- msgstr "<a href=\"http://php.net/manual/en/function.date.php\">PHP dátum formátum</a>. Hagyja üresen ezt is, ha a honlap alapértelmezését szeretné meghagyni."
154
-
155
- #: admin/add.php:125
156
- #: admin/edit.php:134
157
- msgid "If you are having problems with dates and times displaying in the wrong timezone, select a city in your required timezone here."
158
- msgstr "Ha valami probléma adódik a dátumokkal és az idővel, itt tudja kiválasztani az időzónájának megfelelő várost."
159
-
160
- #: admin/add.php:134
161
- #: admin/edit.php:145
162
- msgid "The length of time, in seconds, to cache the feed (43200 = 12 hours). If this feed changes regularly, you may want to reduce the cache duration."
163
- msgstr "A tároló lejáratának ideje, másodpercben (43200 másodperc = 1 óra). Ha a csatorna rendszeresen frissül, érdemes kisebb időközre állítani."
164
-
165
- #: admin/add.php:143
166
- #: admin/edit.php:156
167
- msgid "Show events that span multiple days on each day that they span (There are some limitations of this feature to be aware of)."
168
- msgstr "A több napon keresztül tartó események az időtartamuk alatt minden egyes nap külön jelenjenek meg. (Néhány korlátozást figyelembe kell venni ennél a lehetőségnél.)"
169
-
170
- #: admin/add.php:154
171
- #: admin/edit.php:167
172
- msgid "These settings control what information will be displayed for this feed in the tooltip (for grids), or in a list."
173
- msgstr "Ezek a beállítások adják meg azt, hogy milyen információk jelenjenek meg a csatornáról a tippek közt (a naptárdobozban) vagy egy listában."
174
-
175
- #: admin/add.php:155
176
- #: admin/edit.php:168
177
- msgid "You can use some HTML in the text fields, but ensure it is valid or things might go wonky. Text fields can be empty too."
178
- msgstr "Használhat HTML-t is a szövegmezőkben, de mindig győződjön meg, hogy szabványos kódot adott meg, különben könnyen összekuszálódhatnak a dolgok. A szövegmezők üresen is maradhatnak."
179
-
180
- #: admin/add.php:161
181
- #: admin/edit.php:176
182
- msgid "Select how to display the start date / time."
183
- msgstr "Válassza ki, hogyan jelenjen meg a kezdő idő / dátum."
184
-
185
- #: admin/add.php:164
186
- #: admin/edit.php:179
187
- msgid "Don't display start time or date"
188
- msgstr "Ne mutassa a kezdő időt vagy dátumot"
189
-
190
- #: admin/add.php:165
191
- #: admin/edit.php:180
192
- msgid "Display start time"
193
- msgstr "Mutassa a kezdő időt"
194
-
195
- #: admin/add.php:166
196
- #: admin/edit.php:181
197
- msgid "Display start date"
198
- msgstr "Mutassa a kezdő dátumot"
199
-
200
- #: admin/add.php:167
201
- #: admin/edit.php:182
202
- msgid "Display start time and date (in that order)"
203
- msgstr "Mutassa a kezdő időt és dátumot (ebben a sorrendben)"
204
-
205
- #: admin/add.php:168
206
- #: admin/edit.php:183
207
- msgid "Display start date and time (in that order)"
208
- msgstr "Mutassa a kezdő dátumot és időt (ebben a sorrendben)"
209
-
210
- #: admin/add.php:171
211
- #: admin/edit.php:186
212
- msgid "Text to display before the start time."
213
- msgstr "A kezdő idő előtt megjelenítendő szöveg."
214
-
215
- #: admin/add.php:179
216
- #: admin/edit.php:196
217
- msgid "Select how to display the end date / time."
218
- msgstr "Válassza ki, hogyan jelenjen meg a befejező idő / dátum."
219
-
220
- #: admin/add.php:182
221
- #: admin/edit.php:199
222
- msgid "Don't display end time or date"
223
- msgstr "Ne mutassa a befejező időt vagy dátumot"
224
-
225
- #: admin/add.php:183
226
- #: admin/edit.php:200
227
- msgid "Display end time"
228
- msgstr "Mutassa a befejező időt"
229
-
230
- #: admin/add.php:184
231
- #: admin/edit.php:201
232
- msgid "Display end date"
233
- msgstr "Mutassa a befejező dátumot"
234
-
235
- #: admin/add.php:185
236
- #: admin/edit.php:202
237
- msgid "Display end time and date (in that order)"
238
- msgstr "Mutassa a befejező időt és dátumot (ebben a sorrendben)"
239
-
240
- #: admin/add.php:186
241
- #: admin/edit.php:203
242
- msgid "Display end date and time (in that order)"
243
- msgstr "Mutassa a befejező dátumot és időt (ebben a sorrendben)"
244
-
245
- #: admin/add.php:189
246
- #: admin/edit.php:206
247
- msgid "Text to display before the end time."
248
- msgstr "A befejező idő előtt megjelenítendő szöveg."
249
-
250
- #: admin/add.php:197
251
- #: admin/edit.php:216
252
- msgid "If you have chosen to display both the time and date above, enter the text / characters to display between the time and date here (including any spaces)."
253
- msgstr "Ha azt választotta feljebb, hogy mind az idő, mind a dátum látszódjék, írja be az elválasztó szöveget / karaktereket, ami az idő és a dátum közt legyen (akármennyi szóközzel)."
254
-
255
- #: admin/add.php:206
256
- #: admin/edit.php:227
257
- msgid "Show the location of events?"
258
- msgstr "Látszódjon az esemény helye?"
259
-
260
- #: admin/add.php:208
261
- #: admin/edit.php:229
262
- msgid "Text to display before the location."
263
- msgstr "A hely előtt megjelenítendő szöveg."
264
-
265
- #: admin/add.php:217
266
- msgid "Show the description of events? (URLs in the description will be made into links)."
267
- msgstr "Látszódjon az esemény leírása? (A leírásban lévő URL-ek linkként jelennek meg)."
268
-
269
- #: admin/add.php:219
270
- #: admin/edit.php:242
271
- msgid "Text to display before the description."
272
- msgstr "A leírás előtt megjelenítendő szöveg."
273
-
274
- #: admin/add.php:223
275
- #: admin/edit.php:246
276
- msgid "Maximum number of words to show from description. Leave blank for no limit."
277
- msgstr "A leírásból megjelenítendő szavak maximális száma. Hagyja üresen, ha nem akar limitet beállítani."
278
-
279
- #: admin/add.php:232
280
- #: admin/edit.php:257
281
- msgid "Show a link to the Google Calendar page for an event?"
282
- msgstr "Mutasson link a Google Naptárra az eseményeknél?"
283
-
284
- #: admin/add.php:235
285
- #: admin/edit.php:260
286
- msgid "Links open in a new window / tab?"
287
- msgstr "A link új ablakon / fülön nyíljon?"
288
-
289
- #: admin/add.php:237
290
- #: admin/edit.php:262
291
- msgid "The link text to be displayed."
292
- msgstr "A megjelenítendő link szövege"
293
-
294
- #: admin/delete.php:9
295
- #: google-calendar-events.php:201
296
- msgid "Delete Feed"
297
- msgstr "Csatorna törlése"
298
-
299
- #: admin/delete.php:17
300
- msgid "Are you want you want to delete this feed? (Remember to remove / adjust any widgets or shortcodes associated with this feed)."
301
- msgstr "Biztosan törölni akarja a csatornát? (Ne felejtse el eltávolítani vagy módosítani a csatornára hivatkozó összes dobozt vagy kódrészletet)."
302
-
303
- #: admin/edit.php:9
304
- msgid "Edit Feed"
305
- msgstr "Csatorna szerkesztése"
306
-
307
- #: admin/edit.php:34
308
- msgid "Make any changes you require to the feed details below, then click the Save Changes button."
309
- msgstr "Végezze el a szükséges módosításokat alább, majd nyomja meg a Változtatások mentése gombot."
310
-
311
- #: admin/edit.php:240
312
- msgid "Show the description of events? (URLs in the description will be made into links)."
313
- msgstr "Látszódjon az esemény leírása? (A leírásban lévő URL-ek linkként jelennek meg)."
314
-
315
- #: admin/main.php:2
316
- msgid "Add a New Feed"
317
- msgstr "Új csatorna hozzáadása"
318
-
319
- #: admin/main.php:4
320
- msgid "Click here to add a new feed"
321
- msgstr "Kattintson ide új csatorna hozzáadásához"
322
-
323
- #: admin/main.php:4
324
- #: google-calendar-events.php:186
325
- msgid "Add Feed"
326
- msgstr "Csatorna hozzáadása"
327
-
328
- #: admin/main.php:7
329
- msgid "Current Feeds"
330
- msgstr "Jelenlegi csatornák"
331
-
332
- #: admin/main.php:16
333
- msgid "You haven't added any Google Calendar feeds yet."
334
- msgstr "Még nem adott hozzá egyetlen Google Naptár csatornát sem."
335
-
336
- #: admin/main.php:24
337
- #: admin/main.php:32
338
- msgid "ID"
339
- msgstr "Azonosító"
340
-
341
- #: admin/main.php:25
342
- #: admin/main.php:33
343
- msgid "Title"
344
- msgstr "Cím"
345
-
346
- #: admin/main.php:26
347
- #: admin/main.php:34
348
- msgid "URL"
349
- msgstr "URL"
350
-
351
- #: admin/main.php:47
352
- msgid "Edit"
353
- msgstr "Szerkeszt"
354
-
355
- #: admin/main.php:47
356
- msgid "Delete"
357
- msgstr "Töröl"
358
-
359
- #: admin/main.php:61
360
- msgid "General Options"
361
- msgstr "Beállítások"
362
-
363
- #: admin/main.php:65
364
- msgid "Custom stylesheet URL"
365
- msgstr "Saját stíluslap elérési útvonala"
366
-
367
- #: admin/main.php:67
368
- msgid ""
369
- "If you want to make changes to the default CSS, make a copy of <code>google-calendar-events/css/gce-style.css</code> on your server. Make any \r\n"
370
- "\t\t\t\tchanges to the copy. Enter the URL to the copied file below."
371
- msgstr ""
372
- "Ha szeretné megváltoztatni az eredeti CSS-t, készítsen egy másolatot a <code>google-calendar-events/css/gce-style.css</code> fájlról a szerveren. \r\n"
373
- "\t\t\t\tVégezze el a módosításokat, majd írja be a másolat URL-jét alább."
374
-
375
- #: admin/main.php:73
376
- msgid "Add JavaScript to footer?"
377
- msgstr "Adhatok JavaScriptet a lábléchez?"
378
-
379
- #: admin/main.php:75
380
- msgid "If you are having issues with tooltips not appearing or the AJAX functionality not working, try ticking the checkbox below."
381
- msgstr "Ha nem jelennek meg a tippek, vagy az AJAX-funkciók nem működnek, próbálkozzon az alábbi jelölőnégyzet kipipálásával."
382
-
383
- #: admin/main.php:80
384
- msgid "Loading text"
385
- msgstr "Töltés közbeni szöveg"
386
-
387
- #: admin/main.php:82
388
- msgid "Text to display while calendar data is loading (on AJAX requests)"
389
- msgstr "Az AJAX-kérések töltődése során megjelenő szöveg."
390
-
391
- #: admin/main.php:91
392
- msgid "Save"
393
- msgstr "Mentés"
394
-
395
- #: google-calendar-events.php:148
396
- msgid "Settings"
397
- msgstr "Beállítások"
398
-
399
- #: google-calendar-events.php:163
400
- msgid "New Feed Added Successfully."
401
- msgstr "Az új csatorná sikeresen hozzáadta."
402
-
403
- #: google-calendar-events.php:166
404
- msgid "Feed Details Updated Successfully."
405
- msgstr "A csatorna részletei sikeresen frissültek."
406
-
407
- #: google-calendar-events.php:169
408
- msgid "Feed Deleted Successfully."
409
- msgstr "A csatorna sikeresen törlődött."
410
-
411
- #. #-#-#-#-# plugin.pot (Google Calendar Events 0.3.1) #-#-#-#-#
412
- #. Plugin Name of the plugin/theme
413
- #: google-calendar-events.php:176
414
- #: widget/gce-widget.php:6
415
- msgid "Google Calendar Events"
416
- msgstr "Google Naptár Események"
417
-
418
- #: google-calendar-events.php:187
419
- #: google-calendar-events.php:195
420
- #: google-calendar-events.php:202
421
- msgid "Cancel"
422
- msgstr "Mégsem"
423
-
424
- #: google-calendar-events.php:194
425
- msgid "Save Changes"
426
- msgstr "Változások mentése"
427
-
428
- #: google-calendar-events.php:353
429
- msgid "No valid Feed IDs have been entered for this shortcode. Please check that you have entered the IDs correctly and that the Feeds have not been deleted."
430
- msgstr "Nincs érvényes Csatornaazonosító megadva ehhez a kódrészlethez. Kérem, ellenőrizze, hogy az azonosítót helyesen adta-e meg, és hogy a csatornát nem törölte-e."
431
-
432
- #: google-calendar-events.php:369
433
- #: widget/gce-widget.php:76
434
- msgid "No feeds have been added yet. You can add a feed in the Google Calendar Events settings."
435
- msgstr "Még nem adott meg csatornát. Csatornát a Google Naptár Események beállításánál tud hozzáadni."
436
-
437
- #: google-calendar-events.php:428
438
- #: google-calendar-events.php:445
439
- #: widget/gce-widget.php:146
440
- #: widget/gce-widget.php:158
441
- #, php-format
442
- msgid "The following feeds were not parsed successfully: %s. Please check that the feed URLs are correct and that the feeds have public sharing enabled."
443
- msgstr "A következő csatornákat nem lehetett feldolgozni: %s. Kérem, ellenőrizze, hogy a csatornák URL-je helyes-e, és hogy a csatornák nyilvánossá lettek-e téve."
444
-
445
- #: inc/gce-parser.php:213
446
- msgid "There are currently no upcoming events."
447
- msgstr "Nincs esemény a közeljövőben."
448
-
449
- #: widget/gce-widget.php:6
450
- msgid "Display a list or calendar grid of events from one or more Google Calendar feeds you have added"
451
- msgstr "Listát vagy hagyományos naptárat jelenít meg a megadott Google Naptár csatornából vagy csatornákból."
452
-
453
- #: widget/gce-widget.php:40
454
- msgid "No valid Feed IDs have been entered for this widget. Please check that you have entered the IDs correctly and that the Feeds have not been deleted."
455
- msgstr "Nincs érvényes azonosító adva ehhez a dobozhoz. Kérem, ellenőrizze, hogy helyesen adta-e meg az azonosítót, és hogy a csatoránt nem törölte-e."
456
-
457
- #: widget/gce-widget.php:99
458
- msgid "No feeds have been added yet. You can add feeds in the Google Calendar Events settings."
459
- msgstr "Még nem adott meg csatornát. Csatornát a Google Naptár Események beállításánál tud hozzáadni."
460
-
461
- #: widget/gce-widget.php:113
462
- msgid "Feed IDs to display in this widget, separated by commas (e.g. 1, 2, 4):"
463
- msgstr "A dobozban megjelenítendő csatornák azonosítója, vesszővel elválasztva (pl. 1, 2, 4):"
464
-
465
- #: widget/gce-widget.php:117
466
- msgid "Display as:"
467
- msgstr "Megjelenítés mint:"
468
-
469
- #: widget/gce-widget.php:119
470
- msgid "Calendar Grid"
471
- msgstr "Naptárdoboz"
472
-
473
- #: widget/gce-widget.php:120
474
- msgid "Calendar Grid - with AJAX"
475
- msgstr "Naptárdoboz - AJAX"
476
-
477
- #: widget/gce-widget.php:121
478
- msgid "List"
479
- msgstr "Lista"
480
-
481
- #: widget/gce-widget.php:122
482
- msgid "List - grouped by date"
483
- msgstr "Lista dátum szerint csoportosítva"
484
-
485
- #. Plugin URI of the plugin/theme
486
- msgid "http://www.rhanney.co.uk/plugins/google-calendar-events"
487
- msgstr "http://www.rhanney.co.uk/plugins/google-calendar-events"
488
-
489
- #. Description of the plugin/theme
490
- msgid "Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget."
491
- msgstr "Google Naptár csatornákat dolgoz fel és jeleníti meg naptárdobozként vagy listában a megadott oldalon, bejegyzésben vagy dobozban."
492
-
493
- #. Author of the plugin/theme
494
- msgid "Ross Hanney"
495
- msgstr "Ross Hanney"
496
-
497
- #. Author URI of the plugin/theme
498
- msgid "http://www.rhanney.co.uk"
499
- msgstr "http://www.rhanney.co.uk"
500
-
1
+ # Translation of the WordPress plugin Google Calendar Events 0.4 by Ross Hanney.
2
+ # Copyright (C) 2010 Ross Hanney
3
+ # This file is distributed under the same license as the Google Calendar Events package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
5
+ #
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: Google Calendar Events 0.4\n"
9
+ "Report-Msgid-Bugs-To: http://wordpress.org/tag/google-calendar-events\n"
10
+ "POT-Creation-Date: 2010-08-19 10:31+0000\n"
11
+ "PO-Revision-Date: 2010-08-31 09:01+0100\n"
12
+ "Last-Translator: Takács Dániel <daniel.takacs@gmail.com>\n"
13
+ "Language-Team: Hungarian <daniel.takacs@gmail.com>\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Content-Type: text/plain; charset=utf-8\n"
16
+ "Content-Transfer-Encoding: 8bit\n"
17
+ "X-Poedit-Language: Hungarian\n"
18
+ "X-Poedit-Country: Hungary\n"
19
+
20
+ #: admin/add.php:9
21
+ msgid "Add a Feed"
22
+ msgstr "Csatorna hozzáadása"
23
+
24
+ #: admin/add.php:11
25
+ #: admin/delete.php:11
26
+ #: admin/edit.php:11
27
+ msgid "Feed ID"
28
+ msgstr "Csatorna azonosítója"
29
+
30
+ #: admin/add.php:12
31
+ #: admin/delete.php:12
32
+ #: admin/edit.php:12
33
+ msgid "Feed Title"
34
+ msgstr "Csatorna címe"
35
+
36
+ #: admin/add.php:13
37
+ #: admin/edit.php:13
38
+ msgid "Feed URL"
39
+ msgstr "Csatorna URL"
40
+
41
+ #: admin/add.php:14
42
+ #: admin/edit.php:14
43
+ msgid "Retrieve past events for current month?"
44
+ msgstr "A jelenlegi hónapban történt, de már eltelt eseményeket is lekérdezzem?"
45
+
46
+ #: admin/add.php:15
47
+ #: admin/edit.php:15
48
+ msgid "Maximum number of events to retrieve"
49
+ msgstr "A lekérdezendő események maximális száma"
50
+
51
+ #: admin/add.php:16
52
+ #: admin/edit.php:16
53
+ msgid "Number of days in the future to retrieve events for"
54
+ msgstr "A lekérdezendő következő napok száma"
55
+
56
+ #: admin/add.php:17
57
+ #: admin/edit.php:17
58
+ msgid "Date format"
59
+ msgstr "Dátum formátuma"
60
+
61
+ #: admin/add.php:18
62
+ #: admin/edit.php:18
63
+ msgid "Time format"
64
+ msgstr "Idő formátuma"
65
+
66
+ #: admin/add.php:19
67
+ #: admin/edit.php:19
68
+ msgid "Timezone adjustment"
69
+ msgstr "Időzóna beállítása"
70
+
71
+ #: admin/add.php:20
72
+ #: admin/edit.php:20
73
+ msgid "Cache duration"
74
+ msgstr "Tároló frissítése"
75
+
76
+ #: admin/add.php:21
77
+ #: admin/edit.php:21
78
+ msgid "Show multiple day events on each day?"
79
+ msgstr "A több napos események minden nap külön látszódjanak?"
80
+
81
+ #: admin/add.php:23
82
+ #: admin/edit.php:23
83
+ msgid "Display Options"
84
+ msgstr "Megjelenítési beállítások"
85
+
86
+ #: admin/add.php:24
87
+ #: admin/edit.php:24
88
+ msgid "Display start time / date?"
89
+ msgstr "Látszódjon a kezdő idő / dátum?"
90
+
91
+ #: admin/add.php:25
92
+ #: admin/edit.php:25
93
+ msgid "Display end time / date?"
94
+ msgstr "Látszódjon a befejező idő / dátum?"
95
+
96
+ #: admin/add.php:26
97
+ #: admin/edit.php:26
98
+ msgid "Separator text / characters"
99
+ msgstr "Elválasztó szöveg / karakterek"
100
+
101
+ #: admin/add.php:27
102
+ #: admin/edit.php:27
103
+ msgid "Display location?"
104
+ msgstr "Látszódjon a hely?"
105
+
106
+ #: admin/add.php:28
107
+ #: admin/edit.php:28
108
+ msgid "Display description?"
109
+ msgstr "Látszódjon a leírás?"
110
+
111
+ #: admin/add.php:29
112
+ #: admin/edit.php:29
113
+ msgid "Display link to event?"
114
+ msgstr "Látszódjon az eseményre mutató linK:"
115
+
116
+ #: admin/add.php:34
117
+ msgid "Enter the feed details below, then click the Add Feed button."
118
+ msgstr "Addja meg a csatorna részleteit, majd nyomja meg a Csatorna hozzáadása gombot."
119
+
120
+ #: admin/add.php:58
121
+ #: admin/edit.php:53
122
+ msgid "Anything you like. 'Upcoming Club Events', for example."
123
+ msgstr "Ami tetszik, pl. \"A következő Klub programok.\""
124
+
125
+ #: admin/add.php:67
126
+ #: admin/edit.php:64
127
+ msgid "This will probably be something like: <code>http://www.google.com/calendar/feeds/your-email@gmail.com/public/full</code>."
128
+ msgstr "Ez valahogy így fog kinézni: <code>http://www.google.com/calendar/feeds/your-email@gmail.com/public/full</code>."
129
+
130
+ #: admin/add.php:76
131
+ #: admin/edit.php:75
132
+ msgid "If checked, events will be retrieved from the first of this month onwards. If unchecked, events will be retrieved from today onwards."
133
+ msgstr "Ha be van jelölve, akkor a jelenlegi hónap első napjától lesznek listázva az események, ha nem, akkor csak az adott naptól."
134
+
135
+ #: admin/add.php:85
136
+ #: admin/edit.php:86
137
+ msgid "The default number of events to retrieve from a Google Calendar feed is 25, but you may want less for a list, or more for a calendar grid."
138
+ msgstr "A Google Naptár csatornájának alapértelmezett beállítása 25 esemény lekérdezése egyszerre, de ennél lehet többet és kevesebbet is beállítani."
139
+
140
+ #: admin/add.php:94
141
+ #: admin/edit.php:97
142
+ msgid "The number of days in the future to retrieve events for (from 12:00am today). Leave blank for no day limit."
143
+ msgstr "Ahány napot lekérdezzen a jövőben (ma déli 12 órától kezdve). Hagyja üresen, ha nem akar limitet beállítani."
144
+
145
+ #: admin/add.php:103
146
+ #: admin/edit.php:108
147
+ msgid "In <a href=\"http://php.net/manual/en/function.date.php\">PHP date format</a>. Leave this blank if you'd rather stick with the default format for your blog."
148
+ msgstr "<a href=\"http://php.net/manual/en/function.date.php\">PHP dátum formátum</a>. Hagyja üresen, ha a honlap alapértelmezését szeretné meghagyni."
149
+
150
+ #: admin/add.php:112
151
+ #: admin/edit.php:119
152
+ msgid "In <a href=\"http://php.net/manual/en/function.date.php\">PHP date format</a>. Again, leave this blank to stick with the default."
153
+ msgstr "<a href=\"http://php.net/manual/en/function.date.php\">PHP dátum formátum</a>. Hagyja üresen ezt is, ha a honlap alapértelmezését szeretné meghagyni."
154
+
155
+ #: admin/add.php:125
156
+ #: admin/edit.php:134
157
+ msgid "If you are having problems with dates and times displaying in the wrong timezone, select a city in your required timezone here."
158
+ msgstr "Ha valami probléma adódik a dátumokkal és az idővel, itt tudja kiválasztani az időzónájának megfelelő várost."
159
+
160
+ #: admin/add.php:134
161
+ #: admin/edit.php:145
162
+ msgid "The length of time, in seconds, to cache the feed (43200 = 12 hours). If this feed changes regularly, you may want to reduce the cache duration."
163
+ msgstr "A tároló lejáratának ideje, másodpercben (43200 másodperc = 1 óra). Ha a csatorna rendszeresen frissül, érdemes kisebb időközre állítani."
164
+
165
+ #: admin/add.php:143
166
+ #: admin/edit.php:156
167
+ msgid "Show events that span multiple days on each day that they span (There are some limitations of this feature to be aware of)."
168
+ msgstr "A több napon keresztül tartó események az időtartamuk alatt minden egyes nap külön jelenjenek meg. (Néhány korlátozást figyelembe kell venni ennél a lehetőségnél.)"
169
+
170
+ #: admin/add.php:154
171
+ #: admin/edit.php:167
172
+ msgid "These settings control what information will be displayed for this feed in the tooltip (for grids), or in a list."
173
+ msgstr "Ezek a beállítások adják meg azt, hogy milyen információk jelenjenek meg a csatornáról a tippek közt (a naptárdobozban) vagy egy listában."
174
+
175
+ #: admin/add.php:155
176
+ #: admin/edit.php:168
177
+ msgid "You can use some HTML in the text fields, but ensure it is valid or things might go wonky. Text fields can be empty too."
178
+ msgstr "Használhat HTML-t is a szövegmezőkben, de mindig győződjön meg, hogy szabványos kódot adott meg, különben könnyen összekuszálódhatnak a dolgok. A szövegmezők üresen is maradhatnak."
179
+
180
+ #: admin/add.php:161
181
+ #: admin/edit.php:176
182
+ msgid "Select how to display the start date / time."
183
+ msgstr "Válassza ki, hogyan jelenjen meg a kezdő idő / dátum."
184
+
185
+ #: admin/add.php:164
186
+ #: admin/edit.php:179
187
+ msgid "Don't display start time or date"
188
+ msgstr "Ne mutassa a kezdő időt vagy dátumot"
189
+
190
+ #: admin/add.php:165
191
+ #: admin/edit.php:180
192
+ msgid "Display start time"
193
+ msgstr "Mutassa a kezdő időt"
194
+
195
+ #: admin/add.php:166
196
+ #: admin/edit.php:181
197
+ msgid "Display start date"
198
+ msgstr "Mutassa a kezdő dátumot"
199
+
200
+ #: admin/add.php:167
201
+ #: admin/edit.php:182
202
+ msgid "Display start time and date (in that order)"
203
+ msgstr "Mutassa a kezdő időt és dátumot (ebben a sorrendben)"
204
+
205
+ #: admin/add.php:168
206
+ #: admin/edit.php:183
207
+ msgid "Display start date and time (in that order)"
208
+ msgstr "Mutassa a kezdő dátumot és időt (ebben a sorrendben)"
209
+
210
+ #: admin/add.php:171
211
+ #: admin/edit.php:186
212
+ msgid "Text to display before the start time."
213
+ msgstr "A kezdő idő előtt megjelenítendő szöveg."
214
+
215
+ #: admin/add.php:179
216
+ #: admin/edit.php:196
217
+ msgid "Select how to display the end date / time."
218
+ msgstr "Válassza ki, hogyan jelenjen meg a befejező idő / dátum."
219
+
220
+ #: admin/add.php:182
221
+ #: admin/edit.php:199
222
+ msgid "Don't display end time or date"
223
+ msgstr "Ne mutassa a befejező időt vagy dátumot"
224
+
225
+ #: admin/add.php:183
226
+ #: admin/edit.php:200
227
+ msgid "Display end time"
228
+ msgstr "Mutassa a befejező időt"
229
+
230
+ #: admin/add.php:184
231
+ #: admin/edit.php:201
232
+ msgid "Display end date"
233
+ msgstr "Mutassa a befejező dátumot"
234
+
235
+ #: admin/add.php:185
236
+ #: admin/edit.php:202
237
+ msgid "Display end time and date (in that order)"
238
+ msgstr "Mutassa a befejező időt és dátumot (ebben a sorrendben)"
239
+
240
+ #: admin/add.php:186
241
+ #: admin/edit.php:203
242
+ msgid "Display end date and time (in that order)"
243
+ msgstr "Mutassa a befejező dátumot és időt (ebben a sorrendben)"
244
+
245
+ #: admin/add.php:189
246
+ #: admin/edit.php:206
247
+ msgid "Text to display before the end time."
248
+ msgstr "A befejező idő előtt megjelenítendő szöveg."
249
+
250
+ #: admin/add.php:197
251
+ #: admin/edit.php:216
252
+ msgid "If you have chosen to display both the time and date above, enter the text / characters to display between the time and date here (including any spaces)."
253
+ msgstr "Ha azt választotta feljebb, hogy mind az idő, mind a dátum látszódjék, írja be az elválasztó szöveget / karaktereket, ami az idő és a dátum közt legyen (akármennyi szóközzel)."
254
+
255
+ #: admin/add.php:206
256
+ #: admin/edit.php:227
257
+ msgid "Show the location of events?"
258
+ msgstr "Látszódjon az esemény helye?"
259
+
260
+ #: admin/add.php:208
261
+ #: admin/edit.php:229
262
+ msgid "Text to display before the location."
263
+ msgstr "A hely előtt megjelenítendő szöveg."
264
+
265
+ #: admin/add.php:217
266
+ msgid "Show the description of events? (URLs in the description will be made into links)."
267
+ msgstr "Látszódjon az esemény leírása? (A leírásban lévő URL-ek linkként jelennek meg)."
268
+
269
+ #: admin/add.php:219
270
+ #: admin/edit.php:242
271
+ msgid "Text to display before the description."
272
+ msgstr "A leírás előtt megjelenítendő szöveg."
273
+
274
+ #: admin/add.php:223
275
+ #: admin/edit.php:246
276
+ msgid "Maximum number of words to show from description. Leave blank for no limit."
277
+ msgstr "A leírásból megjelenítendő szavak maximális száma. Hagyja üresen, ha nem akar limitet beállítani."
278
+
279
+ #: admin/add.php:232
280
+ #: admin/edit.php:257
281
+ msgid "Show a link to the Google Calendar page for an event?"
282
+ msgstr "Mutasson link a Google Naptárra az eseményeknél?"
283
+
284
+ #: admin/add.php:235
285
+ #: admin/edit.php:260
286
+ msgid "Links open in a new window / tab?"
287
+ msgstr "A link új ablakon / fülön nyíljon?"
288
+
289
+ #: admin/add.php:237
290
+ #: admin/edit.php:262
291
+ msgid "The link text to be displayed."
292
+ msgstr "A megjelenítendő link szövege"
293
+
294
+ #: admin/delete.php:9
295
+ #: google-calendar-events.php:201
296
+ msgid "Delete Feed"
297
+ msgstr "Csatorna törlése"
298
+
299
+ #: admin/delete.php:17
300
+ msgid "Are you want you want to delete this feed? (Remember to remove / adjust any widgets or shortcodes associated with this feed)."
301
+ msgstr "Biztosan törölni akarja a csatornát? (Ne felejtse el eltávolítani vagy módosítani a csatornára hivatkozó összes dobozt vagy kódrészletet)."
302
+
303
+ #: admin/edit.php:9
304
+ msgid "Edit Feed"
305
+ msgstr "Csatorna szerkesztése"
306
+
307
+ #: admin/edit.php:34
308
+ msgid "Make any changes you require to the feed details below, then click the Save Changes button."
309
+ msgstr "Végezze el a szükséges módosításokat alább, majd nyomja meg a Változtatások mentése gombot."
310
+
311
+ #: admin/edit.php:240
312
+ msgid "Show the description of events? (URLs in the description will be made into links)."
313
+ msgstr "Látszódjon az esemény leírása? (A leírásban lévő URL-ek linkként jelennek meg)."
314
+
315
+ #: admin/main.php:2
316
+ msgid "Add a New Feed"
317
+ msgstr "Új csatorna hozzáadása"
318
+
319
+ #: admin/main.php:4
320
+ msgid "Click here to add a new feed"
321
+ msgstr "Kattintson ide új csatorna hozzáadásához"
322
+
323
+ #: admin/main.php:4
324
+ #: google-calendar-events.php:186
325
+ msgid "Add Feed"
326
+ msgstr "Csatorna hozzáadása"
327
+
328
+ #: admin/main.php:7
329
+ msgid "Current Feeds"
330
+ msgstr "Jelenlegi csatornák"
331
+
332
+ #: admin/main.php:16
333
+ msgid "You haven't added any Google Calendar feeds yet."
334
+ msgstr "Még nem adott hozzá egyetlen Google Naptár csatornát sem."
335
+
336
+ #: admin/main.php:24
337
+ #: admin/main.php:32
338
+ msgid "ID"
339
+ msgstr "Azonosító"
340
+
341
+ #: admin/main.php:25
342
+ #: admin/main.php:33
343
+ msgid "Title"
344
+ msgstr "Cím"
345
+
346
+ #: admin/main.php:26
347
+ #: admin/main.php:34
348
+ msgid "URL"
349
+ msgstr "URL"
350
+
351
+ #: admin/main.php:47
352
+ msgid "Edit"
353
+ msgstr "Szerkeszt"
354
+
355
+ #: admin/main.php:47
356
+ msgid "Delete"
357
+ msgstr "Töröl"
358
+
359
+ #: admin/main.php:61
360
+ msgid "General Options"
361
+ msgstr "Beállítások"
362
+
363
+ #: admin/main.php:65
364
+ msgid "Custom stylesheet URL"
365
+ msgstr "Saját stíluslap elérési útvonala"
366
+
367
+ #: admin/main.php:67
368
+ msgid ""
369
+ "If you want to make changes to the default CSS, make a copy of <code>google-calendar-events/css/gce-style.css</code> on your server. Make any \r\n"
370
+ "\t\t\t\tchanges to the copy. Enter the URL to the copied file below."
371
+ msgstr ""
372
+ "Ha szeretné megváltoztatni az eredeti CSS-t, készítsen egy másolatot a <code>google-calendar-events/css/gce-style.css</code> fájlról a szerveren. \r\n"
373
+ "\t\t\t\tVégezze el a módosításokat, majd írja be a másolat URL-jét alább."
374
+
375
+ #: admin/main.php:73
376
+ msgid "Add JavaScript to footer?"
377
+ msgstr "Adhatok JavaScriptet a lábléchez?"
378
+
379
+ #: admin/main.php:75
380
+ msgid "If you are having issues with tooltips not appearing or the AJAX functionality not working, try ticking the checkbox below."
381
+ msgstr "Ha nem jelennek meg a tippek, vagy az AJAX-funkciók nem működnek, próbálkozzon az alábbi jelölőnégyzet kipipálásával."
382
+
383
+ #: admin/main.php:80
384
+ msgid "Loading text"
385
+ msgstr "Töltés közbeni szöveg"
386
+
387
+ #: admin/main.php:82
388
+ msgid "Text to display while calendar data is loading (on AJAX requests)"
389
+ msgstr "Az AJAX-kérések töltődése során megjelenő szöveg."
390
+
391
+ #: admin/main.php:91
392
+ msgid "Save"
393
+ msgstr "Mentés"
394
+
395
+ #: google-calendar-events.php:148
396
+ msgid "Settings"
397
+ msgstr "Beállítások"
398
+
399
+ #: google-calendar-events.php:163
400
+ msgid "New Feed Added Successfully."
401
+ msgstr "Az új csatorná sikeresen hozzáadta."
402
+
403
+ #: google-calendar-events.php:166
404
+ msgid "Feed Details Updated Successfully."
405
+ msgstr "A csatorna részletei sikeresen frissültek."
406
+
407
+ #: google-calendar-events.php:169
408
+ msgid "Feed Deleted Successfully."
409
+ msgstr "A csatorna sikeresen törlődött."
410
+
411
+ #. #-#-#-#-# plugin.pot (Google Calendar Events 0.3.1) #-#-#-#-#
412
+ #. Plugin Name of the plugin/theme
413
+ #: google-calendar-events.php:176
414
+ #: widget/gce-widget.php:6
415
+ msgid "Google Calendar Events"
416
+ msgstr "Google Naptár Események"
417
+
418
+ #: google-calendar-events.php:187
419
+ #: google-calendar-events.php:195
420
+ #: google-calendar-events.php:202
421
+ msgid "Cancel"
422
+ msgstr "Mégsem"
423
+
424
+ #: google-calendar-events.php:194
425
+ msgid "Save Changes"
426
+ msgstr "Változások mentése"
427
+
428
+ #: google-calendar-events.php:353
429
+ msgid "No valid Feed IDs have been entered for this shortcode. Please check that you have entered the IDs correctly and that the Feeds have not been deleted."
430
+ msgstr "Nincs érvényes Csatornaazonosító megadva ehhez a kódrészlethez. Kérem, ellenőrizze, hogy az azonosítót helyesen adta-e meg, és hogy a csatornát nem törölte-e."
431
+
432
+ #: google-calendar-events.php:369
433
+ #: widget/gce-widget.php:76
434
+ msgid "No feeds have been added yet. You can add a feed in the Google Calendar Events settings."
435
+ msgstr "Még nem adott meg csatornát. Csatornát a Google Naptár Események beállításánál tud hozzáadni."
436
+
437
+ #: google-calendar-events.php:428
438
+ #: google-calendar-events.php:445
439
+ #: widget/gce-widget.php:146
440
+ #: widget/gce-widget.php:158
441
+ #, php-format
442
+ msgid "The following feeds were not parsed successfully: %s. Please check that the feed URLs are correct and that the feeds have public sharing enabled."
443
+ msgstr "A következő csatornákat nem lehetett feldolgozni: %s. Kérem, ellenőrizze, hogy a csatornák URL-je helyes-e, és hogy a csatornák nyilvánossá lettek-e téve."
444
+
445
+ #: inc/gce-parser.php:213
446
+ msgid "There are currently no upcoming events."
447
+ msgstr "Nincs esemény a közeljövőben."
448
+
449
+ #: widget/gce-widget.php:6
450
+ msgid "Display a list or calendar grid of events from one or more Google Calendar feeds you have added"
451
+ msgstr "Listát vagy hagyományos naptárat jelenít meg a megadott Google Naptár csatornából vagy csatornákból."
452
+
453
+ #: widget/gce-widget.php:40
454
+ msgid "No valid Feed IDs have been entered for this widget. Please check that you have entered the IDs correctly and that the Feeds have not been deleted."
455
+ msgstr "Nincs érvényes azonosító adva ehhez a dobozhoz. Kérem, ellenőrizze, hogy helyesen adta-e meg az azonosítót, és hogy a csatoránt nem törölte-e."
456
+
457
+ #: widget/gce-widget.php:99
458
+ msgid "No feeds have been added yet. You can add feeds in the Google Calendar Events settings."
459
+ msgstr "Még nem adott meg csatornát. Csatornát a Google Naptár Események beállításánál tud hozzáadni."
460
+
461
+ #: widget/gce-widget.php:113
462
+ msgid "Feed IDs to display in this widget, separated by commas (e.g. 1, 2, 4):"
463
+ msgstr "A dobozban megjelenítendő csatornák azonosítója, vesszővel elválasztva (pl. 1, 2, 4):"
464
+
465
+ #: widget/gce-widget.php:117
466
+ msgid "Display as:"
467
+ msgstr "Megjelenítés mint:"
468
+
469
+ #: widget/gce-widget.php:119
470
+ msgid "Calendar Grid"
471
+ msgstr "Naptárdoboz"
472
+
473
+ #: widget/gce-widget.php:120
474
+ msgid "Calendar Grid - with AJAX"
475
+ msgstr "Naptárdoboz - AJAX"
476
+
477
+ #: widget/gce-widget.php:121
478
+ msgid "List"
479
+ msgstr "Lista"
480
+
481
+ #: widget/gce-widget.php:122
482
+ msgid "List - grouped by date"
483
+ msgstr "Lista dátum szerint csoportosítva"
484
+
485
+ #. Plugin URI of the plugin/theme
486
+ msgid "http://www.rhanney.co.uk/plugins/google-calendar-events"
487
+ msgstr "http://www.rhanney.co.uk/plugins/google-calendar-events"
488
+
489
+ #. Description of the plugin/theme
490
+ msgid "Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget."
491
+ msgstr "Google Naptár csatornákat dolgoz fel és jeleníti meg naptárdobozként vagy listában a megadott oldalon, bejegyzésben vagy dobozban."
492
+
493
+ #. Author of the plugin/theme
494
+ msgid "Ross Hanney"
495
+ msgstr "Ross Hanney"
496
+
497
+ #. Author URI of the plugin/theme
498
+ msgid "http://www.rhanney.co.uk"
499
+ msgstr "http://www.rhanney.co.uk"
500
+
languages/google-calendar-events.pot CHANGED
@@ -1,1053 +1,1053 @@
1
- # Copyright (C) 2010 Google Calendar Events
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"
11
- "PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\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
1038
- msgid "http://www.rhanney.co.uk/plugins/google-calendar-events"
1039
- msgstr ""
1040
-
1041
- #. Description of the plugin/theme
1042
- msgid ""
1043
- "Parses Google Calendar feeds and displays the events as a calendar grid or "
1044
- "list on a page, post or widget."
1045
- msgstr ""
1046
-
1047
- #. Author of the plugin/theme
1048
- msgid "Ross Hanney"
1049
- msgstr ""
1050
-
1051
- #. Author URI of the plugin/theme
1052
- msgid "http://www.rhanney.co.uk"
1053
- msgstr ""
1
+ # Copyright (C) 2010 Google Calendar Events
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"
11
+ "PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\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
1038
+ msgid "http://www.rhanney.co.uk/plugins/google-calendar-events"
1039
+ msgstr ""
1040
+
1041
+ #. Description of the plugin/theme
1042
+ msgid ""
1043
+ "Parses Google Calendar feeds and displays the events as a calendar grid or "
1044
+ "list on a page, post or widget."
1045
+ msgstr ""
1046
+
1047
+ #. Author of the plugin/theme
1048
+ msgid "Ross Hanney"
1049
+ msgstr ""
1050
+
1051
+ #. Author URI of the plugin/theme
1052
+ msgid "http://www.rhanney.co.uk"
1053
+ msgstr ""
readme.txt CHANGED
@@ -1,11 +1,10 @@
1
  === Google Calendar Events ===
2
- Contributors: rosshanney, pderksen, nickyoung87
 
3
  Tags: google, google calendar, calendar, event, events, ajax, widget
4
- Requires at least: 3.7.4
5
- Tested up to: 4.0
6
- Stable tag: trunk
7
- License: GPLv2 or later
8
- License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
10
  Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget.
11
 
@@ -49,14 +48,6 @@ You can now start adding feeds. Visit the [plugin homepage](http://www.rhanney.c
49
 
50
  == Changelog ==
51
 
52
- = 0.7.3.1 =
53
- * Include missing file: upgrade-notice.php.
54
-
55
- = 0.7.3 =
56
- * Added warning about upcoming version 2.0 release.
57
- * Added option to save settings upon uninstall.
58
- * Tested with WordPress 4.0.
59
-
60
  = 0.7.2 =
61
  * Fixed a bug causing the "More details" Google Calendar information to be displayed in the wrong timezone
62
  * Fixed a bug that prevented setting the cache duration to 0 from working correctly
@@ -160,4 +151,4 @@ Event retrieval date / time range is now much more flexible. Also adds event dis
160
 
161
  == Frequently Asked Questions ==
162
 
163
- Please visit the [FAQ page](http://www.rhanney.co.uk/plugins/google-calendar-events/frequently-asked-questions). If you have further questions, leave a comment on the [plugin homepage](http://www.rhanney.co.uk/plugins/google-calendar-events), or [send me an email](http://www.rhanney.co.uk/contact).
1
  === Google Calendar Events ===
2
+ Contributors: rosshanney
3
+ 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.6.1
7
+ Stable tag: 0.7.2
 
 
8
 
9
  Parses Google Calendar feeds and displays the events as a calendar grid or list on a page, post or widget.
10
 
48
 
49
  == Changelog ==
50
 
 
 
 
 
 
 
 
 
51
  = 0.7.2 =
52
  * Fixed a bug causing the "More details" Google Calendar information to be displayed in the wrong timezone
53
  * Fixed a bug that prevented setting the cache duration to 0 from working correctly
151
 
152
  == Frequently Asked Questions ==
153
 
154
+ Please visit the [FAQ page](http://www.rhanney.co.uk/plugins/google-calendar-events/frequently-asked-questions). If you have further questions, leave a comment on the [plugin homepage](http://www.rhanney.co.uk/plugins/google-calendar-events), or [send me an email](http://www.rhanney.co.uk/contact).
uninstall.php CHANGED
@@ -4,20 +4,18 @@ if ( !defined( 'WP_UNINSTALL_PLUGIN' ) )
4
 
5
  $gce_options = get_option( 'gce_options' );
6
 
7
- //Remove any cached feed data
8
- foreach ( $gce_options as $gce_feed ) {
9
- if ( isset( $gce_feed['id'] ) ) {
10
- delete_transient( 'gce_feed_' . $gce_feed['id'] );
11
- delete_transient( 'gce_feed_' . $gce_feed['id'] . '_url' );
 
 
12
  }
13
  }
14
 
15
  //Delete plugin options
16
- $gce_general = get_option( 'gce_general' );
17
-
18
- if( $gce_general['save_settings'] != true ) {
19
- delete_option( 'gce_options' );
20
- delete_option( 'gce_general' );
21
- delete_option( 'gce_version' );
22
- }
23
  ?>
4
 
5
  $gce_options = get_option( 'gce_options' );
6
 
7
+ if ( ! empty( $gce_options ) ) {
8
+ //Remove any cached feed data
9
+ foreach ( $gce_options as $gce_feed ) {
10
+ if ( isset( $gce_feed['id'] ) ) {
11
+ delete_transient( 'gce_feed_' . $gce_feed['id'] );
12
+ delete_transient( 'gce_feed_' . $gce_feed['id'] . '_url' );
13
+ }
14
  }
15
  }
16
 
17
  //Delete plugin options
18
+ delete_option( 'gce_options' );
19
+ delete_option( 'gce_general' );
20
+ delete_option( 'gce_version' );
 
 
 
 
21
  ?>
widget/gce-widget.php CHANGED
@@ -104,6 +104,9 @@ class GCE_Widget extends WP_Widget {
104
  }
105
  }
106
 
 
 
 
107
  //Output after widget stuff
108
  echo $after_widget;
109
  }
@@ -117,6 +120,7 @@ class GCE_Widget extends WP_Widget {
117
  $instance['order'] = ( 'asc' == $new_instance['order'] ) ? 'asc' : 'desc';
118
  $instance['display_title'] = ( 'on' == $new_instance['display_title'] ) ? true : false;
119
  $instance['display_title_text'] = wp_filter_kses( $new_instance['display_title_text'] );
 
120
  return $instance;
121
  }
122
 
@@ -136,6 +140,7 @@ class GCE_Widget extends WP_Widget {
136
  $order = ( isset( $instance['order'] ) ) ? $instance['order'] : 'asc';
137
  $display_title = ( isset($instance['display_title'] ) ) ? $instance['display_title'] : true;
138
  $title_text = ( isset($instance['display_title_text'] ) ) ? $instance['display_title_text'] : 'Events on';
 
139
  ?>
140
  <p>
141
  <label for="<?php echo $this->get_field_id( 'title' ); ?>">Title:</label>
@@ -167,8 +172,12 @@ class GCE_Widget extends WP_Widget {
167
  <br />
168
  <input type="checkbox" id="<?php echo $this->get_field_id( 'display_title' ); ?>" name="<?php echo $this->get_field_name( 'display_title' ); ?>"<?php checked( $display_title, true ); ?> value="on" />
169
  <input type="text" id="<?php echo $this->get_field_id( 'display_title_text' ); ?>" name="<?php echo $this->get_field_name( 'display_title_text' ); ?>" value="<?php echo $title_text; ?>" style="width:90%;" />
 
 
 
 
170
  </p>
171
- <?php
172
  }
173
  }
174
  }
@@ -187,7 +196,6 @@ function gce_widget_content_grid( $feed_ids, $title_text, $max_events, $widget_i
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
104
  }
105
  }
106
 
107
+ if ( ! empty( $instance['after_widget_html'] ) )
108
+ echo wp_kses_post( $instance['after_widget_html'] );
109
+
110
  //Output after widget stuff
111
  echo $after_widget;
112
  }
120
  $instance['order'] = ( 'asc' == $new_instance['order'] ) ? 'asc' : 'desc';
121
  $instance['display_title'] = ( 'on' == $new_instance['display_title'] ) ? true : false;
122
  $instance['display_title_text'] = wp_filter_kses( $new_instance['display_title_text'] );
123
+ $instance['after_widget_html'] = wp_kses_post( $new_instance['after_widget_html'] );
124
  return $instance;
125
  }
126
 
140
  $order = ( isset( $instance['order'] ) ) ? $instance['order'] : 'asc';
141
  $display_title = ( isset($instance['display_title'] ) ) ? $instance['display_title'] : true;
142
  $title_text = ( isset($instance['display_title_text'] ) ) ? $instance['display_title_text'] : 'Events on';
143
+ $after_widget_html = ( isset( $instance['after_widget_html'] ) ) ? $instance['after_widget_html'] : '';
144
  ?>
145
  <p>
146
  <label for="<?php echo $this->get_field_id( 'title' ); ?>">Title:</label>
172
  <br />
173
  <input type="checkbox" id="<?php echo $this->get_field_id( 'display_title' ); ?>" name="<?php echo $this->get_field_name( 'display_title' ); ?>"<?php checked( $display_title, true ); ?> value="on" />
174
  <input type="text" id="<?php echo $this->get_field_id( 'display_title_text' ); ?>" name="<?php echo $this->get_field_name( 'display_title_text' ); ?>" value="<?php echo $title_text; ?>" style="width:90%;" />
175
+ </p><p>
176
+ <label for="<?php echo $this->get_field_id( 'after_widget_html' ); ?>"><?php _e( 'Text / HTML to display at bottom of widget.', GCE_TEXT_DOMAIN ); ?></label>
177
+ <br />
178
+ <input type="text" id="<?php echo $this->get_field_id( 'after_widget_html' ); ?>" name="<?php echo $this->get_field_name( 'after_widget_html' ); ?>" value="<?php echo esc_textarea( $after_widget_html ); ?>" style="width:90%;" />
179
  </p>
180
+ <?php
181
  }
182
  }
183
  }
196
 
197
  //If there are less errors than feeds parsed, at least one feed must have parsed successfully so continue to display the grid
198
  if ( $num_errors < count( $ids ) ) {
 
199
  $title_text = isset( $title_text ) ? esc_html( $title_text) : 'null';
200
 
201
  //If there was at least one error, and user is an admin, output error messages