All-in-One Event Calendar - Version 1.2.1

Version Description

Download this release

Release Info

Developer nelra
Plugin Icon 128x128 All-in-One Event Calendar
Version 1.2.1
Comparing to
See all releases

Code changes from version 1.2 to 1.2.1

all-in-one-event-calendar.php CHANGED
@@ -1,20 +1,20 @@
1
  <?php
2
  /**
3
- * Plugin Name: All-in-One Event Calendar Plugin
4
  * Plugin URI: http://theseednetwork.com/software/all-in-one-event-calendar-wordpress/
5
- * Description: An event calendar system with month, week & agenda views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds.
6
  * Author: The Seed Studio
7
  * Author URI: http://theseednetwork.com/
8
- * Version: 1.2
9
  */ // NOTE: When updating version number also update first line of app/view/calendar.php
10
  @set_time_limit( 0 );
11
- @ini_set( "memory_limit", "256M" );
12
- @ini_set( "max_input_time", "-1" );
13
 
14
  // ===============
15
  // = Plugin Name =
16
  // ===============
17
- define( 'AI1EC_PLUGIN_NAME', basename( dirname( __FILE__ ) ) );
18
 
19
  // ===================
20
  // = Plugin Basename =
@@ -24,102 +24,102 @@ define( 'AI1EC_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
24
  // ====================
25
  // = Database Version =
26
  // ====================
27
- define( 'AI1EC_DB_VERSION', 107 );
28
 
29
  // ================
30
  // = Cron Version =
31
  // ================
32
- define( 'AI1EC_CRON_VERSION', 102 );
33
 
34
  // ===============
35
  // = Plugin Path =
36
  // ===============
37
- define( 'AI1EC_PATH', dirname( __FILE__ ) );
38
 
39
  // ===============
40
  // = Images Path =
41
  // ===============
42
- define( 'AI1EC_IMAGE_PATH', AI1EC_PATH . '/img' );
43
 
44
  // ============
45
  // = CSS Path =
46
  // ============
47
- define( 'AI1EC_CSS_PATH', AI1EC_PATH . '/css' );
48
 
49
  // ===========
50
  // = JS Path =
51
  // ===========
52
- define( 'AI1EC_JS_PATH', AI1EC_PATH . '/js' );
53
 
54
  // ============
55
  // = Lib Path =
56
  // ============
57
- define( 'AI1EC_LIB_PATH', AI1EC_PATH . '/lib' );
58
 
59
  // =================
60
  // = Language Path =
61
  // =================
62
- define( 'AI1EC_LANGUAGE_PATH', AI1EC_PLUGIN_NAME . '/language' );
63
 
64
  // ============
65
  // = App Path =
66
  // ============
67
- define( 'AI1EC_APP_PATH', AI1EC_PATH . '/app' );
68
 
69
  // ===================
70
  // = Controller Path =
71
  // ===================
72
- define( 'AI1EC_CONTROLLER_PATH', AI1EC_APP_PATH . '/controller' );
73
 
74
  // ==============
75
  // = Model Path =
76
  // ==============
77
- define( 'AI1EC_MODEL_PATH', AI1EC_APP_PATH . '/model' );
78
 
79
  // =============
80
  // = View Path =
81
  // =============
82
- define( 'AI1EC_VIEW_PATH', AI1EC_APP_PATH . '/view' );
83
 
84
  // ===============
85
  // = Helper Path =
86
  // ===============
87
- define( 'AI1EC_HELPER_PATH', AI1EC_APP_PATH . '/helper' );
88
 
89
  // ==================
90
  // = Exception Path =
91
  // ==================
92
- define( 'AI1EC_EXCEPTION_PATH', AI1EC_APP_PATH . '/exception' );
93
 
94
  // ==============
95
  // = Plugin Url =
96
  // ==============
97
- define( 'AI1EC_URL', plugins_url( '', __FILE__ ) );
98
 
99
  // ==============
100
  // = Images URL =
101
  // ==============
102
- define( 'AI1EC_IMAGE_URL', AI1EC_URL . '/img' );
103
 
104
  // ===========
105
  // = CSS URL =
106
  // ===========
107
- define( 'AI1EC_CSS_URL', AI1EC_URL . '/css' );
108
 
109
  // ==========
110
  // = JS URL =
111
  // ==========
112
- define( 'AI1EC_JS_URL', AI1EC_URL . '/js' );
113
 
114
  // =============
115
  // = POST TYPE =
116
  // =============
117
- define( 'AI1EC_POST_TYPE', 'ai1ec_event' );
118
 
119
  // ================
120
  // = RSS FEED URL =
121
  // ================
122
- define( 'AI1EC_RSS_FEED', 'http://feeds.feedburner.com/ai1ec' );
123
 
124
  // ======================================
125
  // = FAKE CATEGORY ID FOR CALENDAR PAGE =
@@ -130,7 +130,7 @@ define( 'AI1EC_FAKE_CATEGORY_ID', -4113473042 ); // Numeric-only 1337-speak of A
130
  // = SCRIPT URL =
131
  // ==============
132
  $ai1ec_script_url = get_option( 'home' ) . '/?plugin=' . AI1EC_PLUGIN_NAME;
133
- define( 'AI1EC_SCRIPT_URL', $ai1ec_script_url );
134
 
135
  // ====================================================
136
  // = Convert http:// to webcal:// in AI1EC_SCRIPT_URL =
@@ -141,7 +141,7 @@ $tmp = str_replace( 'http://', 'webcal://', AI1EC_SCRIPT_URL );
141
  // ==============
142
  // = EXPORT URL =
143
  // ==============
144
- define( 'AI1EC_EXPORT_URL', "$tmp&controller=ai1ec_exporter_controller&action=export_events" );
145
 
146
  // ====================================
147
  // = Include iCal parsers and helpers =
@@ -203,8 +203,8 @@ global $ai1ec_view_helper,
203
  $ai1ec_view_helper = Ai1ec_View_Helper::get_instance();
204
  $ai1ec_settings_helper = Ai1ec_Settings_Helper::get_instance();
205
  $ai1ec_calendar_helper = Ai1ec_Calendar_Helper::get_instance();
206
- $ai1ec_app_helper = Ai1ec_App_Helper::get_instance();
207
- $ai1ec_events_helper = Ai1ec_Events_Helper::get_instance();
208
  $ai1ec_importer_helper = Ai1ec_Importer_Helper::get_instance();
209
  $ai1ec_exporter_helper = Ai1ec_Exporter_Helper::get_instance();
210
 
1
  <?php
2
  /**
3
+ * Plugin Name: All-in-One Event Calendar
4
  * Plugin URI: http://theseednetwork.com/software/all-in-one-event-calendar-wordpress/
5
+ * Description: An event calendar system with month, week, agenda views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds.
6
  * Author: The Seed Studio
7
  * Author URI: http://theseednetwork.com/
8
+ * Version: 1.2.1
9
  */ // NOTE: When updating version number also update first line of app/view/calendar.php
10
  @set_time_limit( 0 );
11
+ @ini_set( "memory_limit", "256M" );
12
+ @ini_set( "max_input_time", "-1" );
13
 
14
  // ===============
15
  // = Plugin Name =
16
  // ===============
17
+ define( 'AI1EC_PLUGIN_NAME', 'all-in-one-event-calendar' );
18
 
19
  // ===================
20
  // = Plugin Basename =
24
  // ====================
25
  // = Database Version =
26
  // ====================
27
+ define( 'AI1EC_DB_VERSION', 107 );
28
 
29
  // ================
30
  // = Cron Version =
31
  // ================
32
+ define( 'AI1EC_CRON_VERSION', 102 );
33
 
34
  // ===============
35
  // = Plugin Path =
36
  // ===============
37
+ define( 'AI1EC_PATH', dirname( __FILE__ ) );
38
 
39
  // ===============
40
  // = Images Path =
41
  // ===============
42
+ define( 'AI1EC_IMAGE_PATH', AI1EC_PATH . '/img' );
43
 
44
  // ============
45
  // = CSS Path =
46
  // ============
47
+ define( 'AI1EC_CSS_PATH', AI1EC_PATH . '/css' );
48
 
49
  // ===========
50
  // = JS Path =
51
  // ===========
52
+ define( 'AI1EC_JS_PATH', AI1EC_PATH . '/js' );
53
 
54
  // ============
55
  // = Lib Path =
56
  // ============
57
+ define( 'AI1EC_LIB_PATH', AI1EC_PATH . '/lib' );
58
 
59
  // =================
60
  // = Language Path =
61
  // =================
62
+ define( 'AI1EC_LANGUAGE_PATH', AI1EC_PLUGIN_NAME . '/language' );
63
 
64
  // ============
65
  // = App Path =
66
  // ============
67
+ define( 'AI1EC_APP_PATH', AI1EC_PATH . '/app' );
68
 
69
  // ===================
70
  // = Controller Path =
71
  // ===================
72
+ define( 'AI1EC_CONTROLLER_PATH', AI1EC_APP_PATH . '/controller' );
73
 
74
  // ==============
75
  // = Model Path =
76
  // ==============
77
+ define( 'AI1EC_MODEL_PATH', AI1EC_APP_PATH . '/model' );
78
 
79
  // =============
80
  // = View Path =
81
  // =============
82
+ define( 'AI1EC_VIEW_PATH', AI1EC_APP_PATH . '/view' );
83
 
84
  // ===============
85
  // = Helper Path =
86
  // ===============
87
+ define( 'AI1EC_HELPER_PATH', AI1EC_APP_PATH . '/helper' );
88
 
89
  // ==================
90
  // = Exception Path =
91
  // ==================
92
+ define( 'AI1EC_EXCEPTION_PATH', AI1EC_APP_PATH . '/exception' );
93
 
94
  // ==============
95
  // = Plugin Url =
96
  // ==============
97
+ define( 'AI1EC_URL', plugins_url( '', __FILE__ ) );
98
 
99
  // ==============
100
  // = Images URL =
101
  // ==============
102
+ define( 'AI1EC_IMAGE_URL', AI1EC_URL . '/img' );
103
 
104
  // ===========
105
  // = CSS URL =
106
  // ===========
107
+ define( 'AI1EC_CSS_URL', AI1EC_URL . '/css' );
108
 
109
  // ==========
110
  // = JS URL =
111
  // ==========
112
+ define( 'AI1EC_JS_URL', AI1EC_URL . '/js' );
113
 
114
  // =============
115
  // = POST TYPE =
116
  // =============
117
+ define( 'AI1EC_POST_TYPE', 'ai1ec_event' );
118
 
119
  // ================
120
  // = RSS FEED URL =
121
  // ================
122
+ define( 'AI1EC_RSS_FEED', 'http://feeds.feedburner.com/ai1ec' );
123
 
124
  // ======================================
125
  // = FAKE CATEGORY ID FOR CALENDAR PAGE =
130
  // = SCRIPT URL =
131
  // ==============
132
  $ai1ec_script_url = get_option( 'home' ) . '/?plugin=' . AI1EC_PLUGIN_NAME;
133
+ define( 'AI1EC_SCRIPT_URL', $ai1ec_script_url );
134
 
135
  // ====================================================
136
  // = Convert http:// to webcal:// in AI1EC_SCRIPT_URL =
141
  // ==============
142
  // = EXPORT URL =
143
  // ==============
144
+ define( 'AI1EC_EXPORT_URL', "$tmp&controller=ai1ec_exporter_controller&action=export_events&cb=".rand() );
145
 
146
  // ====================================
147
  // = Include iCal parsers and helpers =
203
  $ai1ec_view_helper = Ai1ec_View_Helper::get_instance();
204
  $ai1ec_settings_helper = Ai1ec_Settings_Helper::get_instance();
205
  $ai1ec_calendar_helper = Ai1ec_Calendar_Helper::get_instance();
206
+ $ai1ec_app_helper = Ai1ec_App_Helper::get_instance();
207
+ $ai1ec_events_helper = Ai1ec_Events_Helper::get_instance();
208
  $ai1ec_importer_helper = Ai1ec_Importer_Helper::get_instance();
209
  $ai1ec_exporter_helper = Ai1ec_Exporter_Helper::get_instance();
210
 
app/controller/class-ai1ec-calendar-controller.php CHANGED
@@ -296,14 +296,14 @@ class Ai1ec_Calendar_Controller {
296
  $ai1ec_events_helper,
297
  $ai1ec_calendar_helper;
298
 
299
- $defaults = array(
300
- 'week_offset' => 0,
301
- 'active_event' => null,
302
- 'categories' => array(),
303
- 'tags' => array(),
304
- 'post_ids' => array(),
305
- );
306
- $args = wp_parse_args( $args, $defaults );
307
 
308
  extract( $args );
309
 
@@ -321,13 +321,15 @@ class Ai1ec_Calendar_Controller {
321
  array( 'cat_ids' => $categories, 'cat_ids' => $tags, 'post_ids' => $post_ids ) );
322
  $pagination_links = $ai1ec_calendar_helper->get_week_pagination_links( $week_offset );
323
 
 
324
  $view_args = array(
325
- 'title' => sprintf( __( 'Week of %s', AI1EC_PLUGIN_NAME ), date_i18n( __( 'F j' ), $timestamp, true ) ),
326
  'cell_array' => $cell_array,
327
  'now_top' => $bits['hours'] * 60 + $bits['minutes'],
328
  'pagination_links' => $pagination_links,
329
  'active_event' => $active_event,
330
  'post_ids' => join( ',', $post_ids ),
 
331
  'done_allday_label' => false,
332
  'done_grid' => false
333
  );
296
  $ai1ec_events_helper,
297
  $ai1ec_calendar_helper;
298
 
299
+ $defaults = array(
300
+ 'week_offset' => 0,
301
+ 'active_event' => null,
302
+ 'categories' => array(),
303
+ 'tags' => array(),
304
+ 'post_ids' => array(),
305
+ );
306
+ $args = wp_parse_args( $args, $defaults );
307
 
308
  extract( $args );
309
 
321
  array( 'cat_ids' => $categories, 'cat_ids' => $tags, 'post_ids' => $post_ids ) );
322
  $pagination_links = $ai1ec_calendar_helper->get_week_pagination_links( $week_offset );
323
 
324
+ /* translators: "%s" represents the week's starting date */
325
  $view_args = array(
326
+ 'title' => sprintf( __( 'Week of %s', AI1EC_PLUGIN_NAME ), date_i18n( __( 'F j', AI1EC_PLUGIN_NAME ), $timestamp, true ) ),
327
  'cell_array' => $cell_array,
328
  'now_top' => $bits['hours'] * 60 + $bits['minutes'],
329
  'pagination_links' => $pagination_links,
330
  'active_event' => $active_event,
331
  'post_ids' => join( ',', $post_ids ),
332
+ 'time_format' => get_option( 'time_format', 'g a' ),
333
  'done_allday_label' => false,
334
  'done_grid' => false
335
  );
app/controller/class-ai1ec-events-controller.php CHANGED
@@ -133,16 +133,16 @@ class Ai1ec_Events_Controller {
133
  wp_localize_script( 'ai1ec-add_new_event', 'ai1ec_add_new_event', array(
134
  // Current time, used for date/time pickers
135
  'now' => $ai1ec_events_helper->gmt_to_local( time() ),
136
- // Date format for date pickers
137
- 'date_format' => $ai1ec_settings->input_date_format,
138
- // Names for months in date picker header (escaping is done in wp_localize_script)
139
- 'month_names' => implode( ',', $wp_locale->month ),
140
- // Names for days in date picker header (escaping is done in wp_localize_script)
141
- 'day_names' => implode( ',', $wp_locale->weekday_initial ),
142
- // Start the week on this day in the date picker
143
- 'week_start_day' => $ai1ec_settings->week_start_day,
144
- // 24h time format for time pickers
145
- 'twentyfour_hour' => $ai1ec_settings->input_24h_time,
146
  // Set region biasing for geo_autocomplete plugin
147
  'region' => ( $ai1ec_settings->geo_region_biasing ) ? $ai1ec_events_helper->get_region() : '',
148
  // ICS feed error messages
@@ -195,31 +195,31 @@ class Ai1ec_Events_Controller {
195
  $wpdb,
196
  $ai1ec_settings;
197
 
198
- // ==================
199
- // = Default values =
200
- // ==================
201
- $all_day_event = '';
202
- $start_timestamp = '';
203
- $end_timestamp = '';
204
- $show_map = false;
205
- $google_map = '';
206
- $venue = '';
207
- $country = '';
208
- $address = '';
209
- $city = '';
210
- $province = '';
211
- $postal_code = '';
212
- $contact_name = '';
213
- $contact_phone = '';
214
- $contact_email = '';
215
- $cost = '';
216
- $rrule = '';
217
- $rrule_text = '';
218
- $repeating_event = false;
219
- $end = null;
220
- $until = null;
221
- $count = 100;
222
-
223
  try
224
  {
225
  $event = new Ai1ec_Event( $post->ID );
@@ -248,12 +248,14 @@ class Ai1ec_Events_Controller {
248
  $rrule = empty( $event->recurrence_rules ) ? '' : $event->recurrence_rules;
249
  $repeating_event = empty( $rrule ) ? false : true;
250
  if( $repeating_event ) {
251
- $rc = new SG_iCal_Recurrence( new SG_iCal_Line( 'RRULE:' . $rrule ) );
252
- if( $until = $rc->getUntil() )
 
253
  $until = ( is_numeric( $until ) ) ? $until : strtotime( $until );
254
- else if( $count = $rc->getCount() )
255
  $count = ( is_numeric( $count ) ) ? $count : 100;
256
- $rrule_text = $ai1ec_events_helper->rrule_to_text( $rrule );
 
257
  }
258
 
259
  }
@@ -261,7 +263,7 @@ class Ai1ec_Events_Controller {
261
  // Event does not exist.
262
  // Leave form fields undefined (= zero-length strings)
263
  $event = null;
264
- }
265
 
266
  // Time zone
267
  $timezone = get_option( 'gmt_offset' );
@@ -355,20 +357,20 @@ class Ai1ec_Events_Controller {
355
  global $wpdb, $ai1ec_events_helper;
356
 
357
  // verify this came from the our screen and with proper authorization,
358
- // because save_post can be triggered at other times
359
- if( isset( $_POST[AI1EC_POST_TYPE] ) && ! wp_verify_nonce( $_POST[AI1EC_POST_TYPE], 'ai1ec' ) ) {
360
- return;
361
- } else if( ! isset( $_POST[AI1EC_POST_TYPE] ) ) {
362
- return;
363
- }
364
-
365
- if( isset( $post->post_status ) && $post->post_status == 'auto-draft' )
366
- return;
367
-
368
- // verify if this is not inline-editing
369
- if( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'inline-save' ) {
370
- return;
371
- }
372
 
373
  // verify that the post_type is that of an event
374
  if( isset( $_POST['post_type'] ) && $_POST['post_type'] != AI1EC_POST_TYPE ) {
@@ -392,11 +394,11 @@ class Ai1ec_Events_Controller {
392
 
393
  $rrule = null;
394
 
395
- // =================================
396
  // = Repeating event, assing rrule =
397
  // =================================
398
  if( isset( $_POST['ai1ec_repeat'] ) )
399
- $rrule = $_POST['ai1ec_rrule'];
400
 
401
  $is_new = false;
402
  $event = null;
@@ -410,21 +412,21 @@ class Ai1ec_Events_Controller {
410
  $event->post_id = $post_id;
411
  }
412
 
413
- $event->start = $ai1ec_events_helper->local_to_gmt( $start_time );
414
- $event->end = $ai1ec_events_helper->local_to_gmt( $end_time );
415
- $event->allday = $all_day;
416
- $event->venue = $venue;
417
- $event->address = $address;
418
- $event->city = $city;
419
- $event->province = $province;
420
- $event->postal_code = $postal_code;
421
- $event->country = $country;
422
- $event->show_map = $google_map;
423
- $event->cost = $cost;
424
- $event->contact_name = $contact_name;
425
- $event->contact_phone = $contact_phone;
426
- $event->contact_email = $contact_email;
427
- $event->recurrence_rules = $rrule;
428
  $event->save( ! $is_new );
429
 
430
  $ai1ec_events_helper->delete_event_cache( $post_id );
@@ -545,7 +547,7 @@ class Ai1ec_Events_Controller {
545
  * @return string The event data markup to prepend to the post content
546
  **/
547
  function get_view( &$event, &$content )
548
- {
549
  global $ai1ec_view_helper;
550
 
551
  ob_start();
@@ -704,10 +706,10 @@ class Ai1ec_Events_Controller {
704
  * @return void
705
  **/
706
  function events_categories_add_form_fields() {
707
- global $ai1ec_view_helper;
708
 
709
- $args = array( 'edit' => false );
710
- $ai1ec_view_helper->display( 'event_categories-color_picker.php', $args );
711
  }
712
 
713
  /**
@@ -718,25 +720,25 @@ class Ai1ec_Events_Controller {
718
  * @return void
719
  **/
720
  function events_categories_edit_form_fields( $term ) {
721
- global $ai1ec_view_helper, $wpdb;
722
-
723
- $table_name = $wpdb->prefix . 'ai1ec_event_category_colors';
724
- $color = $wpdb->get_var( "SELECT term_color FROM {$table_name} WHERE term_id = {$term->term_id}" );
725
-
726
- $style = '';
727
- $clr = '';
728
-
729
- if( ! is_null( $color ) && ! empty( $color ) ) {
730
- $style = 'style="background-color: ' . $color . '"';
731
- $clr = $color;
732
- }
733
- $args = array(
734
- 'style' => $style,
735
- 'color' => $clr,
736
- 'edit' => true,
737
- );
738
- $ai1ec_view_helper->display( 'event_categories-color_picker.php', $args );
739
- }
740
 
741
  /**
742
  * edited_events_categories function
133
  wp_localize_script( 'ai1ec-add_new_event', 'ai1ec_add_new_event', array(
134
  // Current time, used for date/time pickers
135
  'now' => $ai1ec_events_helper->gmt_to_local( time() ),
136
+ // Date format for date pickers
137
+ 'date_format' => $ai1ec_settings->input_date_format,
138
+ // Names for months in date picker header (escaping is done in wp_localize_script)
139
+ 'month_names' => implode( ',', $wp_locale->month ),
140
+ // Names for days in date picker header (escaping is done in wp_localize_script)
141
+ 'day_names' => implode( ',', $wp_locale->weekday_initial ),
142
+ // Start the week on this day in the date picker
143
+ 'week_start_day' => $ai1ec_settings->week_start_day,
144
+ // 24h time format for time pickers
145
+ 'twentyfour_hour' => $ai1ec_settings->input_24h_time,
146
  // Set region biasing for geo_autocomplete plugin
147
  'region' => ( $ai1ec_settings->geo_region_biasing ) ? $ai1ec_events_helper->get_region() : '',
148
  // ICS feed error messages
195
  $wpdb,
196
  $ai1ec_settings;
197
 
198
+ // ==================
199
+ // = Default values =
200
+ // ==================
201
+ $all_day_event = '';
202
+ $start_timestamp = '';
203
+ $end_timestamp = '';
204
+ $show_map = false;
205
+ $google_map = '';
206
+ $venue = '';
207
+ $country = '';
208
+ $address = '';
209
+ $city = '';
210
+ $province = '';
211
+ $postal_code = '';
212
+ $contact_name = '';
213
+ $contact_phone = '';
214
+ $contact_email = '';
215
+ $cost = '';
216
+ $rrule = '';
217
+ $rrule_text = '';
218
+ $repeating_event = false;
219
+ $end = null;
220
+ $until = null;
221
+ $count = 100;
222
+
223
  try
224
  {
225
  $event = new Ai1ec_Event( $post->ID );
248
  $rrule = empty( $event->recurrence_rules ) ? '' : $event->recurrence_rules;
249
  $repeating_event = empty( $rrule ) ? false : true;
250
  if( $repeating_event ) {
251
+ $rc = new SG_iCal_Recurrence( new SG_iCal_Line( 'RRULE:' . $rrule ) );
252
+
253
+ if( $until = $rc->getUntil() )
254
  $until = ( is_numeric( $until ) ) ? $until : strtotime( $until );
255
+ else if( $count = $rc->getCount() )
256
  $count = ( is_numeric( $count ) ) ? $count : 100;
257
+
258
+ $rrule_text = $ai1ec_events_helper->rrule_to_text( $rrule );
259
  }
260
 
261
  }
263
  // Event does not exist.
264
  // Leave form fields undefined (= zero-length strings)
265
  $event = null;
266
+ }
267
 
268
  // Time zone
269
  $timezone = get_option( 'gmt_offset' );
357
  global $wpdb, $ai1ec_events_helper;
358
 
359
  // verify this came from the our screen and with proper authorization,
360
+ // because save_post can be triggered at other times
361
+ if( isset( $_POST[AI1EC_POST_TYPE] ) && ! wp_verify_nonce( $_POST[AI1EC_POST_TYPE], 'ai1ec' ) ) {
362
+ return;
363
+ } else if( ! isset( $_POST[AI1EC_POST_TYPE] ) ) {
364
+ return;
365
+ }
366
+
367
+ if( isset( $post->post_status ) && $post->post_status == 'auto-draft' )
368
+ return;
369
+
370
+ // verify if this is not inline-editing
371
+ if( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'inline-save' ) {
372
+ return;
373
+ }
374
 
375
  // verify that the post_type is that of an event
376
  if( isset( $_POST['post_type'] ) && $_POST['post_type'] != AI1EC_POST_TYPE ) {
394
 
395
  $rrule = null;
396
 
397
+ // =================================
398
  // = Repeating event, assing rrule =
399
  // =================================
400
  if( isset( $_POST['ai1ec_repeat'] ) )
401
+ $rrule = $_POST['ai1ec_rrule'];
402
 
403
  $is_new = false;
404
  $event = null;
412
  $event->post_id = $post_id;
413
  }
414
 
415
+ $event->start = $ai1ec_events_helper->local_to_gmt( $start_time );
416
+ $event->end = $ai1ec_events_helper->local_to_gmt( $end_time );
417
+ $event->allday = $all_day;
418
+ $event->venue = $venue;
419
+ $event->address = $address;
420
+ $event->city = $city;
421
+ $event->province = $province;
422
+ $event->postal_code = $postal_code;
423
+ $event->country = $country;
424
+ $event->show_map = $google_map;
425
+ $event->cost = $cost;
426
+ $event->contact_name = $contact_name;
427
+ $event->contact_phone = $contact_phone;
428
+ $event->contact_email = $contact_email;
429
+ $event->recurrence_rules = $rrule;
430
  $event->save( ! $is_new );
431
 
432
  $ai1ec_events_helper->delete_event_cache( $post_id );
547
  * @return string The event data markup to prepend to the post content
548
  **/
549
  function get_view( &$event, &$content )
550
+ {
551
  global $ai1ec_view_helper;
552
 
553
  ob_start();
706
  * @return void
707
  **/
708
  function events_categories_add_form_fields() {
709
+ global $ai1ec_view_helper;
710
 
711
+ $args = array( 'edit' => false );
712
+ $ai1ec_view_helper->display( 'event_categories-color_picker.php', $args );
713
  }
714
 
715
  /**
720
  * @return void
721
  **/
722
  function events_categories_edit_form_fields( $term ) {
723
+ global $ai1ec_view_helper, $wpdb;
724
+
725
+ $table_name = $wpdb->prefix . 'ai1ec_event_category_colors';
726
+ $color = $wpdb->get_var( "SELECT term_color FROM {$table_name} WHERE term_id = {$term->term_id}" );
727
+
728
+ $style = '';
729
+ $clr = '';
730
+
731
+ if( ! is_null( $color ) && ! empty( $color ) ) {
732
+ $style = 'style="background-color: ' . $color . '"';
733
+ $clr = $color;
734
+ }
735
+ $args = array(
736
+ 'style' => $style,
737
+ 'color' => $clr,
738
+ 'edit' => true,
739
+ );
740
+ $ai1ec_view_helper->display( 'event_categories-color_picker.php', $args );
741
+ }
742
 
743
  /**
744
  * edited_events_categories function
app/controller/class-ai1ec-exporter-controller.php CHANGED
@@ -67,8 +67,8 @@ class Ai1ec_Exporter_Controller {
67
  $filter['post_ids'] = split( ',', $ai1ec_post_ids );
68
 
69
  // when exporting events by post_id, do not look up the event's start/end date/time
70
- $start = $ai1ec_post_ids !== false ? false : gmmktime() - 24 * 60 * 60; // Include any events ending today
71
- $end = false;
72
  $events = $ai1ec_events_helper->get_matching_events( $start, $end, $filter );
73
  $c = new vcalendar();
74
  $c->setProperty( 'calscale', 'GREGORIAN' );
@@ -78,13 +78,13 @@ class Ai1ec_Exporter_Controller {
78
  // Timezone setup
79
  $tz = get_option( 'timezone_string' );
80
  if( $tz ) {
81
- $c->setProperty( 'X-WR-TIMEZONE', $tz );
82
- $tz_xprops = array( 'X-LIC-LOCATION' => $tz );
83
- iCalUtilityFunctions::createTimezone( $c, $tz, $tz_xprops );
84
  }
85
 
86
  foreach( $events as $event ) {
87
- $ai1ec_exporter_helper->insert_event_in_calendar( $event, $c );
88
  }
89
  $str = $c->createCalendar();
90
 
67
  $filter['post_ids'] = split( ',', $ai1ec_post_ids );
68
 
69
  // when exporting events by post_id, do not look up the event's start/end date/time
70
+ $start = $ai1ec_post_ids !== false ? false : gmmktime() - 24 * 60 * 60; // Include any events ending today
71
+ $end = false;
72
  $events = $ai1ec_events_helper->get_matching_events( $start, $end, $filter );
73
  $c = new vcalendar();
74
  $c->setProperty( 'calscale', 'GREGORIAN' );
78
  // Timezone setup
79
  $tz = get_option( 'timezone_string' );
80
  if( $tz ) {
81
+ $c->setProperty( 'X-WR-TIMEZONE', $tz );
82
+ $tz_xprops = array( 'X-LIC-LOCATION' => $tz );
83
+ iCalUtilityFunctions::createTimezone( $c, $tz, $tz_xprops );
84
  }
85
 
86
  foreach( $events as $event ) {
87
+ $ai1ec_exporter_helper->insert_event_in_calendar( $event, $c, $export = true );
88
  }
89
  $str = $c->createCalendar();
90
 
app/controller/class-ai1ec-settings-controller.php CHANGED
@@ -178,12 +178,12 @@ class Ai1ec_Settings_Controller {
178
  {
179
  $output = array(
180
  'error' => true,
181
- 'message' => 'Invalid feed'
182
  );
183
  }
184
 
185
- if( $ajax )
186
- $ai1ec_view_helper->json_response( $output );
187
  }
188
 
189
  /**
@@ -205,23 +205,30 @@ class Ai1ec_Settings_Controller {
205
 
206
  if( $feed )
207
  {
208
- // flush the feed
209
- $this->flush_ics_feed( false, $feed->feed_url );
210
- // reimport the feed
211
- $count = $ai1ec_importer_helper->parse_ics_feed( $feed );
212
-
213
- $output = array(
214
- 'error' => false,
215
- 'message' => sprintf( __( 'Imported %d events', AI1EC_PLUGIN_NAME ), $count ),
216
- 'flush_label' => sprintf( _n( 'Flush 1 event', 'Flush %s events', $count, AI1EC_PLUGIN_NAME ), $count ),
217
- 'count' => $count,
218
- );
 
 
 
 
 
 
 
219
  }
220
  else
221
  {
222
  $output = array(
223
  'error' => true,
224
- 'message' => 'Invalid feed'
225
  );
226
  }
227
 
@@ -330,7 +337,7 @@ class Ai1ec_Settings_Controller {
330
  * @return array
331
  **/
332
  function plugin_action_links( $links ) {
333
- $settings = sprintf( __( '<a href="%s">Settings</a>', AI1EC_PLUGIN_NAME ), admin_url( 'edit.php?post_type=ai1ec_event&page=all-in-one-event-calendar-settings' ) );
334
  array_unshift( $links, $settings );
335
  return $links;
336
  }
178
  {
179
  $output = array(
180
  'error' => true,
181
+ 'message' => __( 'Invalid ICS feed ID', AI1EC_PLUGIN_NAME )
182
  );
183
  }
184
 
185
+ if( $ajax )
186
+ $ai1ec_view_helper->json_response( $output );
187
  }
188
 
189
  /**
205
 
206
  if( $feed )
207
  {
208
+ // flush the feed
209
+ $this->flush_ics_feed( false, $feed->feed_url );
210
+ // reimport the feed
211
+ $count = @$ai1ec_importer_helper->parse_ics_feed( $feed );
212
+ if ( $count == 0 ) {
213
+ // If results are 0, it could be result of a bad URL or other error, send a specific message
214
+ $output = array(
215
+ 'error' => true,
216
+ 'message' => __( 'No events were found', AI1EC_PLUGIN_NAME )
217
+ );
218
+ } else {
219
+ $output = array(
220
+ 'error' => false,
221
+ 'message' => sprintf( __( 'Imported %d events', AI1EC_PLUGIN_NAME ), $count ),
222
+ 'flush_label' => sprintf( _n( 'Flush 1 event', 'Flush %s events', $count, AI1EC_PLUGIN_NAME ), $count ),
223
+ 'count' => $count,
224
+ );
225
+ }
226
  }
227
  else
228
  {
229
  $output = array(
230
  'error' => true,
231
+ 'message' => __( 'Invalid ICS feed ID', AI1EC_PLUGIN_NAME )
232
  );
233
  }
234
 
337
  * @return array
338
  **/
339
  function plugin_action_links( $links ) {
340
+ $settings = sprintf( __( '<a href="%s">Settings</a>', AI1EC_PLUGIN_NAME ), admin_url( 'edit.php?post_type=' . AI1EC_POST_TYPE . '&page=' . AI1EC_PLUGIN_NAME . '-settings' ) );
341
  array_unshift( $links, $settings );
342
  return $links;
343
  }
app/helper/class-ai1ec-app-helper.php CHANGED
@@ -643,7 +643,7 @@ class Ai1ec_App_Helper {
643
  // Display messages for blog admin
644
  if( current_user_can( 'manage_options' ) ) {
645
  // If not on the settings page already, direct user there with a message
646
- if( $plugin_page == 'all-in-one-event-calendar-settings' ) {
647
  if( ! $ai1ec_settings->calendar_page_id && ! get_option( 'timezone_string' ) )
648
  $args['msg'] = sprintf( __( '%sTo set up the plugin: %s 1. Select an option in the <strong>Calendar page</strong> dropdown list. %s 2. Select an option in the <strong>Timezone</strong> dropdown list. %s 3. Click <strong>Update Settings</strong>. %s', AI1EC_PLUGIN_NAME ), '<br /><br />', '<ul><ol>', '</ol><ol>', '</ol><ol>', '</ol><ul>' );
649
  else if( ! $ai1ec_settings->calendar_page_id )
@@ -654,7 +654,7 @@ class Ai1ec_App_Helper {
654
  } else {
655
  $args['msg'] = sprintf(
656
  __( 'The plugin is installed, but has not been configured. <a href="%s">Click here to set it up now »</a>', AI1EC_PLUGIN_NAME ),
657
- admin_url( 'edit.php?post_type=ai1ec_event&page=all-in-one-event-calendar-settings' )
658
  );
659
  }
660
  // Else display messages for other blog users
643
  // Display messages for blog admin
644
  if( current_user_can( 'manage_options' ) ) {
645
  // If not on the settings page already, direct user there with a message
646
+ if( $plugin_page == AI1EC_PLUGIN_NAME . "-settings" ) {
647
  if( ! $ai1ec_settings->calendar_page_id && ! get_option( 'timezone_string' ) )
648
  $args['msg'] = sprintf( __( '%sTo set up the plugin: %s 1. Select an option in the <strong>Calendar page</strong> dropdown list. %s 2. Select an option in the <strong>Timezone</strong> dropdown list. %s 3. Click <strong>Update Settings</strong>. %s', AI1EC_PLUGIN_NAME ), '<br /><br />', '<ul><ol>', '</ol><ol>', '</ol><ol>', '</ol><ul>' );
649
  else if( ! $ai1ec_settings->calendar_page_id )
654
  } else {
655
  $args['msg'] = sprintf(
656
  __( 'The plugin is installed, but has not been configured. <a href="%s">Click here to set it up now »</a>', AI1EC_PLUGIN_NAME ),
657
+ admin_url( 'edit.php?post_type=' . AI1EC_POST_TYPE . '&page=' . AI1EC_PLUGIN_NAME . '-settings' )
658
  );
659
  }
660
  // Else display messages for other blog users
app/helper/class-ai1ec-calendar-helper.php CHANGED
@@ -323,7 +323,7 @@ class Ai1ec_Calendar_Helper {
323
  $args = array( $start_time, $end_time );
324
 
325
  // Get post status Where snippet and associated SQL arguments
326
- $this->_get_post_status_sql( $post_status_where = '', $args );
327
 
328
  // Get the Join (filter_join) and Where (filter_where) statements based on
329
  // $filter elements specified
@@ -401,7 +401,7 @@ class Ai1ec_Calendar_Helper {
401
  $first_record = ( -$page_offset - 1 ) * $limit;
402
 
403
  // Get post status Where snippet and associated SQL arguments
404
- $this->_get_post_status_sql( $post_status_where = '', $args );
405
 
406
  // Get the Join (filter_join) and Where (filter_where) statements based on
407
  // $filter elements specified
@@ -708,13 +708,14 @@ class Ai1ec_Calendar_Helper {
708
  $bits['mday'] += $ai1ec_events_helper->get_week_start_day_offset( $bits['wday'] );
709
  $bits['mday'] += $cur_offset * 7;
710
 
 
711
  $links[] = array(
712
  'id' => 'ai1ec-prev-week',
713
  'text' =>
714
  '‹ ' .
715
  sprintf(
716
  __( 'Week of %s', AI1EC_PLUGIN_NAME ),
717
- date_i18n( __( 'M j' ), gmmktime( 0, 0, 0, $bits['mon'], $bits['mday'] - 7, $bits['year'] ), true )
718
  ),
719
  'href' => '#action=ai1ec_week&ai1ec_week_offset=' . ( $cur_offset - 1 ),
720
  );
@@ -723,7 +724,7 @@ class Ai1ec_Calendar_Helper {
723
  'text' =>
724
  sprintf(
725
  __( 'Week of %s', AI1EC_PLUGIN_NAME ),
726
- date_i18n( __( 'M j' ), gmmktime( 0, 0, 0, $bits['mon'], $bits['mday'] + 7, $bits['year'] ), true )
727
  )
728
  . ' ›',
729
  'href' => '#action=ai1ec_week&ai1ec_week_offset=' . ( $cur_offset + 1 ),
@@ -782,7 +783,7 @@ class Ai1ec_Calendar_Helper {
782
  *
783
  * @return void
784
  */
785
- function _get_post_status_sql( &$sql, &$args )
786
  {
787
  global $current_user;
788
 
@@ -791,9 +792,9 @@ class Ai1ec_Calendar_Helper {
791
  {
792
  // User has privilege of seeing all published and private posts
793
 
794
- $post_status = "AND ( post_status = %s OR post_status = %s ) ";
795
- $args[] = 'publish';
796
- $args[] = 'private';
797
  }
798
  elseif( is_user_logged_in() )
799
  {
@@ -806,7 +807,7 @@ class Ai1ec_Calendar_Helper {
806
  // include post_status = published
807
  // OR
808
  // post_status = private AND author = logged-in user
809
- $post_status =
810
  "AND ( " .
811
  "post_status = %s " .
812
  "OR ( post_status = %s AND post_author = %d ) " .
@@ -817,8 +818,8 @@ class Ai1ec_Calendar_Helper {
817
  $args[] = $current_user->ID;
818
  } else {
819
  // User can only see published posts.
820
- $post_status = "AND post_status = %s ";
821
- $args[] = 'publish';
822
  }
823
  }
824
 
323
  $args = array( $start_time, $end_time );
324
 
325
  // Get post status Where snippet and associated SQL arguments
326
+ $this->_get_post_status_sql( $post_status_where, $args );
327
 
328
  // Get the Join (filter_join) and Where (filter_where) statements based on
329
  // $filter elements specified
401
  $first_record = ( -$page_offset - 1 ) * $limit;
402
 
403
  // Get post status Where snippet and associated SQL arguments
404
+ $this->_get_post_status_sql( $post_status_where, $args );
405
 
406
  // Get the Join (filter_join) and Where (filter_where) statements based on
407
  // $filter elements specified
708
  $bits['mday'] += $ai1ec_events_helper->get_week_start_day_offset( $bits['wday'] );
709
  $bits['mday'] += $cur_offset * 7;
710
 
711
+ /* translators: "%s" represents the week's starting date */
712
  $links[] = array(
713
  'id' => 'ai1ec-prev-week',
714
  'text' =>
715
  '‹ ' .
716
  sprintf(
717
  __( 'Week of %s', AI1EC_PLUGIN_NAME ),
718
+ date_i18n( __( 'M j', AI1EC_PLUGIN_NAME ), gmmktime( 0, 0, 0, $bits['mon'], $bits['mday'] - 7, $bits['year'] ), true )
719
  ),
720
  'href' => '#action=ai1ec_week&ai1ec_week_offset=' . ( $cur_offset - 1 ),
721
  );
724
  'text' =>
725
  sprintf(
726
  __( 'Week of %s', AI1EC_PLUGIN_NAME ),
727
+ date_i18n( __( 'M j', AI1EC_PLUGIN_NAME ), gmmktime( 0, 0, 0, $bits['mon'], $bits['mday'] + 7, $bits['year'] ), true )
728
  )
729
  . ' ›',
730
  'href' => '#action=ai1ec_week&ai1ec_week_offset=' . ( $cur_offset + 1 ),
783
  *
784
  * @return void
785
  */
786
+ function _get_post_status_sql( &$post_status_where = '', &$args )
787
  {
788
  global $current_user;
789
 
792
  {
793
  // User has privilege of seeing all published and private posts
794
 
795
+ $post_status_where = "AND ( post_status = %s OR post_status = %s ) ";
796
+ $args[] = 'publish';
797
+ $args[] = 'private';
798
  }
799
  elseif( is_user_logged_in() )
800
  {
807
  // include post_status = published
808
  // OR
809
  // post_status = private AND author = logged-in user
810
+ $post_status_where =
811
  "AND ( " .
812
  "post_status = %s " .
813
  "OR ( post_status = %s AND post_author = %d ) " .
818
  $args[] = $current_user->ID;
819
  } else {
820
  // User can only see published posts.
821
+ $post_status_where = "AND post_status = %s ";
822
+ $args[] = 'publish';
823
  }
824
  }
825
 
app/helper/class-ai1ec-events-helper.php CHANGED
@@ -727,9 +727,9 @@ class Ai1ec_Events_Helper {
727
  * @param int | bool $start Events start before this (GMT) time
728
  * @param int | bool $end Events end before this (GMT) time
729
  * @param array $filter Array of filters for the events returned.
730
- * ['cat_ids'] => non-associatative array of category IDs
731
- * ['tag_ids'] => non-associatative array of tag IDs
732
- * ['post_ids'] => non-associatative array of post IDs
733
  *
734
  * @return array Matching events
735
  **/
@@ -768,7 +768,7 @@ class Ai1ec_Events_Helper {
768
  }
769
 
770
  // Get the Join (filter_join) and Where (filter_where) statements based on $filter elements specified
771
- $filter = $ai1ec_calendar_helper->_get_filter_sql( $filter );
772
 
773
  $query = $wpdb->prepare(
774
  "SELECT *, e.post_id, UNIX_TIMESTAMP( e.start ) as start, UNIX_TIMESTAMP( e.end ) as end, e.allday, e.recurrence_rules, e.exception_rules,
727
  * @param int | bool $start Events start before this (GMT) time
728
  * @param int | bool $end Events end before this (GMT) time
729
  * @param array $filter Array of filters for the events returned.
730
+ * ['cat_ids'] => non-associatative array of category IDs
731
+ * ['tag_ids'] => non-associatative array of tag IDs
732
+ * ['post_ids'] => non-associatative array of post IDs
733
  *
734
  * @return array Matching events
735
  **/
768
  }
769
 
770
  // Get the Join (filter_join) and Where (filter_where) statements based on $filter elements specified
771
+ $ai1ec_calendar_helper->_get_filter_sql( $filter );
772
 
773
  $query = $wpdb->prepare(
774
  "SELECT *, e.post_id, UNIX_TIMESTAMP( e.start ) as start, UNIX_TIMESTAMP( e.end ) as end, e.allday, e.recurrence_rules, e.exception_rules,
app/helper/class-ai1ec-exporter-helper.php CHANGED
@@ -51,10 +51,11 @@ class Ai1ec_Exporter_Helper {
51
  *
52
  * @param object $event Event object
53
  * @param object $c Calendar object
 
54
  *
55
  * @return void
56
  **/
57
- function insert_event_in_calendar( $event, &$c )
58
  {
59
  global $ai1ec_events_helper;
60
 
@@ -69,18 +70,24 @@ class Ai1ec_Exporter_Helper {
69
  $content = str_replace(']]>', ']]&gt;', $content);
70
  $e->setProperty( 'description', $content );
71
  if( $event->allday ) {
72
- $dtstart = $dtend = array();
73
- $dtstart["VALUE"] = $dtend["VALUE"] = 'DATE';
74
- if( $tz )
75
- $dtstart["TZID"] = $dtend["TZID"] = $tz;
 
76
 
77
- $e->setProperty( 'dtstart', gmdate( "Ymd\T", $ai1ec_events_helper->gmt_to_local( $event->start ) ), $dtstart );
78
-
79
- $e->setProperty( 'dtend', gmdate( "Ymd\T", $ai1ec_events_helper->gmt_to_local( $event->end ) ), $dtend );
 
 
 
 
 
80
  } else {
81
- $dtstart = $dtend = array();
82
- if( $tz )
83
- $dtstart["TZID"] = $dtend["TZID"] = $tz;
84
 
85
  $e->setProperty( 'dtstart', gmdate( "Ymd\THis\Z", $ai1ec_events_helper->gmt_to_local( $event->start ) ), $dtstart );
86
 
51
  *
52
  * @param object $event Event object
53
  * @param object $c Calendar object
54
+ * @param bool $export States whether events are created for export
55
  *
56
  * @return void
57
  **/
58
+ function insert_event_in_calendar( $event, &$c, $export = false )
59
  {
60
  global $ai1ec_events_helper;
61
 
70
  $content = str_replace(']]>', ']]&gt;', $content);
71
  $e->setProperty( 'description', $content );
72
  if( $event->allday ) {
73
+ $dtstart = $dtend = array();
74
+ $dtstart["VALUE"] = $dtend["VALUE"] = 'DATE';
75
+ // For exporting all day events, don't set a timezone
76
+ if( $tz && !$export )
77
+ $dtstart["TZID"] = $dtend["TZID"] = $tz;
78
 
79
+ // For exporting all day events, only set the date not the time
80
+ if( $export ) {
81
+ $e->setProperty( 'dtstart', gmdate( "Ymd", $ai1ec_events_helper->gmt_to_local( $event->start ) ), $dtstart );
82
+ $e->setProperty( 'dtend', gmdate( "Ymd", $ai1ec_events_helper->gmt_to_local( $event->end ) ), $dtend );
83
+ } else {
84
+ $e->setProperty( 'dtstart', gmdate( "Ymd\T", $ai1ec_events_helper->gmt_to_local( $event->start ) ), $dtstart );
85
+ $e->setProperty( 'dtend', gmdate( "Ymd\T", $ai1ec_events_helper->gmt_to_local( $event->end ) ), $dtend );
86
+ }
87
  } else {
88
+ $dtstart = $dtend = array();
89
+ if( $tz )
90
+ $dtstart["TZID"] = $dtend["TZID"] = $tz;
91
 
92
  $e->setProperty( 'dtstart', gmdate( "Ymd\THis\Z", $ai1ec_events_helper->gmt_to_local( $event->start ) ), $dtstart );
93
 
app/helper/class-ai1ec-settings-helper.php CHANGED
@@ -75,7 +75,7 @@ class Ai1ec_Settings_Helper {
75
  if( $results ) {
76
  $pages = $results;
77
  }
78
- $selected_title = '';
79
  ?>
80
  <select class="inputwidth" name="<?php echo $field_name; ?>"
81
  id="<?php echo $field_name; ?>"
@@ -102,7 +102,8 @@ class Ai1ec_Settings_Helper {
102
  if( is_numeric( $selected_page_id ) && $selected_page_id > 0 ) {
103
  $permalink = get_permalink( $selected_page_id );
104
  ?>
105
- <br /><a href="<?php echo $permalink ?>" target="_blank">
 
106
  <?php printf( __( 'View "%s" »', AI1EC_PLUGIN_NAME ), $selected_title ) ?>
107
  </a>
108
  <?php
@@ -165,57 +166,57 @@ class Ai1ec_Settings_Helper {
165
  *
166
  * @return void
167
  **/
168
- function get_timezone_dropdown( $timezone = null ) {
169
- $timezone_identifiers = DateTimeZone::listIdentifiers();
170
- ob_start();
171
- ?>
172
- <select id="timezone" name="timezone">
173
- <?php foreach( $timezone_identifiers as $value ) : ?>
174
- <?php if( preg_match( '/^(Africa|America|Antartica|Arctic|Asia|Atlantic|Australia|Europe|Indian|Pacific)\//', $value ) ) : ?>
175
- <?php $ex = explode( "/", $value ); //obtain continent,city ?>
176
- <?php if( isset( $continent ) && $continent != $ex[0] ) : ?>
177
- <?php if( ! empty( $continent ) ) : ?>
178
- </optgroup>
179
- <?php endif ?>
180
- <optgroup label="<?php echo $ex[0] ?>">
181
- <?php endif ?>
182
 
183
- <?php $city = isset( $ex[2] ) ? $ex[2] : $ex[1]; $continent = $ex[0]; ?>
184
- <option value="<?php echo $value ?>" <?php echo $value == $timezone ? 'selected' : '' ?>><?php echo $city ?></option>
185
- <?php endif ?>
186
- <?php endforeach ?>
187
- </optgroup>
188
- </select>
189
- <?php
190
- return ob_get_clean();
191
- }
192
 
193
- /**
194
- * get_date_format_dropdown function
195
- *
196
- * @return string
197
- **/
198
- function get_date_format_dropdown( $view = null ) {
199
- ob_start();
200
- ?>
201
- <select name="input_date_format">
202
- <option value="def" <?php echo $view == 'def' ? 'selected' : '' ?>>
203
- <?php _e( 'Default (d/m/y)', AI1EC_PLUGIN_NAME ) ?>
204
- </option>
205
- <option value="us" <?php echo $view == 'us' ? 'selected' : '' ?>>
206
- <?php _e( 'US (m/d/y)', AI1EC_PLUGIN_NAME ) ?>
207
- </option>
208
- <option value="iso" <?php echo $view == 'iso' ? 'selected' : '' ?>>
209
- <?php _e( 'ISO 8601 (y-m-d)', AI1EC_PLUGIN_NAME ) ?>
210
- </option>
211
- <option value="dot" <?php echo $view == 'dot' ? 'selected' : '' ?>>
212
- <?php _e( 'Dotted (m.d.y)', AI1EC_PLUGIN_NAME ) ?>
213
- </option>
214
 
215
- </select>
216
- <?php
217
- return ob_get_clean();
218
- }
219
 
220
  /**
221
  * get_cron_freq_dropdown function
@@ -336,25 +337,25 @@ class Ai1ec_Settings_Helper {
336
  $inject_categories = $ai1ec_settings->inject_categories ? 'checked=checked' : '';
337
  $geo_region_biasing = $ai1ec_settings->geo_region_biasing ? 'checked=checked' : '';
338
  $input_date_format = $ai1ec_settings_helper->get_date_format_dropdown( $ai1ec_settings->input_date_format );
339
- $input_24h_time = $ai1ec_settings->input_24h_time ? 'checked=checked' : '';
340
- $default_calendar_view = $ai1ec_settings_helper->get_view_dropdown( $ai1ec_settings->default_calendar_view );
341
- $timezone_control = $ai1ec_settings_helper->get_timezone_dropdown( $ai1ec_settings->timezone );
342
 
343
- $args = array(
344
- 'calendar_page' => $calendar_page,
345
- 'default_calendar_view' => $default_calendar_view,
346
  'calendar_css_selector' => $calendar_css_selector,
347
  'week_start_day' => $week_start_day,
348
  'agenda_events_per_page' => $agenda_events_per_page,
349
  'exclude_from_search' => $exclude_from_search,
350
- 'show_publish_button' => $show_publish_button,
351
  'hide_maps_until_clicked' => $hide_maps_until_clicked,
352
  'agenda_events_expanded' => $agenda_events_expanded,
353
  'turn_off_subscription_buttons' => $turn_off_subscription_buttons,
354
  'show_create_event_button' => $show_create_event_button,
355
  'inject_categories' => $inject_categories,
356
  'input_date_format' => $input_date_format,
357
- 'input_24h_time' => $input_24h_time,
358
  'show_timezone' => ! get_option( 'timezone_string' ),
359
  'timezone_control' => $timezone_control,
360
  'geo_region_biasing' => $geo_region_biasing
@@ -371,16 +372,16 @@ class Ai1ec_Settings_Helper {
371
  **/
372
  function ics_import_settings_meta_box( $object, $box )
373
  {
374
- global $ai1ec_view_helper,
375
- $ai1ec_settings_helper,
376
- $ai1ec_settings;
377
 
378
- $args = array(
379
- 'cron_freq' => $ai1ec_settings_helper->get_cron_freq_dropdown( $ai1ec_settings->cron_freq ),
380
- 'event_categories' => $ai1ec_settings_helper->get_event_categories_select(),
381
- 'feed_rows' => $ai1ec_settings_helper->get_feed_rows()
382
- );
383
- $ai1ec_view_helper->display( 'box_ics_import_settings.php', $args );
384
  }
385
 
386
  /**
@@ -391,11 +392,13 @@ class Ai1ec_Settings_Helper {
391
  * @return void
392
  **/
393
  function the_seed_studio_meta_box( $object, $box ) {
394
- global $ai1ec_view_helper;
395
  include_once( ABSPATH . WPINC . '/feed.php' );
396
  // Initialize new feed
397
- $feed = fetch_feed( AI1EC_RSS_FEED );
398
- $ai1ec_view_helper->display( 'box_the_seed_studio.php', array( 'news' => $feed->get_items() ) );
 
 
399
  }
400
 
401
  /**
@@ -406,8 +409,8 @@ class Ai1ec_Settings_Helper {
406
  * @return void
407
  **/
408
  function add_meta_boxes(){
409
- global $ai1ec_settings;
410
- do_action( 'add_meta_boxes', $ai1ec_settings->settings_page );
411
  }
412
  }
413
  // END class
75
  if( $results ) {
76
  $pages = $results;
77
  }
78
+ $selected_title = '';
79
  ?>
80
  <select class="inputwidth" name="<?php echo $field_name; ?>"
81
  id="<?php echo $field_name; ?>"
102
  if( is_numeric( $selected_page_id ) && $selected_page_id > 0 ) {
103
  $permalink = get_permalink( $selected_page_id );
104
  ?>
105
+ <br />
106
+ <a href="<?php echo $permalink ?>" target="_blank">
107
  <?php printf( __( 'View "%s" »', AI1EC_PLUGIN_NAME ), $selected_title ) ?>
108
  </a>
109
  <?php
166
  *
167
  * @return void
168
  **/
169
+ function get_timezone_dropdown( $timezone = null ) {
170
+ $timezone_identifiers = DateTimeZone::listIdentifiers();
171
+ ob_start();
172
+ ?>
173
+ <select id="timezone" name="timezone">
174
+ <?php foreach( $timezone_identifiers as $value ) : ?>
175
+ <?php if( preg_match( '/^(Africa|America|Antartica|Arctic|Asia|Atlantic|Australia|Europe|Indian|Pacific)\//', $value ) ) : ?>
176
+ <?php $ex = explode( "/", $value ); //obtain continent,city ?>
177
+ <?php if( isset( $continent ) && $continent != $ex[0] ) : ?>
178
+ <?php if( ! empty( $continent ) ) : ?>
179
+ </optgroup>
180
+ <?php endif ?>
181
+ <optgroup label="<?php echo $ex[0] ?>">
182
+ <?php endif ?>
183
 
184
+ <?php $city = isset( $ex[2] ) ? $ex[2] : $ex[1]; $continent = $ex[0]; ?>
185
+ <option value="<?php echo $value ?>" <?php echo $value == $timezone ? 'selected' : '' ?>><?php echo $city ?></option>
186
+ <?php endif ?>
187
+ <?php endforeach ?>
188
+ </optgroup>
189
+ </select>
190
+ <?php
191
+ return ob_get_clean();
192
+ }
193
 
194
+ /**
195
+ * get_date_format_dropdown function
196
+ *
197
+ * @return string
198
+ **/
199
+ function get_date_format_dropdown( $view = null ) {
200
+ ob_start();
201
+ ?>
202
+ <select name="input_date_format">
203
+ <option value="def" <?php echo $view == 'def' ? 'selected' : '' ?>>
204
+ <?php _e( 'Default (d/m/y)', AI1EC_PLUGIN_NAME ) ?>
205
+ </option>
206
+ <option value="us" <?php echo $view == 'us' ? 'selected' : '' ?>>
207
+ <?php _e( 'US (m/d/y)', AI1EC_PLUGIN_NAME ) ?>
208
+ </option>
209
+ <option value="iso" <?php echo $view == 'iso' ? 'selected' : '' ?>>
210
+ <?php _e( 'ISO 8601 (y-m-d)', AI1EC_PLUGIN_NAME ) ?>
211
+ </option>
212
+ <option value="dot" <?php echo $view == 'dot' ? 'selected' : '' ?>>
213
+ <?php _e( 'Dotted (m.d.y)', AI1EC_PLUGIN_NAME ) ?>
214
+ </option>
215
 
216
+ </select>
217
+ <?php
218
+ return ob_get_clean();
219
+ }
220
 
221
  /**
222
  * get_cron_freq_dropdown function
337
  $inject_categories = $ai1ec_settings->inject_categories ? 'checked=checked' : '';
338
  $geo_region_biasing = $ai1ec_settings->geo_region_biasing ? 'checked=checked' : '';
339
  $input_date_format = $ai1ec_settings_helper->get_date_format_dropdown( $ai1ec_settings->input_date_format );
340
+ $input_24h_time = $ai1ec_settings->input_24h_time ? 'checked=checked' : '';
341
+ $default_calendar_view = $ai1ec_settings_helper->get_view_dropdown( $ai1ec_settings->default_calendar_view );
342
+ $timezone_control = $ai1ec_settings_helper->get_timezone_dropdown( $ai1ec_settings->timezone );
343
 
344
+ $args = array(
345
+ 'calendar_page' => $calendar_page,
346
+ 'default_calendar_view' => $default_calendar_view,
347
  'calendar_css_selector' => $calendar_css_selector,
348
  'week_start_day' => $week_start_day,
349
  'agenda_events_per_page' => $agenda_events_per_page,
350
  'exclude_from_search' => $exclude_from_search,
351
+ 'show_publish_button' => $show_publish_button,
352
  'hide_maps_until_clicked' => $hide_maps_until_clicked,
353
  'agenda_events_expanded' => $agenda_events_expanded,
354
  'turn_off_subscription_buttons' => $turn_off_subscription_buttons,
355
  'show_create_event_button' => $show_create_event_button,
356
  'inject_categories' => $inject_categories,
357
  'input_date_format' => $input_date_format,
358
+ 'input_24h_time' => $input_24h_time,
359
  'show_timezone' => ! get_option( 'timezone_string' ),
360
  'timezone_control' => $timezone_control,
361
  'geo_region_biasing' => $geo_region_biasing
372
  **/
373
  function ics_import_settings_meta_box( $object, $box )
374
  {
375
+ global $ai1ec_view_helper,
376
+ $ai1ec_settings_helper,
377
+ $ai1ec_settings;
378
 
379
+ $args = array(
380
+ 'cron_freq' => $ai1ec_settings_helper->get_cron_freq_dropdown( $ai1ec_settings->cron_freq ),
381
+ 'event_categories' => $ai1ec_settings_helper->get_event_categories_select(),
382
+ 'feed_rows' => $ai1ec_settings_helper->get_feed_rows()
383
+ );
384
+ $ai1ec_view_helper->display( 'box_ics_import_settings.php', $args );
385
  }
386
 
387
  /**
392
  * @return void
393
  **/
394
  function the_seed_studio_meta_box( $object, $box ) {
395
+ global $ai1ec_view_helper;
396
  include_once( ABSPATH . WPINC . '/feed.php' );
397
  // Initialize new feed
398
+ $newsItems = array();
399
+ $feed = fetch_feed( AI1EC_RSS_FEED );
400
+ $newsItems = is_wp_error( $feed ) ? array() : $feed->get_items();
401
+ $ai1ec_view_helper->display( 'box_the_seed_studio.php', array( 'news' => $newsItems ) );
402
  }
403
 
404
  /**
409
  * @return void
410
  **/
411
  function add_meta_boxes(){
412
+ global $ai1ec_settings;
413
+ do_action( 'add_meta_boxes', $ai1ec_settings->settings_page );
414
  }
415
  }
416
  // END class
app/model/class-ai1ec-event.php CHANGED
@@ -311,22 +311,22 @@ class Ai1ec_Event {
311
  if( ! $post || $post->post_status == 'auto-draft' )
312
  throw new Ai1ec_Event_Not_Found( "Post with ID '$data' could not be retrieved from the database." );
313
 
314
- $left_join = "";
315
- $select_sql = "e.post_id, e.recurrence_rules, e.exception_rules, e.allday, " .
316
- "e.recurrence_dates, e.exception_dates, e.venue, e.country, e.address, e.city, e.province, e.postal_code, " .
317
- "e.show_map, e.contact_name, e.contact_phone, e.contact_email, e.cost, e.ical_feed_url, e.ical_source_url, " .
318
- "e.ical_organizer, e.ical_contact, e.ical_uid, " .
319
- "GROUP_CONCAT( ttc.term_id ) AS categories, " .
320
- "GROUP_CONCAT( ttt.term_id ) AS tags ";
321
-
322
- if( $instance ) {
323
- $select_sql .= ", UNIX_TIMESTAMP( aei.start ) as start, UNIX_TIMESTAMP( aei.end ) as end ";
324
-
325
- $instance = (int) $instance;
326
- $left_join = "LEFT JOIN {$wpdb->prefix}ai1ec_event_instances aei ON aei.id = $instance ";
327
- } else {
328
- $select_sql .= ", UNIX_TIMESTAMP( e.start ) as start, UNIX_TIMESTAMP( e.end ) as end, e.allday ";
329
- }
330
  // =============================
331
  // = Fetch event from database =
332
  // =============================
311
  if( ! $post || $post->post_status == 'auto-draft' )
312
  throw new Ai1ec_Event_Not_Found( "Post with ID '$data' could not be retrieved from the database." );
313
 
314
+ $left_join = "";
315
+ $select_sql = "e.post_id, e.recurrence_rules, e.exception_rules, e.allday, " .
316
+ "e.recurrence_dates, e.exception_dates, e.venue, e.country, e.address, e.city, e.province, e.postal_code, " .
317
+ "e.show_map, e.contact_name, e.contact_phone, e.contact_email, e.cost, e.ical_feed_url, e.ical_source_url, " .
318
+ "e.ical_organizer, e.ical_contact, e.ical_uid, " .
319
+ "GROUP_CONCAT( ttc.term_id ) AS categories, " .
320
+ "GROUP_CONCAT( ttt.term_id ) AS tags ";
321
+
322
+ if( $instance ) {
323
+ $select_sql .= ", UNIX_TIMESTAMP( aei.start ) as start, UNIX_TIMESTAMP( aei.end ) as end ";
324
+
325
+ $instance = (int) $instance;
326
+ $left_join = "LEFT JOIN {$wpdb->prefix}ai1ec_event_instances aei ON aei.id = $instance ";
327
+ } else {
328
+ $select_sql .= ", UNIX_TIMESTAMP( e.start ) as start, UNIX_TIMESTAMP( e.end ) as end, e.allday ";
329
+ }
330
  // =============================
331
  // = Fetch event from database =
332
  // =============================
app/view/agenda-widget.php CHANGED
@@ -15,9 +15,9 @@
15
  <?php foreach( $dates as $timestamp => $date_info ): ?>
16
  <li class="ai1ec-date <?php if( isset( $date_info['today'] ) && $date_info['today'] ) echo 'ai1ec-today' ?>">
17
  <h3 class="ai1ec-date-title">
18
- <div class="ai1ec-month"><?php echo date_i18n( 'M', $timestamp ) ?></div>
19
- <div class="ai1ec-day"><?php echo date_i18n( 'j', $timestamp ) ?></div>
20
- <div class="ai1ec-weekday"><?php echo date_i18n( 'D', $timestamp ) ?></div>
21
  </h3>
22
  <ol class="ai1ec-date-events">
23
  <?php foreach( $date_info['events'] as $category ): ?>
15
  <?php foreach( $dates as $timestamp => $date_info ): ?>
16
  <li class="ai1ec-date <?php if( isset( $date_info['today'] ) && $date_info['today'] ) echo 'ai1ec-today' ?>">
17
  <h3 class="ai1ec-date-title">
18
+ <div class="ai1ec-month"><?php echo date_i18n( 'M', $timestamp, true ) ?></div>
19
+ <div class="ai1ec-day"><?php echo date_i18n( 'j', $timestamp, true ) ?></div>
20
+ <div class="ai1ec-weekday"><?php echo date_i18n( 'D', $timestamp, true ) ?></div>
21
  </h3>
22
  <ol class="ai1ec-date-events">
23
  <?php foreach( $date_info['events'] as $category ): ?>
app/view/box_the_seed_studio.php CHANGED
@@ -1,50 +1,56 @@
1
  <div class="ai1ec-plugin-branding">
2
- <div class="ai1ec-plugin-logo">
3
- <img src="http://yellowseedimages.s3.amazonaws.com/logo-plugin.png" alt="<?php esc_attr_e( 'The Seed Studio', AI1EC_PLUGIN_NAME ) ?>" class="pluginlogo" />
4
- </div>
5
- <p><?php _e( 'The Seed Studio provides web development and support services for clients and web developers.', AI1EC_PLUGIN_NAME ) ?></p>
6
- <div class="ai1ec-follow-fan">
7
- <div class="ai1ec-facebook-like-top">
8
- <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
9
- <fb:like href="http://www.facebook.com/pages/The-Seed-Agency/66657743707" layout="button_count" show_faces="true" width="110" font="lucida grande"></fb:like>
10
- </div>
11
- <a href="http://twitter.com/theseednet" class="twitter-follow-button"><?php _e( 'Follow @theseednet', AI1EC_PLUGIN_NAME ) ?></a>
12
- <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
13
- <div class="clear"></div>
14
- </div>
15
- <div class="ai1ec-support-button">
16
- <a href="http://theseednetwork.com/get-supported/" target="_blank"><?php _e( 'Get Support<span> from one of our experienced pros</span>', AI1EC_PLUGIN_NAME ) ?></a>
17
- </div>
18
- <h2><?php _e( 'Support', AI1EC_PLUGIN_NAME ) ?></h2>
19
- <p>
20
- <a href="http://theseednetwork.com/software/all-in-one-event-calendar-wordpress/all-in-one-event-calendar-documentation/" target="_blank"><?php _e( 'View plugin documentation', AI1EC_PLUGIN_NAME ) ?></a>
21
- </p>
22
- <p>
23
- <?php _e( 'You can also hire The Seed for support on a contract or per-hour basis for this plugin, for your website or for any of your Internet marketing needs (we can really help!).', AI1EC_PLUGIN_NAME ) ?>
24
- </p>
25
- <p>
26
- <?php _e( 'Plugin users: The Seed gives support priority to clients. For free support from other WordPress users, visit the plugin\'s forum.', AI1EC_PLUGIN_NAME ) ?>
27
- </p>
28
 
29
- <h2><?php _e( 'Vote and Share', AI1EC_PLUGIN_NAME ) ?></h2>
 
 
 
 
 
 
 
 
30
 
31
- <p>
32
- <?php _e( 'This plugin is offered free to the Wordpress Community under the GPL3 license. All we ask is that you:', AI1EC_PLUGIN_NAME ) ?>
33
- <ol>
34
- <li><?php _e( '<a href="http://wordpress.org/extend/plugins/all-in-one-event-calendar/" target="_blank">Give it a five-star rating on wordpress.org</a> (if you think it deserves it!)', AI1EC_PLUGIN_NAME ) ?></li>
35
- <li><a href="http://theseednetwork.com/software/all-in-one-event-calendar-wordpress/" target="_blank"><?php _e( 'Link to the plugin page on our website', AI1EC_PLUGIN_NAME ) ?></a></li>
36
- <li><a href="http://www.facebook.com/theseednet" target="_blank"><?php _e( 'Become a Fan on Facebook', AI1EC_PLUGIN_NAME ) ?></a></li>
37
- <li><a href="https://twitter.com/intent/user?screen_name=theseednet" target="_blank"><?php _e( 'Follow us on Twitter', AI1EC_PLUGIN_NAME ) ?></a></li>
38
- </ol>
39
- </p>
40
 
41
- <h2><?php _e( 'Latest from the Seed Network', AI1EC_PLUGIN_NAME ) ?></h2>
42
  <p>
43
- <ul id="ai1ec-rss-news">
44
- <?php foreach( $news as $n ) : ?>
45
- <li><a href="<?php echo $n->get_link() ?>" target="_blank"><?php echo $n->get_title() ?></a></li>
46
- <?php endforeach ?>
47
- </ul>
48
  </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  </div>
50
  <br class="clear" />
1
  <div class="ai1ec-plugin-branding">
2
+
3
+ <div class="ai1ec-plugin-logo">
4
+ <img src="http://yellowseedimages.s3.amazonaws.com/logo-plugin.png" alt="<?php esc_attr_e( 'The Seed Studio', AI1EC_PLUGIN_NAME ) ?>" class="pluginlogo" />
5
+ </div>
6
+
7
+ <p><?php _e( 'The Seed Studio provides web development and support services for clients and web developers.', AI1EC_PLUGIN_NAME ) ?></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
+ <div class="ai1ec-follow-fan">
10
+ <div class="ai1ec-facebook-like-top">
11
+ <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
12
+ <fb:like href="http://www.facebook.com/pages/The-Seed-Agency/66657743707" layout="button_count" show_faces="true" width="110" font="lucida grande"></fb:like>
13
+ </div>
14
+ <a href="http://twitter.com/theseednet" class="twitter-follow-button"><?php _e( 'Follow @theseednet', AI1EC_PLUGIN_NAME ) ?></a>
15
+ <script src="http://platform.twitter.com/widgets.js" type="text/javascript"></script>
16
+ <div class="clear"></div>
17
+ </div>
18
 
19
+ <div class="ai1ec-support-button">
20
+ <a href="http://theseednetwork.com/get-supported/" target="_blank"><?php _e( 'Get Support<span> from one of our experienced pros</span>', AI1EC_PLUGIN_NAME ) ?></a>
21
+ </div>
 
 
 
 
 
 
22
 
23
+ <h2><?php _e( 'Support', AI1EC_PLUGIN_NAME ) ?></h2>
24
  <p>
25
+ <a href="http://theseednetwork.com/software/all-in-one-event-calendar-wordpress/all-in-one-event-calendar-documentation/" target="_blank"><?php _e( 'View plugin documentation', AI1EC_PLUGIN_NAME ) ?></a>
 
 
 
 
26
  </p>
27
+ <p>
28
+ <?php _e( 'You can also hire The Seed for support on a contract or per-hour basis for this plugin, for your website or for any of your Internet marketing needs (we can really help!).', AI1EC_PLUGIN_NAME ) ?>
29
+ </p>
30
+ <p>
31
+ <?php _e( 'Plugin users: The Seed gives support priority to clients. For free support from other WordPress users, visit the plugin\'s forum.', AI1EC_PLUGIN_NAME ) ?>
32
+ </p>
33
+
34
+ <h2><?php _e( 'Vote and Share', AI1EC_PLUGIN_NAME ) ?></h2>
35
+ <p>
36
+ <?php _e( 'This plugin is offered free to the Wordpress Community under the GPL3 license. All we ask is that you:', AI1EC_PLUGIN_NAME ) ?>
37
+ <ol>
38
+ <li><?php _e( '<a href="http://wordpress.org/extend/plugins/all-in-one-event-calendar/" target="_blank">Give it a five-star rating on wordpress.org</a> (if you think it deserves it!)', AI1EC_PLUGIN_NAME ) ?></li>
39
+ <li><a href="http://theseednetwork.com/software/all-in-one-event-calendar-wordpress/" target="_blank"><?php _e( 'Link to the plugin page on our website', AI1EC_PLUGIN_NAME ) ?></a></li>
40
+ <li><a href="http://www.facebook.com/theseednet" target="_blank"><?php _e( 'Become a Fan on Facebook', AI1EC_PLUGIN_NAME ) ?></a></li>
41
+ <li><a href="https://twitter.com/intent/user?screen_name=theseednet" target="_blank"><?php _e( 'Follow us on Twitter', AI1EC_PLUGIN_NAME ) ?></a></li>
42
+ </ol>
43
+ </p>
44
+
45
+ <?php if( count( $news ) >= 1 ) : ?>
46
+ <h2><?php _e( 'Latest from the Seed Network', AI1EC_PLUGIN_NAME ) ?></h2>
47
+ <p>
48
+ <ul id="ai1ec-rss-news">
49
+ <?php foreach( $news as $n ) : ?>
50
+ <li><a href="<?php echo $n->get_link() ?>" target="_blank"><?php echo $n->get_title() ?></a></li>
51
+ <?php endforeach ?>
52
+ </ul>
53
+ </p>
54
+ <?php endif ?>
55
  </div>
56
  <br class="clear" />
app/view/calendar.php CHANGED
@@ -1,4 +1,4 @@
1
- <!-- START All-in-One Event Calendar Plugin - Version 1.2 -->
2
  <table class="ai1ec-calendar-toolbar">
3
  <tbody>
4
  <tr>
1
+ <!-- START All-in-One Event Calendar Plugin - Version 1.2.1 -->
2
  <table class="ai1ec-calendar-toolbar">
3
  <tbody>
4
  <tr>
app/view/settings.php CHANGED
@@ -11,11 +11,12 @@
11
  <?php wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
12
 
13
  <div class="metabox-holder">
14
- <div class="post-box-container column-1-ai1ec left-side"><?php do_meta_boxes( $settings_page, 'left-side', null ); ?></div>
 
 
 
15
  <div class="post-box-container column-2-ai1ec right-side"><?php do_meta_boxes( $settings_page, 'right-side', null ); ?></div>
16
  </div>
17
- <?php submit_button( esc_attr__( 'Update Settings', AI1EC_PLUGIN_NAME ), 'primary', 'ai1ec_save_settings' ); ?>
18
-
19
  </form>
20
 
21
  </div><!-- #poststuff -->
11
  <?php wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); ?>
12
 
13
  <div class="metabox-holder">
14
+ <div class="post-box-container column-1-ai1ec left-side">
15
+ <?php do_meta_boxes( $settings_page, 'left-side', null ); ?>
16
+ <?php submit_button( esc_attr__( 'Update Settings', AI1EC_PLUGIN_NAME ), 'primary', 'ai1ec_save_settings' ); ?>
17
+ </div>
18
  <div class="post-box-container column-2-ai1ec right-side"><?php do_meta_boxes( $settings_page, 'right-side', null ); ?></div>
19
  </div>
 
 
20
  </form>
21
 
22
  </div><!-- #poststuff -->
app/view/week.php CHANGED
@@ -90,7 +90,7 @@
90
  <div class="ai1ec-grid-container">
91
  <?php for( $hour = 0; $hour < 24; $hour++ ) : ?>
92
  <div class="ai1ec-hour-marker <?php if( $hour >= 8 && $hour < 18 ) echo 'ai1ec-business-hour' ?>" style="top: <?php echo $hour * 60 ?>px;">
93
- <div><?php echo esc_html( date_i18n( 'g a', gmmktime( $hour ) ) ) ?></div>
94
  </div>
95
  <?php for( $quarter = 1; $quarter < 4; $quarter++ ) : ?>
96
  <div class="ai1ec-quarter-marker" style="top: <?php echo $hour * 60 + $quarter * 15 ?>px;"></div>
90
  <div class="ai1ec-grid-container">
91
  <?php for( $hour = 0; $hour < 24; $hour++ ) : ?>
92
  <div class="ai1ec-hour-marker <?php if( $hour >= 8 && $hour < 18 ) echo 'ai1ec-business-hour' ?>" style="top: <?php echo $hour * 60 ?>px;">
93
+ <div><?php echo esc_html( date_i18n( $time_format, gmmktime( $hour, 0 ) ) ) ?></div>
94
  </div>
95
  <?php for( $quarter = 1; $quarter < 4; $quarter++ ) : ?>
96
  <div class="ai1ec-quarter-marker" style="top: <?php echo $hour * 60 + $quarter * 15 ?>px;"></div>
css/add_new_event.css CHANGED
@@ -322,11 +322,14 @@
322
  #ai1ec_repeat_box {
323
  display: none;
324
  margin-top: 10px;
325
- width: 295px;
326
  }
327
  ul.ai1ec_repeat_tabs {
328
  margin:0px; padding:0px;
329
  margin-bottom: 6px;
 
 
 
330
  }
331
 
332
  ul.ai1ec_repeat_tabs li {
@@ -358,19 +361,17 @@ ul.ai1ec_repeat_tabs li a.ai1ec_active {
358
  background-color:#ffffff;
359
  color:#282e32;
360
  border:1px solid #464c54;
361
- border-bottom: 1px solid #ffffff;
 
362
  }
363
  .ai1ec_tab_content {
364
  background-color:#ffffff;
365
  padding:10px;
366
  border:1px solid #464c54;
367
  margin-top: -1px;
368
- -webkit-border-bottom-right-radius: 5px;
369
- -webkit-border-bottom-left-radius: 5px;
370
- -moz-border-radius-bottomright: 5px;
371
- -moz-border-radius-bottomleft: 5px;
372
- border-bottom-right-radius: 5px;
373
- border-bottom-left-radius: 5px;
374
  cursor: normal !important;
375
  }
376
  #ai1ec_weekly_content, #ai1ec_monthly_content, #ai1ec_yearly_content { display:none; }
322
  #ai1ec_repeat_box {
323
  display: none;
324
  margin-top: 10px;
325
+ width: 450px;
326
  }
327
  ul.ai1ec_repeat_tabs {
328
  margin:0px; padding:0px;
329
  margin-bottom: 6px;
330
+ margin-left: 15px;
331
+ width: 95%;
332
+ text-align: left;
333
  }
334
 
335
  ul.ai1ec_repeat_tabs li {
361
  background-color:#ffffff;
362
  color:#282e32;
363
  border:1px solid #464c54;
364
+ border-bottom: 1px solid #ffffff;
365
+ padding-bottom: 9px;
366
  }
367
  .ai1ec_tab_content {
368
  background-color:#ffffff;
369
  padding:10px;
370
  border:1px solid #464c54;
371
  margin-top: -1px;
372
+ -webkit-border-radius: 5px;
373
+ -moz-border-radius: 5px;
374
+ border-radius: 5px;
 
 
 
375
  cursor: normal !important;
376
  }
377
  #ai1ec_weekly_content, #ai1ec_monthly_content, #ai1ec_yearly_content { display:none; }
css/calendar.css CHANGED
@@ -37,7 +37,6 @@ table.ai1ec-calendar-toolbar {
37
  }
38
  .ai1ec-calendar-toolbar td {
39
  text-align: center;
40
- width: 1em;
41
  vertical-align: middle;
42
  border: 0 !important;
43
  padding: 0 !important;
@@ -188,6 +187,8 @@ table.ai1ec-month-view,
188
  background: #fff;
189
  table-layout: fixed !important;
190
  clear: both;
 
 
191
  width: 100% !important;
192
  }
193
  .ai1ec-week-view .tablescroll_wrapper {
@@ -205,6 +206,7 @@ table.ai1ec-week-view-original.tablescroll_body {
205
  .ai1ec-week-view table.tablescroll_head,
206
  .ai1ec-week-view table.tablescroll_head th {
207
  border-bottom: none !important;
 
208
  }
209
  table.ai1ec-week-view-original.tablescroll_body,
210
  table.ai1ec-week-view-original.tablescroll_body tr:first-child td {
37
  }
38
  .ai1ec-calendar-toolbar td {
39
  text-align: center;
 
40
  vertical-align: middle;
41
  border: 0 !important;
42
  padding: 0 !important;
187
  background: #fff;
188
  table-layout: fixed !important;
189
  clear: both;
190
+ }
191
+ table.ai1ec-month-view {
192
  width: 100% !important;
193
  }
194
  .ai1ec-week-view .tablescroll_wrapper {
206
  .ai1ec-week-view table.tablescroll_head,
207
  .ai1ec-week-view table.tablescroll_head th {
208
  border-bottom: none !important;
209
+ padding: 2.48px !important;
210
  }
211
  table.ai1ec-week-view-original.tablescroll_body,
212
  table.ai1ec-week-view-original.tablescroll_body tr:first-child td {
js/jquery.tablescroll.js CHANGED
@@ -101,8 +101,8 @@ OTHER DEALINGS IN THE SOFTWARE.
101
  var diff = wrapper_width-width;
102
 
103
  // assume table will scroll
104
- wrapper.css({width:((width-diff)+settings.scrollbarWidth)+'px'});
105
- tb.css('width',(width-diff)+'px');
106
 
107
  if (tb.outerHeight() <= settings.height)
108
  {
@@ -126,10 +126,7 @@ OTHER DEALINGS IN THE SOFTWARE.
126
 
127
  $('th, td',thead_tr_first).each(function(i)
128
  {
129
- w = $(this).width();
130
-
131
- $('th:eq('+i+'), td:eq('+i+')',thead_tr_first).css('width',w+'px');
132
- $('th:eq('+i+'), td:eq('+i+')',tbody_tr_first).css('width',w+'px');
133
  if (has_tfoot) $('th:eq('+i+'), td:eq('+i+')',tfoot_tr_first).css('width',w+'px');
134
  });
135
 
101
  var diff = wrapper_width-width;
102
 
103
  // assume table will scroll
104
+ wrapper.css({width:((width-diff))+'px'});
105
+ tb.css('width',(width-diff-settings.scrollbarWidth)+'px');
106
 
107
  if (tb.outerHeight() <= settings.height)
108
  {
126
 
127
  $('th, td',thead_tr_first).each(function(i)
128
  {
129
+ w = $(this).width();
 
 
 
130
  if (has_tfoot) $('th:eq('+i+'), td:eq('+i+')',tfoot_tr_first).css('width',w+'px');
131
  });
132
 
js/jquery.timespan.js CHANGED
@@ -187,29 +187,56 @@
187
  }
188
  });
189
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  // When start date/time are modified, update end date/time by shifting the
191
  // appropriate amount.
192
  start_date_input.add( o.start_time_input )
193
  .bind( 'focus.timespan', function() {
194
  // Calculate the time difference between start & end and save it.
195
- var start_date_val = parseDate( start_date_input.val(), o.date_format ).getTime() / 1000;
196
- var start_time_val = parseTime( start_time_input.val() );
197
- start_date_val += start_time_val.hour * 3600 + start_time_val.minute * 60;
198
- var end_date_val = parseDate( end_date_input.val(), o.date_format ).getTime() / 1000;
199
- var end_time_val = parseTime( end_time_input.val() );
200
- end_date_val += end_time_val.hour * 3600 + end_time_val.minute * 60;
201
- start_date_input.data( 'time_diff', end_date_val - start_date_val );
202
  } )
203
  .bind( 'blur.timespan', function() {
204
- var start_date_val = parseDate( start_date_input.data( 'timespan.stored' ), o.date_format );
205
- var start_time_val = parseTime( start_time_input.data( 'timespan.stored' ) );
 
 
206
  // Shift end date/time as appropriate.
207
- var end_time_val = start_date_val.getTime() / 1000
208
- + start_time_val.hour * 3600 + start_time_val.minute * 60
209
- + start_date_input.data( 'time_diff' );
210
- end_time_val = new Date( end_time_val * 1000 );
211
- end_date_input.val( formatDate( end_time_val, o.date_format ) );
212
- end_time_input.val( formatTime( end_time_val.getUTCHours(), end_time_val.getUTCMinutes(), o.twentyfour_hour ) );
 
 
 
 
 
 
213
  } );
214
 
215
  // Validation upon form submission
187
  }
188
  });
189
 
190
+ // Gets the time difference between start and end dates
191
+ function get_startend_time_difference() {
192
+ var start_date_val = parseDate( start_date_input.val(), o.date_format ).getTime() / 1000;
193
+ var start_time_val = parseTime( start_time_input.val() );
194
+ start_date_val += start_time_val.hour * 3600 + start_time_val.minute * 60;
195
+ var end_date_val = parseDate( end_date_input.val(), o.date_format ).getTime() / 1000;
196
+ var end_time_val = parseTime( end_time_input.val() );
197
+ end_date_val += end_time_val.hour * 3600 + end_time_val.minute * 60;
198
+
199
+ return end_date_val - start_date_val;
200
+ }
201
+
202
+ function shift_jqts_enddate() {
203
+ var start_date_val = parseDate( start_date_input.data( 'timespan.stored' ), o.date_format );
204
+ var start_time_val = parseTime( start_time_input.data( 'timespan.stored' ) );
205
+ var end_time_val = start_date_val.getTime() / 1000
206
+ + start_time_val.hour * 3600 + start_time_val.minute * 60
207
+ + start_date_input.data( 'time_diff' );
208
+ end_time_val = new Date( end_time_val * 1000 );
209
+ end_date_input.val( formatDate( end_time_val, o.date_format ) );
210
+ end_time_input.val( formatTime( end_time_val.getUTCHours(), end_time_val.getUTCMinutes(), o.twentyfour_hour ) );
211
+
212
+ return true;
213
+ }
214
+
215
  // When start date/time are modified, update end date/time by shifting the
216
  // appropriate amount.
217
  start_date_input.add( o.start_time_input )
218
  .bind( 'focus.timespan', function() {
219
  // Calculate the time difference between start & end and save it.
220
+ start_date_input.data( 'time_diff', get_startend_time_difference() );
 
 
 
 
 
 
221
  } )
222
  .bind( 'blur.timespan', function() {
223
+ // If End date is earlier than StartDate, reset it to 15 mins after startDate
224
+ if ( start_date_input.data( 'time_diff' ) < 0 ) {
225
+ start_date_input.data( 'time_diff', 15 * 60 );
226
+ }
227
  // Shift end date/time as appropriate.
228
+ var shift_jqts = shift_jqts_enddate();
229
+ } );
230
+
231
+ // When end date/time is modified, check if it is earlier than start date/time and shift it if needed
232
+ end_date_input.add( o.start_time_input )
233
+ .bind( 'blur.timespan', function() {
234
+ // If End date is earlier than StartDate, reset it to 15 mins after startDate
235
+ if ( get_startend_time_difference() < 0 ) {
236
+ start_date_input.data( 'time_diff', 15 * 60 );
237
+ // Shift end date/time as appropriate.
238
+ var shift_jqts = shift_jqts_enddate();
239
+ }
240
  } );
241
 
242
  // Validation upon form submission
language/all-in-one-event-calendar-de_DE.mo CHANGED
Binary file
language/all-in-one-event-calendar-de_DE.po CHANGED
@@ -1,816 +1,809 @@
 
 
 
1
  msgid ""
2
  msgstr ""
3
- "Project-Id-Version: All-in-One Event Calendar Plugin 1.0.6\n"
4
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
5
- "POT-Creation-Date: 2011-09-15 08:49:29+00:00\n"
6
- "MIME-Version: 1.0\n"
7
- "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
9
- "PO-Revision-Date: 2011-09-23 15:34+0100\n"
 
 
10
  "Last-Translator: \n"
11
  "Language-Team: \n"
12
- "X-Poedit-Language: German\n"
13
- "X-Poedit-Country: Germany\n"
14
- "X-Poedit-SourceCharset: utf-8\n"
15
-
16
- #: app/controller/class-ai1ec-importer-controller.php:91
17
- msgid "The Events Calendar → All-in-One Event Calendar"
18
- msgstr "Der Event Kalender → All-in-One Event Calendar"
19
-
20
- #: app/controller/class-ai1ec-importer-controller.php:92
21
- msgid "Imports events created using The Events Calendar plugin into the All-in-One Event Calendar"
22
- msgstr "Importiert Events aus dem Events Calender Plugin"
23
-
24
- #: app/controller/class-ai1ec-settings-controller.php:82
25
- msgid "Settings Updated."
26
- msgstr "Einstellungen aktualisiert."
27
-
28
- #: app/controller/class-ai1ec-settings-controller.php:172
29
- msgid "Flushed %d events"
30
- msgstr "%d Events gelöscht"
31
-
32
- #: app/controller/class-ai1ec-settings-controller.php:214
33
- msgid "Imported %d events"
34
- msgstr "%d Events importiert"
35
-
36
- #: app/controller/class-ai1ec-settings-controller.php:215
37
- #: app/view/feed_row.php:266
38
- msgctxt "meta box"
39
- msgid "General Settings"
40
- msgstr "Globale Einstellungen"
41
-
42
- #: app/controller/class-ai1ec-settings-controller.php:273
43
- msgctxt "meta box"
44
- msgid "The Seed Studio Support"
45
- msgstr "The Seed Studio Support"
46
-
47
- #: app/controller/class-ai1ec-settings-controller.php:280
48
- msgctxt "meta box"
49
- msgid "ICS Import Settings"
50
- msgstr "ICS Import Einstellungen"
51
-
52
- #: app/controller/class-ai1ec-settings-controller.php:344
53
- msgid "<a href=\"%s\">Settings</a>"
54
- msgstr "<a href=\"%s\">Einstellungen</a>"
55
-
56
- #: app/controller/class-ai1ec-settings-controller.php:358
57
- msgid "<a href=\"%s\" target=\"_blank\">Donate</a>"
58
- msgstr "<a href=\"%s\" target=\"_blank\">Spenden</a>"
59
-
60
- #: app/controller/class-ai1ec-settings-controller.php:359
61
- msgid "<a href=\"%s\" target=\"_blank\">Get Support</a>"
62
- msgstr "<a href=\"%s\" target=\"_blank\">Unterstützung anfordern</a>"
63
-
64
- #: app/controller/class-ai1ec-calendar-controller.php:280
65
- #: app/helper/class-ai1ec-settings-helper.php:151
66
- #: app/view/calendar.php:18
67
- msgid "Agenda"
68
- msgstr "Liste"
69
-
70
- #: app/controller/class-ai1ec-events-controller.php:133
71
- msgid "This feed is already being imported."
72
- msgstr "Dieser Feede existiert bereits"
73
 
74
- #: app/controller/class-ai1ec-events-controller.php:134
75
- msgid "Please enter a valid iCalendar URL."
76
- msgstr "Bitte geben Sie eine gültige iCalendar URL ein."
77
 
78
- #: app/controller/class-ai1ec-events-controller.php:274
79
  msgid "Publish"
80
- msgstr "Veröffenltichen"
81
 
82
- #: app/controller/class-ai1ec-events-controller.php:274
83
- #: app/view/feed_row.php:20
84
  msgid "Update"
85
  msgstr "Aktualisieren"
86
 
87
- #: app/controller/class-ai1ec-events-controller.php:276
88
  msgid "Submit for Review"
89
  msgstr "Zur Überprüfung senden"
90
 
91
- #: app/controller/class-ai1ec-events-controller.php:465
92
  msgid "Event updated. <a href=\"%s\">View event</a>"
93
- msgstr "Event aktualisiert. <a href=\"%s\">Details</a>"
94
 
95
- #: app/controller/class-ai1ec-events-controller.php:466
96
  msgid "Custom field updated."
97
- msgstr "Custom field aktualisiert"
98
 
99
- #: app/controller/class-ai1ec-events-controller.php:467
100
  msgid "Custom field deleted."
101
- msgstr "Custom field gelöscht"
102
 
103
- #: app/controller/class-ai1ec-events-controller.php:468
104
  msgid "Event updated."
105
- msgstr "Event aktualisiert"
106
 
107
- #. translators: %s: date and time of the revision
108
- #: app/controller/class-ai1ec-events-controller.php:470
109
  msgid "Event restored to revision from %s"
110
- msgstr "Event wiederhergestellt von Revision %s"
111
 
112
- #: app/controller/class-ai1ec-events-controller.php:471
113
  msgid "Event published. <a href=\"%s\">View event</a>"
114
  msgstr "Event veröffentlicht. <a href=\"%s\">Ansehen</a>"
115
 
116
- #: app/controller/class-ai1ec-events-controller.php:472
117
  msgid "Event saved."
118
- msgstr "Events gespeichert"
119
 
120
- #: app/controller/class-ai1ec-events-controller.php:473
121
  msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
122
- msgstr "Event veröffentlicht. <a target=\"_blank\" href=\"%s\">Ansehen</a>"
123
 
124
- #: app/controller/class-ai1ec-events-controller.php:474
125
  msgid "Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Preview event</a>"
126
- msgstr "Event vorgemerkt für: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Vorschau</a>"
127
 
128
- #. translators: Publish box date format, see http:php.net/date
129
- #: app/controller/class-ai1ec-events-controller.php:476
130
  msgid "M j, Y @ G:i"
131
- msgstr "d.F Y @ H:i"
132
 
133
- #: app/controller/class-ai1ec-events-controller.php:477
134
  msgid "Event draft updated. <a target=\"_blank\" href=\"%s\">Preview event</a>"
135
- msgstr "Entwurf aktualisiert. <a target=\"_blank\" href=\"%s\">Vorschau</a>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
 
137
- #: app/controller/class-ai1ec-app-controller.php:331
138
- #: app/controller/class-ai1ec-app-controller.php:332
139
  msgid "Settings"
140
  msgstr "Einstellungen"
141
 
142
- #: app/helper/class-ai1ec-events-helper.php:438
143
- msgid "times"
144
- msgstr "times"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
145
 
146
- #: app/helper/class-ai1ec-app-helper.php:149
147
  msgid "Add New"
148
  msgstr "Hinzufügen"
149
 
150
- #: app/helper/class-ai1ec-app-helper.php:150
151
  msgid "Add New Event"
152
- msgstr "Neues Event"
153
 
154
- #: app/helper/class-ai1ec-app-helper.php:151
155
  msgid "Edit Event"
156
- msgstr "Bearbeiten"
157
 
158
- #: app/helper/class-ai1ec-app-helper.php:152
159
  msgid "New Event"
160
  msgstr "Neues Event"
161
 
162
- #: app/helper/class-ai1ec-app-helper.php:153
163
  msgid "View Event"
164
- msgstr "Ansehen"
165
 
166
- #: app/helper/class-ai1ec-app-helper.php:154
167
  msgid "Search Events"
168
- msgstr "Suchen"
169
 
170
- #: app/helper/class-ai1ec-app-helper.php:155
171
  msgid "No Events found"
172
  msgstr "Keine Events gefunden"
173
 
174
- #: app/helper/class-ai1ec-app-helper.php:156
175
  msgid "No Events found in Trash"
176
- msgstr "Keine Events im Papierkorb"
177
 
178
- #: app/helper/class-ai1ec-app-helper.php:157
179
  msgid "Parent Event"
180
- msgstr "Mutter Event"
181
 
182
- #: app/helper/class-ai1ec-app-helper.php:158
183
  msgid "Events"
184
  msgstr "Events"
185
 
186
- #: app/helper/class-ai1ec-app-helper.php:313
 
 
187
  msgid "All Events <span class=\"update-plugins count-%d\" title=\"%d Pending Events\"><span class=\"update-count\">%d</span></span>"
188
- msgstr "All Events <span class=\"update-plugins count-%d\" title=\"%d Pending Events\"><span class=\"update-count\">%d</span></span>"
189
 
190
- #: app/helper/class-ai1ec-app-helper.php:319
191
  msgid "All Events"
192
  msgstr "Alle Events"
193
 
194
- #: app/helper/class-ai1ec-app-helper.php:395
195
  msgid "Event Details"
196
  msgstr "Event Details"
197
 
198
- #: app/helper/class-ai1ec-app-helper.php:412
199
  msgid "Post Date"
200
- msgstr "Datum"
201
 
202
- #: app/helper/class-ai1ec-app-helper.php:413
203
  msgid "Event date/time"
204
  msgstr "Event Datum/Zeit"
205
 
206
- #: app/helper/class-ai1ec-app-helper.php:629
207
- msgid "To set up the plugin, please select an option in the <strong>Calendar page</strong> dropdown list, then click <strong>Update Settings</strong>."
208
- msgstr "Um das Plugin zu konfigurieren, wählen Sie auf der <strong>Kalenderseite</strong> aus der Liste <strong>Einstellungen aktualisieren</strong>."
 
 
 
 
 
209
 
210
- #: app/helper/class-ai1ec-app-helper.php:633
211
  msgid "The plugin is installed, but has not been configured. <a href=\"%s\">Click here to set it up now »</a>"
212
- msgstr "Das Plugin wurde installiert. <a href=\"%s\">Jetzt konfigurieren »</a>"
213
 
214
- #: app/helper/class-ai1ec-app-helper.php:639
215
  msgid "The plugin is installed, but has not been configured. Please log in as a WordPress Administrator to set it up."
216
- msgstr "Das Plugin wurde installiert, aber vom Administrator noch nicht konfiguriert."
217
 
218
- #: app/helper/class-ai1ec-calendar-helper.php:564
219
- msgid "« Previous Events"
220
- msgstr "« Frühere Events"
221
 
222
- #: app/helper/class-ai1ec-calendar-helper.php:571
223
- msgid "Next Events »"
224
- msgstr "Spätere Events »"
225
 
226
- #: app/helper/class-ai1ec-settings-helper.php:85
227
- msgid "- Auto-Create New Page -"
228
- msgstr "- Neue Seite automatisch anlegen -"
229
 
230
- #: app/helper/class-ai1ec-settings-helper.php:106
231
- msgid "View \"%s\" »"
232
- msgstr "Zeige \"%s\" »"
233
 
234
- #: app/helper/class-ai1ec-settings-helper.php:148
235
- #: app/view/calendar.php:10
236
- #: app/view/calendar.php:11
237
- #: app/view/calendar.php:17
238
- msgid "Month"
239
- msgstr "Monat"
240
 
241
- #: app/helper/class-ai1ec-settings-helper.php:168
242
- msgid "Hourly"
243
- msgstr "Stündlich"
244
 
245
- #: app/helper/class-ai1ec-settings-helper.php:171
246
- msgid "Twice Daily"
247
- msgstr "Zweimal täglich"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
248
 
249
- #: app/helper/class-ai1ec-settings-helper.php:174
250
  msgid "Daily"
251
  msgstr "Täglich"
252
 
253
- #: app/helper/class-ai1ec-settings-helper.php:258
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  msgid "Calendar"
255
  msgstr "Kalender"
256
 
257
- #: app/view/settings.php:5
258
- msgid "All-in-one Event Calendar"
259
- msgstr "All-in-one Event Kalender"
260
 
261
- #: app/view/settings.php:17
262
- msgid "Update Settings"
263
- msgstr "Einstellungen aktualisieren"
264
 
265
- #: app/view/box_event_cost.php:1
266
- msgid "Event cost"
267
- msgstr "Event Kosten"
268
 
269
- #: app/view/box_event_cost.php:7
270
- msgid "Cost"
271
- msgstr "Kosten"
272
 
273
- #: app/view/event-excerpt.php:2
274
- #: app/view/event-single.php:5
275
- #: app/view/event-multi.php:4
276
- msgid "When:"
277
- msgstr "Wann:"
278
 
279
- #: app/view/event-excerpt.php:4
280
- #: app/view/event-single.php:20
281
- #: app/view/event-multi.php:20
282
- msgid "Where:"
283
- msgstr "Wo:"
 
 
 
 
 
 
 
 
 
 
 
 
284
 
285
- #: app/view/feed_row.php:3
286
- #: app/view/box_ics_import_settings.php:8
287
  msgid "iCalendar/.ics Feed URL:"
288
  msgstr "iCalendar/.ics Feed URL:"
289
 
290
- #: app/view/feed_row.php:9
291
- msgid "Event category:"
292
- msgstr "Event Kategorie:"
293
 
294
- #: app/view/feed_row.php:15
295
- #: app/view/box_ics_import_settings.php:18
296
  msgid "Tag with"
297
- msgstr "Schlagwort:"
298
 
299
- #: app/view/feed_row.php:19
300
- msgid "× Delete"
301
- msgstr "× Löschen"
302
 
303
- #: app/view/event-map.php:6
304
- msgid "View Full-Size Map »"
305
- msgstr "View Full-Size Map »"
306
 
307
- #: app/view/box_event_location.php:1
308
- msgid "Event location details"
309
- msgstr "Veranstaltungsort"
310
 
311
- #: app/view/box_event_location.php:7
312
- msgid "Venue name:"
313
- msgstr "Austragungsort:"
314
 
315
- #: app/view/box_event_location.php:17
316
- msgid "Address:"
317
- msgstr "Adresse:"
318
 
319
- #: app/view/box_event_location.php:27
320
- msgid "Show Google Map:"
321
- msgstr "Google Map anzeigen:"
322
 
323
- #: app/view/class-ai1ec-agenda-widget.php:18
324
- #: app/view/class-ai1ec-agenda-widget.php:39
325
- msgid "Upcoming Events"
326
- msgstr "Zukünftige Events"
327
 
328
- #: app/view/class-ai1ec-agenda-widget.php:20
329
- msgid "All-in-One Event Calendar: Lists upcoming events in Agenda view"
330
- msgstr "All-in-One Event Calendar: Zukünftige Events in Listenansicht darstellen"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
331
 
332
- #: app/view/month.php:4
333
- #: app/view/agenda.php:12
334
  msgid "Today"
335
  msgstr "Heute"
336
 
337
- #: app/view/month.php:50
 
 
338
  msgid "Summary:"
339
  msgstr "Zusammenfassung:"
340
 
341
- #: app/view/month.php:53
342
  msgid "click anywhere for details"
343
- msgstr "Für Details hier klicken"
344
 
345
- #: app/view/month.php:61
346
- #: app/view/agenda.php:57
347
- #: app/view/agenda.php:107
348
  msgid "(all-day)"
349
  msgstr "(ganztägig)"
350
 
351
- #: app/view/import.php:6
352
- msgid "Successfully imported events:"
353
- msgstr "Event erfolgreich importiert:"
354
 
355
- #: app/view/event-single.php:8
356
  msgid "Back to Calendar »"
357
- msgstr "Zum Kalender »"
358
 
359
- #: app/view/event-single.php:15
360
- #: app/view/event-multi.php:14
361
  msgid "Repeats:"
362
- msgstr "Wiederholung:"
 
 
 
363
 
364
- #: app/view/event-single.php:27
365
  msgid "Add this event to your favourite calendar program (iCal, Outlook, etc.)"
366
- msgstr "Dieses Event zum persönlichen Kalender hinzufügen (iCal, Outlook, etc.)"
367
 
368
- #: app/view/event-single.php:28
369
  msgid "✔ Add to Calendar"
370
- msgstr "✔ Zum Kalender hinzufügen"
371
 
372
- #: app/view/event-single.php:31
373
  msgid "Add this event to your Google Calendar"
374
  msgstr "Dieses Event zu Google Kalender hinzufügen"
375
 
376
- #: app/view/event-single.php:33
377
  msgid "Add to Google Calendar"
378
  msgstr "Zu Google Kalender hinzufügen"
379
 
380
- #: app/view/event-single.php:40
381
- #: app/view/event-multi.php:33
382
  msgid "Cost:"
383
- msgstr "Kosten:"
384
 
385
- #: app/view/event-single.php:46
386
- #: app/view/event-multi.php:39
387
  msgid "Contact:"
388
  msgstr "Kontakt:"
389
 
390
- #: app/view/event-single.php:52
391
- #: app/view/event-multi.php:45
392
- #: app/view/agenda.php:79
393
  msgid "Categories:"
394
  msgstr "Kategorien:"
395
 
396
- #: app/view/event-single.php:59
397
- #: app/view/event-multi.php:51
398
- #: app/view/agenda.php:85
399
  msgid "Tags:"
400
  msgstr "Schlagworte:"
401
 
402
- #: app/view/box_eventbrite.php:1
403
- msgid "Eventbrite Ticketing"
404
- msgstr "Eventbrite Ticketing"
405
 
406
- #: app/view/box_eventbrite.php:7
407
- msgid "Register this event with Eventbrite.com?"
408
- msgstr "Event auf Eventbrite.com veröffentlichen?"
409
 
410
- #: app/view/box_eventbrite.php:12
411
- msgid "Yes"
412
- msgstr "Ja"
413
 
414
- #: app/view/box_eventbrite.php:14
415
- msgid "No"
416
- msgstr "Nein"
417
 
418
- #: app/view/box_eventbrite.php:22
419
- msgid "Set up your first ticket"
420
- msgstr "Ticket konfigurieren"
421
 
422
- #: app/view/box_eventbrite.php:24
423
- msgid "To create multiple tickets per event, submit this form, then follow the link to Eventbrite."
424
- msgstr "Um mehrere Tickets zu generieren, senden Sie dieses Formular ab und folgen Sie dem Link"
425
 
426
- #: app/view/box_eventbrite.php:32
427
- msgid "Name"
428
- msgstr "Name"
429
 
430
- #: app/view/box_eventbrite.php:42
431
- msgid "Description"
432
- msgstr "Beschreibung"
433
 
434
- #: app/view/box_eventbrite.php:53
435
- msgid "Type"
436
- msgstr "Typ"
437
 
438
- #: app/view/box_eventbrite.php:58
439
- msgid "Set Price"
440
- msgstr "Preis festlegen"
441
 
442
- #: app/view/box_eventbrite.php:60
443
- msgid "Donation Based"
444
- msgstr "Spendenbasiert"
445
 
446
- #: app/view/box_eventbrite.php:68
447
- msgid "The price for this event's first ticket will be taken from the Cost field above."
448
- msgstr "Der Ticketpreis wird vom Kostenfeld übernommen"
449
 
450
- #: app/view/box_eventbrite.php:75
451
- msgid "Quantity"
452
- msgstr "Anzahl"
453
 
454
- #: app/view/box_eventbrite.php:85
455
- msgid "Include Fee in Price"
456
- msgstr "Gebühr im Preis inbegriffen"
457
 
458
- #: app/view/box_eventbrite.php:90
459
- msgid "Add Service Fee on top of price"
460
- msgstr "Servicezuschlag zum Preis hinzufügen"
461
 
462
- #: app/view/box_eventbrite.php:92
463
- msgid "Include Service fee in price"
464
- msgstr "Servicezuschlag im Preis berücksichtigen"
465
 
466
- #: app/view/box_eventbrite.php:98
467
- msgid "Payment Options"
468
- msgstr "Zahlungsoptionen"
469
 
470
- #: app/view/box_eventbrite.php:103
471
- msgid "Paypal"
472
- msgstr "Paypal"
473
 
474
- #: app/view/box_eventbrite.php:105
475
- msgid "Google Checkout"
476
- msgstr "Google Checkout"
477
 
478
- #: app/view/box_eventbrite.php:107
479
- msgid "Check"
480
- msgstr "Scheck"
481
 
482
- #: app/view/box_eventbrite.php:109
483
- msgid "Cash"
484
- msgstr "Bar"
485
 
486
- #: app/view/box_eventbrite.php:111
487
- msgid "Send an Invoice"
488
- msgstr "Rechnung senden"
489
 
490
- #. #-#-#-#-# plugin.pot (All-in-One Event Calendar Plugin 1.0.6) #-#-#-#-#
491
- #. Author of the plugin/theme
492
- #: app/view/box_the_seed_studio.php:3
493
- msgid "The Seed Studio"
494
- msgstr "The Seed Studio"
495
 
496
- #: app/view/box_the_seed_studio.php:5
497
- msgid "The Seed Studio provides web development and support services for clients and web developers."
498
- msgstr "The Seed Studio provides web development and support services for clients and web developers."
499
 
500
- #: app/view/box_the_seed_studio.php:11
501
- msgid "Follow @the_seed_studio"
502
- msgstr "Follow @the_seed_studio"
503
 
504
- #: app/view/box_the_seed_studio.php:16
505
- msgid "Get Support<span> from one of our experienced pros</span>"
506
- msgstr "Unterstützung <span>durch einen unserer Profis</span>"
507
 
508
- #: app/view/box_the_seed_studio.php:18
509
- msgid "Support"
510
- msgstr "Unterstützung"
511
 
512
- #: app/view/box_the_seed_studio.php:20
513
- msgid "View plugin documentation"
514
- msgstr "Plugin Dokumentation"
515
 
516
- #: app/view/box_the_seed_studio.php:23
517
- msgid "You can also hire The Seed for support on a contract or per-hour basis for this plugin, for your website or for any of your Internet marketing needs (we can really help!)."
518
- msgstr "Hilfe von The Seed anfordern"
519
 
520
- #: app/view/box_the_seed_studio.php:26
521
- msgid "Plugin users: The Seed gives support priority to clients. For free support from other WordPress users, visit the plugin's forum."
522
- msgstr "Plugin Nutzer: Nur Kunden erhalten direkte Unterstützung von The Seed. Kostenlose Unterstützung gibt es im Plugin Forum"
523
 
524
- #: app/view/box_the_seed_studio.php:29
525
- msgid "Vote and Share"
526
- msgstr "Abstimmen und Teilen"
527
 
528
- #: app/view/box_the_seed_studio.php:32
529
- msgid "This plugin is offered free to the Wordpress Community under the GPL3 license. All we ask is that you:"
530
- msgstr "This plugin is offered free to the Wordpress Community under the GPL3 license. All we ask is that you:"
531
 
532
- #: app/view/box_the_seed_studio.php:34
533
- msgid "<a href=\"http://wordpress.org/extend/plugins/all-in-one-event-calendar/\" target=\"_blank\">Give it a five-star rating on wordpress.org</a> (if you think it deserves it!)"
534
- msgstr "<a href=\"http://wordpress.org/extend/plugins/all-in-one-event-calendar/\" target=\"_blank\">Give it a five-star rating on wordpress.org</a> (if you think it deserves it!)"
535
 
536
- #: app/view/box_the_seed_studio.php:35
537
- msgid "Link to the plugin page on our website"
538
- msgstr "Verlinke auf unsere Website"
539
 
540
- #: app/view/box_the_seed_studio.php:36
541
- msgid "Become a Fan on Facebook"
542
- msgstr "Werde Fan auf Facebook"
543
 
544
- #: app/view/box_the_seed_studio.php:37
545
- msgid "Follow us on Twitter"
546
- msgstr "Folge uns auf Twitter"
547
 
548
- #: app/view/box_the_seed_studio.php:41
549
- msgid "Donate"
550
- msgstr "Spenden"
551
 
552
- #: app/view/box_the_seed_studio.php:43
553
- msgid "If you would like to help support development of this plugin, then by all means..."
554
- msgstr "Unterstützen Sie die ENtwicklung dieses Plugins:"
555
 
556
- #: app/view/event-multi.php:7
557
- msgid "View in Calendar »"
558
- msgstr "Im Kalender anzeigen »"
559
 
560
- #: app/view/event-multi.php:24
561
- msgid "View Map »"
562
- msgstr "Map anzeigen »"
563
 
564
- #: app/view/box_general_settings.php:3
565
- msgid "Calendar page:"
566
- msgstr "Kalender Seite:"
567
 
568
- #: app/view/box_general_settings.php:7
569
- msgid "Default calendar view:"
570
- msgstr "Standardansicht:"
571
 
572
- #: app/view/box_general_settings.php:11
573
- msgid "Contain calendar in this DOM element:"
574
- msgstr "Kalender in diesem DOM Element anzeigen:"
575
 
576
- #: app/view/box_general_settings.php:13
577
- msgid "Optional. Provide a <a href=\"http://api.jquery.com/category/selectors/\" target=\"_blank\">jQuery selector</a> that evaluates to a single DOM element. Replaces any existing markup found within target. If left empty, calendar is shown in normal page content container."
578
- msgstr "Optional. Provide a <a href=\"http://api.jquery.com/category/selectors/\" target=\"_blank\">jQuery selector</a> that evaluates to a single DOM element. Replaces any existing markup found within target. If left empty, calendar is shown in normal page content container."
579
 
580
- #: app/view/box_general_settings.php:15
581
- msgid "Week starts on"
582
- msgstr "Woche startet am:"
583
 
584
- #: app/view/box_general_settings.php:19
585
- msgid "Agenda pages show at most"
586
- msgstr "Listenansicht zeigt hauptsächlich:"
587
 
588
- #: app/view/box_general_settings.php:20
589
- msgid "events"
590
- msgstr "Events"
591
 
592
- #: app/view/box_general_settings.php:25
593
- msgid "<strong>Exclude</strong> events from search results"
594
- msgstr "Events von den Suchergebnissen <strong>ausschliessen</strong>"
595
 
596
- #: app/view/box_general_settings.php:31
597
- msgid "Show <strong>Post Your Event</strong> button above the calendar to privileged users"
598
- msgstr "<strong>Event mitteilen</strong> Button für registrierte Benutzer anzeigen"
599
 
600
- #: app/view/box_general_settings.php:37
601
- msgid "Hide <strong>Subscribe</strong>/<strong>Add to Calendar</strong> buttons in calendar and single event views"
602
- msgstr "Verstecke <strong>Abonnieren</strong>/<strong>Zu Kalener hinzufügen</strong> in Kalender- und Detailansicht"
603
 
604
- #: app/view/box_general_settings.php:43
605
- msgid "Include <strong>event categories</strong> in post category lists"
606
- msgstr "<strong>Event Kategorien</strong> in Artikelkategorien inkludieren"
607
 
608
- #: app/view/box_general_settings.php:51
609
- msgid "Input dates in <strong>US format</strong>"
610
- msgstr "Datum im US-Format"
611
 
612
- #: app/view/box_general_settings.php:57
613
- msgid "Display <strong>Publish</strong> at bottom of Edit Event form"
614
- msgstr "<strong>Veröffentlichen</strong> Button in der Fußzeiel des Editor anzeigen"
615
 
616
- #: app/view/agenda-widget.php:11
617
- msgid "There are no upcoming events."
618
- msgstr "Keine Events veröffentlicht."
619
 
620
- #: app/view/agenda-widget.php:59
621
- msgid "View Calendar »"
622
- msgstr "Event Kalender »"
623
 
624
- #: app/view/agenda-widget.php:67
625
- #: app/view/calendar.php:101
626
- msgid "Subscribe to this calendar using your favourite calendar program (iCal, Outlook, etc.)"
627
- msgstr "Kalender abonnieren (iCal, Outlook, etc.)"
628
 
629
- #: app/view/agenda-widget.php:68
630
- #: app/view/calendar.php:102
631
- msgid "✔ Subscribe"
632
- msgstr "✔ Abonnieren"
633
 
634
- #: app/view/agenda-widget.php:72
635
- #: app/view/calendar.php:107
636
- msgid "Subscribe to this calendar in your Google Calendar"
637
- msgstr "Kalender auf Google abonnieren"
 
638
 
639
- #: app/view/agenda-widget.php:74
640
  msgid "Add to Google"
641
  msgstr "Zu Google hinzufügen"
642
 
643
- #: app/view/box_event_contact.php:1
644
  msgid "Organizer contact info"
645
- msgstr "Veranstalter:"
646
 
647
- #: app/view/box_event_contact.php:7
648
  msgid "Contact name:"
649
  msgstr "Kontaktname:"
650
 
651
- #: app/view/box_event_contact.php:17
652
  msgid "Phone:"
653
- msgstr "Telefon:"
654
 
655
- #: app/view/box_event_contact.php:27
656
  msgid "E-mail:"
657
  msgstr "E-Mail:"
658
 
659
- #: app/view/admin_notices.php:2
660
- msgid "All-in-One Event Calendar Notice:"
661
- msgstr "Notiz:"
662
-
663
- #: app/view/calendar.php:27
664
- msgid "+ Post Your Event"
665
- msgstr "+ Event veröffentlichen"
666
-
667
- #: app/view/calendar.php:36
668
- msgid "Clear Filters"
669
- msgstr "Filter löschen"
670
-
671
- #: app/view/calendar.php:36
672
- msgid "✘"
673
- msgstr "✘"
674
-
675
- #: app/view/calendar.php:37
676
- msgid "Filter:"
677
- msgstr "Filter:"
678
-
679
- #: app/view/calendar.php:42
680
- msgid "Categories ▾"
681
- msgstr "Kategorien ▾"
682
-
683
- #: app/view/calendar.php:64
684
- msgid "Tags ▾"
685
- msgstr "Schlagworte ▾"
686
-
687
- #: app/view/calendar.php:103
688
- msgid "to this filtered calendar"
689
- msgstr "zum gefilterten Kalender"
690
 
691
- #: app/view/calendar.php:109
692
- msgid "Subscribe in Google Calendar"
693
- msgstr "Zu Google Kalender hinzufügen"
694
 
695
- #: app/view/agenda.php:5
696
- msgid "+ Expand All"
697
- msgstr "+ Alle anzeigen"
698
 
699
- #: app/view/agenda.php:8
700
- msgid "− Collapse All"
701
- msgstr "− Alle schließen"
702
 
703
- #: app/view/agenda.php:28
704
- msgid "There are no upcoming events to display at this time."
705
- msgstr "Keine Events veröffentlicht"
706
 
707
- #: app/view/agenda.php:75
708
- msgid "Read more »"
709
- msgstr "Details »"
710
 
711
- #: app/view/event-single-footer.php:8
712
- msgid "View original post »"
713
- msgstr "Originalbeitrag »"
714
 
715
- #: app/view/agenda-widget-form.php:2
716
- msgid "Title:"
717
- msgstr "Titel:"
718
 
719
- #: app/view/agenda-widget-form.php:6
720
- msgid "Number of events to show:"
721
- msgstr "Anzahl angezeigter Events:"
722
 
723
- #: app/view/agenda-widget-form.php:11
724
- msgid "Show <strong>View Calendar</strong> button"
725
- msgstr "<strong>Kalender</strong> Button anzeigen"
726
 
727
- #: app/view/agenda-widget-form.php:14
728
- msgid "Show <strong>Subscribe</strong> buttons"
729
- msgstr "<strong>Abonnieren</strong> Buttons anzeigen"
730
 
731
- #: app/view/agenda-widget-form.php:17
732
- msgid "Hide this widget on calendar page"
733
- msgstr "Widget nicht auf Kalenderseite anzeigen"
734
 
735
- #: app/view/box_time_and_date.php:2
736
- msgid "Event date and time"
737
- msgstr "Event Datum und Zeit"
738
 
739
- #: app/view/box_time_and_date.php:8
740
- msgid "All-day event"
741
- msgstr "Ganztägiges Event"
742
 
743
- #: app/view/box_time_and_date.php:18
744
- msgid "Start date / time"
745
- msgstr "Start Datum/Zeit"
746
 
747
- #: app/view/box_time_and_date.php:31
748
- msgid "End date / time"
749
- msgstr "End Datum/Zeit"
750
 
751
- #: app/view/box_time_and_date.php:44
752
- msgid "Repeat"
753
- msgstr "Wiederholung"
754
 
755
- #: app/view/box_time_and_date.php:54
756
- msgid "End"
757
- msgstr "Ende"
758
 
759
- #: app/view/box_time_and_date.php:64
760
- msgid "Ending after"
761
- msgstr "Endet nach"
762
 
763
- #: app/view/box_time_and_date.php:74
764
- msgid "On date"
765
- msgstr "nach Datum"
766
 
767
- #: app/view/box_ics_import_settings.php:2
768
- msgid "Auto-refresh"
769
- msgstr "Automatische Aktualisierung"
770
 
771
- #: app/view/box_ics_import_settings.php:12
772
- msgid "Event category"
773
- msgstr "Event Kategorie"
774
 
775
- #: app/view/box_ics_import_settings.php:22
776
- msgid "+ Add new subscription"
777
- msgstr "+ Abonnement hinzufügen"
778
 
779
- #: app/view/event_categories-color_picker.php:5
780
- #: app/view/event_categories-color_picker.php:19
781
- msgid "Category Color"
782
- msgstr "Farbe für Kategorie"
783
 
784
- #: app/view/event_categories-color_picker.php:13
785
- #: app/view/event_categories-color_picker.php:25
786
- msgid "Events in this category will be identified by this color"
787
- msgstr "Events in dieser Kategorie werden anhand dieser Farbe identifziert"
788
 
789
- #: app/model/class-ai1ec-event.php:444
790
- msgid " (all-day)"
791
- msgstr "(ganztägig)"
792
 
793
- #: app/model/class-ai1ec-event.php:594
794
- msgid "until <strong>%s</strong>"
795
- msgstr "bis <strong>%s</strong>"
796
 
797
- #: app/model/class-ai1ec-event.php:603
798
- msgid " or "
799
- msgstr " oder "
800
 
801
- #. Plugin Name of the plugin/theme
802
- msgid "All-in-One Event Calendar Plugin"
803
- msgstr "All-in-One Event Calendar Plugin"
804
 
805
- #. Plugin URI of the plugin/theme
806
- msgid "http://theseedstudio.com/software/all-in-one-event-calendar-wordpress/"
807
- msgstr "http://theseedstudio.com/software/all-in-one-event-calendar-wordpress/"
808
 
809
- #. Description of the plugin/theme
810
- msgid "An event calendar system with month and agenda views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds."
811
- msgstr "Ein Kalendersystem"
812
 
813
- #. Author URI of the plugin/theme
814
- msgid "http://theseedstudio.com/"
815
- msgstr "http://theseedstudio.com/"
816
 
1
+ # This file was generated by WPML
2
+ # WPML is a WordPress plugin that can turn any WordPress site into a full featured multilingual content management system.
3
+ # http://wpml.org
4
  msgid ""
5
  msgstr ""
6
+ "Content-Type: text/plain; charset=utf-8\n"
 
 
 
 
7
  "Content-Transfer-Encoding: 8bit\n"
8
+ "Project-Id-Version: \n"
9
+ "POT-Creation-Date: \n"
10
+ "PO-Revision-Date: \n"
11
  "Last-Translator: \n"
12
  "Language-Team: \n"
13
+ "MIME-Version: 1.0\n"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
+ msgid "times"
16
+ msgstr "times"
 
17
 
 
18
  msgid "Publish"
19
+ msgstr "Veröffentlichen"
20
 
 
 
21
  msgid "Update"
22
  msgstr "Aktualisieren"
23
 
 
24
  msgid "Submit for Review"
25
  msgstr "Zur Überprüfung senden"
26
 
 
27
  msgid "Event updated. <a href=\"%s\">View event</a>"
28
+ msgstr "Event aktualisiert. <a href=\"%s\">Ansehen</a>"
29
 
 
30
  msgid "Custom field updated."
31
+ msgstr "Benutzerdefiniertes Feld aktualisiert"
32
 
 
33
  msgid "Custom field deleted."
34
+ msgstr "Benutzerdefiniertes Feld gelöscht"
35
 
 
36
  msgid "Event updated."
37
+ msgstr "Evet aktualisiert."
38
 
 
 
39
  msgid "Event restored to revision from %s"
40
+ msgstr "Event wiederhergestellt aus %s"
41
 
 
42
  msgid "Event published. <a href=\"%s\">View event</a>"
43
  msgstr "Event veröffentlicht. <a href=\"%s\">Ansehen</a>"
44
 
 
45
  msgid "Event saved."
46
+ msgstr "Event gespeichert"
47
 
 
48
  msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
49
+ msgstr "Event abgesendet. <a target=\"_blank\" href=\"%s\">Vorschau</a>"
50
 
 
51
  msgid "Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Preview event</a>"
52
+ msgstr "Event geplant für: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Vorschau</a>"
53
 
 
 
54
  msgid "M j, Y @ G:i"
55
+ msgstr "M j, Y @ G:i"
56
 
 
57
  msgid "Event draft updated. <a target=\"_blank\" href=\"%s\">Preview event</a>"
58
+ msgstr "Event Entwurf aktualisiert. <a target=\"_blank\" href=\"%s\">Vorschau</a>"
59
+
60
+ msgid "This feed is already being imported."
61
+ msgstr "Der Feed wurde bereits importiert."
62
+
63
+ msgid "Please enter a valid iCalendar URL."
64
+ msgstr "Bitte verwende eine gültige iCalendar URL."
65
+
66
+ msgid "Week of %s"
67
+ msgstr "Woche %s"
68
+
69
+ msgid "F j"
70
+ msgstr "F j"
71
+
72
+ msgid "Agenda"
73
+ msgstr "Agenda"
74
 
 
 
75
  msgid "Settings"
76
  msgstr "Einstellungen"
77
 
78
+ msgid "Settings Updated."
79
+ msgstr "Einstellungen aktualisiert"
80
+
81
+ msgid "Flushed %d events"
82
+ msgstr "%d Events entfernt"
83
+
84
+ msgid "Imported %d events"
85
+ msgstr "%d Events importiert"
86
+
87
+ msgid "<a href=\"%s\">Settings</a>"
88
+ msgstr "<a href=\"%s\">Einstellungen</a>"
89
+
90
+ msgid "<a href=\"%s\" target=\"_blank\">Donate</a>"
91
+ msgstr "<a href=\"%s\" target=\"_blank\">Spenden</a>"
92
+
93
+ msgid "<a href=\"%s\" target=\"_blank\">Get Support</a>"
94
+ msgstr "<a href=\"%s\" target=\"_blank\">Unterstützung anfordern</a>"
95
+
96
+ msgid "General Settings"
97
+ msgstr "Generelle Einstellungen"
98
+
99
+ msgid "The Seed Studio Support"
100
+ msgstr "The Seed Studio Support"
101
+
102
+ msgid "ICS Import Settings"
103
+ msgstr "ICS Import Einstellungen"
104
+
105
+ msgid "The Events Calendar → All-in-One Event Calendar"
106
+ msgstr "The Events Calendar → All-in-One Event Calendar"
107
+
108
+ msgid "Imports events created using The Events Calendar plugin into the All-in-One Event Calendar"
109
+ msgstr "Importiert Events in den All-in-One-Event-Calendar unter Verwendung des Plugins"
110
+
111
+ msgid "M j"
112
+ msgstr "M j"
113
+
114
+ msgid "« Previous Events"
115
+ msgstr "« Frühere Events"
116
+
117
+ msgid "Next Events »"
118
+ msgstr "Spätere Events »"
119
 
 
120
  msgid "Add New"
121
  msgstr "Hinzufügen"
122
 
 
123
  msgid "Add New Event"
124
+ msgstr "Neues Event erstellen"
125
 
 
126
  msgid "Edit Event"
127
+ msgstr "Event bearbeiten"
128
 
 
129
  msgid "New Event"
130
  msgstr "Neues Event"
131
 
 
132
  msgid "View Event"
133
+ msgstr "Event ansehen"
134
 
 
135
  msgid "Search Events"
136
+ msgstr "Event suchen"
137
 
 
138
  msgid "No Events found"
139
  msgstr "Keine Events gefunden"
140
 
 
141
  msgid "No Events found in Trash"
142
+ msgstr "Keine EVents im Papierkorb"
143
 
 
144
  msgid "Parent Event"
145
+ msgstr "Eltern Event"
146
 
 
147
  msgid "Events"
148
  msgstr "Events"
149
 
150
+ msgid "Show All "
151
+ msgstr "Alle anzeigen"
152
+
153
  msgid "All Events <span class=\"update-plugins count-%d\" title=\"%d Pending Events\"><span class=\"update-count\">%d</span></span>"
154
+ msgstr "Alle Events <span class=\"update-plugins count-%d\" title=\"%d Anstehende Events\"><span class=\"update-count\">%d</span></span>"
155
 
 
156
  msgid "All Events"
157
  msgstr "Alle Events"
158
 
 
159
  msgid "Event Details"
160
  msgstr "Event Details"
161
 
 
162
  msgid "Post Date"
163
+ msgstr "Beitragsdatum"
164
 
 
165
  msgid "Event date/time"
166
  msgstr "Event Datum/Zeit"
167
 
168
+ msgid "%sTo set up the plugin: %s 1. Select an option in the <strong>Calendar page</strong> dropdown list. %s 2. Select an option in the <strong>Timezone</strong> dropdown list. %s 3. Click <strong>Update Settings</strong>. %s"
169
+ msgstr "%sPlugin Einstellungen: %s 1. Wähle eine Option aus der Liste auf der <strong>Kalende Seite</strong>. %s 2. Wähle eine <strong>Zeitzone</strong> aus der Liste. %s 3. Click <strong>Aktualisiere die Einstellungen</strong>. %s"
170
+
171
+ msgid "To set up the plugin: Select an option in the <strong>Calendar page</strong> dropdown list, the click <strong>Update Settings</strong>."
172
+ msgstr "Einstellungen für das Plugin:Wähle eine Option aus der Liste auf der <strong>Kalender Seite</strong>, dann klick auf <strong>Einstellungen aktualisieren</strong>."
173
+
174
+ msgid "To set up the plugin: Select an option in the <strong>Timezone</strong> dropdown list, the click <strong>Update Settings</strong>."
175
+ msgstr "Einstellungen für das Plugin:Wähle eine <strong>Zeitzone</strong>, dann klick auf <strong>Einstellungen aktualisieren</strong>."
176
 
 
177
  msgid "The plugin is installed, but has not been configured. <a href=\"%s\">Click here to set it up now »</a>"
178
+ msgstr "Das Plugin wurde installiert aber noch nicht konfiguriert. <a href=\"%s\">Jetzt konfigurieren »</a>"
179
 
 
180
  msgid "The plugin is installed, but has not been configured. Please log in as a WordPress Administrator to set it up."
181
+ msgstr " Das Plugin wurde installiert, aber noch nicht konfiguriert. Konfiguration benötigt Administratorrechte."
182
 
183
+ msgid "Event"
184
+ msgstr "Event"
 
185
 
186
+ msgid "Event Categories"
187
+ msgstr "Event Kategorien"
 
188
 
189
+ msgid "Event Category"
190
+ msgstr "Event Kategorie"
 
191
 
192
+ msgid "Event Tags"
193
+ msgstr "Event Schlagwörter"
 
194
 
195
+ msgid "Event Tag"
196
+ msgstr "Event Schlagwort"
 
 
 
 
197
 
198
+ msgid "No repeat"
199
+ msgstr "Keine Wiederholung"
 
200
 
201
+ msgid "Every day"
202
+ msgstr "Jeden Tag"
203
+
204
+ msgid "Every week"
205
+ msgstr "Jede Woche"
206
+
207
+ msgid "Every month"
208
+ msgstr "Jeden Monat"
209
+
210
+ msgid "Every year"
211
+ msgstr "Jedes Jahr"
212
+
213
+ msgid "Custom..."
214
+ msgstr "Individuell..."
215
+
216
+ msgid "first"
217
+ msgstr "erste"
218
+
219
+ msgid "second"
220
+ msgstr "zweite"
221
+
222
+ msgid "third"
223
+ msgstr "dritte"
224
+
225
+ msgid "fourth"
226
+ msgstr "vierte"
227
+
228
+ msgid "last"
229
+ msgstr "letzte"
230
+
231
+ msgid "Sunday"
232
+ msgstr "Sonntag"
233
+
234
+ msgid "Monday"
235
+ msgstr "Montag"
236
+
237
+ msgid "Tuesday"
238
+ msgstr "Dienstag"
239
+
240
+ msgid "Wednesday"
241
+ msgstr "Mittwoch"
242
+
243
+ msgid "Thursday"
244
+ msgstr "Donnerstag"
245
+
246
+ msgid "Friday"
247
+ msgstr "Freitag"
248
+
249
+ msgid "Saturday"
250
+ msgstr "Samstag"
251
+
252
+ msgid "day"
253
+ msgstr "tag"
254
+
255
+ msgid "weekday"
256
+ msgstr "Wochentag"
257
+
258
+ msgid "weekend day"
259
+ msgstr "Wochenendtag"
260
 
 
261
  msgid "Daily"
262
  msgstr "Täglich"
263
 
264
+ msgid "Weekly"
265
+ msgstr "Wöchentlich"
266
+
267
+ msgid "Monthly"
268
+ msgstr "Monatlich"
269
+
270
+ msgid "Yearly"
271
+ msgstr "Jährlich"
272
+
273
+ msgid "day(s)"
274
+ msgstr "Tag(e)"
275
+
276
+ msgid "week(s)"
277
+ msgstr "Woche(n)"
278
+
279
+ msgid "month(s)"
280
+ msgstr "Monat(e)"
281
+
282
+ msgid "year(s)"
283
+ msgstr "Jahr(e)"
284
+
285
+ msgid "Never"
286
+ msgstr "Nie"
287
+
288
+ msgid "After"
289
+ msgstr "Nach"
290
+
291
+ msgid "On date"
292
+ msgstr "Nach Datum"
293
+
294
+ msgid "and"
295
+ msgstr "und"
296
+
297
+ msgid "of the month"
298
+ msgstr "des Monats"
299
+
300
+ msgid "Every other day"
301
+ msgstr "Jeder zweite Tag"
302
+
303
+ msgid "Every %d days"
304
+ msgstr "Jeder %d tag"
305
+
306
+ msgid "Every other week"
307
+ msgstr "Jede zweite Woche"
308
+
309
+ msgid "Every %d weeks"
310
+ msgstr "Jede %d Woche"
311
+
312
+ msgid "Every other month"
313
+ msgstr "Jedes zweite Monat"
314
+
315
+ msgid "Every %d months"
316
+ msgstr "Jedes %d Monat"
317
+
318
+ msgid "Every other year"
319
+ msgstr "Jedes zweite Jahr"
320
+
321
+ msgid "Every %d years"
322
+ msgstr "Alle %d jahre"
323
+
324
+ msgid "until %s"
325
+ msgstr "bis %s"
326
+
327
+ msgid "for %d occurrences"
328
+ msgstr "für %d Vorkommen"
329
+
330
+ msgid "forever"
331
+ msgstr "immer"
332
+
333
+ msgid "on"
334
+ msgstr "am"
335
+
336
+ msgid "View \"%s\" »"
337
+ msgstr "\"%s\" ansehen »"
338
+
339
  msgid "Calendar"
340
  msgstr "Kalender"
341
 
342
+ msgid "- Auto-Create New Page -"
343
+ msgstr "- Neue Seite automatisch anlegen -"
 
344
 
345
+ msgid "Month"
346
+ msgstr "Monat"
 
347
 
348
+ msgid "Week"
349
+ msgstr "Woche"
 
350
 
351
+ msgid "Default (d/m/y)"
352
+ msgstr "(d/m/y)"
 
353
 
354
+ msgid "US (m/d/y)"
355
+ msgstr "(m/d/y)"
 
 
 
356
 
357
+ msgid "ISO 8601 (y-m-d)"
358
+ msgstr "(y-m-d)"
359
+
360
+ msgid "Dotted (m.d.y)"
361
+ msgstr "(m.d.y)"
362
+
363
+ msgid "Hourly"
364
+ msgstr "stündlich"
365
+
366
+ msgid "Twice Daily"
367
+ msgstr "zweimal täglich"
368
+
369
+ msgid " (all-day)"
370
+ msgstr "(ganztägig)"
371
+
372
+ msgid "Auto-refresh"
373
+ msgstr "Automatisch aktualisieren"
374
 
 
 
375
  msgid "iCalendar/.ics Feed URL:"
376
  msgstr "iCalendar/.ics Feed URL:"
377
 
378
+ msgid "Event category"
379
+ msgstr "Event Kategorie"
 
380
 
 
 
381
  msgid "Tag with"
382
+ msgstr "Verschlagworte mit"
383
 
384
+ msgid "+ Add new subscription"
385
+ msgstr "+ Neues Abo hinzufügen"
 
386
 
387
+ msgid "+ Post Your Event"
388
+ msgstr "+ Event veröffentlichen"
 
389
 
390
+ msgid "Clear Filters"
391
+ msgstr "Filter löschen"
 
392
 
393
+ msgid "✘"
394
+ msgstr ""
 
395
 
396
+ msgid "Filter:"
397
+ msgstr "Filter:"
 
398
 
399
+ msgid "Categories ▾"
400
+ msgstr "Kategorien "
 
401
 
402
+ msgid "Tags ▾"
403
+ msgstr "Schlagwörter ▾"
 
 
404
 
405
+ msgid "Subscribe to this calendar using your favourite calendar program (iCal, Outlook, etc.)"
406
+ msgstr "Aboniiere diesen Kalender in Deinem bevorzugtem Programm (iCal, Outlook, etc.)"
407
+
408
+ msgid "✔ Subscribe"
409
+ msgstr "✔ Abonniere"
410
+
411
+ msgid "to this filtered calendar"
412
+ msgstr "diesen gefilterten Kalender"
413
+
414
+ msgid "Subscribe to this calendar in your Google Calendar"
415
+ msgstr "Diesen Kalender auf Google Kalender abonnieren"
416
+
417
+ msgid "Subscribe in Google Calendar"
418
+ msgstr "In Google Kalender abonnieren"
419
+
420
+ msgid "The Seed Studio provides web development and support services for clients and web developers."
421
+ msgstr "The Seed Studio bietet Web-Entwicklung und Support-Services für Kunden und Web-Entwickler."
422
+
423
+ msgid "Follow @theseednet"
424
+ msgstr "Folge @theseednet"
425
+
426
+ msgid "Get Support<span> from one of our experienced pros</span>"
427
+ msgstr "Unterstützung <span> von einem unserer Profis </span> anfordern"
428
+
429
+ msgid "Support"
430
+ msgstr "Unterstützung"
431
+
432
+ msgid "View plugin documentation"
433
+ msgstr "Plugin Dokumentation ansehen"
434
+
435
+ msgid "You can also hire The Seed for support on a contract or per-hour basis for this plugin, for your website or for any of your Internet marketing needs (we can really help!)."
436
+ msgstr "Wenn Du Unterstützung für dieses Plugin benötigst, kannst Du The Seed auf stundenbasis anheuern."
437
+
438
+ msgid "Plugin users: The Seed gives support priority to clients. For free support from other WordPress users, visit the plugin's forum."
439
+ msgstr "Plugin Benutzer: The Seed bietet Support ausschließlich eigenen Kunden. Für kostenlose unterstützung benützt bitte das Plugin Forum."
440
+
441
+ msgid "Vote and Share"
442
+ msgstr "Bewerten und weitersagen"
443
+
444
+ msgid "This plugin is offered free to the Wordpress Community under the GPL3 license. All we ask is that you:"
445
+ msgstr "Dieses Plugin wird der Wordpress Community unter der GPL3 Lizenz angeboten. Alles, worum wir Dich bitten ist:"
446
+
447
+ msgid "<a href=\"http://wordpress.org/extend/plugins/all-in-one-event-calendar/\" target=\"_blank\">Give it a five-star rating on wordpress.org</a> (if you think it deserves it!)"
448
+ msgstr "<a href=\"http://wordpress.org/extend/plugins/all-in-one-event-calendar/\" target=\"_blank\">Mit 5-Sternen auf wordpress.org bewerten</a> (wenn Du denkst, das dies gerecht ist)."
449
+
450
+ msgid "Link to the plugin page on our website"
451
+ msgstr "Das Plugin auf Deiner Website verlinken"
452
+
453
+ msgid "Become a Fan on Facebook"
454
+ msgstr "Ein Fan bei Facebook werden"
455
+
456
+ msgid "Follow us on Twitter"
457
+ msgstr "Auf Twitter folgen"
458
+
459
+ msgid "Latest from the Seed Network"
460
+ msgstr "Das Neueste vom Seed Network"
461
+
462
+ msgid "The Seed Studio"
463
+ msgstr "The Seed Studio"
464
+
465
+ msgid "Update Settings"
466
+ msgstr "Einstellungen aktualisieren"
467
+
468
+ msgid "All-in-one Event Calendar"
469
+ msgstr "All-in-one Event Kalender"
470
 
 
 
471
  msgid "Today"
472
  msgstr "Heute"
473
 
474
+ msgid "All-day"
475
+ msgstr "Ganztägig"
476
+
477
  msgid "Summary:"
478
  msgstr "Zusammenfassung:"
479
 
 
480
  msgid "click anywhere for details"
481
+ msgstr "Für Details klicken"
482
 
 
 
 
483
  msgid "(all-day)"
484
  msgstr "(ganztägig)"
485
 
486
+ msgid "When:"
487
+ msgstr "Wann:"
 
488
 
 
489
  msgid "Back to Calendar »"
490
+ msgstr "Zurück zum Kalender »"
491
 
 
 
492
  msgid "Repeats:"
493
+ msgstr "Wiederholt:"
494
+
495
+ msgid "Where:"
496
+ msgstr "Wo:"
497
 
 
498
  msgid "Add this event to your favourite calendar program (iCal, Outlook, etc.)"
499
+ msgstr "Zum bevorzugten Kalenderprogramm hinzufügen (iCal, Outlook, etc.)"
500
 
 
501
  msgid "✔ Add to Calendar"
502
+ msgstr "✔ Zu Kalender hinzufügen"
503
 
 
504
  msgid "Add this event to your Google Calendar"
505
  msgstr "Dieses Event zu Google Kalender hinzufügen"
506
 
 
507
  msgid "Add to Google Calendar"
508
  msgstr "Zu Google Kalender hinzufügen"
509
 
 
 
510
  msgid "Cost:"
511
+ msgstr "Preis:"
512
 
 
 
513
  msgid "Contact:"
514
  msgstr "Kontakt:"
515
 
 
 
 
516
  msgid "Categories:"
517
  msgstr "Kategorien:"
518
 
 
 
 
519
  msgid "Tags:"
520
  msgstr "Schlagworte:"
521
 
522
+ msgid "Event date and time"
523
+ msgstr "EVnts Datum und Zeit"
 
524
 
525
+ msgid "All-day event"
526
+ msgstr "Ganztägiges Event"
 
527
 
528
+ msgid "Start date / time"
529
+ msgstr "Startdatum/zeit"
 
530
 
531
+ msgid "End date / time"
532
+ msgstr "Enddatum/zeit"
 
533
 
534
+ msgid "Repeat"
535
+ msgstr "Wiederholung"
 
536
 
537
+ msgid "End"
538
+ msgstr "Ende"
 
539
 
540
+ msgid "Ending after"
541
+ msgstr "Endet nach"
 
542
 
543
+ msgid "Apply"
544
+ msgstr "Anwenden"
 
545
 
546
+ msgid "Cancel"
547
+ msgstr "Abbrechen"
 
548
 
549
+ msgid "All-in-One Event Calendar Notice:"
550
+ msgstr "Kalendernotiz:"
 
551
 
552
+ msgid "Every"
553
+ msgstr "jeder"
 
554
 
555
+ msgid "On"
556
+ msgstr "am"
 
557
 
558
+ msgid "Successfully imported events:"
559
+ msgstr "Erfolgreich importierte Events:"
 
560
 
561
+ msgid "Category Color"
562
+ msgstr "Farbe für Kategorie"
 
563
 
564
+ msgid "Events in this category will be identified by this color"
565
+ msgstr "Farbe für dieses Event:"
 
566
 
567
+ msgid "This post was replicated from another site's <a class=\"ai1ec-ics-icon\" href=\"%s\" title=\"iCalendar feed\">calendar feed</a>."
568
+ msgstr "Dieser Beitrag wurde aus repliziert aus einem externen <a class=\"ai1ec-ics-icon\" href=\"%s\" title=\"iCalendar feed\">calendar feed</a>."
 
569
 
570
+ msgid "View original post »"
571
+ msgstr "Originalbeitrag »"
 
572
 
573
+ msgid "Event location details"
574
+ msgstr "Details zum Veranstaltungsort"
 
575
 
576
+ msgid "Venue name:"
577
+ msgstr "Veranstaltungsort:"
 
578
 
579
+ msgid "Address:"
580
+ msgstr "Adresse:"
 
581
 
582
+ msgid "Show Google Map:"
583
+ msgstr "Google Map anzeigen:"
 
584
 
585
+ msgid "View in Calendar »"
586
+ msgstr "Kalender »"
 
587
 
588
+ msgid "View Map »"
589
+ msgstr "Karte anzeigen »"
 
 
 
590
 
591
+ msgid "Viewing Events"
592
+ msgstr "Events anzeigen"
 
593
 
594
+ msgid "Calendar page:"
595
+ msgstr "Kalenderseite:"
 
596
 
597
+ msgid "Default calendar view:"
598
+ msgstr "Standard Kalenderansicht"
 
599
 
600
+ msgid "Timezone:"
601
+ msgstr "Zeitzone:"
 
602
 
603
+ msgid "Contain calendar in this DOM element:"
604
+ msgstr "DOM-Element für Kalender:"
 
605
 
606
+ msgid "Optional. Provide a <a href=\"http://api.jquery.com/category/selectors/\" target=\"_blank\">jQuery selector</a> that evaluates to a single DOM element. Replaces any existing markup found within target. If left empty, calendar is shown in normal page content container."
607
+ msgstr "Optional. Verwende einen <a href=\"http://api.jquery.com/category/selectors/\" target=\"_blank\">jQuery selector</a> für ein DOM Element. Ersetzt vorhandene Markups. Bleibt das Feld leer, wird der Kalender im normalen Seitencontainer gezeigt."
 
608
 
609
+ msgid "Week starts on"
610
+ msgstr "Woche beginnt am"
 
611
 
612
+ msgid "Agenda pages show at most"
613
+ msgstr "Agenda Seiten zeigen"
 
614
 
615
+ msgid "events"
616
+ msgstr "Events"
 
617
 
618
+ msgid "Keep all events <strong>expanded</strong> in the agenda view"
619
+ msgstr "Events in der Agenda Ansicht <strong>geöffnet</strong> darstellen"
 
620
 
621
+ msgid "<strong>Exclude</strong> events from search results"
622
+ msgstr "Events vom Suchergebnis <strong>ausschließen</strong>"
 
623
 
624
+ msgid "Show <strong>Post Your Event</strong> button above the calendar to privileged users"
625
+ msgstr "<strong>Event hinzufügen</strong> Button für autorisierte Benutzer anzeigen"
 
626
 
627
+ msgid "Hide <strong>Subscribe</strong>/<strong>Add to Calendar</strong> buttons in calendar and single event views"
628
+ msgstr "<strong>Abonnieren</strong> / <strong>Zu Kalender hinzufügen</strong> in der Kalender- und Detailansicht nicht anzeigen"
 
629
 
630
+ msgid "Hide <strong>Google Maps</strong> until clicked"
631
+ msgstr "<strong>Google Maps</strong> erst bei Klick öffnen"
 
632
 
633
+ msgid "Use the configured <strong>region</strong> (WordPress locale) to bias the address autocomplete function"
634
+ msgstr "<strong>Regionale Einstellungen</strong> (WordPress locale) verwenden"
 
635
 
636
+ msgid "Include <strong>event categories</strong> in post category lists"
637
+ msgstr "<strong>Eventkategorien</strong> in Kategorienliste inkludieren"
 
638
 
639
+ msgid "Adding/Editing Events"
640
+ msgstr "Events hinzufügen/bearbeiten"
 
641
 
642
+ msgid "Input dates in this format:"
643
+ msgstr "Datum in diesem Format eingeben:"
 
644
 
645
+ msgid "Use <strong>24h time</strong> in time pickers"
646
+ msgstr "Verwende <strong>24h Zeitformat</strong> in der Zeitauswahl"
 
647
 
648
+ msgid "Display <strong>Publish</strong> at bottom of Edit Event form"
649
+ msgstr "<strong>Veröffentlichen</strong> in der Fußzeile des Bearbeitungsformulars anzeigen"
 
650
 
651
+ msgid "Title:"
652
+ msgstr "Titel:"
 
653
 
654
+ msgid "Number of events to show:"
655
+ msgstr "Anzahl darzustellender Events"
 
656
 
657
+ msgid "Events with these <strong>Categories</strong>"
658
+ msgstr "Events mit diesen <strong>Kategorien</strong>"
 
659
 
660
+ msgid "<strong>Or</strong> events with these <strong>Tags</strong>"
661
+ msgstr "<strong>oder</strong> Events mit diesen <strong>Schlagwörtern</strong>"
 
662
 
663
+ msgid "<strong>Or</strong> any of these <strong>Events</strong>"
664
+ msgstr "<strong>oder</strong> einen von diesen <strong>Events</strong>"
 
665
 
666
+ msgid "Show <strong>View Calendar</strong> button"
667
+ msgstr "<strong>Kalender</strong> Button anzeigen"
 
668
 
669
+ msgid "Show <strong>Subscribe</strong> buttons"
670
+ msgstr "<strong>Abonnieren</strong> Buttons anzeigen"
 
671
 
672
+ msgid "Hide this widget on calendar page"
673
+ msgstr "Widget auf Kalenderseite verstecken"
 
674
 
675
+ msgid "Categories"
676
+ msgstr "Kategorien"
 
677
 
678
+ msgid "Tags"
679
+ msgstr "Schlagworte"
 
680
 
681
+ msgid "+ Expand All"
682
+ msgstr "+ Aufklappen"
 
683
 
684
+ msgid "− Collapse All"
685
+ msgstr " Zuklappen"
 
686
 
687
+ msgid "There are no upcoming events to display at this time."
688
+ msgstr "Keine bevorstehenden Events"
 
 
689
 
690
+ msgid "Read more »"
691
+ msgstr "Details »"
 
 
692
 
693
+ msgid "There are no upcoming events."
694
+ msgstr "Keine bevorstehenden Events"
695
+
696
+ msgid "View Calendar »"
697
+ msgstr "Kalender »"
698
 
 
699
  msgid "Add to Google"
700
  msgstr "Zu Google hinzufügen"
701
 
 
702
  msgid "Organizer contact info"
703
+ msgstr "Veranstalter Kontaktinfo"
704
 
 
705
  msgid "Contact name:"
706
  msgstr "Kontaktname:"
707
 
 
708
  msgid "Phone:"
709
+ msgstr "Tel.:"
710
 
 
711
  msgid "E-mail:"
712
  msgstr "E-Mail:"
713
 
714
+ msgid "Upcoming Events"
715
+ msgstr "Zukünftige Events"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
716
 
717
+ msgid "All-in-One Event Calendar: Lists upcoming events in Agenda view"
718
+ msgstr "All-in-One Event Calendar: Zukünftige EVents in Agenda anzeigen"
 
719
 
720
+ msgid "Event cost"
721
+ msgstr "Preis"
 
722
 
723
+ msgid "Cost"
724
+ msgstr "Preis"
 
725
 
726
+ msgid "Click to view map"
727
+ msgstr "Karte anzeigen"
 
728
 
729
+ msgid "View Full-Size Map »"
730
+ msgstr "Große Kartenansicht »"
 
731
 
732
+ msgid "In"
733
+ msgstr "im"
 
734
 
735
+ msgid "Eventbrite Ticketing"
736
+ msgstr "Eventbrite Tickets"
 
737
 
738
+ msgid "Register this event with Eventbrite.com?"
739
+ msgstr "Dieses Event bei Eventbrite.com registrieren?"
 
740
 
741
+ msgid "Yes"
742
+ msgstr "Ja"
 
743
 
744
+ msgid "No"
745
+ msgstr "Nein"
 
746
 
747
+ msgid "Set up your first ticket"
748
+ msgstr "Lege das erste Ticket an"
 
749
 
750
+ msgid "To create multiple tickets per event, submit this form, then follow the link to Eventbrite."
751
+ msgstr "Um mehrere Tickets für ein Event zu erstellen, sende dieses Formular und folge dem Link zu Eventbrite."
 
752
 
753
+ msgid "Name"
754
+ msgstr "Name"
 
755
 
756
+ msgid "Description"
757
+ msgstr "Beschreibung"
 
758
 
759
+ msgid "Type"
760
+ msgstr "Typ"
 
761
 
762
+ msgid "Set Price"
763
+ msgstr "Preis festlegen"
 
764
 
765
+ msgid "Donation Based"
766
+ msgstr "Spendebasiert"
 
767
 
768
+ msgid "The price for this event's first ticket will be taken from the Cost field above."
769
+ msgstr "Der Ticketpreis wird vom Preisfeld oben übernommen"
 
770
 
771
+ msgid "Quantity"
772
+ msgstr "Menge"
 
773
 
774
+ msgid "Include Fee in Price"
775
+ msgstr "Gebühr im Preis inkludieren"
 
776
 
777
+ msgid "Add Service Fee on top of price"
778
+ msgstr "Servicegebühr separat ausweisen"
 
779
 
780
+ msgid "Include Service fee in price"
781
+ msgstr "Servicegebühr im Preis inkludieren"
 
782
 
783
+ msgid "Payment Options"
784
+ msgstr "Bezahloptionen"
 
 
785
 
786
+ msgid "Paypal"
787
+ msgstr "Paypal"
 
 
788
 
789
+ msgid "Google Checkout"
790
+ msgstr "Google Checkout"
 
791
 
792
+ msgid "Check"
793
+ msgstr "Scheck"
 
794
 
795
+ msgid "Cash"
796
+ msgstr "Barzahlung"
 
797
 
798
+ msgid "Send an Invoice"
799
+ msgstr "Rechnung senden"
 
800
 
801
+ msgid "Each"
802
+ msgstr "Alle"
 
803
 
804
+ msgid "Event category:"
805
+ msgstr "Event Kategorie:"
 
806
 
807
+ msgid Delete"
808
+ msgstr "× Löschen"
 
809
 
readme.txt CHANGED
@@ -3,10 +3,10 @@ Contributors: theseed, hubrik, vtowel, yani.iliev
3
  Donate link: http://theseednetwork.com/software/all-in-one-event-calendar-wordpress/
4
  Tags: calendar, event, events, ics, ics calendar, ical-feed, ics feed, wordpress ics importer, wordpress ical importer, upcoming events, todo, notes, journal, freebusy, availability, web calendar, web events, webcal, google calendar, ical, iCalendar, all-in-one, ai1ec, google calendar sync, ical sync, events sync, holiday calendar, calendar 2011, events 2011, widget, events widget, upcoming events widget, calendar widget, agenda widget
5
  Requires at least: 3.1.3
6
- Tested up to: 3.2.1
7
- Stable tag: 1.2
8
 
9
- An event calendar system with month, week & agenda views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds.
10
 
11
  == Description ==
12
 
@@ -48,15 +48,27 @@ The All-in-One Event Calendar Plugin also has a few features that will prove use
48
  * Each event links to the original calendar
49
  * Your calendar can be embedded into a WordPress page without needing to create template files or modify the theme
50
 
51
- **[Check out the DEMO »](http://demo.theseednetwork.com/)**
52
 
53
- **[Track the development process »](http://trac.theseednetwork.com/roadmap)**
 
 
 
 
54
 
55
- **[Bug reports »](http://trac.theseednetwork.com/newticket)** ([registration](http://trac.theseednetwork.com/register) required)
56
 
57
- **[Get Premium Support »](http://theseednetwork.com/get-supported)** from [The Seed Studio](http://theseednetwork.com/)
 
 
 
 
 
 
 
 
 
58
 
59
- == Changelog ==
60
  = Version 1.2 =
61
  * Added scrollable Week view [#117](http://trac.the-seed.ca/ticket/117)
62
  * Fixed some notice-level errors
3
  Donate link: http://theseednetwork.com/software/all-in-one-event-calendar-wordpress/
4
  Tags: calendar, event, events, ics, ics calendar, ical-feed, ics feed, wordpress ics importer, wordpress ical importer, upcoming events, todo, notes, journal, freebusy, availability, web calendar, web events, webcal, google calendar, ical, iCalendar, all-in-one, ai1ec, google calendar sync, ical sync, events sync, holiday calendar, calendar 2011, events 2011, widget, events widget, upcoming events widget, calendar widget, agenda widget
5
  Requires at least: 3.1.3
6
+ Tested up to: 3.3
7
+ Stable tag: 1.2.1
8
 
9
+ An event calendar system with month, week, agenda views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds.
10
 
11
  == Description ==
12
 
48
  * Each event links to the original calendar
49
  * Your calendar can be embedded into a WordPress page without needing to create template files or modify the theme
50
 
51
+ = Helpful Links =
52
 
53
+ * [**Check out the DEMO »**](http://demo.theseednetwork.com/)
54
+ * [**Get help from the Support Forum »**](http://wordpress.org/tags/all-in-one-event-calendar?forum_id=10)
55
+ * [**Track the development process »**](http://trac.theseednetwork.com/roadmap)
56
+ * [**BUG reports only »**](http://trac.theseednetwork.com/newticket) ([registration](http://trac.theseednetwork.com/register) required)
57
+ * [**Get Premium Support »**](http://theseednetwork.com/get-supported) from [The Seed Studio](http://theseednetwork.com/)
58
 
59
+ == Changelog ==
60
 
61
+ = Version 1.2.1 =
62
+ * Fixed: Exporting single event was exporting the whole calendar [#183](http://trac.the-seed.ca/ticket/183)
63
+ * Fixed: Widget date was off by one in certain cases [#151](http://trac.the-seed.ca/ticket/151)
64
+ * Fixed: Trashed events were still being displayed [#169](http://trac.the-seed.ca/ticket/169)
65
+ * Fixed: All day events were exporting with timezone specific time ranges [#30](http://trac.the-seed.ca/ticket/30)
66
+ * Fixed: End date was able to be before the start date [#172](http://trac.the-seed.ca/ticket/172)
67
+ * Fixed: 404 or bad ICS URLs now provide a warning message rather than fail silently [#204](http://trac.the-seed.ca/ticket/204)
68
+ * Fixed: Added cachebuster to google export URL to avoid Google Calendar errors [#160](http://trac.the-seed.ca/ticket/160)
69
+ * Fixed: Week view was always using AM and PM [#190](http://trac.the-seed.ca/ticket/190)
70
+ * Fixed: Repeat_box was too small for some translations [#165](http://trac.the-seed.ca/ticket/165)
71
 
 
72
  = Version 1.2 =
73
  * Added scrollable Week view [#117](http://trac.the-seed.ca/ticket/117)
74
  * Fixed some notice-level errors