Version Description
Download this release
Release Info
Developer | yani.iliev |
Plugin | All-in-One Event Calendar |
Version | 1.4 |
Comparing to | |
See all releases |
Code changes from version 1.3 to 1.4
- all-in-one-event-calendar.php +3 -1
- app/controller/class-ai1ec-app-controller.php +4 -2
- app/controller/class-ai1ec-events-controller.php +27 -18
- app/controller/class-ai1ec-exporter-controller.php +1 -1
- app/helper/class-ai1ec-app-helper.php +32 -1
- app/helper/class-ai1ec-events-helper.php +182 -31
- app/helper/class-ai1ec-exporter-helper.php +45 -2
- app/helper/class-ai1ec-importer-helper.php +1 -0
- app/model/class-ai1ec-event.php +39 -2
- app/view/box_date_picker.php +0 -10
- app/view/box_time_and_date.php +12 -9
- app/view/calendar.php +1 -1
- app/view/event-single.php +6 -1
- css/add_new_event.css +74 -1
- css/datepicker.css +191 -0
- img/custom_b.png +0 -0
- img/custom_bl.png +0 -0
- img/custom_br.png +0 -0
- img/custom_l.png +0 -0
- img/custom_r.png +0 -0
- img/custom_t.png +0 -0
- img/custom_tl.png +0 -0
- img/custom_tr.png +0 -0
- img/datepicker_b.png +0 -0
- img/datepicker_bl.png +0 -0
- img/datepicker_br.png +0 -0
- img/datepicker_l.png +0 -0
- img/datepicker_r.png +0 -0
- img/datepicker_t.png +0 -0
- img/datepicker_tl.png +0 -0
- img/datepicker_tr.png +0 -0
- img/field.png +0 -0
- js/add_new_event.js +59 -41
- js/datepicker.js +891 -0
- js/jquery-tools-1.2.5.min.js +115 -0
- language/all-in-one-event-calendar.mo +0 -0
- language/all-in-one-event-calendar.po +721 -430
- language/all-in-one-event-calendar.pot +139 -117
- lib/global-functions.php +58 -0
- lib/helpers/SG_iCal_Freq.php +3 -1
- lib/helpers/SG_iCal_Parser.php +1 -1
- lib/iCalcreator-2.10.23/iCalcreator.class.php +1 -1
- lib/iCalcreator-2.10/iCalcreator.class.php +1 -1
- readme.txt +14 -1
all-in-one-event-calendar.php
CHANGED
@@ -5,7 +5,7 @@
|
|
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.
|
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" );
|
@@ -163,6 +163,8 @@ require_once( AI1EC_LIB_PATH . '/helpers/SG_iCal_Recurrence.php' );
|
|
163 |
require_once( AI1EC_LIB_PATH . '/helpers/SG_iCal_Parser.php' );
|
164 |
require_once( AI1EC_LIB_PATH . '/helpers/SG_iCal_Query.php' );
|
165 |
require_once( AI1EC_LIB_PATH . '/helpers/SG_iCal_Factory.php' );
|
|
|
|
|
166 |
|
167 |
// ===============================
|
168 |
// = The autoload function =
|
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.4
|
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" );
|
163 |
require_once( AI1EC_LIB_PATH . '/helpers/SG_iCal_Parser.php' );
|
164 |
require_once( AI1EC_LIB_PATH . '/helpers/SG_iCal_Query.php' );
|
165 |
require_once( AI1EC_LIB_PATH . '/helpers/SG_iCal_Factory.php' );
|
166 |
+
// include our global functions
|
167 |
+
require_once( AI1EC_LIB_PATH . '/global-functions.php' );
|
168 |
|
169 |
// ===============================
|
170 |
// = The autoload function =
|
app/controller/class-ai1ec-app-controller.php
CHANGED
@@ -391,7 +391,9 @@ class Ai1ec_App_Controller {
|
|
391 |
// regex pattern to match our shortcode [ai1ec]
|
392 |
// \[(\[?)(ai1ec)\b([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)
|
393 |
$out = array();
|
394 |
-
|
|
|
|
|
395 |
|
396 |
// Find out if the calendar page ID is defined, and we're on it
|
397 |
if( $ai1ec_settings->calendar_page_id &&
|
@@ -411,7 +413,7 @@ class Ai1ec_App_Controller {
|
|
411 |
// page content filters (some themes are overly ambitious here)
|
412 |
add_filter( 'the_content', array( &$this, 'append_content' ), PHP_INT_MAX - 1 );
|
413 |
}
|
414 |
-
} else if( $out[2] == 'ai1ec' ) {
|
415 |
// if content has [ai1ec] shortcode, display the calendar page
|
416 |
$attr = shortcode_parse_atts( $out[3] );
|
417 |
// Proceed only if the page password is correctly entered OR
|
391 |
// regex pattern to match our shortcode [ai1ec]
|
392 |
// \[(\[?)(ai1ec)\b([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)
|
393 |
$out = array();
|
394 |
+
if( isset( $post->post_content ) ) {
|
395 |
+
preg_match( "/\[(\[?)(ai1ec)\b([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]*+(?:\[(?!\/\2\])[^\[]*+)*+)\[\/\2\])?)(\]?)/s", $post->post_content, $out );
|
396 |
+
}
|
397 |
|
398 |
// Find out if the calendar page ID is defined, and we're on it
|
399 |
if( $ai1ec_settings->calendar_page_id &&
|
413 |
// page content filters (some themes are overly ambitious here)
|
414 |
add_filter( 'the_content', array( &$this, 'append_content' ), PHP_INT_MAX - 1 );
|
415 |
}
|
416 |
+
} else if( isset( $out[2] ) && $out[2] == 'ai1ec' ) {
|
417 |
// if content has [ai1ec] shortcode, display the calendar page
|
418 |
$attr = shortcode_parse_atts( $out[3] );
|
419 |
// Proceed only if the page password is correctly entered OR
|
app/controller/class-ai1ec-events-controller.php
CHANGED
@@ -118,15 +118,19 @@ class Ai1ec_Events_Controller {
|
|
118 |
// Include element selector function
|
119 |
wp_enqueue_script( 'ai1ec-element-selector', AI1EC_JS_URL . '/element-selector.js', array( 'jquery' ) );
|
120 |
// Include jQuery Tools form elements
|
121 |
-
wp_enqueue_script( 'jquery.tools-form', '
|
122 |
// Include add new event script
|
123 |
wp_enqueue_script( 'ai1ec-blockui', AI1EC_JS_URL . '/jquery.blockUI.js', array( 'jquery' ) );
|
|
|
|
|
|
|
124 |
wp_enqueue_script( 'ai1ec-add_new_event', AI1EC_JS_URL . '/add_new_event.js', array( 'jquery',
|
125 |
'jquery.timespan',
|
126 |
'ai1ec-element-selector',
|
127 |
'jquery.tools-form',
|
128 |
-
'ai1ec-blockui'
|
129 |
-
|
|
|
130 |
wp_enqueue_script( 'ai1ec-color-picker', AI1EC_JS_URL . '/colorpicker.js', array( 'jquery' ) );
|
131 |
|
132 |
// Supply custom value to JavaScript from PHP
|
@@ -159,6 +163,8 @@ class Ai1ec_Events_Controller {
|
|
159 |
wp_enqueue_style( 'colorpicker', AI1EC_CSS_URL . '/colorpicker.css' );
|
160 |
// include add new event style
|
161 |
wp_enqueue_style( 'ai1ec_add_new_event', AI1EC_CSS_URL . '/add_new_event.css' );
|
|
|
|
|
162 |
}
|
163 |
// Initialize front-end view
|
164 |
else
|
@@ -219,9 +225,7 @@ class Ai1ec_Events_Controller {
|
|
219 |
$exrule = '';
|
220 |
$exrule_text = '';
|
221 |
$exclude_event = false;
|
222 |
-
$exdate_event = false;
|
223 |
$exdate = '';
|
224 |
-
$exdate_text = '';
|
225 |
|
226 |
try
|
227 |
{
|
@@ -248,8 +252,9 @@ class Ai1ec_Events_Controller {
|
|
248 |
$contact_phone = $event->contact_phone;
|
249 |
$contact_email = $event->contact_email;
|
250 |
$cost = $event->cost;
|
251 |
-
$rrule = empty( $event->recurrence_rules ) ? '' : $event->recurrence_rules;
|
252 |
-
$exrule = empty( $event->exception_rules ) ? '' : $event->exception_rules;
|
|
|
253 |
$repeating_event = empty( $rrule ) ? false : true;
|
254 |
$exclude_event = empty( $exrule ) ? false : true;
|
255 |
|
@@ -283,9 +288,7 @@ class Ai1ec_Events_Controller {
|
|
283 |
'exrule' => $exrule,
|
284 |
'exrule_text' => $exrule_text,
|
285 |
'timezone' => $timezone,
|
286 |
-
'
|
287 |
-
'exdate' => $exdate,
|
288 |
-
'exdate_text' => $exdate_text
|
289 |
);
|
290 |
$ai1ec_view_helper->display( 'box_time_and_date.php', $args );
|
291 |
|
@@ -390,15 +393,19 @@ class Ai1ec_Events_Controller {
|
|
390 |
|
391 |
$rrule = null;
|
392 |
$exrule = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
393 |
|
394 |
-
//
|
395 |
-
|
396 |
-
|
397 |
-
if( isset( $_POST['ai1ec_repeat'] ) )
|
398 |
-
$rrule = $_POST['ai1ec_rrule'];
|
399 |
-
|
400 |
-
if( isset( $_POST['ai1ec_exclude'] ) )
|
401 |
-
$exrule = $_POST['ai1ec_exrule'];
|
402 |
|
403 |
$is_new = false;
|
404 |
$event = null;
|
@@ -428,6 +435,7 @@ class Ai1ec_Events_Controller {
|
|
428 |
$event->contact_email = $contact_email;
|
429 |
$event->recurrence_rules = $rrule;
|
430 |
$event->exception_rules = $exrule;
|
|
|
431 |
$event->save( ! $is_new );
|
432 |
|
433 |
$ai1ec_events_helper->delete_event_cache( $post_id );
|
@@ -592,6 +600,7 @@ class Ai1ec_Events_Controller {
|
|
592 |
$args = array(
|
593 |
'event' => &$event,
|
594 |
'recurrence' => $event->recurrence_html,
|
|
|
595 |
'categories' => $event->categories_html,
|
596 |
'tags' => $event->tags_html,
|
597 |
'location' => nl2br( $event->location ),
|
118 |
// Include element selector function
|
119 |
wp_enqueue_script( 'ai1ec-element-selector', AI1EC_JS_URL . '/element-selector.js', array( 'jquery' ) );
|
120 |
// Include jQuery Tools form elements
|
121 |
+
wp_enqueue_script( 'jquery.tools-form', AI1EC_JS_URL . '/jquery-tools-1.2.5.min.js', array( 'jquery' ) );
|
122 |
// Include add new event script
|
123 |
wp_enqueue_script( 'ai1ec-blockui', AI1EC_JS_URL . '/jquery.blockUI.js', array( 'jquery' ) );
|
124 |
+
// Include date picker plugin
|
125 |
+
wp_enqueue_script( 'ai1ec-datepicker', AI1EC_JS_URL . '/datepicker.js', array( 'jquery' ) );
|
126 |
+
|
127 |
wp_enqueue_script( 'ai1ec-add_new_event', AI1EC_JS_URL . '/add_new_event.js', array( 'jquery',
|
128 |
'jquery.timespan',
|
129 |
'ai1ec-element-selector',
|
130 |
'jquery.tools-form',
|
131 |
+
'ai1ec-blockui',
|
132 |
+
'ai1ec-datepicker' ) );
|
133 |
+
|
134 |
wp_enqueue_script( 'ai1ec-color-picker', AI1EC_JS_URL . '/colorpicker.js', array( 'jquery' ) );
|
135 |
|
136 |
// Supply custom value to JavaScript from PHP
|
163 |
wp_enqueue_style( 'colorpicker', AI1EC_CSS_URL . '/colorpicker.css' );
|
164 |
// include add new event style
|
165 |
wp_enqueue_style( 'ai1ec_add_new_event', AI1EC_CSS_URL . '/add_new_event.css' );
|
166 |
+
// include datepicker style
|
167 |
+
wp_enqueue_style( 'ai1ec_datepicker', AI1EC_CSS_URL . '/datepicker.css' );
|
168 |
}
|
169 |
// Initialize front-end view
|
170 |
else
|
225 |
$exrule = '';
|
226 |
$exrule_text = '';
|
227 |
$exclude_event = false;
|
|
|
228 |
$exdate = '';
|
|
|
229 |
|
230 |
try
|
231 |
{
|
252 |
$contact_phone = $event->contact_phone;
|
253 |
$contact_email = $event->contact_email;
|
254 |
$cost = $event->cost;
|
255 |
+
$rrule = empty( $event->recurrence_rules ) ? '' : $ai1ec_events_helper->ics_rule_to_local( $event->recurrence_rules );
|
256 |
+
$exrule = empty( $event->exception_rules ) ? '' : $ai1ec_events_helper->ics_rule_to_local( $event->exception_rules );
|
257 |
+
$exdate = empty( $event->exception_dates ) ? '' : $ai1ec_events_helper->exception_dates_to_local( $event->exception_dates );
|
258 |
$repeating_event = empty( $rrule ) ? false : true;
|
259 |
$exclude_event = empty( $exrule ) ? false : true;
|
260 |
|
288 |
'exrule' => $exrule,
|
289 |
'exrule_text' => $exrule_text,
|
290 |
'timezone' => $timezone,
|
291 |
+
'exdate' => $exdate
|
|
|
|
|
292 |
);
|
293 |
$ai1ec_view_helper->display( 'box_time_and_date.php', $args );
|
294 |
|
393 |
|
394 |
$rrule = null;
|
395 |
$exrule = null;
|
396 |
+
$exdate = null;
|
397 |
+
|
398 |
+
// if rrule is set, convert it from local to UTC time
|
399 |
+
if( isset( $_POST['ai1ec_repeat'] ) && ! empty( $_POST['ai1ec_repeat'] ) )
|
400 |
+
$rrule = $ai1ec_events_helper->ics_rule_to_gmt( $_POST['ai1ec_rrule'] );
|
401 |
+
|
402 |
+
// if exrule is set, convert it from local to UTC time
|
403 |
+
if( isset( $_POST['ai1ec_exclude'] ) && ! empty( $_POST['ai1ec_exclude'] ) )
|
404 |
+
$exrule = $ai1ec_events_helper->ics_rule_to_gmt( $_POST['ai1ec_exrule'] );
|
405 |
|
406 |
+
// if exdate is set, convert it from local to UTC time
|
407 |
+
if( isset( $_POST['ai1ec_exdate'] ) && ! empty( $_POST['ai1ec_exdate'] ) )
|
408 |
+
$exdate = $ai1ec_events_helper->exception_dates_to_gmt( $_POST['ai1ec_exdate'] );
|
|
|
|
|
|
|
|
|
|
|
409 |
|
410 |
$is_new = false;
|
411 |
$event = null;
|
435 |
$event->contact_email = $contact_email;
|
436 |
$event->recurrence_rules = $rrule;
|
437 |
$event->exception_rules = $exrule;
|
438 |
+
$event->exception_dates = $exdate;
|
439 |
$event->save( ! $is_new );
|
440 |
|
441 |
$ai1ec_events_helper->delete_event_cache( $post_id );
|
600 |
$args = array(
|
601 |
'event' => &$event,
|
602 |
'recurrence' => $event->recurrence_html,
|
603 |
+
'exclude' => $event->exclude_html,
|
604 |
'categories' => $event->categories_html,
|
605 |
'tags' => $event->tags_html,
|
606 |
'location' => nl2br( $event->location ),
|
app/controller/class-ai1ec-exporter-controller.php
CHANGED
@@ -88,7 +88,7 @@ class Ai1ec_Exporter_Controller {
|
|
88 |
}
|
89 |
$str = $c->createCalendar();
|
90 |
|
91 |
-
header( 'Content-type: text/calendar' );
|
92 |
echo $str;
|
93 |
exit;
|
94 |
}
|
88 |
}
|
89 |
$str = $c->createCalendar();
|
90 |
|
91 |
+
header( 'Content-type: text/calendar; charset=utf-8' );
|
92 |
echo $str;
|
93 |
exit;
|
94 |
}
|
app/helper/class-ai1ec-app-helper.php
CHANGED
@@ -213,6 +213,14 @@ class Ai1ec_App_Helper {
|
|
213 |
'name' => _x( 'Event Tags', 'Event tags taxonomy', AI1EC_PLUGIN_NAME ),
|
214 |
'singular_name' => _x( 'Event Tag', 'Event tags taxonomy (singular)', AI1EC_PLUGIN_NAME )
|
215 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
|
217 |
// ======================================
|
218 |
// = args for event categories taxonomy =
|
@@ -243,6 +251,22 @@ class Ai1ec_App_Helper {
|
|
243 |
'assign_terms' => 'edit_ai1ec_events'
|
244 |
)
|
245 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
246 |
|
247 |
// ======================================
|
248 |
// = register event categories taxonomy =
|
@@ -253,6 +277,11 @@ class Ai1ec_App_Helper {
|
|
253 |
// = register event tags taxonomy =
|
254 |
// ================================
|
255 |
register_taxonomy( 'events_tags', array( AI1EC_POST_TYPE ), $events_tags_args );
|
|
|
|
|
|
|
|
|
|
|
256 |
|
257 |
// ========================================
|
258 |
// = register custom post type for events =
|
@@ -340,7 +369,9 @@ class Ai1ec_App_Helper {
|
|
340 |
else
|
341 |
$term = get_term_by( 'slug', $var, $tax_slug );
|
342 |
|
343 |
-
|
|
|
|
|
344 |
}
|
345 |
}
|
346 |
}
|
213 |
'name' => _x( 'Event Tags', 'Event tags taxonomy', AI1EC_PLUGIN_NAME ),
|
214 |
'singular_name' => _x( 'Event Tag', 'Event tags taxonomy (singular)', AI1EC_PLUGIN_NAME )
|
215 |
);
|
216 |
+
|
217 |
+
// ==================================
|
218 |
+
// = labels for event feeds taxonomy =
|
219 |
+
// ==================================
|
220 |
+
$events_feeds_labels = array(
|
221 |
+
'name' => _x( 'Event Feeds', 'Event feeds taxonomy', AI1EC_PLUGIN_NAME ),
|
222 |
+
'singular_name' => _x( 'Event Feed', 'Event feed taxonomy (singular)', AI1EC_PLUGIN_NAME )
|
223 |
+
);
|
224 |
|
225 |
// ======================================
|
226 |
// = args for event categories taxonomy =
|
251 |
'assign_terms' => 'edit_ai1ec_events'
|
252 |
)
|
253 |
);
|
254 |
+
|
255 |
+
// ================================
|
256 |
+
// = args for event feeds taxonomy =
|
257 |
+
// ================================
|
258 |
+
$events_feeds_args = array(
|
259 |
+
'labels' => $events_feeds_labels,
|
260 |
+
'hierarchical' => false,
|
261 |
+
'rewrite' => array( 'slug' => 'events_feeds' ),
|
262 |
+
'capabilities' => array(
|
263 |
+
'manage_terms' => 'manage_categories',
|
264 |
+
'edit_terms' => 'manage_categories',
|
265 |
+
'delete_terms' => 'manage_categories',
|
266 |
+
'assign_terms' => 'edit_ai1ec_events'
|
267 |
+
),
|
268 |
+
'public' => false // don't show taxonomy in admin UI
|
269 |
+
);
|
270 |
|
271 |
// ======================================
|
272 |
// = register event categories taxonomy =
|
277 |
// = register event tags taxonomy =
|
278 |
// ================================
|
279 |
register_taxonomy( 'events_tags', array( AI1EC_POST_TYPE ), $events_tags_args );
|
280 |
+
|
281 |
+
// ================================
|
282 |
+
// = register event tags taxonomy =
|
283 |
+
// ================================
|
284 |
+
register_taxonomy( 'events_feeds', array( AI1EC_POST_TYPE ), $events_feeds_args );
|
285 |
|
286 |
// ========================================
|
287 |
// = register custom post type for events =
|
369 |
else
|
370 |
$term = get_term_by( 'slug', $var, $tax_slug );
|
371 |
|
372 |
+
if( isset( $term->slug ) ) {
|
373 |
+
$var = $term->slug;
|
374 |
+
}
|
375 |
}
|
376 |
}
|
377 |
}
|
app/helper/class-ai1ec-events-helper.php
CHANGED
@@ -149,47 +149,44 @@ class Ai1ec_Events_Helper {
|
|
149 |
'end' => $event->end,
|
150 |
);
|
151 |
$duration = $event->getDuration();
|
152 |
-
|
|
|
|
|
153 |
// Always cache initial instance
|
154 |
$evs[] = $e;
|
155 |
|
156 |
$_start = $event->start;
|
157 |
$_end = $event->end;
|
158 |
-
|
159 |
if( $event->recurrence_rules )
|
160 |
{
|
161 |
$count = 0;
|
162 |
$start = $event->start;
|
163 |
-
$
|
|
|
|
|
|
|
|
|
164 |
|
165 |
$freq->firstOccurrence();
|
166 |
-
while( ( $next = $freq->nextOccurrence( $start ) ) > 0 &&
|
167 |
-
$count < 1000 )
|
168 |
{
|
169 |
$count++;
|
170 |
$start = $next;
|
171 |
$e['start'] = $start;
|
172 |
$e['end'] = $start + $duration;
|
173 |
$excluded = false;
|
174 |
-
|
175 |
-
if
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
$
|
182 |
-
$_s = $_next;
|
183 |
-
// only add the event if the start time of the
|
184 |
-
// reccuring event is different than the start time
|
185 |
-
// of the excluding event
|
186 |
-
if( $start == $_s ) {
|
187 |
-
$excluded = true;
|
188 |
-
break;
|
189 |
-
}
|
190 |
-
}
|
191 |
}
|
192 |
-
|
|
|
193 |
if( $excluded == false )
|
194 |
$evs[] = $e;
|
195 |
}
|
@@ -240,6 +237,39 @@ class Ai1ec_Events_Helper {
|
|
240 |
}
|
241 |
}
|
242 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
|
244 |
/**
|
245 |
* insert_event_in_cache_table function
|
@@ -1017,24 +1047,31 @@ class Ai1ec_Events_Helper {
|
|
1017 |
*
|
1018 |
* @return int
|
1019 |
**/
|
1020 |
-
function get_timezone_offset( $remote_tz, $origin_tz = null, $timestamp =
|
1021 |
-
|
1022 |
-
|
|
|
|
|
|
|
|
|
|
|
1023 |
return false; // A UTC timestamp was returned -- bail out!
|
|
|
|
|
1024 |
|
1025 |
try {
|
1026 |
$origin_dtz = new DateTimeZone( $origin_tz );
|
1027 |
$remote_dtz = new DateTimeZone( $remote_tz );
|
1028 |
|
1029 |
// if DateTimeZone fails, throw exception
|
1030 |
-
if( $origin_dtz
|
1031 |
throw new Exception( 'DateTimeZone class failed' );
|
1032 |
|
1033 |
$origin_dt = new DateTime( gmdate( 'Y-m-d H:i:s', $timestamp ), $origin_dtz );
|
1034 |
$remote_dt = new DateTime( gmdate( 'Y-m-d H:i:s', $timestamp ), $remote_dtz );
|
1035 |
|
1036 |
// if DateTime fails, throw exception
|
1037 |
-
if( $origin_dt
|
1038 |
throw new Exception( 'DateTime class failed' );
|
1039 |
|
1040 |
$offset = $origin_dtz->getOffset( $origin_dt ) - $remote_dtz->getOffset( $remote_dt );
|
@@ -1346,7 +1383,7 @@ class Ai1ec_Events_Helper {
|
|
1346 |
*
|
1347 |
*
|
1348 |
*
|
1349 |
-
* @return
|
1350 |
**/
|
1351 |
function rrule_to_text( $rrule = '') {
|
1352 |
$txt = '';
|
@@ -1377,6 +1414,120 @@ class Ai1ec_Events_Helper {
|
|
1377 |
return $txt;
|
1378 |
}
|
1379 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1380 |
/**
|
1381 |
* _get_sentence_by function
|
1382 |
*
|
@@ -1583,7 +1734,7 @@ class Ai1ec_Events_Helper {
|
|
1583 |
if( $until = $rc->getUntil() ) {
|
1584 |
if( ! is_int( $until ) )
|
1585 |
$until = strtotime( $until );
|
1586 |
-
$txt .= ' ' . sprintf( __( 'until %s', AI1EC_PLUGIN_NAME ), date_i18n( get_option( 'date_format' ), $until ) );
|
1587 |
}
|
1588 |
else if( $count = $rc->getCount() )
|
1589 |
$txt .= ' ' . sprintf( __( 'for %d occurrences', AI1EC_PLUGIN_NAME ), $count );
|
@@ -1746,4 +1897,4 @@ class Ai1ec_Events_Helper {
|
|
1746 |
return - ( 7 - ( $ai1ec_settings->week_start_day - $wday ) ) % 7;
|
1747 |
}
|
1748 |
}
|
1749 |
-
// END class
|
149 |
'end' => $event->end,
|
150 |
);
|
151 |
$duration = $event->getDuration();
|
152 |
+
|
153 |
+
// Timestamp of today's date + 10 years
|
154 |
+
$tif = gmmktime() + 315569260; //315 569 260 = 10 years in seconds
|
155 |
// Always cache initial instance
|
156 |
$evs[] = $e;
|
157 |
|
158 |
$_start = $event->start;
|
159 |
$_end = $event->end;
|
160 |
+
|
161 |
if( $event->recurrence_rules )
|
162 |
{
|
163 |
$count = 0;
|
164 |
$start = $event->start;
|
165 |
+
$exrule = array();
|
166 |
+
if( $event->exception_rules ) {
|
167 |
+
$exrule = $this->generate_dates_array_from_ics_rule( $start, $event->exception_rules );
|
168 |
+
}
|
169 |
+
$freq = $event->getFrequency( $exrule );
|
170 |
|
171 |
$freq->firstOccurrence();
|
172 |
+
while( ( $next = $freq->nextOccurrence( $start ) ) > 0 && $count < 1000 )
|
|
|
173 |
{
|
174 |
$count++;
|
175 |
$start = $next;
|
176 |
$e['start'] = $start;
|
177 |
$e['end'] = $start + $duration;
|
178 |
$excluded = false;
|
179 |
+
|
180 |
+
// if event's start date is 10 years in the future, stop the cache at this point
|
181 |
+
if( $start > $tif ) break;
|
182 |
+
|
183 |
+
// Check if exception dates match this occurence
|
184 |
+
if( $event->exception_dates ) {
|
185 |
+
if( $this->date_match_exdates( $start, $event->exception_dates ) )
|
186 |
+
$excluded = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
}
|
188 |
+
|
189 |
+
// Add event only if it is not excluded
|
190 |
if( $excluded == false )
|
191 |
$evs[] = $e;
|
192 |
}
|
237 |
}
|
238 |
}
|
239 |
}
|
240 |
+
|
241 |
+
/**
|
242 |
+
* date_match_exdates function
|
243 |
+
*
|
244 |
+
* @return bool
|
245 |
+
**/
|
246 |
+
function date_match_exdates( $date, $ics_rule ) {
|
247 |
+
foreach( explode( ",", $ics_rule ) as $_date ) {
|
248 |
+
// convert to timestamp
|
249 |
+
$_date_start = strtotime( $_date );
|
250 |
+
// convert from UTC to local time
|
251 |
+
$_date_start = $this->gmt_to_local( $_date_start ) - date( 'Z', $_date_start );
|
252 |
+
if( $_date_start != false ) {
|
253 |
+
// add 23h 59m 59s so the whole day is excluded
|
254 |
+
$_date_end = $_date_start + (24 * 60 * 60) - 1;
|
255 |
+
if( $date >= $_date_start && $date <= $_date_end ) {
|
256 |
+
// event is within the time-frame
|
257 |
+
return true;
|
258 |
+
}
|
259 |
+
}
|
260 |
+
}
|
261 |
+
return false;
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* generate_dates_array_from_ics_rule function
|
266 |
+
*
|
267 |
+
* @return array
|
268 |
+
**/
|
269 |
+
function generate_dates_array_from_ics_rule( $start, $ics_rule ) {
|
270 |
+
$freq = new SG_iCal_Freq( $ics_rule, $start, array(), array(), true );
|
271 |
+
return $freq->getAllOccurrences();
|
272 |
+
}
|
273 |
|
274 |
/**
|
275 |
* insert_event_in_cache_table function
|
1047 |
*
|
1048 |
* @return int
|
1049 |
**/
|
1050 |
+
function get_timezone_offset( $remote_tz, $origin_tz = null, $timestamp = false ) {
|
1051 |
+
// set timestamp to time now
|
1052 |
+
if( $timestamp == false ) {
|
1053 |
+
$timestamp = gmmktime();
|
1054 |
+
}
|
1055 |
+
|
1056 |
+
if( $origin_tz === null ) {
|
1057 |
+
if( ! is_string( $origin_tz = date_default_timezone_get() ) ) {
|
1058 |
return false; // A UTC timestamp was returned -- bail out!
|
1059 |
+
}
|
1060 |
+
}
|
1061 |
|
1062 |
try {
|
1063 |
$origin_dtz = new DateTimeZone( $origin_tz );
|
1064 |
$remote_dtz = new DateTimeZone( $remote_tz );
|
1065 |
|
1066 |
// if DateTimeZone fails, throw exception
|
1067 |
+
if( $origin_dtz == false || $remote_dtz == false )
|
1068 |
throw new Exception( 'DateTimeZone class failed' );
|
1069 |
|
1070 |
$origin_dt = new DateTime( gmdate( 'Y-m-d H:i:s', $timestamp ), $origin_dtz );
|
1071 |
$remote_dt = new DateTime( gmdate( 'Y-m-d H:i:s', $timestamp ), $remote_dtz );
|
1072 |
|
1073 |
// if DateTime fails, throw exception
|
1074 |
+
if( $origin_dt == false || $remote_dt == false )
|
1075 |
throw new Exception( 'DateTime class failed' );
|
1076 |
|
1077 |
$offset = $origin_dtz->getOffset( $origin_dt ) - $remote_dtz->getOffset( $remote_dt );
|
1383 |
*
|
1384 |
*
|
1385 |
*
|
1386 |
+
* @return string
|
1387 |
**/
|
1388 |
function rrule_to_text( $rrule = '') {
|
1389 |
$txt = '';
|
1414 |
return $txt;
|
1415 |
}
|
1416 |
|
1417 |
+
/**
|
1418 |
+
* exdate_to_text function
|
1419 |
+
*
|
1420 |
+
* @return string
|
1421 |
+
**/
|
1422 |
+
function exdate_to_text( $exception_dates ) {
|
1423 |
+
$dates_to_add = array();
|
1424 |
+
foreach( explode( ",", $exception_dates ) as $_exdate ) {
|
1425 |
+
// convert to timestamp
|
1426 |
+
$_exdate = strtotime( $_exdate );
|
1427 |
+
$dates_to_add[] = $this->get_long_date( $_exdate, true );
|
1428 |
+
}
|
1429 |
+
// append dates to the string and return it;
|
1430 |
+
return implode( ", ", $dates_to_add );
|
1431 |
+
}
|
1432 |
+
|
1433 |
+
/**
|
1434 |
+
* ics_rule_to_local function
|
1435 |
+
*
|
1436 |
+
* @return void
|
1437 |
+
**/
|
1438 |
+
function ics_rule_to_local( $rule ) {
|
1439 |
+
return $this->ics_rule_to( $rule, false );
|
1440 |
+
}
|
1441 |
+
|
1442 |
+
/**
|
1443 |
+
* ics_rule_to_gmt function
|
1444 |
+
*
|
1445 |
+
* @return void
|
1446 |
+
**/
|
1447 |
+
function ics_rule_to_gmt( $rule ) {
|
1448 |
+
return $this->ics_rule_to( $rule, true );
|
1449 |
+
}
|
1450 |
+
|
1451 |
+
/**
|
1452 |
+
* ics_rule_to function
|
1453 |
+
*
|
1454 |
+
* @return void
|
1455 |
+
**/
|
1456 |
+
private function ics_rule_to( $rule, $to_gmt = false ) {
|
1457 |
+
$rc = new SG_iCal_Recurrence( new SG_iCal_Line( 'RRULE:' . $rule ) );
|
1458 |
+
if( $until = $rc->getUntil() ) {
|
1459 |
+
if( ! is_int( $until ) ) {
|
1460 |
+
$until = strtotime( $until );
|
1461 |
+
}
|
1462 |
+
if( $to_gmt ) {
|
1463 |
+
$until = $this->local_to_gmt( $until );
|
1464 |
+
} else {
|
1465 |
+
$until = $this->gmt_to_local( $until );
|
1466 |
+
}
|
1467 |
+
|
1468 |
+
$until = gmdate( "Ymd\THis\Z", $until );
|
1469 |
+
$rule_props = explode( ';', $rule );
|
1470 |
+
$_rule = array();
|
1471 |
+
foreach( $rule_props as $property ) {
|
1472 |
+
// don't apply any logic to empty properties
|
1473 |
+
if( empty( $property ) ) {
|
1474 |
+
$_rule[] = $property;
|
1475 |
+
continue;
|
1476 |
+
}
|
1477 |
+
$name_and_value = explode( '=', $property );
|
1478 |
+
if( isset( $name_and_value[0] ) && strtolower( $name_and_value[0] ) == 'until' ) {
|
1479 |
+
if( isset( $name_and_value[1] ) ) {
|
1480 |
+
$_rule[] = "UNTIL=" . $until;
|
1481 |
+
}
|
1482 |
+
} else {
|
1483 |
+
$_rule[] = $property;
|
1484 |
+
}
|
1485 |
+
}
|
1486 |
+
$rule = implode( ';', $_rule );
|
1487 |
+
}
|
1488 |
+
return $rule;
|
1489 |
+
}
|
1490 |
+
|
1491 |
+
/**
|
1492 |
+
* exception_dates_to_local function
|
1493 |
+
*
|
1494 |
+
* @return string
|
1495 |
+
**/
|
1496 |
+
function exception_dates_to_local( $exception_dates ) {
|
1497 |
+
return $this->exception_dates_to( $exception_dates, false );
|
1498 |
+
}
|
1499 |
+
|
1500 |
+
/**
|
1501 |
+
* exception_dates_to_gmt function
|
1502 |
+
*
|
1503 |
+
* @return string
|
1504 |
+
**/
|
1505 |
+
function exception_dates_to_gmt( $exception_dates ) {
|
1506 |
+
return $this->exception_dates_to( $exception_dates, true );
|
1507 |
+
}
|
1508 |
+
|
1509 |
+
/**
|
1510 |
+
* exception_dates_to function
|
1511 |
+
*
|
1512 |
+
* @return string
|
1513 |
+
**/
|
1514 |
+
private function exception_dates_to( $exception_dates, $to_gmt = false ) {
|
1515 |
+
$dates_to_add = array();
|
1516 |
+
foreach( explode( ",", $exception_dates ) as $_exdate ) {
|
1517 |
+
// convert to timestamp
|
1518 |
+
$_exdate = strtotime( $_exdate );
|
1519 |
+
if( $to_gmt ) {
|
1520 |
+
$_exdate = $this->gmt_to_local( $_exdate );
|
1521 |
+
} else {
|
1522 |
+
$_exdate = $this->gmt_to_local( $_exdate );
|
1523 |
+
}
|
1524 |
+
|
1525 |
+
$dates_to_add[] = gmdate( "Ymd\THis\Z", $_exdate );
|
1526 |
+
}
|
1527 |
+
// append dates to the string and return it;
|
1528 |
+
return implode( ",", $dates_to_add );
|
1529 |
+
}
|
1530 |
+
|
1531 |
/**
|
1532 |
* _get_sentence_by function
|
1533 |
*
|
1734 |
if( $until = $rc->getUntil() ) {
|
1735 |
if( ! is_int( $until ) )
|
1736 |
$until = strtotime( $until );
|
1737 |
+
$txt .= ' ' . sprintf( __( 'until %s', AI1EC_PLUGIN_NAME ), date_i18n( get_option( 'date_format' ), $until, true ) );
|
1738 |
}
|
1739 |
else if( $count = $rc->getCount() )
|
1740 |
$txt .= ' ' . sprintf( __( 'for %d occurrences', AI1EC_PLUGIN_NAME ), $count );
|
1897 |
return - ( 7 - ( $ai1ec_settings->week_start_day - $wday ) ) % 7;
|
1898 |
}
|
1899 |
}
|
1900 |
+
// END class
|
app/helper/class-ai1ec-exporter-helper.php
CHANGED
@@ -64,7 +64,7 @@ class Ai1ec_Exporter_Helper {
|
|
64 |
$e = & $c->newComponent( 'vevent' );
|
65 |
$uid = $event->ical_uid ? $event->ical_uid : $event->post->guid;
|
66 |
$e->setProperty( 'uid', $uid );
|
67 |
-
$e->setProperty( 'url', get_permalink( $event->post_id )
|
68 |
$e->setProperty( 'summary', html_entity_decode( apply_filters( 'the_title', $event->post->post_title ), ENT_QUOTES ) );
|
69 |
$content = apply_filters( 'the_content', $event->post->post_content );
|
70 |
$content = str_replace(']]>', ']]>', $content);
|
@@ -136,7 +136,50 @@ class Ai1ec_Exporter_Helper {
|
|
136 |
$rrule[ $k ] = $v;
|
137 |
}
|
138 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
|
140 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
}
|
142 |
}
|
64 |
$e = & $c->newComponent( 'vevent' );
|
65 |
$uid = $event->ical_uid ? $event->ical_uid : $event->post->guid;
|
66 |
$e->setProperty( 'uid', $uid );
|
67 |
+
$e->setProperty( 'url', get_permalink( $event->post_id ) );
|
68 |
$e->setProperty( 'summary', html_entity_decode( apply_filters( 'the_title', $event->post->post_title ), ENT_QUOTES ) );
|
69 |
$content = apply_filters( 'the_content', $event->post->post_content );
|
70 |
$content = str_replace(']]>', ']]>', $content);
|
136 |
$rrule[ $k ] = $v;
|
137 |
}
|
138 |
}
|
139 |
+
|
140 |
+
$exrule = array();
|
141 |
+
if( ! empty( $event->exception_rules ) ) {
|
142 |
+
$rules = array();
|
143 |
+
foreach( explode( ';', $event->exception_rules ) AS $v) {
|
144 |
+
if( strpos( $v, '=' ) === false ) continue;
|
145 |
+
|
146 |
+
list($k, $v) = explode( '=', $v );
|
147 |
+
// If $v is a comma-separated list, turn it into array for iCalcreator
|
148 |
+
switch( $k ) {
|
149 |
+
case 'BYSECOND':
|
150 |
+
case 'BYMINUTE':
|
151 |
+
case 'BYHOUR':
|
152 |
+
case 'BYDAY':
|
153 |
+
case 'BYMONTHDAY':
|
154 |
+
case 'BYYEARDAY':
|
155 |
+
case 'BYWEEKNO':
|
156 |
+
case 'BYMONTH':
|
157 |
+
case 'BYSETPOS':
|
158 |
+
$exploded = explode( ',', $v );
|
159 |
+
break;
|
160 |
+
default:
|
161 |
+
$exploded = $v;
|
162 |
+
break;
|
163 |
+
}
|
164 |
+
// iCalcreator requires a more complex array structure for BYDAY...
|
165 |
+
if( $k == 'BYDAY' ) {
|
166 |
+
$v = array();
|
167 |
+
foreach( $exploded as $day ) {
|
168 |
+
$v[] = array( 'DAY' => $day );
|
169 |
+
}
|
170 |
+
} else {
|
171 |
+
$v = $exploded;
|
172 |
+
}
|
173 |
+
$exrule[ $k ] = $v;
|
174 |
+
}
|
175 |
+
}
|
176 |
|
177 |
+
// add rrule to exported calendar
|
178 |
+
if( ! empty( $rrule ) ) $e->setProperty( 'rrule', $rrule );
|
179 |
+
// add exrule to exported calendar
|
180 |
+
if( ! empty( $exrule ) ) $e->setProperty( 'exrule', $exrule );
|
181 |
+
// add exdates to exported calendar
|
182 |
+
if( ! empty( $event->exception_dates ) )
|
183 |
+
$e->setProperty( 'exdate', explode( ',', $event->exception_dates ) );
|
184 |
}
|
185 |
}
|
app/helper/class-ai1ec-importer-helper.php
CHANGED
@@ -184,6 +184,7 @@ class Ai1ec_Importer_Helper {
|
|
184 |
'ical_uid' => $e->getProperty( 'uid' ),
|
185 |
'categories' => $feed->feed_category,
|
186 |
'tags' => $feed->feed_tags,
|
|
|
187 |
'post' => array(
|
188 |
'post_status' => 'publish',
|
189 |
'post_type' => AI1EC_POST_TYPE,
|
184 |
'ical_uid' => $e->getProperty( 'uid' ),
|
185 |
'categories' => $feed->feed_category,
|
186 |
'tags' => $feed->feed_tags,
|
187 |
+
'feed' => $feed,
|
188 |
'post' => array(
|
189 |
'post_status' => 'publish',
|
190 |
'post_type' => AI1EC_POST_TYPE,
|
app/model/class-ai1ec-event.php
CHANGED
@@ -241,6 +241,15 @@ class Ai1ec_Event {
|
|
241 |
* @var string
|
242 |
**/
|
243 |
var $categories;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
|
245 |
/**
|
246 |
* category_colors class variable
|
@@ -630,6 +639,11 @@ class Ai1ec_Event {
|
|
630 |
return null;
|
631 |
|
632 |
return '<strong>' . esc_html( $ai1ec_events_helper->rrule_to_text( $this->recurrence_rules ) ) . '</strong>';
|
|
|
|
|
|
|
|
|
|
|
633 |
}
|
634 |
}
|
635 |
|
@@ -735,6 +749,29 @@ class Ai1ec_Event {
|
|
735 |
wp_set_post_terms( $this->post_id, $this->categories, 'events_categories' );
|
736 |
wp_set_post_terms( $this->post_id, $this->tags, 'events_tags' );
|
737 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
738 |
// =========================
|
739 |
// = Insert new event data =
|
740 |
// =========================
|
@@ -803,8 +840,8 @@ class Ai1ec_Event {
|
|
803 |
*
|
804 |
* @return object
|
805 |
**/
|
806 |
-
function getFrequency() {
|
807 |
-
return new SG_iCal_Freq( $this->recurrence_rules, $this->start );
|
808 |
}
|
809 |
|
810 |
/**
|
241 |
* @var string
|
242 |
**/
|
243 |
var $categories;
|
244 |
+
|
245 |
+
/**
|
246 |
+
* feed class variable
|
247 |
+
*
|
248 |
+
* Associated event feed object
|
249 |
+
*
|
250 |
+
* @var string
|
251 |
+
**/
|
252 |
+
var $feed;
|
253 |
|
254 |
/**
|
255 |
* category_colors class variable
|
639 |
return null;
|
640 |
|
641 |
return '<strong>' . esc_html( $ai1ec_events_helper->rrule_to_text( $this->recurrence_rules ) ) . '</strong>';
|
642 |
+
case 'exclude_html':
|
643 |
+
if( ! $this->exception_dates || empty( $this->exception_dates ) )
|
644 |
+
return null;
|
645 |
+
|
646 |
+
return '<strong>' . esc_html( $ai1ec_events_helper->exdate_to_text( $this->exception_dates ) ) . '</strong>';
|
647 |
}
|
648 |
}
|
649 |
|
749 |
wp_set_post_terms( $this->post_id, $this->categories, 'events_categories' );
|
750 |
wp_set_post_terms( $this->post_id, $this->tags, 'events_tags' );
|
751 |
|
752 |
+
if( isset( $this->feed ) && isset( $this->feed->feed_id ) ) {
|
753 |
+
$url_components = parse_url( $this->feed->feed_url );
|
754 |
+
$feed_name = $url_components["host"];
|
755 |
+
$term = term_exists( $feed_name, 'events_feeds' );
|
756 |
+
if( ! $term ) {
|
757 |
+
// term doesn't exist, create it
|
758 |
+
$term = wp_insert_term(
|
759 |
+
$feed_name, // term
|
760 |
+
'events_feeds', // taxonomy
|
761 |
+
array(
|
762 |
+
'description' => $this->feed->feed_url
|
763 |
+
)
|
764 |
+
);
|
765 |
+
}
|
766 |
+
// term_exists returns object, wp_insert_term returns array
|
767 |
+
$term = (object)$term;
|
768 |
+
if( isset( $term->term_id ) ) {
|
769 |
+
// associate the event with the feed only if we have term id set
|
770 |
+
$a = wp_set_object_terms( $this->post_id, (int)$term->term_id, 'events_feeds', false );
|
771 |
+
}
|
772 |
+
|
773 |
+
}
|
774 |
+
|
775 |
// =========================
|
776 |
// = Insert new event data =
|
777 |
// =========================
|
840 |
*
|
841 |
* @return object
|
842 |
**/
|
843 |
+
function getFrequency( $excluded = array() ) {
|
844 |
+
return new SG_iCal_Freq( $this->recurrence_rules, $this->start, $excluded );
|
845 |
}
|
846 |
|
847 |
/**
|
app/view/box_date_picker.php
DELETED
@@ -1,10 +0,0 @@
|
|
1 |
-
<div class="ai1ec-date-picker-holder">
|
2 |
-
<div class="ai1ec-date-picker-calendar">
|
3 |
-
<label for="ai1ec-date-picker-calendar">
|
4 |
-
<?php _e( 'Select dates', AI1EC_PLUGIN_NAME ) ?>:
|
5 |
-
</label>
|
6 |
-
<input type="text" class="ai1ec-date-input" id="ai1ec-date-picker-input" style="display: none;" />
|
7 |
-
<input type="hidden" name="ai1ec_date_picker_input" id="ai1ec-date-picker-time" value="" />
|
8 |
-
</div>
|
9 |
-
<div class="ai1ec-date-picker-dates"><?php echo $dates ?></div>
|
10 |
-
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/view/box_time_and_date.php
CHANGED
@@ -64,24 +64,27 @@
|
|
64 |
<div id="ai1ec_exclude_text">
|
65 |
<a href="#ai1ec_exclude_box"><?php echo $exrule_text ?></a>
|
66 |
</div>
|
|
|
67 |
</td>
|
68 |
</tr>
|
69 |
-
<!--
|
70 |
<tr>
|
71 |
<td>
|
72 |
-
|
73 |
-
|
74 |
-
<label for="ai1ec_exclude_date" id="ai1ec_exclude_date_label">
|
75 |
-
<?php _e( 'Exclude dates', AI1EC_PLUGIN_NAME ); echo $exdate_event ? ':' : '...' ?>
|
76 |
</label>
|
77 |
</td>
|
78 |
<td>
|
79 |
-
|
80 |
-
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
</td>
|
83 |
</tr>
|
84 |
-
-->
|
85 |
<div id="ai1ec_repeat_box"></div>
|
86 |
</tbody>
|
87 |
</table>
|
64 |
<div id="ai1ec_exclude_text">
|
65 |
<a href="#ai1ec_exclude_box"><?php echo $exrule_text ?></a>
|
66 |
</div>
|
67 |
+
<span class="ai1ec-info-text">(<?php _e( 'Choose a rule for exclusion', AI1EC_PLUGIN_NAME ) ?>)</span>
|
68 |
</td>
|
69 |
</tr>
|
|
|
70 |
<tr>
|
71 |
<td>
|
72 |
+
<label for="ai1ec_exdate_calendar_icon" id="ai1ec_exclude_date_label">
|
73 |
+
<?php _e( 'Exclude dates', AI1EC_PLUGIN_NAME ) ?>:
|
|
|
|
|
74 |
</label>
|
75 |
</td>
|
76 |
<td>
|
77 |
+
<div id="datepicker-widget">
|
78 |
+
<div id="widgetField">
|
79 |
+
<span></span>
|
80 |
+
<a href="#"><?php _e( 'Select date range', AI1EC_PLUGIN_NAME ) ?></a>
|
81 |
+
</div>
|
82 |
+
<div id="widgetCalendar"></div>
|
83 |
+
</div>
|
84 |
+
<input type="hidden" name="ai1ec_exdate" id="ai1ec_exdate" value="<?php echo $exdate ?>" />
|
85 |
+
<span class="ai1ec-info-text">(<?php _e( 'Choose specific dates to exclude', AI1EC_PLUGIN_NAME ) ?>)</span>
|
86 |
</td>
|
87 |
</tr>
|
|
|
88 |
<div id="ai1ec_repeat_box"></div>
|
89 |
</tbody>
|
90 |
</table>
|
app/view/calendar.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<!-- START All-in-One Event Calendar Plugin - Version 1.
|
2 |
<table class="ai1ec-calendar-toolbar">
|
3 |
<tbody>
|
4 |
<tr>
|
1 |
+
<!-- START All-in-One Event Calendar Plugin - Version 1.4 -->
|
2 |
<table class="ai1ec-calendar-toolbar">
|
3 |
<tbody>
|
4 |
<tr>
|
app/view/event-single.php
CHANGED
@@ -16,7 +16,12 @@
|
|
16 |
<td class="ai1ec-recurrence" colspan="2"><?php echo $recurrence ?></td>
|
17 |
</tr>
|
18 |
<?php endif ?>
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
20 |
<th scope="row" class="ai1ec-location <?php if( ! $location ) echo 'ai1ec-empty' ?>"><?php if( $location ) _e( 'Where:', AI1EC_PLUGIN_NAME ) ?></th>
|
21 |
<td class="ai1ec-location <?php if( ! $location ) echo 'ai1ec-empty' ?>"><?php echo $location ?></td>
|
22 |
<td rowspan="5" class="ai1ec-map <?php if( $map ) echo 'ai1ec-has-map' ?>">
|
16 |
<td class="ai1ec-recurrence" colspan="2"><?php echo $recurrence ?></td>
|
17 |
</tr>
|
18 |
<?php endif ?>
|
19 |
+
<?php if( $exclude ): ?>
|
20 |
+
<tr>
|
21 |
+
<th scope="row" class="ai1ec-exclude"><?php _e( 'Excluding:', AI1EC_PLUGIN_NAME ) ?></th>
|
22 |
+
<td class="ai1ec-exclude" colspan="2"><?php echo $exclude ?></td>
|
23 |
+
</tr>
|
24 |
+
<?php endif ?>
|
25 |
<th scope="row" class="ai1ec-location <?php if( ! $location ) echo 'ai1ec-empty' ?>"><?php if( $location ) _e( 'Where:', AI1EC_PLUGIN_NAME ) ?></th>
|
26 |
<td class="ai1ec-location <?php if( ! $location ) echo 'ai1ec-empty' ?>"><?php echo $location ?></td>
|
27 |
<td rowspan="5" class="ai1ec-map <?php if( $map ) echo 'ai1ec-has-map' ?>">
|
css/add_new_event.css
CHANGED
@@ -411,6 +411,9 @@ ul.ai1ec_repeat_tabs li a.ai1ec_active {
|
|
411 |
text-decoration: none;
|
412 |
border-bottom: 1px dashed red;
|
413 |
}
|
|
|
|
|
|
|
414 |
#ai1ec_ending_box, #ai1ec_apply_button_holder {
|
415 |
margin-top: 10px;
|
416 |
}
|
@@ -443,5 +446,75 @@ div.growlUI h1, div.growlUI h2 {
|
|
443 |
padding-left: 163px;
|
444 |
width: 31px;
|
445 |
height: 31px;
|
446 |
-
background: url( ../img/ajax-loader.gif ) no-repeat center right;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
447 |
}
|
411 |
text-decoration: none;
|
412 |
border-bottom: 1px dashed red;
|
413 |
}
|
414 |
+
#ai1ec_exclude_text {
|
415 |
+
margin-right: 20px;
|
416 |
+
}
|
417 |
#ai1ec_ending_box, #ai1ec_apply_button_holder {
|
418 |
margin-top: 10px;
|
419 |
}
|
446 |
padding-left: 163px;
|
447 |
width: 31px;
|
448 |
height: 31px;
|
449 |
+
background: url( ../img/ajax-loader.gif ) no-repeat center right !important;
|
450 |
+
}
|
451 |
+
#ai1ec-date-picker-input {
|
452 |
+
width: 0px;
|
453 |
+
height: 0px;
|
454 |
+
}
|
455 |
+
/* Exclude date style*/
|
456 |
+
#datepicker-widget {
|
457 |
+
position: relative;
|
458 |
+
}
|
459 |
+
#widgetField {
|
460 |
+
width: 290px;
|
461 |
+
height: 26px;
|
462 |
+
background: url(../img/field.png);
|
463 |
+
overflow: hidden;
|
464 |
+
position: relative;
|
465 |
+
}
|
466 |
+
#widgetField a {
|
467 |
+
display: block;
|
468 |
+
position: absolute;
|
469 |
+
width: 26px;
|
470 |
+
height: 26px;
|
471 |
+
top: 0;
|
472 |
+
right: 0;
|
473 |
+
text-decoration: none;
|
474 |
+
text-indent: -3000px;
|
475 |
+
}
|
476 |
+
#widgetField span {
|
477 |
+
font-size: 12px;
|
478 |
+
font-weight: bold;
|
479 |
+
color: #000;
|
480 |
+
position: absolute;
|
481 |
+
top: 0;
|
482 |
+
height: 26px;
|
483 |
+
line-height: 26px;
|
484 |
+
left: 5px;
|
485 |
+
width: 250px;
|
486 |
+
text-align: center;
|
487 |
+
cursor: pointer;
|
488 |
+
}
|
489 |
+
#widgetCalendar {
|
490 |
+
position: absolute;
|
491 |
+
top: 26px;
|
492 |
+
left: 0;
|
493 |
+
height: 0px;
|
494 |
+
overflow: hidden;
|
495 |
+
width: 588px;
|
496 |
+
background: #B9B9B9;
|
497 |
+
}
|
498 |
+
#widgetCalendar .datepicker {
|
499 |
+
position: absolute;
|
500 |
+
bottom: 0;
|
501 |
+
top: auto;
|
502 |
+
}
|
503 |
+
#widgetCalendar .datepickerContainer,
|
504 |
+
#widgetCalendar .datepickerBorderT,
|
505 |
+
#widgetCalendar .datepickerBorderB,
|
506 |
+
#widgetCalendar .datepickerBorderL,
|
507 |
+
#widgetCalendar .datepickerBorderR,
|
508 |
+
#widgetCalendar .datepickerBorderTL,
|
509 |
+
#widgetCalendar .datepickerBorderTR,
|
510 |
+
#widgetCalendar .datepickerBorderBL,
|
511 |
+
#widgetCalendar .datepickerBorderBR {
|
512 |
+
background: transparent !important;
|
513 |
+
}
|
514 |
+
#widgetCalendar .datepicker a:hover{
|
515 |
+
color: #b6f063;
|
516 |
+
}
|
517 |
+
.ai1ec-info-text {
|
518 |
+
font-size: 10px;
|
519 |
+
float: left;
|
520 |
}
|
css/datepicker.css
ADDED
@@ -0,0 +1,191 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
div.datepicker {
|
2 |
+
position: relative;
|
3 |
+
font-family: Arial, Helvetica, sans-serif;
|
4 |
+
font-size: 12px;
|
5 |
+
width: 196px;
|
6 |
+
height: 147px;
|
7 |
+
position: absolute;
|
8 |
+
cursor: default;
|
9 |
+
top: 0;
|
10 |
+
left: 0;
|
11 |
+
display: none;
|
12 |
+
}
|
13 |
+
.datepickerContainer {
|
14 |
+
background: #121212;
|
15 |
+
position: absolute;
|
16 |
+
top: 10px;
|
17 |
+
left: 10px;
|
18 |
+
}
|
19 |
+
.datepickerBorderT {
|
20 |
+
position: absolute;
|
21 |
+
left: 10px;
|
22 |
+
top: 0;
|
23 |
+
right: 10px;
|
24 |
+
height: 10px;
|
25 |
+
background: url(../img/datepicker_t.png);
|
26 |
+
}
|
27 |
+
.datepickerBorderB {
|
28 |
+
position: absolute;
|
29 |
+
left: 10px;
|
30 |
+
bottom: 0;
|
31 |
+
right: 10px;
|
32 |
+
height: 10px;
|
33 |
+
background: url(../img/datepicker_b.png);
|
34 |
+
}
|
35 |
+
.datepickerBorderL {
|
36 |
+
position: absolute;
|
37 |
+
left: 0;
|
38 |
+
bottom: 10px;
|
39 |
+
top: 10px;
|
40 |
+
width: 10px;
|
41 |
+
background: url(../img/datepicker_l.png);
|
42 |
+
}
|
43 |
+
.datepickerBorderR {
|
44 |
+
position: absolute;
|
45 |
+
right: 0;
|
46 |
+
bottom: 10px;
|
47 |
+
top: 10px;
|
48 |
+
width: 10px;
|
49 |
+
background: url(../img/datepicker_r.png);
|
50 |
+
}
|
51 |
+
.datepickerBorderTL {
|
52 |
+
position: absolute;
|
53 |
+
top: 0;
|
54 |
+
left: 0;
|
55 |
+
width: 10px;
|
56 |
+
height: 10px;
|
57 |
+
background: url(../img/datepicker_tl.png);
|
58 |
+
}
|
59 |
+
.datepickerBorderTR {
|
60 |
+
position: absolute;
|
61 |
+
top: 0;
|
62 |
+
right: 0;
|
63 |
+
width: 10px;
|
64 |
+
height: 10px;
|
65 |
+
background: url(../img/datepicker_tr.png);
|
66 |
+
}
|
67 |
+
.datepickerBorderBL {
|
68 |
+
position: absolute;
|
69 |
+
bottom: 0;
|
70 |
+
left: 0;
|
71 |
+
width: 10px;
|
72 |
+
height: 10px;
|
73 |
+
background: url(../img/datepicker_bl.png);
|
74 |
+
}
|
75 |
+
.datepickerBorderBR {
|
76 |
+
position: absolute;
|
77 |
+
bottom: 0;
|
78 |
+
right: 0;
|
79 |
+
width: 10px;
|
80 |
+
height: 10px;
|
81 |
+
background: url(../img/datepicker_br.png);
|
82 |
+
}
|
83 |
+
.datepickerHidden {
|
84 |
+
display: none;
|
85 |
+
}
|
86 |
+
div.datepicker table {
|
87 |
+
border-collapse:collapse;
|
88 |
+
}
|
89 |
+
div.datepicker a {
|
90 |
+
color: #eee;
|
91 |
+
text-decoration: none;
|
92 |
+
cursor: default;
|
93 |
+
outline: none;
|
94 |
+
}
|
95 |
+
div.datepicker table td {
|
96 |
+
text-align: right;
|
97 |
+
padding: 0;
|
98 |
+
margin: 0;
|
99 |
+
}
|
100 |
+
div.datepicker th {
|
101 |
+
text-align: center;
|
102 |
+
color: #999;
|
103 |
+
font-weight: normal;
|
104 |
+
}
|
105 |
+
div.datepicker tbody th {
|
106 |
+
text-align: left;
|
107 |
+
}
|
108 |
+
div.datepicker tbody a {
|
109 |
+
display: block;
|
110 |
+
}
|
111 |
+
.datepickerDays a {
|
112 |
+
width: 20px;
|
113 |
+
line-height: 16px;
|
114 |
+
height: 16px;
|
115 |
+
padding-right: 2px;
|
116 |
+
}
|
117 |
+
.datepickerYears a,
|
118 |
+
.datepickerMonths a{
|
119 |
+
width: 44px;
|
120 |
+
line-height: 36px;
|
121 |
+
height: 36px;
|
122 |
+
text-align: center;
|
123 |
+
}
|
124 |
+
td.datepickerNotInMonth a {
|
125 |
+
color: #666;
|
126 |
+
}
|
127 |
+
tbody.datepickerDays td.datepickerSelected{
|
128 |
+
background: #136A9F;
|
129 |
+
}
|
130 |
+
tbody.datepickerDays td.datepickerNotInMonth.datepickerSelected {
|
131 |
+
background: #17384d;
|
132 |
+
}
|
133 |
+
tbody.datepickerYears td.datepickerSelected,
|
134 |
+
tbody.datepickerMonths td.datepickerSelected{
|
135 |
+
background: #17384d;
|
136 |
+
}
|
137 |
+
div.datepicker a:hover,
|
138 |
+
div.datepicker a:hover {
|
139 |
+
color: #88c5eb;
|
140 |
+
}
|
141 |
+
div.datepicker td.datepickerNotInMonth a:hover {
|
142 |
+
color: #999;
|
143 |
+
}
|
144 |
+
div.datepicker tbody th {
|
145 |
+
text-align: left;
|
146 |
+
}
|
147 |
+
.datepickerSpace div {
|
148 |
+
width: 20px;
|
149 |
+
}
|
150 |
+
.datepickerGoNext a,
|
151 |
+
.datepickerGoPrev a,
|
152 |
+
.datepickerMonth a {
|
153 |
+
text-align: center;
|
154 |
+
height: 20px;
|
155 |
+
line-height: 20px;
|
156 |
+
}
|
157 |
+
.datepickerGoNext a {
|
158 |
+
float: right;
|
159 |
+
width: 20px;
|
160 |
+
}
|
161 |
+
.datepickerGoPrev a {
|
162 |
+
float: left;
|
163 |
+
width: 20px;
|
164 |
+
}
|
165 |
+
table.datepickerViewDays tbody.datepickerMonths,
|
166 |
+
table.datepickerViewDays tbody.datepickerYears {
|
167 |
+
display: none;
|
168 |
+
}
|
169 |
+
table.datepickerViewMonths tbody.datepickerDays,
|
170 |
+
table.datepickerViewMonths tbody.datepickerYears,
|
171 |
+
table.datepickerViewMonths tr.datepickerDoW {
|
172 |
+
display: none;
|
173 |
+
}
|
174 |
+
table.datepickerViewYears tbody.datepickerDays,
|
175 |
+
table.datepickerViewYears tbody.datepickerMonths,
|
176 |
+
table.datepickerViewYears tr.datepickerDoW {
|
177 |
+
display: none;
|
178 |
+
}
|
179 |
+
td.datepickerDisabled a,
|
180 |
+
td.datepickerDisabled.datepickerNotInMonth a{
|
181 |
+
color: #333;
|
182 |
+
}
|
183 |
+
td.datepickerDisabled a:hover {
|
184 |
+
color: #333;
|
185 |
+
}
|
186 |
+
td.datepickerSpecial a {
|
187 |
+
background: #700;
|
188 |
+
}
|
189 |
+
td.datepickerSpecial.datepickerSelected a {
|
190 |
+
background: #a00;
|
191 |
+
}
|
img/custom_b.png
ADDED
Binary file
|
img/custom_bl.png
ADDED
Binary file
|
img/custom_br.png
ADDED
Binary file
|
img/custom_l.png
ADDED
Binary file
|
img/custom_r.png
ADDED
Binary file
|
img/custom_t.png
ADDED
Binary file
|
img/custom_tl.png
ADDED
Binary file
|
img/custom_tr.png
ADDED
Binary file
|
img/datepicker_b.png
ADDED
Binary file
|
img/datepicker_bl.png
ADDED
Binary file
|
img/datepicker_br.png
ADDED
Binary file
|
img/datepicker_l.png
ADDED
Binary file
|
img/datepicker_r.png
ADDED
Binary file
|
img/datepicker_t.png
ADDED
Binary file
|
img/datepicker_tl.png
ADDED
Binary file
|
img/datepicker_tr.png
ADDED
Binary file
|
img/field.png
ADDED
Binary file
|
js/add_new_event.js
CHANGED
@@ -208,23 +208,6 @@ var ai1ec_apply_js_on_repeat_block = function() {
|
|
208 |
jQuery.inputdate( data );
|
209 |
};
|
210 |
|
211 |
-
// called after the date picker block is inserted in the DOM
|
212 |
-
var ai1ec_apply_js_on_date_picker_box = function() {
|
213 |
-
// Initialize inputdate plugin on our "until" date input.
|
214 |
-
data = {
|
215 |
-
start_date_input: '#ai1ec-date-picker-input',
|
216 |
-
start_time: '#ai1ec-date-picker-time',
|
217 |
-
date_format: ai1ec_add_new_event.date_format,
|
218 |
-
month_names: ai1ec_add_new_event.month_names,
|
219 |
-
day_names: ai1ec_add_new_event.day_names,
|
220 |
-
week_start_day: ai1ec_add_new_event.week_start_day,
|
221 |
-
twentyfour_hour: ai1ec_add_new_event.twentyfour_hour,
|
222 |
-
now: new Date( ai1ec_add_new_event.now * 1000 )
|
223 |
-
}
|
224 |
-
jQuery.inputdate( data );
|
225 |
-
jQuery( '#ai1ec-date-picker-input' ).trigger( 'click' );
|
226 |
-
};
|
227 |
-
|
228 |
var ai1ec_show_repeat_tabs = function( data, post_ajax_func ) {
|
229 |
jQuery.blockUI( {
|
230 |
message: '<div class="ai1ec-repeat-box-loading"></div>',
|
@@ -313,6 +296,65 @@ jQuery( function( $ ){
|
|
313 |
now: now
|
314 |
}
|
315 |
$.timespan( data );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
316 |
|
317 |
/**
|
318 |
* Google map setup
|
@@ -564,18 +606,6 @@ jQuery( function( $ ){
|
|
564 |
},
|
565 |
'ai1ec_apply_js_on_repeat_block'
|
566 |
);
|
567 |
-
|
568 |
-
// handles click on exdate text
|
569 |
-
ai1ec_click_on_ics_rule_text(
|
570 |
-
'#ai1ec_exclude_date_text > a',
|
571 |
-
'#ai1ec_exclude_date',
|
572 |
-
'#ai1ec_exclude_date_label',
|
573 |
-
{
|
574 |
-
action: 'ai1ec_get_date_picker_box',
|
575 |
-
post_id: $( '#post_ID' ).val()
|
576 |
-
},
|
577 |
-
'ai1ec_apply_js_on_date_picker_box'
|
578 |
-
);
|
579 |
|
580 |
// handles click on repeat checkbox
|
581 |
ai1ec_click_on_checkbox(
|
@@ -602,18 +632,6 @@ jQuery( function( $ ){
|
|
602 |
},
|
603 |
'ai1ec_apply_js_on_repeat_block'
|
604 |
);
|
605 |
-
|
606 |
-
// handles click on exclude date checkbox
|
607 |
-
ai1ec_click_on_checkbox(
|
608 |
-
'#ai1ec_exclude_date',
|
609 |
-
'#ai1ec_exclude_date_text > a',
|
610 |
-
'#ai1ec_exclude_date_label',
|
611 |
-
{
|
612 |
-
action: 'ai1ec_get_date_picker_box',
|
613 |
-
post_id: $( '#post_ID' ).val()
|
614 |
-
},
|
615 |
-
'ai1ec_apply_js_on_date_picker_box'
|
616 |
-
);
|
617 |
|
618 |
$( 'a.ai1ec_repeat_cancel' ).live( 'click', function() {
|
619 |
if( $( '#ai1ec_is_box_repeat' ).val() == '1' ) {
|
208 |
jQuery.inputdate( data );
|
209 |
};
|
210 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
var ai1ec_show_repeat_tabs = function( data, post_ajax_func ) {
|
212 |
jQuery.blockUI( {
|
213 |
message: '<div class="ai1ec-repeat-box-loading"></div>',
|
296 |
now: now
|
297 |
}
|
298 |
$.timespan( data );
|
299 |
+
|
300 |
+
var exdate = $( "#ai1ec_exdate" ).val();
|
301 |
+
var dp_date = null;
|
302 |
+
var _clear_dp = false;
|
303 |
+
if( exdate.length >= 8 ) {
|
304 |
+
dp_date = new Array();
|
305 |
+
var _span_html = '';
|
306 |
+
$.each( exdate.split( ',' ), function( i, v ) {
|
307 |
+
_date = v.slice( 0, 8 );
|
308 |
+
_year = _date.substr( 0, 4 );
|
309 |
+
_month = _date.substr( 4, 2 );
|
310 |
+
_day = _date.substr( 6, 2 );
|
311 |
+
_span_html += _year + '-' + _month + '-' + _day + ',';
|
312 |
+
_month = _month.charAt(0) == '0' ? ( '0' + ( parseInt( _month.charAt( 1 ) ) - 1 ) )
|
313 |
+
: ( parseInt( _month ) - 1 )
|
314 |
+
|
315 |
+
dp_date.push( new Date( _year, _month, _day ) );
|
316 |
+
});
|
317 |
+
_span_html = _span_html.slice( 0, _span_html.length - 1 );
|
318 |
+
$( '#widgetField span:first' ).html( _span_html );
|
319 |
+
} else {
|
320 |
+
dp_date = new Date( ai1ec_add_new_event.now * 1000 )
|
321 |
+
_clear_dp = true;
|
322 |
+
}
|
323 |
+
|
324 |
+
$( '#widgetCalendar' ).DatePicker({
|
325 |
+
flat: true,
|
326 |
+
calendars: 3,
|
327 |
+
mode: 'multiple',
|
328 |
+
start: 1,
|
329 |
+
date: dp_date,
|
330 |
+
onChange: function( formated ) {
|
331 |
+
$( '#widgetField span' ).get( 0 ).innerHTML = formated;
|
332 |
+
formated = formated.toString();
|
333 |
+
if( formated.length >= 8 ) {
|
334 |
+
// save the date in your hidden field
|
335 |
+
var exdate = '';
|
336 |
+
$.each( formated.split( ',' ), function( i, v ) {
|
337 |
+
exdate += v.replace( /-/g, '' ) + 'T000000Z,';
|
338 |
+
});
|
339 |
+
exdate = exdate.slice( 0, exdate.length - 1 );
|
340 |
+
$( "#ai1ec_exdate" ).val( exdate );
|
341 |
+
} else {
|
342 |
+
$( "#ai1ec_exdate" ).val( '' );
|
343 |
+
}
|
344 |
+
}
|
345 |
+
});
|
346 |
+
|
347 |
+
if( _clear_dp ) {
|
348 |
+
$( '#widgetCalendar' ).DatePickerClear();
|
349 |
+
}
|
350 |
+
|
351 |
+
var state = false;
|
352 |
+
$( '#widgetField > a, #widgetField > span, #ai1ec_exclude_date_label' ).bind( 'click', function() {
|
353 |
+
$('#widgetCalendar').stop().animate( { height: state ? 0 : $( '#widgetCalendar div.datepicker' ).get( 0 ).offsetHeight }, 500 );
|
354 |
+
state = !state;
|
355 |
+
return false;
|
356 |
+
});
|
357 |
+
$( '#widgetCalendar div.datepicker' ).css( 'position', 'absolute' )
|
358 |
|
359 |
/**
|
360 |
* Google map setup
|
606 |
},
|
607 |
'ai1ec_apply_js_on_repeat_block'
|
608 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
609 |
|
610 |
// handles click on repeat checkbox
|
611 |
ai1ec_click_on_checkbox(
|
632 |
},
|
633 |
'ai1ec_apply_js_on_repeat_block'
|
634 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
635 |
|
636 |
$( 'a.ai1ec_repeat_cancel' ).live( 'click', function() {
|
637 |
if( $( '#ai1ec_is_box_repeat' ).val() == '1' ) {
|
js/datepicker.js
ADDED
@@ -0,0 +1,891 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
*
|
3 |
+
* Date picker
|
4 |
+
* Author: Stefan Petre www.eyecon.ro
|
5 |
+
*
|
6 |
+
* Dual licensed under the MIT and GPL licenses
|
7 |
+
*
|
8 |
+
*/
|
9 |
+
(function ($) {
|
10 |
+
var DatePicker = function () {
|
11 |
+
var ids = {},
|
12 |
+
views = {
|
13 |
+
years: 'datepickerViewYears',
|
14 |
+
moths: 'datepickerViewMonths',
|
15 |
+
days: 'datepickerViewDays'
|
16 |
+
},
|
17 |
+
tpl = {
|
18 |
+
wrapper: '<div class="datepicker"><div class="datepickerBorderT" /><div class="datepickerBorderB" /><div class="datepickerBorderL" /><div class="datepickerBorderR" /><div class="datepickerBorderTL" /><div class="datepickerBorderTR" /><div class="datepickerBorderBL" /><div class="datepickerBorderBR" /><div class="datepickerContainer"><table cellspacing="0" cellpadding="0"><tbody><tr></tr></tbody></table></div></div>',
|
19 |
+
head: [
|
20 |
+
'<td>',
|
21 |
+
'<table cellspacing="0" cellpadding="0">',
|
22 |
+
'<thead>',
|
23 |
+
'<tr>',
|
24 |
+
'<th class="datepickerGoPrev"><a href="#"><span><%=prev%></span></a></th>',
|
25 |
+
'<th colspan="6" class="datepickerMonth"><a href="#"><span></span></a></th>',
|
26 |
+
'<th class="datepickerGoNext"><a href="#"><span><%=next%></span></a></th>',
|
27 |
+
'</tr>',
|
28 |
+
'<tr class="datepickerDoW">',
|
29 |
+
'<th><span><%=week%></span></th>',
|
30 |
+
'<th><span><%=day1%></span></th>',
|
31 |
+
'<th><span><%=day2%></span></th>',
|
32 |
+
'<th><span><%=day3%></span></th>',
|
33 |
+
'<th><span><%=day4%></span></th>',
|
34 |
+
'<th><span><%=day5%></span></th>',
|
35 |
+
'<th><span><%=day6%></span></th>',
|
36 |
+
'<th><span><%=day7%></span></th>',
|
37 |
+
'</tr>',
|
38 |
+
'</thead>',
|
39 |
+
'</table></td>'
|
40 |
+
],
|
41 |
+
space : '<td class="datepickerSpace"><div></div></td>',
|
42 |
+
days: [
|
43 |
+
'<tbody class="datepickerDays">',
|
44 |
+
'<tr>',
|
45 |
+
'<th class="datepickerWeek"><a href="#"><span><%=weeks[0].week%></span></a></th>',
|
46 |
+
'<td class="<%=weeks[0].days[0].classname%>"><a href="#"><span><%=weeks[0].days[0].text%></span></a></td>',
|
47 |
+
'<td class="<%=weeks[0].days[1].classname%>"><a href="#"><span><%=weeks[0].days[1].text%></span></a></td>',
|
48 |
+
'<td class="<%=weeks[0].days[2].classname%>"><a href="#"><span><%=weeks[0].days[2].text%></span></a></td>',
|
49 |
+
'<td class="<%=weeks[0].days[3].classname%>"><a href="#"><span><%=weeks[0].days[3].text%></span></a></td>',
|
50 |
+
'<td class="<%=weeks[0].days[4].classname%>"><a href="#"><span><%=weeks[0].days[4].text%></span></a></td>',
|
51 |
+
'<td class="<%=weeks[0].days[5].classname%>"><a href="#"><span><%=weeks[0].days[5].text%></span></a></td>',
|
52 |
+
'<td class="<%=weeks[0].days[6].classname%>"><a href="#"><span><%=weeks[0].days[6].text%></span></a></td>',
|
53 |
+
'</tr>',
|
54 |
+
'<tr>',
|
55 |
+
'<th class="datepickerWeek"><a href="#"><span><%=weeks[1].week%></span></a></th>',
|
56 |
+
'<td class="<%=weeks[1].days[0].classname%>"><a href="#"><span><%=weeks[1].days[0].text%></span></a></td>',
|
57 |
+
'<td class="<%=weeks[1].days[1].classname%>"><a href="#"><span><%=weeks[1].days[1].text%></span></a></td>',
|
58 |
+
'<td class="<%=weeks[1].days[2].classname%>"><a href="#"><span><%=weeks[1].days[2].text%></span></a></td>',
|
59 |
+
'<td class="<%=weeks[1].days[3].classname%>"><a href="#"><span><%=weeks[1].days[3].text%></span></a></td>',
|
60 |
+
'<td class="<%=weeks[1].days[4].classname%>"><a href="#"><span><%=weeks[1].days[4].text%></span></a></td>',
|
61 |
+
'<td class="<%=weeks[1].days[5].classname%>"><a href="#"><span><%=weeks[1].days[5].text%></span></a></td>',
|
62 |
+
'<td class="<%=weeks[1].days[6].classname%>"><a href="#"><span><%=weeks[1].days[6].text%></span></a></td>',
|
63 |
+
'</tr>',
|
64 |
+
'<tr>',
|
65 |
+
'<th class="datepickerWeek"><a href="#"><span><%=weeks[2].week%></span></a></th>',
|
66 |
+
'<td class="<%=weeks[2].days[0].classname%>"><a href="#"><span><%=weeks[2].days[0].text%></span></a></td>',
|
67 |
+
'<td class="<%=weeks[2].days[1].classname%>"><a href="#"><span><%=weeks[2].days[1].text%></span></a></td>',
|
68 |
+
'<td class="<%=weeks[2].days[2].classname%>"><a href="#"><span><%=weeks[2].days[2].text%></span></a></td>',
|
69 |
+
'<td class="<%=weeks[2].days[3].classname%>"><a href="#"><span><%=weeks[2].days[3].text%></span></a></td>',
|
70 |
+
'<td class="<%=weeks[2].days[4].classname%>"><a href="#"><span><%=weeks[2].days[4].text%></span></a></td>',
|
71 |
+
'<td class="<%=weeks[2].days[5].classname%>"><a href="#"><span><%=weeks[2].days[5].text%></span></a></td>',
|
72 |
+
'<td class="<%=weeks[2].days[6].classname%>"><a href="#"><span><%=weeks[2].days[6].text%></span></a></td>',
|
73 |
+
'</tr>',
|
74 |
+
'<tr>',
|
75 |
+
'<th class="datepickerWeek"><a href="#"><span><%=weeks[3].week%></span></a></th>',
|
76 |
+
'<td class="<%=weeks[3].days[0].classname%>"><a href="#"><span><%=weeks[3].days[0].text%></span></a></td>',
|
77 |
+
'<td class="<%=weeks[3].days[1].classname%>"><a href="#"><span><%=weeks[3].days[1].text%></span></a></td>',
|
78 |
+
'<td class="<%=weeks[3].days[2].classname%>"><a href="#"><span><%=weeks[3].days[2].text%></span></a></td>',
|
79 |
+
'<td class="<%=weeks[3].days[3].classname%>"><a href="#"><span><%=weeks[3].days[3].text%></span></a></td>',
|
80 |
+
'<td class="<%=weeks[3].days[4].classname%>"><a href="#"><span><%=weeks[3].days[4].text%></span></a></td>',
|
81 |
+
'<td class="<%=weeks[3].days[5].classname%>"><a href="#"><span><%=weeks[3].days[5].text%></span></a></td>',
|
82 |
+
'<td class="<%=weeks[3].days[6].classname%>"><a href="#"><span><%=weeks[3].days[6].text%></span></a></td>',
|
83 |
+
'</tr>',
|
84 |
+
'<tr>',
|
85 |
+
'<th class="datepickerWeek"><a href="#"><span><%=weeks[4].week%></span></a></th>',
|
86 |
+
'<td class="<%=weeks[4].days[0].classname%>"><a href="#"><span><%=weeks[4].days[0].text%></span></a></td>',
|
87 |
+
'<td class="<%=weeks[4].days[1].classname%>"><a href="#"><span><%=weeks[4].days[1].text%></span></a></td>',
|
88 |
+
'<td class="<%=weeks[4].days[2].classname%>"><a href="#"><span><%=weeks[4].days[2].text%></span></a></td>',
|
89 |
+
'<td class="<%=weeks[4].days[3].classname%>"><a href="#"><span><%=weeks[4].days[3].text%></span></a></td>',
|
90 |
+
'<td class="<%=weeks[4].days[4].classname%>"><a href="#"><span><%=weeks[4].days[4].text%></span></a></td>',
|
91 |
+
'<td class="<%=weeks[4].days[5].classname%>"><a href="#"><span><%=weeks[4].days[5].text%></span></a></td>',
|
92 |
+
'<td class="<%=weeks[4].days[6].classname%>"><a href="#"><span><%=weeks[4].days[6].text%></span></a></td>',
|
93 |
+
'</tr>',
|
94 |
+
'<tr>',
|
95 |
+
'<th class="datepickerWeek"><a href="#"><span><%=weeks[5].week%></span></a></th>',
|
96 |
+
'<td class="<%=weeks[5].days[0].classname%>"><a href="#"><span><%=weeks[5].days[0].text%></span></a></td>',
|
97 |
+
'<td class="<%=weeks[5].days[1].classname%>"><a href="#"><span><%=weeks[5].days[1].text%></span></a></td>',
|
98 |
+
'<td class="<%=weeks[5].days[2].classname%>"><a href="#"><span><%=weeks[5].days[2].text%></span></a></td>',
|
99 |
+
'<td class="<%=weeks[5].days[3].classname%>"><a href="#"><span><%=weeks[5].days[3].text%></span></a></td>',
|
100 |
+
'<td class="<%=weeks[5].days[4].classname%>"><a href="#"><span><%=weeks[5].days[4].text%></span></a></td>',
|
101 |
+
'<td class="<%=weeks[5].days[5].classname%>"><a href="#"><span><%=weeks[5].days[5].text%></span></a></td>',
|
102 |
+
'<td class="<%=weeks[5].days[6].classname%>"><a href="#"><span><%=weeks[5].days[6].text%></span></a></td>',
|
103 |
+
'</tr>',
|
104 |
+
'</tbody>'
|
105 |
+
],
|
106 |
+
months: [
|
107 |
+
'<tbody class="<%=className%>">',
|
108 |
+
'<tr>',
|
109 |
+
'<td colspan="2"><a href="#"><span><%=data[0]%></span></a></td>',
|
110 |
+
'<td colspan="2"><a href="#"><span><%=data[1]%></span></a></td>',
|
111 |
+
'<td colspan="2"><a href="#"><span><%=data[2]%></span></a></td>',
|
112 |
+
'<td colspan="2"><a href="#"><span><%=data[3]%></span></a></td>',
|
113 |
+
'</tr>',
|
114 |
+
'<tr>',
|
115 |
+
'<td colspan="2"><a href="#"><span><%=data[4]%></span></a></td>',
|
116 |
+
'<td colspan="2"><a href="#"><span><%=data[5]%></span></a></td>',
|
117 |
+
'<td colspan="2"><a href="#"><span><%=data[6]%></span></a></td>',
|
118 |
+
'<td colspan="2"><a href="#"><span><%=data[7]%></span></a></td>',
|
119 |
+
'</tr>',
|
120 |
+
'<tr>',
|
121 |
+
'<td colspan="2"><a href="#"><span><%=data[8]%></span></a></td>',
|
122 |
+
'<td colspan="2"><a href="#"><span><%=data[9]%></span></a></td>',
|
123 |
+
'<td colspan="2"><a href="#"><span><%=data[10]%></span></a></td>',
|
124 |
+
'<td colspan="2"><a href="#"><span><%=data[11]%></span></a></td>',
|
125 |
+
'</tr>',
|
126 |
+
'</tbody>'
|
127 |
+
]
|
128 |
+
},
|
129 |
+
defaults = {
|
130 |
+
flat: false,
|
131 |
+
starts: 1,
|
132 |
+
prev: '◀',
|
133 |
+
next: '▶',
|
134 |
+
lastSel: false,
|
135 |
+
mode: 'single',
|
136 |
+
view: 'days',
|
137 |
+
calendars: 1,
|
138 |
+
format: 'Y-m-d',
|
139 |
+
position: 'bottom',
|
140 |
+
eventName: 'click',
|
141 |
+
onRender: function(){return {};},
|
142 |
+
onChange: function(){return true;},
|
143 |
+
onShow: function(){return true;},
|
144 |
+
onBeforeShow: function(){return true;},
|
145 |
+
onHide: function(){return true;},
|
146 |
+
locale: {
|
147 |
+
days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
|
148 |
+
daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
|
149 |
+
daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
|
150 |
+
months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
|
151 |
+
monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
|
152 |
+
weekMin: 'wk'
|
153 |
+
}
|
154 |
+
},
|
155 |
+
fill = function(el) {
|
156 |
+
var options = $(el).data('datepicker');
|
157 |
+
var cal = $(el);
|
158 |
+
var currentCal = Math.floor(options.calendars/2), date, data, dow, month, cnt = 0, week, days, indic, indic2, html, tblCal;
|
159 |
+
cal.find('td>table tbody').remove();
|
160 |
+
for (var i = 0; i < options.calendars; i++) {
|
161 |
+
date = new Date(options.current);
|
162 |
+
date.addMonths(-currentCal + i);
|
163 |
+
tblCal = cal.find('table').eq(i+1);
|
164 |
+
switch (tblCal[0].className) {
|
165 |
+
case 'datepickerViewDays':
|
166 |
+
dow = formatDate(date, 'B, Y');
|
167 |
+
break;
|
168 |
+
case 'datepickerViewMonths':
|
169 |
+
dow = date.getFullYear();
|
170 |
+
break;
|
171 |
+
case 'datepickerViewYears':
|
172 |
+
dow = (date.getFullYear()-6) + ' - ' + (date.getFullYear()+5);
|
173 |
+
break;
|
174 |
+
}
|
175 |
+
tblCal.find('thead tr:first th:eq(1) span').text(dow);
|
176 |
+
dow = date.getFullYear()-6;
|
177 |
+
data = {
|
178 |
+
data: [],
|
179 |
+
className: 'datepickerYears'
|
180 |
+
}
|
181 |
+
for ( var j = 0; j < 12; j++) {
|
182 |
+
data.data.push(dow + j);
|
183 |
+
}
|
184 |
+
html = tmpl(tpl.months.join(''), data);
|
185 |
+
date.setDate(1);
|
186 |
+
data = {weeks:[], test: 10};
|
187 |
+
month = date.getMonth();
|
188 |
+
var dow = (date.getDay() - options.starts) % 7;
|
189 |
+
date.addDays(-(dow + (dow < 0 ? 7 : 0)));
|
190 |
+
week = -1;
|
191 |
+
cnt = 0;
|
192 |
+
while (cnt < 42) {
|
193 |
+
indic = parseInt(cnt/7,10);
|
194 |
+
indic2 = cnt%7;
|
195 |
+
if (!data.weeks[indic]) {
|
196 |
+
week = date.getWeekNumber();
|
197 |
+
data.weeks[indic] = {
|
198 |
+
week: week,
|
199 |
+
days: []
|
200 |
+
};
|
201 |
+
}
|
202 |
+
data.weeks[indic].days[indic2] = {
|
203 |
+
text: date.getDate(),
|
204 |
+
classname: []
|
205 |
+
};
|
206 |
+
if (month != date.getMonth()) {
|
207 |
+
data.weeks[indic].days[indic2].classname.push('datepickerNotInMonth');
|
208 |
+
}
|
209 |
+
if (date.getDay() == 0) {
|
210 |
+
data.weeks[indic].days[indic2].classname.push('datepickerSunday');
|
211 |
+
}
|
212 |
+
if (date.getDay() == 6) {
|
213 |
+
data.weeks[indic].days[indic2].classname.push('datepickerSaturday');
|
214 |
+
}
|
215 |
+
var fromUser = options.onRender(date);
|
216 |
+
var val = date.valueOf();
|
217 |
+
if (fromUser.selected || options.date == val || $.inArray(val, options.date) > -1 || (options.mode == 'range' && val >= options.date[0] && val <= options.date[1])) {
|
218 |
+
data.weeks[indic].days[indic2].classname.push('datepickerSelected');
|
219 |
+
}
|
220 |
+
if (fromUser.disabled) {
|
221 |
+
data.weeks[indic].days[indic2].classname.push('datepickerDisabled');
|
222 |
+
}
|
223 |
+
if (fromUser.className) {
|
224 |
+
data.weeks[indic].days[indic2].classname.push(fromUser.className);
|
225 |
+
}
|
226 |
+
data.weeks[indic].days[indic2].classname = data.weeks[indic].days[indic2].classname.join(' ');
|
227 |
+
cnt++;
|
228 |
+
date.addDays(1);
|
229 |
+
}
|
230 |
+
html = tmpl(tpl.days.join(''), data) + html;
|
231 |
+
data = {
|
232 |
+
data: options.locale.monthsShort,
|
233 |
+
className: 'datepickerMonths'
|
234 |
+
};
|
235 |
+
html = tmpl(tpl.months.join(''), data) + html;
|
236 |
+
tblCal.append(html);
|
237 |
+
}
|
238 |
+
},
|
239 |
+
parseDate = function (date, format) {
|
240 |
+
if (date.constructor == Date) {
|
241 |
+
return new Date(date);
|
242 |
+
}
|
243 |
+
var parts = date.split(/\W+/);
|
244 |
+
var against = format.split(/\W+/), d, m, y, h, min, now = new Date();
|
245 |
+
for (var i = 0; i < parts.length; i++) {
|
246 |
+
switch (against[i]) {
|
247 |
+
case 'd':
|
248 |
+
case 'e':
|
249 |
+
d = parseInt(parts[i],10);
|
250 |
+
break;
|
251 |
+
case 'm':
|
252 |
+
m = parseInt(parts[i], 10)-1;
|
253 |
+
break;
|
254 |
+
case 'Y':
|
255 |
+
case 'y':
|
256 |
+
y = parseInt(parts[i], 10);
|
257 |
+
y += y > 100 ? 0 : (y < 29 ? 2000 : 1900);
|
258 |
+
break;
|
259 |
+
case 'H':
|
260 |
+
case 'I':
|
261 |
+
case 'k':
|
262 |
+
case 'l':
|
263 |
+
h = parseInt(parts[i], 10);
|
264 |
+
break;
|
265 |
+
case 'P':
|
266 |
+
case 'p':
|
267 |
+
if (/pm/i.test(parts[i]) && h < 12) {
|
268 |
+
h += 12;
|
269 |
+
} else if (/am/i.test(parts[i]) && h >= 12) {
|
270 |
+
h -= 12;
|
271 |
+
}
|
272 |
+
break;
|
273 |
+
case 'M':
|
274 |
+
min = parseInt(parts[i], 10);
|
275 |
+
break;
|
276 |
+
}
|
277 |
+
}
|
278 |
+
return new Date(
|
279 |
+
y === undefined ? now.getFullYear() : y,
|
280 |
+
m === undefined ? now.getMonth() : m,
|
281 |
+
d === undefined ? now.getDate() : d,
|
282 |
+
h === undefined ? now.getHours() : h,
|
283 |
+
min === undefined ? now.getMinutes() : min,
|
284 |
+
0
|
285 |
+
);
|
286 |
+
},
|
287 |
+
formatDate = function(date, format) {
|
288 |
+
var m = date.getMonth();
|
289 |
+
var d = date.getDate();
|
290 |
+
var y = date.getFullYear();
|
291 |
+
var wn = date.getWeekNumber();
|
292 |
+
var w = date.getDay();
|
293 |
+
var s = {};
|
294 |
+
var hr = date.getHours();
|
295 |
+
var pm = (hr >= 12);
|
296 |
+
var ir = (pm) ? (hr - 12) : hr;
|
297 |
+
var dy = date.getDayOfYear();
|
298 |
+
if (ir == 0) {
|
299 |
+
ir = 12;
|
300 |
+
}
|
301 |
+
var min = date.getMinutes();
|
302 |
+
var sec = date.getSeconds();
|
303 |
+
var parts = format.split(''), part;
|
304 |
+
for ( var i = 0; i < parts.length; i++ ) {
|
305 |
+
part = parts[i];
|
306 |
+
switch (parts[i]) {
|
307 |
+
case 'a':
|
308 |
+
part = date.getDayName();
|
309 |
+
break;
|
310 |
+
case 'A':
|
311 |
+
part = date.getDayName(true);
|
312 |
+
break;
|
313 |
+
case 'b':
|
314 |
+
part = date.getMonthName();
|
315 |
+
break;
|
316 |
+
case 'B':
|
317 |
+
part = date.getMonthName(true);
|
318 |
+
break;
|
319 |
+
case 'C':
|
320 |
+
part = 1 + Math.floor(y / 100);
|
321 |
+
break;
|
322 |
+
case 'd':
|
323 |
+
part = (d < 10) ? ("0" + d) : d;
|
324 |
+
break;
|
325 |
+
case 'e':
|
326 |
+
part = d;
|
327 |
+
break;
|
328 |
+
case 'H':
|
329 |
+
part = (hr < 10) ? ("0" + hr) : hr;
|
330 |
+
break;
|
331 |
+
case 'I':
|
332 |
+
part = (ir < 10) ? ("0" + ir) : ir;
|
333 |
+
break;
|
334 |
+
case 'j':
|
335 |
+
part = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy;
|
336 |
+
break;
|
337 |
+
case 'k':
|
338 |
+
part = hr;
|
339 |
+
break;
|
340 |
+
case 'l':
|
341 |
+
part = ir;
|
342 |
+
break;
|
343 |
+
case 'm':
|
344 |
+
part = (m < 9) ? ("0" + (1+m)) : (1+m);
|
345 |
+
break;
|
346 |
+
case 'M':
|
347 |
+
part = (min < 10) ? ("0" + min) : min;
|
348 |
+
break;
|
349 |
+
case 'p':
|
350 |
+
case 'P':
|
351 |
+
part = pm ? "PM" : "AM";
|
352 |
+
break;
|
353 |
+
case 's':
|
354 |
+
part = Math.floor(date.getTime() / 1000);
|
355 |
+
break;
|
356 |
+
case 'S':
|
357 |
+
part = (sec < 10) ? ("0" + sec) : sec;
|
358 |
+
break;
|
359 |
+
case 'u':
|
360 |
+
part = w + 1;
|
361 |
+
break;
|
362 |
+
case 'w':
|
363 |
+
part = w;
|
364 |
+
break;
|
365 |
+
case 'y':
|
366 |
+
part = ('' + y).substr(2, 2);
|
367 |
+
break;
|
368 |
+
case 'Y':
|
369 |
+
part = y;
|
370 |
+
break;
|
371 |
+
}
|
372 |
+
parts[i] = part;
|
373 |
+
}
|
374 |
+
return parts.join('');
|
375 |
+
},
|
376 |
+
extendDate = function(options) {
|
377 |
+
if (Date.prototype.tempDate) {
|
378 |
+
return;
|
379 |
+
}
|
380 |
+
Date.prototype.tempDate = null;
|
381 |
+
Date.prototype.months = options.months;
|
382 |
+
Date.prototype.monthsShort = options.monthsShort;
|
383 |
+
Date.prototype.days = options.days;
|
384 |
+
Date.prototype.daysShort = options.daysShort;
|
385 |
+
Date.prototype.getMonthName = function(fullName) {
|
386 |
+
return this[fullName ? 'months' : 'monthsShort'][this.getMonth()];
|
387 |
+
};
|
388 |
+
Date.prototype.getDayName = function(fullName) {
|
389 |
+
return this[fullName ? 'days' : 'daysShort'][this.getDay()];
|
390 |
+
};
|
391 |
+
Date.prototype.addDays = function (n) {
|
392 |
+
this.setDate(this.getDate() + n);
|
393 |
+
this.tempDate = this.getDate();
|
394 |
+
};
|
395 |
+
Date.prototype.addMonths = function (n) {
|
396 |
+
if (this.tempDate == null) {
|
397 |
+
this.tempDate = this.getDate();
|
398 |
+
}
|
399 |
+
this.setDate(1);
|
400 |
+
this.setMonth(this.getMonth() + n);
|
401 |
+
this.setDate(Math.min(this.tempDate, this.getMaxDays()));
|
402 |
+
};
|
403 |
+
Date.prototype.addYears = function (n) {
|
404 |
+
if (this.tempDate == null) {
|
405 |
+
this.tempDate = this.getDate();
|
406 |
+
}
|
407 |
+
this.setDate(1);
|
408 |
+
this.setFullYear(this.getFullYear() + n);
|
409 |
+
this.setDate(Math.min(this.tempDate, this.getMaxDays()));
|
410 |
+
};
|
411 |
+
Date.prototype.getMaxDays = function() {
|
412 |
+
var tmpDate = new Date(Date.parse(this)),
|
413 |
+
d = 28, m;
|
414 |
+
m = tmpDate.getMonth();
|
415 |
+
d = 28;
|
416 |
+
while (tmpDate.getMonth() == m) {
|
417 |
+
d ++;
|
418 |
+
tmpDate.setDate(d);
|
419 |
+
}
|
420 |
+
return d - 1;
|
421 |
+
};
|
422 |
+
Date.prototype.getFirstDay = function() {
|
423 |
+
var tmpDate = new Date(Date.parse(this));
|
424 |
+
tmpDate.setDate(1);
|
425 |
+
return tmpDate.getDay();
|
426 |
+
};
|
427 |
+
Date.prototype.getWeekNumber = function() {
|
428 |
+
var tempDate = new Date(this);
|
429 |
+
tempDate.setDate(tempDate.getDate() - (tempDate.getDay() + 6) % 7 + 3);
|
430 |
+
var dms = tempDate.valueOf();
|
431 |
+
tempDate.setMonth(0);
|
432 |
+
tempDate.setDate(4);
|
433 |
+
return Math.round((dms - tempDate.valueOf()) / (604800000)) + 1;
|
434 |
+
};
|
435 |
+
Date.prototype.getDayOfYear = function() {
|
436 |
+
var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
|
437 |
+
var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0);
|
438 |
+
var time = now - then;
|
439 |
+
return Math.floor(time / 24*60*60*1000);
|
440 |
+
};
|
441 |
+
},
|
442 |
+
layout = function (el) {
|
443 |
+
var options = $(el).data('datepicker');
|
444 |
+
var cal = $('#' + options.id);
|
445 |
+
if (!options.extraHeight) {
|
446 |
+
var divs = $(el).find('div');
|
447 |
+
options.extraHeight = divs.get(0).offsetHeight + divs.get(1).offsetHeight;
|
448 |
+
options.extraWidth = divs.get(2).offsetWidth + divs.get(3).offsetWidth;
|
449 |
+
}
|
450 |
+
var tbl = cal.find('table:first').get(0);
|
451 |
+
var width = tbl.offsetWidth;
|
452 |
+
var height = tbl.offsetHeight;
|
453 |
+
cal.css({
|
454 |
+
width: width + options.extraWidth + 'px',
|
455 |
+
height: height + options.extraHeight + 'px'
|
456 |
+
}).find('div.datepickerContainer').css({
|
457 |
+
width: width + 'px',
|
458 |
+
height: height + 'px'
|
459 |
+
});
|
460 |
+
},
|
461 |
+
click = function(ev) {
|
462 |
+
if ($(ev.target).is('span')) {
|
463 |
+
ev.target = ev.target.parentNode;
|
464 |
+
}
|
465 |
+
var el = $(ev.target);
|
466 |
+
if (el.is('a')) {
|
467 |
+
ev.target.blur();
|
468 |
+
if (el.hasClass('datepickerDisabled')) {
|
469 |
+
return false;
|
470 |
+
}
|
471 |
+
var options = $(this).data('datepicker');
|
472 |
+
var parentEl = el.parent();
|
473 |
+
var tblEl = parentEl.parent().parent().parent();
|
474 |
+
var tblIndex = $('table', this).index(tblEl.get(0)) - 1;
|
475 |
+
var tmp = new Date(options.current);
|
476 |
+
var changed = false;
|
477 |
+
var fillIt = false;
|
478 |
+
if (parentEl.is('th')) {
|
479 |
+
if (parentEl.hasClass('datepickerWeek') && options.mode == 'range' && !parentEl.next().hasClass('datepickerDisabled')) {
|
480 |
+
var val = parseInt(parentEl.next().text(), 10);
|
481 |
+
tmp.addMonths(tblIndex - Math.floor(options.calendars/2));
|
482 |
+
if (parentEl.next().hasClass('datepickerNotInMonth')) {
|
483 |
+
tmp.addMonths(val > 15 ? -1 : 1);
|
484 |
+
}
|
485 |
+
tmp.setDate(val);
|
486 |
+
options.date[0] = (tmp.setHours(0,0,0,0)).valueOf();
|
487 |
+
tmp.setHours(23,59,59,0);
|
488 |
+
tmp.addDays(6);
|
489 |
+
options.date[1] = tmp.valueOf();
|
490 |
+
fillIt = true;
|
491 |
+
changed = true;
|
492 |
+
options.lastSel = false;
|
493 |
+
} else if (parentEl.hasClass('datepickerMonth')) {
|
494 |
+
tmp.addMonths(tblIndex - Math.floor(options.calendars/2));
|
495 |
+
switch (tblEl.get(0).className) {
|
496 |
+
case 'datepickerViewDays':
|
497 |
+
tblEl.get(0).className = 'datepickerViewMonths';
|
498 |
+
el.find('span').text(tmp.getFullYear());
|
499 |
+
break;
|
500 |
+
case 'datepickerViewMonths':
|
501 |
+
tblEl.get(0).className = 'datepickerViewYears';
|
502 |
+
el.find('span').text((tmp.getFullYear()-6) + ' - ' + (tmp.getFullYear()+5));
|
503 |
+
break;
|
504 |
+
case 'datepickerViewYears':
|
505 |
+
tblEl.get(0).className = 'datepickerViewDays';
|
506 |
+
el.find('span').text(formatDate(tmp, 'B, Y'));
|
507 |
+
break;
|
508 |
+
}
|
509 |
+
} else if (parentEl.parent().parent().is('thead')) {
|
510 |
+
switch (tblEl.get(0).className) {
|
511 |
+
case 'datepickerViewDays':
|
512 |
+
options.current.addMonths(parentEl.hasClass('datepickerGoPrev') ? -1 : 1);
|
513 |
+
break;
|
514 |
+
case 'datepickerViewMonths':
|
515 |
+
options.current.addYears(parentEl.hasClass('datepickerGoPrev') ? -1 : 1);
|
516 |
+
break;
|
517 |
+
case 'datepickerViewYears':
|
518 |
+
options.current.addYears(parentEl.hasClass('datepickerGoPrev') ? -12 : 12);
|
519 |
+
break;
|
520 |
+
}
|
521 |
+
fillIt = true;
|
522 |
+
}
|
523 |
+
} else if (parentEl.is('td') && !parentEl.hasClass('datepickerDisabled')) {
|
524 |
+
switch (tblEl.get(0).className) {
|
525 |
+
case 'datepickerViewMonths':
|
526 |
+
options.current.setMonth(tblEl.find('tbody.datepickerMonths td').index(parentEl));
|
527 |
+
options.current.setFullYear(parseInt(tblEl.find('thead th.datepickerMonth span').text(), 10));
|
528 |
+
options.current.addMonths(Math.floor(options.calendars/2) - tblIndex);
|
529 |
+
tblEl.get(0).className = 'datepickerViewDays';
|
530 |
+
break;
|
531 |
+
case 'datepickerViewYears':
|
532 |
+
options.current.setFullYear(parseInt(el.text(), 10));
|
533 |
+
tblEl.get(0).className = 'datepickerViewMonths';
|
534 |
+
break;
|
535 |
+
default:
|
536 |
+
var val = parseInt(el.text(), 10);
|
537 |
+
tmp.addMonths(tblIndex - Math.floor(options.calendars/2));
|
538 |
+
if (parentEl.hasClass('datepickerNotInMonth')) {
|
539 |
+
tmp.addMonths(val > 15 ? -1 : 1);
|
540 |
+
}
|
541 |
+
tmp.setDate(val);
|
542 |
+
switch (options.mode) {
|
543 |
+
case 'multiple':
|
544 |
+
val = (tmp.setHours(0,0,0,0)).valueOf();
|
545 |
+
if ($.inArray(val, options.date) > -1) {
|
546 |
+
$.each(options.date, function(nr, dat){
|
547 |
+
if (dat == val) {
|
548 |
+
options.date.splice(nr,1);
|
549 |
+
return false;
|
550 |
+
}
|
551 |
+
});
|
552 |
+
} else {
|
553 |
+
options.date.push(val);
|
554 |
+
}
|
555 |
+
break;
|
556 |
+
case 'range':
|
557 |
+
if (!options.lastSel) {
|
558 |
+
options.date[0] = (tmp.setHours(0,0,0,0)).valueOf();
|
559 |
+
}
|
560 |
+
val = (tmp.setHours(23,59,59,0)).valueOf();
|
561 |
+
if (val < options.date[0]) {
|
562 |
+
options.date[1] = options.date[0] + 86399000;
|
563 |
+
options.date[0] = val - 86399000;
|
564 |
+
} else {
|
565 |
+
options.date[1] = val;
|
566 |
+
}
|
567 |
+
options.lastSel = !options.lastSel;
|
568 |
+
break;
|
569 |
+
default:
|
570 |
+
options.date = tmp.valueOf();
|
571 |
+
break;
|
572 |
+
}
|
573 |
+
break;
|
574 |
+
}
|
575 |
+
fillIt = true;
|
576 |
+
changed = true;
|
577 |
+
}
|
578 |
+
if (fillIt) {
|
579 |
+
fill(this);
|
580 |
+
}
|
581 |
+
if (changed) {
|
582 |
+
options.onChange.apply(this, prepareDate(options));
|
583 |
+
}
|
584 |
+
}
|
585 |
+
return false;
|
586 |
+
},
|
587 |
+
prepareDate = function (options) {
|
588 |
+
var tmp;
|
589 |
+
if (options.mode == 'single') {
|
590 |
+
tmp = new Date(options.date);
|
591 |
+
return [formatDate(tmp, options.format), tmp, options.el];
|
592 |
+
} else {
|
593 |
+
tmp = [[],[], options.el];
|
594 |
+
$.each(options.date, function(nr, val){
|
595 |
+
var date = new Date(val);
|
596 |
+
tmp[0].push(formatDate(date, options.format));
|
597 |
+
tmp[1].push(date);
|
598 |
+
});
|
599 |
+
return tmp;
|
600 |
+
}
|
601 |
+
},
|
602 |
+
getViewport = function () {
|
603 |
+
var m = document.compatMode == 'CSS1Compat';
|
604 |
+
return {
|
605 |
+
l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft),
|
606 |
+
t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop),
|
607 |
+
w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth),
|
608 |
+
h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight)
|
609 |
+
};
|
610 |
+
},
|
611 |
+
isChildOf = function(parentEl, el, container) {
|
612 |
+
if (parentEl == el) {
|
613 |
+
return true;
|
614 |
+
}
|
615 |
+
if (parentEl.contains) {
|
616 |
+
return parentEl.contains(el);
|
617 |
+
}
|
618 |
+
if ( parentEl.compareDocumentPosition ) {
|
619 |
+
return !!(parentEl.compareDocumentPosition(el) & 16);
|
620 |
+
}
|
621 |
+
var prEl = el.parentNode;
|
622 |
+
while(prEl && prEl != container) {
|
623 |
+
if (prEl == parentEl)
|
624 |
+
return true;
|
625 |
+
prEl = prEl.parentNode;
|
626 |
+
}
|
627 |
+
return false;
|
628 |
+
},
|
629 |
+
show = function (ev) {
|
630 |
+
var cal = $('#' + $(this).data('datepickerId'));
|
631 |
+
if (!cal.is(':visible')) {
|
632 |
+
var calEl = cal.get(0);
|
633 |
+
fill(calEl);
|
634 |
+
var options = cal.data('datepicker');
|
635 |
+
options.onBeforeShow.apply(this, [cal.get(0)]);
|
636 |
+
var pos = $(this).offset();
|
637 |
+
var viewPort = getViewport();
|
638 |
+
var top = pos.top;
|
639 |
+
var left = pos.left;
|
640 |
+
var oldDisplay = $.curCSS(calEl, 'display');
|
641 |
+
cal.css({
|
642 |
+
visibility: 'hidden',
|
643 |
+
display: 'block'
|
644 |
+
});
|
645 |
+
layout(calEl);
|
646 |
+
switch (options.position){
|
647 |
+
case 'top':
|
648 |
+
top -= calEl.offsetHeight;
|
649 |
+
break;
|
650 |
+
case 'left':
|
651 |
+
left -= calEl.offsetWidth;
|
652 |
+
break;
|
653 |
+
case 'right':
|
654 |
+
left += this.offsetWidth;
|
655 |
+
break;
|
656 |
+
case 'bottom':
|
657 |
+
top += this.offsetHeight;
|
658 |
+
break;
|
659 |
+
}
|
660 |
+
if (top + calEl.offsetHeight > viewPort.t + viewPort.h) {
|
661 |
+
top = pos.top - calEl.offsetHeight;
|
662 |
+
}
|
663 |
+
if (top < viewPort.t) {
|
664 |
+
top = pos.top + this.offsetHeight + calEl.offsetHeight;
|
665 |
+
}
|
666 |
+
if (left + calEl.offsetWidth > viewPort.l + viewPort.w) {
|
667 |
+
left = pos.left - calEl.offsetWidth;
|
668 |
+
}
|
669 |
+
if (left < viewPort.l) {
|
670 |
+
left = pos.left + this.offsetWidth
|
671 |
+
}
|
672 |
+
cal.css({
|
673 |
+
visibility: 'visible',
|
674 |
+
display: 'block',
|
675 |
+
top: top + 'px',
|
676 |
+
left: left + 'px'
|
677 |
+
});
|
678 |
+
if (options.onShow.apply(this, [cal.get(0)]) != false) {
|
679 |
+
cal.show();
|
680 |
+
}
|
681 |
+
$(document).bind('mousedown', {cal: cal, trigger: this}, hide);
|
682 |
+
}
|
683 |
+
return false;
|
684 |
+
},
|
685 |
+
hide = function (ev) {
|
686 |
+
if (ev.target != ev.data.trigger && !isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) {
|
687 |
+
if (ev.data.cal.data('datepicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) {
|
688 |
+
ev.data.cal.hide();
|
689 |
+
}
|
690 |
+
$(document).unbind('mousedown', hide);
|
691 |
+
}
|
692 |
+
};
|
693 |
+
return {
|
694 |
+
init: function(options){
|
695 |
+
options = $.extend({}, defaults, options||{});
|
696 |
+
extendDate(options.locale);
|
697 |
+
options.calendars = Math.max(1, parseInt(options.calendars,10)||1);
|
698 |
+
options.mode = /single|multiple|range/.test(options.mode) ? options.mode : 'single';
|
699 |
+
return this.each(function(){
|
700 |
+
if (!$(this).data('datepicker')) {
|
701 |
+
options.el = this;
|
702 |
+
if (options.date.constructor == String) {
|
703 |
+
options.date = parseDate(options.date, options.format);
|
704 |
+
options.date.setHours(0,0,0,0);
|
705 |
+
}
|
706 |
+
if (options.mode != 'single') {
|
707 |
+
if (options.date.constructor != Array) {
|
708 |
+
options.date = [options.date.valueOf()];
|
709 |
+
if (options.mode == 'range') {
|
710 |
+
options.date.push(((new Date(options.date[0])).setHours(23,59,59,0)).valueOf());
|
711 |
+
}
|
712 |
+
} else {
|
713 |
+
for (var i = 0; i < options.date.length; i++) {
|
714 |
+
options.date[i] = (parseDate(options.date[i], options.format).setHours(0,0,0,0)).valueOf();
|
715 |
+
}
|
716 |
+
if (options.mode == 'range') {
|
717 |
+
options.date[1] = ((new Date(options.date[1])).setHours(23,59,59,0)).valueOf();
|
718 |
+
}
|
719 |
+
}
|
720 |
+
} else {
|
721 |
+
options.date = options.date.valueOf();
|
722 |
+
}
|
723 |
+
if (!options.current) {
|
724 |
+
options.current = new Date();
|
725 |
+
} else {
|
726 |
+
options.current = parseDate(options.current, options.format);
|
727 |
+
}
|
728 |
+
options.current.setDate(1);
|
729 |
+
options.current.setHours(0,0,0,0);
|
730 |
+
var id = 'datepicker_' + parseInt(Math.random() * 1000), cnt;
|
731 |
+
options.id = id;
|
732 |
+
$(this).data('datepickerId', options.id);
|
733 |
+
var cal = $(tpl.wrapper).attr('id', id).bind('click', click).data('datepicker', options);
|
734 |
+
if (options.className) {
|
735 |
+
cal.addClass(options.className);
|
736 |
+
}
|
737 |
+
var html = '';
|
738 |
+
for (var i = 0; i < options.calendars; i++) {
|
739 |
+
cnt = options.starts;
|
740 |
+
if (i > 0) {
|
741 |
+
html += tpl.space;
|
742 |
+
}
|
743 |
+
html += tmpl(tpl.head.join(''), {
|
744 |
+
week: options.locale.weekMin,
|
745 |
+
prev: options.prev,
|
746 |
+
next: options.next,
|
747 |
+
day1: options.locale.daysMin[(cnt++)%7],
|
748 |
+
day2: options.locale.daysMin[(cnt++)%7],
|
749 |
+
day3: options.locale.daysMin[(cnt++)%7],
|
750 |
+
day4: options.locale.daysMin[(cnt++)%7],
|
751 |
+
day5: options.locale.daysMin[(cnt++)%7],
|
752 |
+
day6: options.locale.daysMin[(cnt++)%7],
|
753 |
+
day7: options.locale.daysMin[(cnt++)%7]
|
754 |
+
});
|
755 |
+
}
|
756 |
+
cal
|
757 |
+
.find('tr:first').append(html)
|
758 |
+
.find('table').addClass(views[options.view]);
|
759 |
+
fill(cal.get(0));
|
760 |
+
if (options.flat) {
|
761 |
+
cal.appendTo(this).show().css('position', 'relative');
|
762 |
+
layout(cal.get(0));
|
763 |
+
} else {
|
764 |
+
cal.appendTo(document.body);
|
765 |
+
$(this).bind(options.eventName, show);
|
766 |
+
}
|
767 |
+
}
|
768 |
+
});
|
769 |
+
},
|
770 |
+
showPicker: function() {
|
771 |
+
return this.each( function () {
|
772 |
+
if ($(this).data('datepickerId')) {
|
773 |
+
show.apply(this);
|
774 |
+
}
|
775 |
+
});
|
776 |
+
},
|
777 |
+
hidePicker: function() {
|
778 |
+
return this.each( function () {
|
779 |
+
if ($(this).data('datepickerId')) {
|
780 |
+
$('#' + $(this).data('datepickerId')).hide();
|
781 |
+
}
|
782 |
+
});
|
783 |
+
},
|
784 |
+
setDate: function(date, shiftTo){
|
785 |
+
return this.each(function(){
|
786 |
+
if ($(this).data('datepickerId')) {
|
787 |
+
var cal = $('#' + $(this).data('datepickerId'));
|
788 |
+
var options = cal.data('datepicker');
|
789 |
+
options.date = date;
|
790 |
+
if (options.date.constructor == String) {
|
791 |
+
options.date = parseDate(options.date, options.format);
|
792 |
+
options.date.setHours(0,0,0,0);
|
793 |
+
}
|
794 |
+
if (options.mode != 'single') {
|
795 |
+
if (options.date.constructor != Array) {
|
796 |
+
options.date = [options.date.valueOf()];
|
797 |
+
if (options.mode == 'range') {
|
798 |
+
options.date.push(((new Date(options.date[0])).setHours(23,59,59,0)).valueOf());
|
799 |
+
}
|
800 |
+
} else {
|
801 |
+
for (var i = 0; i < options.date.length; i++) {
|
802 |
+
options.date[i] = (parseDate(options.date[i], options.format).setHours(0,0,0,0)).valueOf();
|
803 |
+
}
|
804 |
+
if (options.mode == 'range') {
|
805 |
+
options.date[1] = ((new Date(options.date[1])).setHours(23,59,59,0)).valueOf();
|
806 |
+
}
|
807 |
+
}
|
808 |
+
} else {
|
809 |
+
options.date = options.date.valueOf();
|
810 |
+
}
|
811 |
+
if (shiftTo) {
|
812 |
+
options.current = new Date (options.mode != 'single' ? options.date[0] : options.date);
|
813 |
+
}
|
814 |
+
fill(cal.get(0));
|
815 |
+
}
|
816 |
+
});
|
817 |
+
},
|
818 |
+
getDate: function(formated) {
|
819 |
+
if (this.size() > 0) {
|
820 |
+
return prepareDate($('#' + $(this).data('datepickerId')).data('datepicker'))[formated ? 0 : 1];
|
821 |
+
}
|
822 |
+
},
|
823 |
+
clear: function(){
|
824 |
+
return this.each(function(){
|
825 |
+
if ($(this).data('datepickerId')) {
|
826 |
+
var cal = $('#' + $(this).data('datepickerId'));
|
827 |
+
var options = cal.data('datepicker');
|
828 |
+
if (options.mode != 'single') {
|
829 |
+
options.date = [];
|
830 |
+
fill(cal.get(0));
|
831 |
+
}
|
832 |
+
}
|
833 |
+
});
|
834 |
+
},
|
835 |
+
fixLayout: function(){
|
836 |
+
return this.each(function(){
|
837 |
+
if ($(this).data('datepickerId')) {
|
838 |
+
var cal = $('#' + $(this).data('datepickerId'));
|
839 |
+
var options = cal.data('datepicker');
|
840 |
+
if (options.flat) {
|
841 |
+
layout(cal.get(0));
|
842 |
+
}
|
843 |
+
}
|
844 |
+
});
|
845 |
+
}
|
846 |
+
};
|
847 |
+
}();
|
848 |
+
$.fn.extend({
|
849 |
+
DatePicker: DatePicker.init,
|
850 |
+
DatePickerHide: DatePicker.hidePicker,
|
851 |
+
DatePickerShow: DatePicker.showPicker,
|
852 |
+
DatePickerSetDate: DatePicker.setDate,
|
853 |
+
DatePickerGetDate: DatePicker.getDate,
|
854 |
+
DatePickerClear: DatePicker.clear,
|
855 |
+
DatePickerLayout: DatePicker.fixLayout
|
856 |
+
});
|
857 |
+
})(jQuery);
|
858 |
+
|
859 |
+
(function(){
|
860 |
+
var cache = {};
|
861 |
+
|
862 |
+
this.tmpl = function tmpl(str, data){
|
863 |
+
// Figure out if we're getting a template, or if we need to
|
864 |
+
// load the template - and be sure to cache the result.
|
865 |
+
var fn = !/\W/.test(str) ?
|
866 |
+
cache[str] = cache[str] ||
|
867 |
+
tmpl(document.getElementById(str).innerHTML) :
|
868 |
+
|
869 |
+
// Generate a reusable function that will serve as a template
|
870 |
+
// generator (and which will be cached).
|
871 |
+
new Function("obj",
|
872 |
+
"var p=[],print=function(){p.push.apply(p,arguments);};" +
|
873 |
+
|
874 |
+
// Introduce the data as local variables using with(){}
|
875 |
+
"with(obj){p.push('" +
|
876 |
+
|
877 |
+
// Convert the template into pure JavaScript
|
878 |
+
str
|
879 |
+
.replace(/[\r\t\n]/g, " ")
|
880 |
+
.split("<%").join("\t")
|
881 |
+
.replace(/((^|%>)[^\t]*)'/g, "$1\r")
|
882 |
+
.replace(/\t=(.*?)%>/g, "',$1,'")
|
883 |
+
.split("\t").join("');")
|
884 |
+
.split("%>").join("p.push('")
|
885 |
+
.split("\r").join("\\'")
|
886 |
+
+ "');}return p.join('');");
|
887 |
+
|
888 |
+
// Provide some basic currying to the user
|
889 |
+
return data ? fn( data ) : fn;
|
890 |
+
};
|
891 |
+
})();
|
js/jquery-tools-1.2.5.min.js
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jQuery Tools 1.2.5 - The missing UI library for the Web
|
3 |
+
*
|
4 |
+
* [toolbox.flashembed, toolbox.history, toolbox.expose, toolbox.mousewheel, tabs, tabs.slideshow, tooltip, tooltip.slide, tooltip.dynamic, scrollable, scrollable.autoscroll, scrollable.navigator, overlay, overlay.apple, dateinput, rangeinput, validator]
|
5 |
+
*
|
6 |
+
* NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
|
7 |
+
*
|
8 |
+
* http://flowplayer.org/tools/
|
9 |
+
*
|
10 |
+
* jquery.event.wheel.js - rev 1
|
11 |
+
* Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
|
12 |
+
* Liscensed under the MIT License (MIT-LICENSE.txt)
|
13 |
+
* http://www.opensource.org/licenses/mit-license.php
|
14 |
+
* Created: 2008-07-01 | Updated: 2008-07-14
|
15 |
+
*
|
16 |
+
* -----
|
17 |
+
*
|
18 |
+
* File generated: Wed Sep 22 06:12:53 GMT 2010
|
19 |
+
*/
|
20 |
+
(function(){function f(a,b){if(b)for(var c in b)if(b.hasOwnProperty(c))a[c]=b[c];return a}function l(a,b){var c=[];for(var d in a)if(a.hasOwnProperty(d))c[d]=b(a[d]);return c}function m(a,b,c){if(e.isSupported(b.version))a.innerHTML=e.getHTML(b,c);else if(b.expressInstall&&e.isSupported([6,65]))a.innerHTML=e.getHTML(f(b,{src:b.expressInstall}),{MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title});else{if(!a.innerHTML.replace(/\s/g,"")){a.innerHTML="<h2>Flash version "+b.version+
|
21 |
+
" or greater is required</h2><h3>"+(g[0]>0?"Your version is "+g:"You have no flash plugin installed")+"</h3>"+(a.tagName=="A"?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='"+k+"'>here</a></p>");if(a.tagName=="A")a.onclick=function(){location.href=k}}if(b.onFail){var d=b.onFail.call(this);if(typeof d=="string")a.innerHTML=d}}if(i)window[b.id]=document.getElementById(b.id);f(this,{getRoot:function(){return a},getOptions:function(){return b},getConf:function(){return c},
|
22 |
+
getApi:function(){return a.firstChild}})}var i=document.all,k="http://www.adobe.com/go/getflashplayer",n=typeof jQuery=="function",o=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,j={width:"100%",height:"100%",id:"_"+(""+Math.random()).slice(9),allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:[3,0],onFail:null,expressInstall:null,w3c:false,cachebusting:false};window.attachEvent&&window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}});
|
23 |
+
window.flashembed=function(a,b,c){if(typeof a=="string")a=document.getElementById(a.replace("#",""));if(a){if(typeof b=="string")b={src:b};return new m(a,f(f({},j),b),c)}};var e=f(window.flashembed,{conf:j,getVersion:function(){var a,b;try{b=navigator.plugins["Shockwave Flash"].description.slice(16)}catch(c){try{b=(a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"))&&a.GetVariable("$version")}catch(d){try{b=(a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"))&&a.GetVariable("$version")}catch(h){}}}return(b=
|
24 |
+
o.exec(b))?[b[1],b[3]]:[0,0]},asString:function(a){if(a===null||a===undefined)return null;var b=typeof a;if(b=="object"&&a.push)b="array";switch(b){case "string":a=a.replace(new RegExp('(["\\\\])',"g"),"\\$1");a=a.replace(/^\s?(\d+\.?\d+)%/,"$1pct");return'"'+a+'"';case "array":return"["+l(a,function(d){return e.asString(d)}).join(",")+"]";case "function":return'"function()"';case "object":b=[];for(var c in a)a.hasOwnProperty(c)&&b.push('"'+c+'":'+e.asString(a[c]));return"{"+b.join(",")+"}"}return String(a).replace(/\s/g,
|
25 |
+
" ").replace(/\'/g,'"')},getHTML:function(a,b){a=f({},a);var c='<object width="'+a.width+'" height="'+a.height+'" id="'+a.id+'" name="'+a.id+'"';if(a.cachebusting)a.src+=(a.src.indexOf("?")!=-1?"&":"?")+Math.random();c+=a.w3c||!i?' data="'+a.src+'" type="application/x-shockwave-flash"':' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';c+=">";if(a.w3c||i)c+='<param name="movie" value="'+a.src+'" />';a.width=a.height=a.id=a.w3c=a.src=null;a.onFail=a.version=a.expressInstall=null;for(var d in a)if(a[d])c+=
|
26 |
+
'<param name="'+d+'" value="'+a[d]+'" />';a="";if(b){for(var h in b)if(b[h]){d=b[h];a+=h+"="+(/function|object/.test(typeof d)?e.asString(d):d)+"&"}a=a.slice(0,-1);c+='<param name="flashvars" value=\''+a+"' />"}c+="</object>";return c},isSupported:function(a){return g[0]>a[0]||g[0]==a[0]&&g[1]>=a[1]}}),g=e.getVersion();if(n){jQuery.tools=jQuery.tools||{version:"1.2.5"};jQuery.tools.flashembed={conf:j};jQuery.fn.flashembed=function(a,b){return this.each(function(){$(this).data("flashembed",flashembed(this,
|
27 |
+
a,b))})}}})();
|
28 |
+
(function(b){function h(c){if(c){var a=d.contentWindow.document;a.open().close();a.location.hash=c}}var g,d,f,i;b.tools=b.tools||{version:"1.2.5"};b.tools.history={init:function(c){if(!i){if(b.browser.msie&&b.browser.version<"8"){if(!d){d=b("<iframe/>").attr("src","javascript:false;").hide().get(0);b("body").append(d);setInterval(function(){var a=d.contentWindow.document;a=a.location.hash;g!==a&&b.event.trigger("hash",a)},100);h(location.hash||"#")}}else setInterval(function(){var a=location.hash;
|
29 |
+
a!==g&&b.event.trigger("hash",a)},100);f=!f?c:f.add(c);c.click(function(a){var e=b(this).attr("href");d&&h(e);if(e.slice(0,1)!="#"){location.href="#"+e;return a.preventDefault()}});i=true}}};b(window).bind("hash",function(c,a){a?f.filter(function(){var e=b(this).attr("href");return e==a||e==a.replace("#","")}).trigger("history",[a]):f.eq(0).trigger("history",[a]);g=a});b.fn.history=function(c){b.tools.history.init(this);return this.bind("history",c)}})(jQuery);
|
30 |
+
(function(b){function k(){if(b.browser.msie){var a=b(document).height(),d=b(window).height();return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,a-d<20?d:a]}return[b(document).width(),b(document).height()]}function h(a){if(a)return a.call(b.mask)}b.tools=b.tools||{version:"1.2.5"};var l;l=b.tools.expose={conf:{maskId:"exposeMask",loadSpeed:"slow",closeSpeed:"fast",closeOnClick:true,closeOnEsc:true,zIndex:9998,opacity:0.8,startOpacity:0,color:"#fff",onLoad:null,
|
31 |
+
onClose:null}};var c,i,e,g,j;b.mask={load:function(a,d){if(e)return this;if(typeof a=="string")a={color:a};a=a||g;g=a=b.extend(b.extend({},l.conf),a);c=b("#"+a.maskId);if(!c.length){c=b("<div/>").attr("id",a.maskId);b("body").append(c)}var m=k();c.css({position:"absolute",top:0,left:0,width:m[0],height:m[1],display:"none",opacity:a.startOpacity,zIndex:a.zIndex});a.color&&c.css("backgroundColor",a.color);if(h(a.onBeforeLoad)===false)return this;a.closeOnEsc&&b(document).bind("keydown.mask",function(f){f.keyCode==
|
32 |
+
27&&b.mask.close(f)});a.closeOnClick&&c.bind("click.mask",function(f){b.mask.close(f)});b(window).bind("resize.mask",function(){b.mask.fit()});if(d&&d.length){j=d.eq(0).css("zIndex");b.each(d,function(){var f=b(this);/relative|absolute|fixed/i.test(f.css("position"))||f.css("position","relative")});i=d.css({zIndex:Math.max(a.zIndex+1,j=="auto"?0:j)})}c.css({display:"block"}).fadeTo(a.loadSpeed,a.opacity,function(){b.mask.fit();h(a.onLoad);e="full"});e=true;return this},close:function(){if(e){if(h(g.onBeforeClose)===
|
33 |
+
false)return this;c.fadeOut(g.closeSpeed,function(){h(g.onClose);i&&i.css({zIndex:j});e=false});b(document).unbind("keydown.mask");c.unbind("click.mask");b(window).unbind("resize.mask")}return this},fit:function(){if(e){var a=k();c.css({width:a[0],height:a[1]})}},getMask:function(){return c},isLoaded:function(a){return a?e=="full":e},getConf:function(){return g},getExposed:function(){return i}};b.fn.mask=function(a){b.mask.load(a);return this};b.fn.expose=function(a){b.mask.load(a,this);return this}})(jQuery);
|
34 |
+
(function(b){function c(a){switch(a.type){case "mousemove":return b.extend(a.data,{clientX:a.clientX,clientY:a.clientY,pageX:a.pageX,pageY:a.pageY});case "DOMMouseScroll":b.extend(a,a.data);a.delta=-a.detail/3;break;case "mousewheel":a.delta=a.wheelDelta/120;break}a.type="wheel";return b.event.handle.call(this,a,a.delta)}b.fn.mousewheel=function(a){return this[a?"bind":"trigger"]("wheel",a)};b.event.special.wheel={setup:function(){b.event.add(this,d,c,{})},teardown:function(){b.event.remove(this,
|
35 |
+
d,c)}};var d=!b.browser.mozilla?"mousewheel":"DOMMouseScroll"+(b.browser.version<"1.9"?" mousemove":"")})(jQuery);
|
36 |
+
(function(c){function p(d,b,a){var e=this,l=d.add(this),h=d.find(a.tabs),i=b.jquery?b:d.children(b),j;h.length||(h=d.children());i.length||(i=d.parent().find(b));i.length||(i=c(b));c.extend(this,{click:function(f,g){var k=h.eq(f);if(typeof f=="string"&&f.replace("#","")){k=h.filter("[href*="+f.replace("#","")+"]");f=Math.max(h.index(k),0)}if(a.rotate){var n=h.length-1;if(f<0)return e.click(n,g);if(f>n)return e.click(0,g)}if(!k.length){if(j>=0)return e;f=a.initialIndex;k=h.eq(f)}if(f===j)return e;
|
37 |
+
g=g||c.Event();g.type="onBeforeClick";l.trigger(g,[f]);if(!g.isDefaultPrevented()){o[a.effect].call(e,f,function(){g.type="onClick";l.trigger(g,[f])});j=f;h.removeClass(a.current);k.addClass(a.current);return e}},getConf:function(){return a},getTabs:function(){return h},getPanes:function(){return i},getCurrentPane:function(){return i.eq(j)},getCurrentTab:function(){return h.eq(j)},getIndex:function(){return j},next:function(){return e.click(j+1)},prev:function(){return e.click(j-1)},destroy:function(){h.unbind(a.event).removeClass(a.current);
|
38 |
+
i.find("a[href^=#]").unbind("click.T");return e}});c.each("onBeforeClick,onClick".split(","),function(f,g){c.isFunction(a[g])&&c(e).bind(g,a[g]);e[g]=function(k){k&&c(e).bind(g,k);return e}});if(a.history&&c.fn.history){c.tools.history.init(h);a.event="history"}h.each(function(f){c(this).bind(a.event,function(g){e.click(f,g);return g.preventDefault()})});i.find("a[href^=#]").bind("click.T",function(f){e.click(c(this).attr("href"),f)});if(location.hash&&a.tabs=="a"&&d.find("[href="+location.hash+"]").length)e.click(location.hash);
|
39 |
+
else if(a.initialIndex===0||a.initialIndex>0)e.click(a.initialIndex)}c.tools=c.tools||{version:"1.2.5"};c.tools.tabs={conf:{tabs:"a",current:"current",onBeforeClick:null,onClick:null,effect:"default",initialIndex:0,event:"click",rotate:false,history:false},addEffect:function(d,b){o[d]=b}};var o={"default":function(d,b){this.getPanes().hide().eq(d).show();b.call()},fade:function(d,b){var a=this.getConf(),e=a.fadeOutSpeed,l=this.getPanes();e?l.fadeOut(e):l.hide();l.eq(d).fadeIn(a.fadeInSpeed,b)},slide:function(d,
|
40 |
+
b){this.getPanes().slideUp(200);this.getPanes().eq(d).slideDown(400,b)},ajax:function(d,b){this.getPanes().eq(0).load(this.getTabs().eq(d).attr("href"),b)}},m;c.tools.tabs.addEffect("horizontal",function(d,b){m||(m=this.getPanes().eq(0).width());this.getCurrentPane().animate({width:0},function(){c(this).hide()});this.getPanes().eq(d).animate({width:m},function(){c(this).show();b.call()})});c.fn.tabs=function(d,b){var a=this.data("tabs");if(a){a.destroy();this.removeData("tabs")}if(c.isFunction(b))b=
|
41 |
+
{onBeforeClick:b};b=c.extend({},c.tools.tabs.conf,b);this.each(function(){a=new p(c(this),d,b);c(this).data("tabs",a)});return b.api?a:this}})(jQuery);
|
42 |
+
(function(c){function p(g,a){function m(f){var e=c(f);return e.length<2?e:g.parent().find(f)}var b=this,i=g.add(this),d=g.data("tabs"),h,j=true,n=m(a.next).click(function(){d.next()}),k=m(a.prev).click(function(){d.prev()});c.extend(b,{getTabs:function(){return d},getConf:function(){return a},play:function(){if(h)return b;var f=c.Event("onBeforePlay");i.trigger(f);if(f.isDefaultPrevented())return b;h=setInterval(d.next,a.interval);j=false;i.trigger("onPlay");return b},pause:function(){if(!h)return b;
|
43 |
+
var f=c.Event("onBeforePause");i.trigger(f);if(f.isDefaultPrevented())return b;h=clearInterval(h);i.trigger("onPause");return b},stop:function(){b.pause();j=true}});c.each("onBeforePlay,onPlay,onBeforePause,onPause".split(","),function(f,e){c.isFunction(a[e])&&c(b).bind(e,a[e]);b[e]=function(q){return c(b).bind(e,q)}});a.autopause&&d.getTabs().add(n).add(k).add(d.getPanes()).hover(b.pause,function(){j||b.play()});a.autoplay&&b.play();a.clickable&&d.getPanes().click(function(){d.next()});if(!d.getConf().rotate){var l=
|
44 |
+
a.disabledClass;d.getIndex()||k.addClass(l);d.onBeforeClick(function(f,e){k.toggleClass(l,!e);n.toggleClass(l,e==d.getTabs().length-1)})}}var o;o=c.tools.tabs.slideshow={conf:{next:".forward",prev:".backward",disabledClass:"disabled",autoplay:false,autopause:true,interval:3E3,clickable:true,api:false}};c.fn.slideshow=function(g){var a=this.data("slideshow");if(a)return a;g=c.extend({},o.conf,g);this.each(function(){a=new p(c(this),g);c(this).data("slideshow",a)});return g.api?a:this}})(jQuery);
|
45 |
+
(function(f){function p(a,b,c){var h=c.relative?a.position().top:a.offset().top,d=c.relative?a.position().left:a.offset().left,i=c.position[0];h-=b.outerHeight()-c.offset[0];d+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))h-=f(window).scrollTop();var j=b.outerHeight()+a.outerHeight();if(i=="center")h+=j/2;if(i=="bottom")h+=j;i=c.position[1];a=b.outerWidth()+a.outerWidth();if(i=="center")d-=a/2;if(i=="left")d-=a;return{top:h,left:d}}function u(a,b){var c=this,h=a.add(c),d,i=0,j=
|
46 |
+
0,m=a.attr("title"),q=a.attr("data-tooltip"),r=o[b.effect],l,s=a.is(":input"),v=s&&a.is(":checkbox, :radio, select, :button, :submit"),t=a.attr("type"),k=b.events[t]||b.events[s?v?"widget":"input":"def"];if(!r)throw'Nonexistent effect "'+b.effect+'"';k=k.split(/,\s*/);if(k.length!=2)throw"Tooltip: bad events configuration for "+t;a.bind(k[0],function(e){clearTimeout(i);if(b.predelay)j=setTimeout(function(){c.show(e)},b.predelay);else c.show(e)}).bind(k[1],function(e){clearTimeout(j);if(b.delay)i=
|
47 |
+
setTimeout(function(){c.hide(e)},b.delay);else c.hide(e)});if(m&&b.cancelDefault){a.removeAttr("title");a.data("title",m)}f.extend(c,{show:function(e){if(!d){if(q)d=f(q);else if(b.tip)d=f(b.tip).eq(0);else if(m)d=f(b.layout).addClass(b.tipClass).appendTo(document.body).hide().append(m);else{d=a.next();d.length||(d=a.parent().next())}if(!d.length)throw"Cannot find tooltip for "+a;}if(c.isShown())return c;d.stop(true,true);var g=p(a,d,b);b.tip&&d.html(a.data("title"));e=e||f.Event();e.type="onBeforeShow";
|
48 |
+
h.trigger(e,[g]);if(e.isDefaultPrevented())return c;g=p(a,d,b);d.css({position:"absolute",top:g.top,left:g.left});l=true;r[0].call(c,function(){e.type="onShow";l="full";h.trigger(e)});g=b.events.tooltip.split(/,\s*/);if(!d.data("__set")){d.bind(g[0],function(){clearTimeout(i);clearTimeout(j)});g[1]&&!a.is("input:not(:checkbox, :radio), textarea")&&d.bind(g[1],function(n){n.relatedTarget!=a[0]&&a.trigger(k[1].split(" ")[0])});d.data("__set",true)}return c},hide:function(e){if(!d||!c.isShown())return c;
|
49 |
+
e=e||f.Event();e.type="onBeforeHide";h.trigger(e);if(!e.isDefaultPrevented()){l=false;o[b.effect][1].call(c,function(){e.type="onHide";h.trigger(e)});return c}},isShown:function(e){return e?l=="full":l},getConf:function(){return b},getTip:function(){return d},getTrigger:function(){return a}});f.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(e,g){f.isFunction(b[g])&&f(c).bind(g,b[g]);c[g]=function(n){n&&f(c).bind(g,n);return c}})}f.tools=f.tools||{version:"1.2.5"};f.tools.tooltip=
|
50 |
+
{conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,position:["top","center"],offset:[0,0],relative:false,cancelDefault:true,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,b,c){o[a]=[b,c]}};var o={toggle:[function(a){var b=this.getConf(),c=this.getTip();b=b.opacity;b<1&&c.css({opacity:b});c.show();a.call()},function(a){this.getTip().hide();
|
51 |
+
a.call()}],fade:[function(a){var b=this.getConf();this.getTip().fadeTo(b.fadeInSpeed,b.opacity,a)},function(a){this.getTip().fadeOut(this.getConf().fadeOutSpeed,a)}]};f.fn.tooltip=function(a){var b=this.data("tooltip");if(b)return b;a=f.extend(true,{},f.tools.tooltip.conf,a);if(typeof a.position=="string")a.position=a.position.split(/,?\s/);this.each(function(){b=new u(f(this),a);f(this).data("tooltip",b)});return a.api?b:this}})(jQuery);
|
52 |
+
(function(d){var i=d.tools.tooltip;d.extend(i.conf,{direction:"up",bounce:false,slideOffset:10,slideInSpeed:200,slideOutSpeed:200,slideFade:!d.browser.msie});var e={up:["-","top"],down:["+","top"],left:["-","left"],right:["+","left"]};i.addEffect("slide",function(g){var a=this.getConf(),f=this.getTip(),b=a.slideFade?{opacity:a.opacity}:{},c=e[a.direction]||e.up;b[c[1]]=c[0]+"="+a.slideOffset;a.slideFade&&f.css({opacity:0});f.show().animate(b,a.slideInSpeed,g)},function(g){var a=this.getConf(),f=a.slideOffset,
|
53 |
+
b=a.slideFade?{opacity:0}:{},c=e[a.direction]||e.up,h=""+c[0];if(a.bounce)h=h=="+"?"-":"+";b[c[1]]=h+"="+f;this.getTip().animate(b,a.slideOutSpeed,function(){d(this).hide();g.call()})})})(jQuery);
|
54 |
+
(function(g){function j(a){var c=g(window),d=c.width()+c.scrollLeft(),h=c.height()+c.scrollTop();return[a.offset().top<=c.scrollTop(),d<=a.offset().left+a.width(),h<=a.offset().top+a.height(),c.scrollLeft()>=a.offset().left]}function k(a){for(var c=a.length;c--;)if(a[c])return false;return true}var i=g.tools.tooltip;i.dynamic={conf:{classNames:"top right bottom left"}};g.fn.dynamic=function(a){if(typeof a=="number")a={speed:a};a=g.extend({},i.dynamic.conf,a);var c=a.classNames.split(/\s/),d;this.each(function(){var h=
|
55 |
+
g(this).tooltip().onBeforeShow(function(e,f){e=this.getTip();var b=this.getConf();d||(d=[b.position[0],b.position[1],b.offset[0],b.offset[1],g.extend({},b)]);g.extend(b,d[4]);b.position=[d[0],d[1]];b.offset=[d[2],d[3]];e.css({visibility:"hidden",position:"absolute",top:f.top,left:f.left}).show();f=j(e);if(!k(f)){if(f[2]){g.extend(b,a.top);b.position[0]="top";e.addClass(c[0])}if(f[3]){g.extend(b,a.right);b.position[1]="right";e.addClass(c[1])}if(f[0]){g.extend(b,a.bottom);b.position[0]="bottom";e.addClass(c[2])}if(f[1]){g.extend(b,
|
56 |
+
a.left);b.position[1]="left";e.addClass(c[3])}if(f[0]||f[2])b.offset[0]*=-1;if(f[1]||f[3])b.offset[1]*=-1}e.css({visibility:"visible"}).hide()});h.onBeforeShow(function(){var e=this.getConf();this.getTip();setTimeout(function(){e.position=[d[0],d[1]];e.offset=[d[2],d[3]]},0)});h.onHide(function(){var e=this.getTip();e.removeClass(a.classNames)});ret=h});return a.api?ret:this}})(jQuery);
|
57 |
+
(function(e){function p(f,c){var b=e(c);return b.length<2?b:f.parent().find(c)}function u(f,c){var b=this,n=f.add(b),g=f.children(),l=0,j=c.vertical;k||(k=b);if(g.length>1)g=e(c.items,f);e.extend(b,{getConf:function(){return c},getIndex:function(){return l},getSize:function(){return b.getItems().size()},getNaviButtons:function(){return o.add(q)},getRoot:function(){return f},getItemWrap:function(){return g},getItems:function(){return g.children(c.item).not("."+c.clonedClass)},move:function(a,d){return b.seekTo(l+
|
58 |
+
a,d)},next:function(a){return b.move(1,a)},prev:function(a){return b.move(-1,a)},begin:function(a){return b.seekTo(0,a)},end:function(a){return b.seekTo(b.getSize()-1,a)},focus:function(){return k=b},addItem:function(a){a=e(a);if(c.circular){g.children("."+c.clonedClass+":last").before(a);g.children("."+c.clonedClass+":first").replaceWith(a.clone().addClass(c.clonedClass))}else g.append(a);n.trigger("onAddItem",[a]);return b},seekTo:function(a,d,h){a.jquery||(a*=1);if(c.circular&&a===0&&l==-1&&d!==
|
59 |
+
0)return b;if(!c.circular&&a<0||a>b.getSize()||a<-1)return b;var i=a;if(a.jquery)a=b.getItems().index(a);else i=b.getItems().eq(a);var r=e.Event("onBeforeSeek");if(!h){n.trigger(r,[a,d]);if(r.isDefaultPrevented()||!i.length)return b}i=j?{top:-i.position().top}:{left:-i.position().left};l=a;k=b;if(d===undefined)d=c.speed;g.animate(i,d,c.easing,h||function(){n.trigger("onSeek",[a])});return b}});e.each(["onBeforeSeek","onSeek","onAddItem"],function(a,d){e.isFunction(c[d])&&e(b).bind(d,c[d]);b[d]=function(h){h&&
|
60 |
+
e(b).bind(d,h);return b}});if(c.circular){var s=b.getItems().slice(-1).clone().prependTo(g),t=b.getItems().eq(1).clone().appendTo(g);s.add(t).addClass(c.clonedClass);b.onBeforeSeek(function(a,d,h){if(!a.isDefaultPrevented())if(d==-1){b.seekTo(s,h,function(){b.end(0)});return a.preventDefault()}else d==b.getSize()&&b.seekTo(t,h,function(){b.begin(0)})});b.seekTo(0,0,function(){})}var o=p(f,c.prev).click(function(){b.prev()}),q=p(f,c.next).click(function(){b.next()});if(!c.circular&&b.getSize()>1){b.onBeforeSeek(function(a,
|
61 |
+
d){setTimeout(function(){if(!a.isDefaultPrevented()){o.toggleClass(c.disabledClass,d<=0);q.toggleClass(c.disabledClass,d>=b.getSize()-1)}},1)});c.initialIndex||o.addClass(c.disabledClass)}c.mousewheel&&e.fn.mousewheel&&f.mousewheel(function(a,d){if(c.mousewheel){b.move(d<0?1:-1,c.wheelSpeed||50);return false}});if(c.touch){var m={};g[0].ontouchstart=function(a){a=a.touches[0];m.x=a.clientX;m.y=a.clientY};g[0].ontouchmove=function(a){if(a.touches.length==1&&!g.is(":animated")){var d=a.touches[0],h=
|
62 |
+
m.x-d.clientX;d=m.y-d.clientY;b[j&&d>0||!j&&h>0?"next":"prev"]();a.preventDefault()}}}c.keyboard&&e(document).bind("keydown.scrollable",function(a){if(!(!c.keyboard||a.altKey||a.ctrlKey||e(a.target).is(":input")))if(!(c.keyboard!="static"&&k!=b)){var d=a.keyCode;if(j&&(d==38||d==40)){b.move(d==38?-1:1);return a.preventDefault()}if(!j&&(d==37||d==39)){b.move(d==37?-1:1);return a.preventDefault()}}});c.initialIndex&&b.seekTo(c.initialIndex,0,function(){})}e.tools=e.tools||{version:"1.2.5"};e.tools.scrollable=
|
63 |
+
{conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:null,items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",speed:400,vertical:false,touch:true,wheelSpeed:0}};var k;e.fn.scrollable=function(f){var c=this.data("scrollable");if(c)return c;f=e.extend({},e.tools.scrollable.conf,f);this.each(function(){c=new u(e(this),f);e(this).data("scrollable",c)});return f.api?c:this}})(jQuery);
|
64 |
+
(function(b){var f=b.tools.scrollable;f.autoscroll={conf:{autoplay:true,interval:3E3,autopause:true}};b.fn.autoscroll=function(c){if(typeof c=="number")c={interval:c};var d=b.extend({},f.autoscroll.conf,c),g;this.each(function(){var a=b(this).data("scrollable");if(a)g=a;var e,h=true;a.play=function(){if(!e){h=false;e=setInterval(function(){a.next()},d.interval)}};a.pause=function(){e=clearInterval(e)};a.stop=function(){a.pause();h=true};d.autopause&&a.getRoot().add(a.getNaviButtons()).hover(a.pause,
|
65 |
+
a.play);d.autoplay&&a.play()});return d.api?g:this}})(jQuery);
|
66 |
+
(function(d){function p(b,g){var h=d(g);return h.length<2?h:b.parent().find(g)}var m=d.tools.scrollable;m.navigator={conf:{navi:".navi",naviItem:null,activeClass:"active",indexed:false,idPrefix:null,history:false}};d.fn.navigator=function(b){if(typeof b=="string")b={navi:b};b=d.extend({},m.navigator.conf,b);var g;this.each(function(){function h(a,c,i){e.seekTo(c);if(j){if(location.hash)location.hash=a.attr("href").replace("#","")}else return i.preventDefault()}function f(){return k.find(b.naviItem||
|
67 |
+
"> *")}function n(a){var c=d("<"+(b.naviItem||"a")+"/>").click(function(i){h(d(this),a,i)}).attr("href","#"+a);a===0&&c.addClass(l);b.indexed&&c.text(a+1);b.idPrefix&&c.attr("id",b.idPrefix+a);return c.appendTo(k)}function o(a,c){a=f().eq(c.replace("#",""));a.length||(a=f().filter("[href="+c+"]"));a.click()}var e=d(this).data("scrollable"),k=b.navi.jquery?b.navi:p(e.getRoot(),b.navi),q=e.getNaviButtons(),l=b.activeClass,j=b.history&&d.fn.history;if(e)g=e;e.getNaviButtons=function(){return q.add(k)};
|
68 |
+
f().length?f().each(function(a){d(this).click(function(c){h(d(this),a,c)})}):d.each(e.getItems(),function(a){n(a)});e.onBeforeSeek(function(a,c){setTimeout(function(){if(!a.isDefaultPrevented()){var i=f().eq(c);!a.isDefaultPrevented()&&i.length&&f().removeClass(l).eq(c).addClass(l)}},1)});e.onAddItem(function(a,c){c=n(e.getItems().index(c));j&&c.history(o)});j&&f().history(o)});return b.api?g:this}})(jQuery);
|
69 |
+
(function(a){function t(d,b){var c=this,j=d.add(c),o=a(window),k,f,m,g=a.tools.expose&&(b.mask||b.expose),n=Math.random().toString().slice(10);if(g){if(typeof g=="string")g={color:g};g.closeOnClick=g.closeOnEsc=false}var p=b.target||d.attr("rel");f=p?a(p):d;if(!f.length)throw"Could not find Overlay: "+p;d&&d.index(f)==-1&&d.click(function(e){c.load(e);return e.preventDefault()});a.extend(c,{load:function(e){if(c.isOpened())return c;var h=q[b.effect];if(!h)throw'Overlay: cannot find effect : "'+b.effect+
|
70 |
+
'"';b.oneInstance&&a.each(s,function(){this.close(e)});e=e||a.Event();e.type="onBeforeLoad";j.trigger(e);if(e.isDefaultPrevented())return c;m=true;g&&a(f).expose(g);var i=b.top,r=b.left,u=f.outerWidth({margin:true}),v=f.outerHeight({margin:true});if(typeof i=="string")i=i=="center"?Math.max((o.height()-v)/2,0):parseInt(i,10)/100*o.height();if(r=="center")r=Math.max((o.width()-u)/2,0);h[0].call(c,{top:i,left:r},function(){if(m){e.type="onLoad";j.trigger(e)}});g&&b.closeOnClick&&a.mask.getMask().one("click",
|
71 |
+
c.close);b.closeOnClick&&a(document).bind("click."+n,function(l){a(l.target).parents(f).length||c.close(l)});b.closeOnEsc&&a(document).bind("keydown."+n,function(l){l.keyCode==27&&c.close(l)});return c},close:function(e){if(!c.isOpened())return c;e=e||a.Event();e.type="onBeforeClose";j.trigger(e);if(!e.isDefaultPrevented()){m=false;q[b.effect][1].call(c,function(){e.type="onClose";j.trigger(e)});a(document).unbind("click."+n).unbind("keydown."+n);g&&a.mask.close();return c}},getOverlay:function(){return f},
|
72 |
+
getTrigger:function(){return d},getClosers:function(){return k},isOpened:function(){return m},getConf:function(){return b}});a.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(e,h){a.isFunction(b[h])&&a(c).bind(h,b[h]);c[h]=function(i){i&&a(c).bind(h,i);return c}});k=f.find(b.close||".close");if(!k.length&&!b.close){k=a('<a class="close"></a>');f.prepend(k)}k.click(function(e){c.close(e)});b.load&&c.load()}a.tools=a.tools||{version:"1.2.5"};a.tools.overlay={addEffect:function(d,
|
73 |
+
b,c){q[d]=[b,c]},conf:{close:null,closeOnClick:true,closeOnEsc:true,closeSpeed:"fast",effect:"default",fixed:!a.browser.msie||a.browser.version>6,left:"center",load:false,mask:null,oneInstance:true,speed:"normal",target:null,top:"10%"}};var s=[],q={};a.tools.overlay.addEffect("default",function(d,b){var c=this.getConf(),j=a(window);if(!c.fixed){d.top+=j.scrollTop();d.left+=j.scrollLeft()}d.position=c.fixed?"fixed":"absolute";this.getOverlay().css(d).fadeIn(c.speed,b)},function(d){this.getOverlay().fadeOut(this.getConf().closeSpeed,
|
74 |
+
d)});a.fn.overlay=function(d){var b=this.data("overlay");if(b)return b;if(a.isFunction(d))d={onBeforeLoad:d};d=a.extend(true,{},a.tools.overlay.conf,d);this.each(function(){b=new t(a(this),d);s.push(b);a(this).data("overlay",b)});return d.api?b:this}})(jQuery);
|
75 |
+
(function(h){function k(d){var e=d.offset();return{top:e.top+d.height()/2,left:e.left+d.width()/2}}var l=h.tools.overlay,f=h(window);h.extend(l.conf,{start:{top:null,left:null},fadeInSpeed:"fast",zIndex:9999});function o(d,e){var a=this.getOverlay(),c=this.getConf(),g=this.getTrigger(),p=this,m=a.outerWidth({margin:true}),b=a.data("img"),n=c.fixed?"fixed":"absolute";if(!b){b=a.css("backgroundImage");if(!b)throw"background-image CSS property not set for overlay";b=b.slice(b.indexOf("(")+1,b.indexOf(")")).replace(/\"/g,
|
76 |
+
"");a.css("backgroundImage","none");b=h('<img src="'+b+'"/>');b.css({border:0,display:"none"}).width(m);h("body").append(b);a.data("img",b)}var i=c.start.top||Math.round(f.height()/2),j=c.start.left||Math.round(f.width()/2);if(g){g=k(g);i=g.top;j=g.left}if(c.fixed){i-=f.scrollTop();j-=f.scrollLeft()}else{d.top+=f.scrollTop();d.left+=f.scrollLeft()}b.css({position:"absolute",top:i,left:j,width:0,zIndex:c.zIndex}).show();d.position=n;a.css(d);b.animate({top:a.css("top"),left:a.css("left"),width:m},
|
77 |
+
c.speed,function(){a.css("zIndex",c.zIndex+1).fadeIn(c.fadeInSpeed,function(){p.isOpened()&&!h(this).index(a)?e.call():a.hide()})}).css("position",n)}function q(d){var e=this.getOverlay().hide(),a=this.getConf(),c=this.getTrigger();e=e.data("img");var g={top:a.start.top,left:a.start.left,width:0};c&&h.extend(g,k(c));a.fixed&&e.css({position:"absolute"}).animate({top:"+="+f.scrollTop(),left:"+="+f.scrollLeft()},0);e.animate(g,a.closeSpeed,d)}l.addEffect("apple",o,q)})(jQuery);
|
78 |
+
(function(d){function R(a,c){return 32-(new Date(a,c,32)).getDate()}function S(a,c){a=""+a;for(c=c||2;a.length<c;)a="0"+a;return a}function T(a,c,j){var q=a.getDate(),h=a.getDay(),r=a.getMonth();a=a.getFullYear();var f={d:q,dd:S(q),ddd:B[j].shortDays[h],dddd:B[j].days[h],m:r+1,mm:S(r+1),mmm:B[j].shortMonths[r],mmmm:B[j].months[r],yy:String(a).slice(2),yyyy:a};c=c.replace(X,function(s){return s in f?f[s]:s.slice(1,s.length-1)});return Y.html(c).html()}function v(a){return parseInt(a,10)}function U(a,
|
79 |
+
c){return a.getFullYear()===c.getFullYear()&&a.getMonth()==c.getMonth()&&a.getDate()==c.getDate()}function C(a){if(a){if(a.constructor==Date)return a;if(typeof a=="string"){var c=a.split("-");if(c.length==3)return new Date(v(c[0]),v(c[1])-1,v(c[2]));if(!/^-?\d+$/.test(a))return;a=v(a)}c=new Date;c.setDate(c.getDate()+a);return c}}function Z(a,c){function j(b,e,g){n=b;D=b.getFullYear();E=b.getMonth();G=b.getDate();g=g||d.Event("api");g.type="change";H.trigger(g,[b]);if(!g.isDefaultPrevented()){a.val(T(b,
|
80 |
+
e.format,e.lang));a.data("date",b);h.hide(g)}}function q(b){b.type="onShow";H.trigger(b);d(document).bind("keydown.d",function(e){if(e.ctrlKey)return true;var g=e.keyCode;if(g==8){a.val("");return h.hide(e)}if(g==27)return h.hide(e);if(d(V).index(g)>=0){if(!w){h.show(e);return e.preventDefault()}var i=d("#"+f.weeks+" a"),t=d("."+f.focus),o=i.index(t);t.removeClass(f.focus);if(g==74||g==40)o+=7;else if(g==75||g==38)o-=7;else if(g==76||g==39)o+=1;else if(g==72||g==37)o-=1;if(o>41){h.addMonth();t=d("#"+
|
81 |
+
f.weeks+" a:eq("+(o-42)+")")}else if(o<0){h.addMonth(-1);t=d("#"+f.weeks+" a:eq("+(o+42)+")")}else t=i.eq(o);t.addClass(f.focus);return e.preventDefault()}if(g==34)return h.addMonth();if(g==33)return h.addMonth(-1);if(g==36)return h.today();if(g==13)d(e.target).is("select")||d("."+f.focus).click();return d([16,17,18,9]).index(g)>=0});d(document).bind("click.d",function(e){var g=e.target;if(!d(g).parents("#"+f.root).length&&g!=a[0]&&(!L||g!=L[0]))h.hide(e)})}var h=this,r=new Date,f=c.css,s=B[c.lang],
|
82 |
+
k=d("#"+f.root),M=k.find("#"+f.title),L,I,J,D,E,G,n=a.attr("data-value")||c.value||a.val(),m=a.attr("min")||c.min,p=a.attr("max")||c.max,w;if(m===0)m="0";n=C(n)||r;m=C(m||c.yearRange[0]*365);p=C(p||c.yearRange[1]*365);if(!s)throw"Dateinput: invalid language: "+c.lang;if(a.attr("type")=="date"){var N=d("<input/>");d.each("class,disabled,id,maxlength,name,readonly,required,size,style,tabindex,title,value".split(","),function(b,e){N.attr(e,a.attr(e))});a.replaceWith(N);a=N}a.addClass(f.input);var H=
|
83 |
+
a.add(h);if(!k.length){k=d("<div><div><a/><div/><a/></div><div><div/><div/></div></div>").hide().css({position:"absolute"}).attr("id",f.root);k.children().eq(0).attr("id",f.head).end().eq(1).attr("id",f.body).children().eq(0).attr("id",f.days).end().eq(1).attr("id",f.weeks).end().end().end().find("a").eq(0).attr("id",f.prev).end().eq(1).attr("id",f.next);M=k.find("#"+f.head).find("div").attr("id",f.title);if(c.selectors){var z=d("<select/>").attr("id",f.month),A=d("<select/>").attr("id",f.year);M.html(z.add(A))}for(var $=
|
84 |
+
k.find("#"+f.days),O=0;O<7;O++)$.append(d("<span/>").text(s.shortDays[(O+c.firstDay)%7]));d("body").append(k)}if(c.trigger)L=d("<a/>").attr("href","#").addClass(f.trigger).click(function(b){h.show();return b.preventDefault()}).insertAfter(a);var K=k.find("#"+f.weeks);A=k.find("#"+f.year);z=k.find("#"+f.month);d.extend(h,{show:function(b){if(!(a.attr("readonly")||a.attr("disabled")||w)){b=b||d.Event();b.type="onBeforeShow";H.trigger(b);if(!b.isDefaultPrevented()){d.each(W,function(){this.hide()});
|
85 |
+
w=true;z.unbind("change").change(function(){h.setValue(A.val(),d(this).val())});A.unbind("change").change(function(){h.setValue(d(this).val(),z.val())});I=k.find("#"+f.prev).unbind("click").click(function(){I.hasClass(f.disabled)||h.addMonth(-1);return false});J=k.find("#"+f.next).unbind("click").click(function(){J.hasClass(f.disabled)||h.addMonth();return false});h.setValue(n);var e=a.offset();if(/iPad/i.test(navigator.userAgent))e.top-=d(window).scrollTop();k.css({top:e.top+a.outerHeight({margins:true})+
|
86 |
+
c.offset[0],left:e.left+c.offset[1]});if(c.speed)k.show(c.speed,function(){q(b)});else{k.show();q(b)}return h}}},setValue:function(b,e,g){var i=v(e)>=-1?new Date(v(b),v(e),v(g||1)):b||n;if(i<m)i=m;else if(i>p)i=p;b=i.getFullYear();e=i.getMonth();g=i.getDate();if(e==-1){e=11;b--}else if(e==12){e=0;b++}if(!w){j(i,c);return h}E=e;D=b;g=new Date(b,e,1-c.firstDay);g=g.getDay();var t=R(b,e),o=R(b,e-1),P;if(c.selectors){z.empty();d.each(s.months,function(x,F){m<new Date(b,x+1,-1)&&p>new Date(b,x,0)&&z.append(d("<option/>").html(F).attr("value",
|
87 |
+
x))});A.empty();i=r.getFullYear();for(var l=i+c.yearRange[0];l<i+c.yearRange[1];l++)m<=new Date(l+1,-1,1)&&p>new Date(l,0,0)&&A.append(d("<option/>").text(l));z.val(e);A.val(b)}else M.html(s.months[e]+" "+b);K.empty();I.add(J).removeClass(f.disabled);l=!g?-7:0;for(var u,y;l<(!g?35:42);l++){u=d("<a/>");if(l%7===0){P=d("<div/>").addClass(f.week);K.append(P)}if(l<g){u.addClass(f.off);y=o-g+l+1;i=new Date(b,e-1,y)}else if(l>=g+t){u.addClass(f.off);y=l-t-g+1;i=new Date(b,e+1,y)}else{y=l-g+1;i=new Date(b,
|
88 |
+
e,y);if(U(n,i))u.attr("id",f.current).addClass(f.focus);else U(r,i)&&u.attr("id",f.today)}m&&i<m&&u.add(I).addClass(f.disabled);p&&i>p&&u.add(J).addClass(f.disabled);u.attr("href","#"+y).text(y).data("date",i);P.append(u)}K.find("a").click(function(x){var F=d(this);if(!F.hasClass(f.disabled)){d("#"+f.current).removeAttr("id");F.attr("id",f.current);j(F.data("date"),c,x)}return false});f.sunday&&K.find(f.week).each(function(){var x=c.firstDay?7-c.firstDay:0;d(this).children().slice(x,x+1).addClass(f.sunday)});
|
89 |
+
return h},setMin:function(b,e){m=C(b);e&&n<m&&h.setValue(m);return h},setMax:function(b,e){p=C(b);e&&n>p&&h.setValue(p);return h},today:function(){return h.setValue(r)},addDay:function(b){return this.setValue(D,E,G+(b||1))},addMonth:function(b){return this.setValue(D,E+(b||1),G)},addYear:function(b){return this.setValue(D+(b||1),E,G)},hide:function(b){if(w){b=d.Event();b.type="onHide";H.trigger(b);d(document).unbind("click.d").unbind("keydown.d");if(b.isDefaultPrevented())return;k.hide();w=false}return h},
|
90 |
+
getConf:function(){return c},getInput:function(){return a},getCalendar:function(){return k},getValue:function(b){return b?T(n,b,c.lang):n},isOpen:function(){return w}});d.each(["onBeforeShow","onShow","change","onHide"],function(b,e){d.isFunction(c[e])&&d(h).bind(e,c[e]);h[e]=function(g){g&&d(h).bind(e,g);return h}});a.bind("focus click",h.show).keydown(function(b){var e=b.keyCode;if(!w&&d(V).index(e)>=0){h.show(b);return b.preventDefault()}return b.shiftKey||b.ctrlKey||b.altKey||e==9?true:b.preventDefault()});
|
91 |
+
C(a.val())&&j(n,c)}d.tools=d.tools||{version:"1.2.5"};var W=[],Q,V=[75,76,38,39,74,72,40,37],B={};Q=d.tools.dateinput={conf:{format:"mm/dd/yy",selectors:false,yearRange:[-5,5],lang:"en",offset:[0,0],speed:0,firstDay:0,min:undefined,max:undefined,trigger:false,css:{prefix:"cal",input:"date",root:0,head:0,title:0,prev:0,next:0,month:0,year:0,days:0,body:0,weeks:0,today:0,current:0,week:0,off:0,sunday:0,focus:0,disabled:0,trigger:0}},localize:function(a,c){d.each(c,function(j,q){c[j]=q.split(",")});
|
92 |
+
B[a]=c}};Q.localize("en",{months:"January,February,March,April,May,June,July,August,September,October,November,December",shortMonths:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec",days:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday",shortDays:"Sun,Mon,Tue,Wed,Thu,Fri,Sat"});var X=/d{1,4}|m{1,4}|yy(?:yy)?|"[^"]*"|'[^']*'/g,Y=d("<a/>");d.expr[":"].date=function(a){var c=a.getAttribute("type");return c&&c=="date"||!!d(a).data("dateinput")};d.fn.dateinput=function(a){if(this.data("dateinput"))return this;
|
93 |
+
a=d.extend(true,{},Q.conf,a);d.each(a.css,function(j,q){if(!q&&j!="prefix")a.css[j]=(a.css.prefix||"")+(q||j)});var c;this.each(function(){var j=new Z(d(this),a);W.push(j);j=j.getInput().data("dateinput",j);c=c?c.add(j):j});return c?c:this}})(jQuery);
|
94 |
+
(function(e){function F(d,a){a=Math.pow(10,a);return Math.round(d*a)/a}function q(d,a){if(a=parseInt(d.css(a),10))return a;return(d=d[0].currentStyle)&&d.width&&parseInt(d.width,10)}function C(d){return(d=d.data("events"))&&d.onSlide}function G(d,a){function h(c,b,f,j){if(f===undefined)f=b/k*z;else if(j)f-=a.min;if(s)f=Math.round(f/s)*s;if(b===undefined||s)b=f*k/z;if(isNaN(f))return g;b=Math.max(0,Math.min(b,k));f=b/k*z;if(j||!n)f+=a.min;if(n)if(j)b=k-b;else f=a.max-f;f=F(f,t);var r=c.type=="click";
|
95 |
+
if(D&&l!==undefined&&!r){c.type="onSlide";A.trigger(c,[f,b]);if(c.isDefaultPrevented())return g}j=r?a.speed:0;r=r?function(){c.type="change";A.trigger(c,[f])}:null;if(n){m.animate({top:b},j,r);a.progress&&B.animate({height:k-b+m.width()/2},j)}else{m.animate({left:b},j,r);a.progress&&B.animate({width:b+m.width()/2},j)}l=f;H=b;d.val(f);return g}function o(){if(n=a.vertical||q(i,"height")>q(i,"width")){k=q(i,"height")-q(m,"height");u=i.offset().top+k}else{k=q(i,"width")-q(m,"width");u=i.offset().left}}
|
96 |
+
function v(){o();g.setValue(a.value!==undefined?a.value:a.min)}var g=this,p=a.css,i=e("<div><div/><a href='#'/></div>").data("rangeinput",g),n,l,u,k,H;d.before(i);var m=i.addClass(p.slider).find("a").addClass(p.handle),B=i.find("div").addClass(p.progress);e.each("min,max,step,value".split(","),function(c,b){c=d.attr(b);if(parseFloat(c))a[b]=parseFloat(c,10)});var z=a.max-a.min,s=a.step=="any"?0:a.step,t=a.precision;if(t===undefined)try{t=s.toString().split(".")[1].length}catch(I){t=0}if(d.attr("type")==
|
97 |
+
"range"){var w=e("<input/>");e.each("class,disabled,id,maxlength,name,readonly,required,size,style,tabindex,title,value".split(","),function(c,b){w.attr(b,d.attr(b))});w.val(a.value);d.replaceWith(w);d=w}d.addClass(p.input);var A=e(g).add(d),D=true;e.extend(g,{getValue:function(){return l},setValue:function(c,b){o();return h(b||e.Event("api"),undefined,c,true)},getConf:function(){return a},getProgress:function(){return B},getHandle:function(){return m},getInput:function(){return d},step:function(c,
|
98 |
+
b){b=b||e.Event();var f=a.step=="any"?1:a.step;g.setValue(l+f*(c||1),b)},stepUp:function(c){return g.step(c||1)},stepDown:function(c){return g.step(-c||-1)}});e.each("onSlide,change".split(","),function(c,b){e.isFunction(a[b])&&e(g).bind(b,a[b]);g[b]=function(f){f&&e(g).bind(b,f);return g}});m.drag({drag:false}).bind("dragStart",function(){o();D=C(e(g))||C(d)}).bind("drag",function(c,b,f){if(d.is(":disabled"))return false;h(c,n?b:f)}).bind("dragEnd",function(c){if(!c.isDefaultPrevented()){c.type=
|
99 |
+
"change";A.trigger(c,[l])}}).click(function(c){return c.preventDefault()});i.click(function(c){if(d.is(":disabled")||c.target==m[0])return c.preventDefault();o();var b=m.width()/2;h(c,n?k-u-b+c.pageY:c.pageX-u-b)});a.keyboard&&d.keydown(function(c){if(!d.attr("readonly")){var b=c.keyCode,f=e([75,76,38,33,39]).index(b)!=-1,j=e([74,72,40,34,37]).index(b)!=-1;if((f||j)&&!(c.shiftKey||c.altKey||c.ctrlKey)){if(f)g.step(b==33?10:1,c);else if(j)g.step(b==34?-10:-1,c);return c.preventDefault()}}});d.blur(function(c){var b=
|
100 |
+
e(this).val();b!==l&&g.setValue(b,c)});e.extend(d[0],{stepUp:g.stepUp,stepDown:g.stepDown});v();k||e(window).load(v)}e.tools=e.tools||{version:"1.2.5"};var E;E=e.tools.rangeinput={conf:{min:0,max:100,step:"any",steps:0,value:0,precision:undefined,vertical:0,keyboard:true,progress:false,speed:100,css:{input:"range",slider:"slider",progress:"progress",handle:"handle"}}};var x,y;e.fn.drag=function(d){document.ondragstart=function(){return false};d=e.extend({x:true,y:true,drag:true},d);x=x||e(document).bind("mousedown mouseup",
|
101 |
+
function(a){var h=e(a.target);if(a.type=="mousedown"&&h.data("drag")){var o=h.position(),v=a.pageX-o.left,g=a.pageY-o.top,p=true;x.bind("mousemove.drag",function(i){var n=i.pageX-v;i=i.pageY-g;var l={};if(d.x)l.left=n;if(d.y)l.top=i;if(p){h.trigger("dragStart");p=false}d.drag&&h.css(l);h.trigger("drag",[i,n]);y=h});a.preventDefault()}else try{y&&y.trigger("dragEnd")}finally{x.unbind("mousemove.drag");y=null}});return this.data("drag",true)};e.expr[":"].range=function(d){var a=d.getAttribute("type");
|
102 |
+
return a&&a=="range"||!!e(d).filter("input").data("rangeinput")};e.fn.rangeinput=function(d){if(this.data("rangeinput"))return this;d=e.extend(true,{},E.conf,d);var a;this.each(function(){var h=new G(e(this),e.extend(true,{},d));h=h.getInput().data("rangeinput",h);a=a?a.add(h):h});return a?a:this}})(jQuery);
|
103 |
+
(function(e){function t(a,b,c){var k=a.offset().top,f=a.offset().left,l=c.position.split(/,?\s+/),p=l[0];l=l[1];k-=b.outerHeight()-c.offset[0];f+=a.outerWidth()+c.offset[1];if(/iPad/i.test(navigator.userAgent))k-=e(window).scrollTop();c=b.outerHeight()+a.outerHeight();if(p=="center")k+=c/2;if(p=="bottom")k+=c;a=a.outerWidth();if(l=="center")f-=(a+b.outerWidth())/2;if(l=="left")f-=a;return{top:k,left:f}}function y(a){function b(){return this.getAttribute("type")==a}b.key="[type="+a+"]";return b}function u(a,
|
104 |
+
b,c){function k(g,d,i){if(!(!c.grouped&&g.length)){var j;if(i===false||e.isArray(i)){j=h.messages[d.key||d]||h.messages["*"];j=j[c.lang]||h.messages["*"].en;(d=j.match(/\$\d/g))&&e.isArray(i)&&e.each(d,function(m){j=j.replace(this,i[m])})}else j=i[c.lang]||i;g.push(j)}}var f=this,l=b.add(f);a=a.not(":button, :image, :reset, :submit");e.extend(f,{getConf:function(){return c},getForm:function(){return b},getInputs:function(){return a},reflow:function(){a.each(function(){var g=e(this),d=g.data("msg.el");
|
105 |
+
if(d){g=t(g,d,c);d.css({top:g.top,left:g.left})}});return f},invalidate:function(g,d){if(!d){var i=[];e.each(g,function(j,m){j=a.filter("[name='"+j+"']");if(j.length){j.trigger("OI",[m]);i.push({input:j,messages:[m]})}});g=i;d=e.Event()}d.type="onFail";l.trigger(d,[g]);d.isDefaultPrevented()||q[c.effect][0].call(f,g,d);return f},reset:function(g){g=g||a;g.removeClass(c.errorClass).each(function(){var d=e(this).data("msg.el");if(d){d.remove();e(this).data("msg.el",null)}}).unbind(c.errorInputEvent||
|
106 |
+
"");return f},destroy:function(){b.unbind(c.formEvent+".V").unbind("reset.V");a.unbind(c.inputEvent+".V").unbind("change.V");return f.reset()},checkValidity:function(g,d){g=g||a;g=g.not(":disabled");if(!g.length)return true;d=d||e.Event();d.type="onBeforeValidate";l.trigger(d,[g]);if(d.isDefaultPrevented())return d.result;var i=[];g.not(":radio:not(:checked)").each(function(){var m=[],n=e(this).data("messages",m),v=r&&n.is(":date")?"onHide.v":c.errorInputEvent+".v";n.unbind(v);e.each(w,function(){var o=
|
107 |
+
this,s=o[0];if(n.filter(s).length){o=o[1].call(f,n,n.val());if(o!==true){d.type="onBeforeFail";l.trigger(d,[n,s]);if(d.isDefaultPrevented())return false;var x=n.attr(c.messageAttr);if(x){m=[x];return false}else k(m,s,o)}}});if(m.length){i.push({input:n,messages:m});n.trigger("OI",[m]);c.errorInputEvent&&n.bind(v,function(o){f.checkValidity(n,o)})}if(c.singleError&&i.length)return false});var j=q[c.effect];if(!j)throw'Validator: cannot find effect "'+c.effect+'"';if(i.length){f.invalidate(i,d);return false}else{j[1].call(f,
|
108 |
+
g,d);d.type="onSuccess";l.trigger(d,[g]);g.unbind(c.errorInputEvent+".v")}return true}});e.each("onBeforeValidate,onBeforeFail,onFail,onSuccess".split(","),function(g,d){e.isFunction(c[d])&&e(f).bind(d,c[d]);f[d]=function(i){i&&e(f).bind(d,i);return f}});c.formEvent&&b.bind(c.formEvent+".V",function(g){if(!f.checkValidity(null,g))return g.preventDefault()});b.bind("reset.V",function(){f.reset()});a[0]&&a[0].validity&&a.each(function(){this.oninvalid=function(){return false}});if(b[0])b[0].checkValidity=
|
109 |
+
f.checkValidity;c.inputEvent&&a.bind(c.inputEvent+".V",function(g){f.checkValidity(e(this),g)});a.filter(":checkbox, select").filter("[required]").bind("change.V",function(g){var d=e(this);if(this.checked||d.is("select")&&e(this).val())q[c.effect][1].call(f,d,g)});var p=a.filter(":radio").change(function(g){f.checkValidity(p,g)});e(window).resize(function(){f.reflow()})}e.tools=e.tools||{version:"1.2.5"};var z=/\[type=([a-z]+)\]/,A=/^-?[0-9]*(\.[0-9]+)?$/,r=e.tools.dateinput,B=/^([a-z0-9_\.\-\+]+)@([\da-z\.\-]+)\.([a-z\.]{2,6})$/i,
|
110 |
+
C=/^(https?:\/\/)?[\da-z\.\-]+\.[a-z\.]{2,6}[#&+_\?\/\w \.\-=]*$/i,h;h=e.tools.validator={conf:{grouped:false,effect:"default",errorClass:"invalid",inputEvent:null,errorInputEvent:"keyup",formEvent:"submit",lang:"en",message:"<div/>",messageAttr:"data-message",messageClass:"error",offset:[0,0],position:"center right",singleError:false,speed:"normal"},messages:{"*":{en:"Please correct this value"}},localize:function(a,b){e.each(b,function(c,k){h.messages[c]=h.messages[c]||{};h.messages[c][a]=k})},
|
111 |
+
localizeFn:function(a,b){h.messages[a]=h.messages[a]||{};e.extend(h.messages[a],b)},fn:function(a,b,c){if(e.isFunction(b))c=b;else{if(typeof b=="string")b={en:b};this.messages[a.key||a]=b}if(b=z.exec(a))a=y(b[1]);w.push([a,c])},addEffect:function(a,b,c){q[a]=[b,c]}};var w=[],q={"default":[function(a){var b=this.getConf();e.each(a,function(c,k){c=k.input;c.addClass(b.errorClass);var f=c.data("msg.el");if(!f){f=e(b.message).addClass(b.messageClass).appendTo(document.body);c.data("msg.el",f)}f.css({visibility:"hidden"}).find("p").remove();
|
112 |
+
e.each(k.messages,function(l,p){e("<p/>").html(p).appendTo(f)});f.outerWidth()==f.parent().width()&&f.add(f.find("p")).css({display:"inline"});k=t(c,f,b);f.css({visibility:"visible",position:"absolute",top:k.top,left:k.left}).fadeIn(b.speed)})},function(a){var b=this.getConf();a.removeClass(b.errorClass).each(function(){var c=e(this).data("msg.el");c&&c.css({visibility:"hidden"})})}]};e.each("email,url,number".split(","),function(a,b){e.expr[":"][b]=function(c){return c.getAttribute("type")===b}});
|
113 |
+
e.fn.oninvalid=function(a){return this[a?"bind":"trigger"]("OI",a)};h.fn(":email","Please enter a valid email address",function(a,b){return!b||B.test(b)});h.fn(":url","Please enter a valid URL",function(a,b){return!b||C.test(b)});h.fn(":number","Please enter a numeric value.",function(a,b){return A.test(b)});h.fn("[max]","Please enter a value smaller than $1",function(a,b){if(b===""||r&&a.is(":date"))return true;a=a.attr("max");return parseFloat(b)<=parseFloat(a)?true:[a]});h.fn("[min]","Please enter a value larger than $1",
|
114 |
+
function(a,b){if(b===""||r&&a.is(":date"))return true;a=a.attr("min");return parseFloat(b)>=parseFloat(a)?true:[a]});h.fn("[required]","Please complete this mandatory field.",function(a,b){if(a.is(":checkbox"))return a.is(":checked");return!!b});h.fn("[pattern]",function(a){var b=new RegExp("^"+a.attr("pattern")+"$");return b.test(a.val())});e.fn.validator=function(a){var b=this.data("validator");if(b){b.destroy();this.removeData("validator")}a=e.extend(true,{},h.conf,a);if(this.is("form"))return this.each(function(){var c=
|
115 |
+
e(this);b=new u(c.find(":input"),c,a);c.data("validator",b)});else{b=new u(this,this.eq(0).closest("form"),a);return this.data("validator",b)}}})(jQuery);
|
language/all-in-one-event-calendar.mo
CHANGED
Binary file
|
language/all-in-one-event-calendar.po
CHANGED
@@ -1,23 +1,167 @@
|
|
1 |
-
# Copyright (C)
|
2 |
-
# This file is distributed under the same license as the All-in-One Event Calendar
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: All-in-One Event Calendar
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
|
7 |
-
"POT-Creation-Date:
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date:
|
12 |
-
"Last-Translator:
|
13 |
"Language-Team: The Seed Studio\n"
|
14 |
|
15 |
-
#: app/
|
16 |
-
|
|
|
17 |
msgstr ""
|
18 |
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
msgstr ""
|
22 |
|
23 |
#: app/helper/class-ai1ec-app-helper.php:147
|
@@ -90,415 +234,494 @@ msgctxt "Event tags taxonomy (singular)"
|
|
90 |
msgid "Event Tag"
|
91 |
msgstr ""
|
92 |
|
93 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
msgid "All Events <span class=\"update-plugins count-%d\" title=\"%d Pending Events\"><span class=\"update-count\">%d</span></span>"
|
95 |
msgstr ""
|
96 |
|
97 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
98 |
msgid "All Events"
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
102 |
msgid "Event Details"
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
106 |
msgid "Post Date"
|
107 |
msgstr ""
|
108 |
|
109 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
110 |
msgid "Event date/time"
|
111 |
msgstr ""
|
112 |
|
113 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
114 |
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"
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
118 |
msgid "To set up the plugin: Select an option in the <strong>Calendar page</strong> dropdown list, the click <strong>Update Settings</strong>."
|
119 |
msgstr ""
|
120 |
|
121 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
122 |
msgid "To set up the plugin: Select an option in the <strong>Timezone</strong> dropdown list, the click <strong>Update Settings</strong>."
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
126 |
msgid "The plugin is installed, but has not been configured. <a href=\"%s\">Click here to set it up now »</a>"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
130 |
msgid "The plugin is installed, but has not been configured. Please log in as a WordPress Administrator to set it up."
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: app/helper/class-ai1ec-
|
134 |
-
|
|
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: app/helper/class-ai1ec-
|
138 |
-
|
139 |
-
msgid "Daily"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: app/helper/class-ai1ec-
|
143 |
-
msgid "
|
144 |
msgstr ""
|
145 |
|
146 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
147 |
-
|
|
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
151 |
-
|
|
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
155 |
-
|
|
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
159 |
-
|
|
|
160 |
msgstr ""
|
161 |
|
162 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
163 |
-
|
|
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
167 |
-
|
|
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
171 |
-
msgid "
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
175 |
-
msgid "
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
179 |
-
msgid "
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
183 |
-
msgid "
|
184 |
msgstr ""
|
185 |
|
186 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
187 |
-
msgid "
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
191 |
-
msgid "
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
195 |
-
msgid "
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
199 |
-
msgid "
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
203 |
-
msgid "
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
207 |
-
msgid "
|
208 |
msgstr ""
|
209 |
|
210 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
211 |
-
|
212 |
-
msgid "On date"
|
213 |
msgstr ""
|
214 |
|
215 |
-
#: app/helper/class-ai1ec-
|
216 |
-
msgid "
|
217 |
msgstr ""
|
218 |
|
219 |
-
#: app/helper/class-ai1ec-
|
220 |
-
msgid "
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: app/helper/class-ai1ec-
|
224 |
-
|
225 |
-
#: app/view/calendar.php:11
|
226 |
-
#: app/view/calendar.php:17
|
227 |
-
msgid "Month"
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: app/helper/class-ai1ec-
|
231 |
-
|
232 |
-
#: app/controller/class-ai1ec-calendar-controller.php:280
|
233 |
-
msgid "Agenda"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: app/helper/class-ai1ec-
|
237 |
-
|
|
|
|
|
|
|
|
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: app/helper/class-ai1ec-
|
241 |
-
|
|
|
|
|
|
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: app/helper/class-ai1ec-
|
245 |
-
|
|
|
|
|
|
|
246 |
msgstr ""
|
247 |
|
248 |
-
#: app/
|
249 |
-
|
|
|
|
|
|
|
250 |
msgstr ""
|
251 |
|
252 |
-
#: app/
|
253 |
-
|
254 |
-
msgid "iCalendar/.ics Feed URL:"
|
255 |
msgstr ""
|
256 |
|
257 |
-
#: app/
|
258 |
-
msgid "
|
259 |
msgstr ""
|
260 |
|
261 |
-
#: app/
|
262 |
-
|
263 |
-
msgid "Tag with"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: app/
|
267 |
-
msgid "
|
268 |
msgstr ""
|
269 |
|
270 |
-
#: app/
|
271 |
-
msgid "
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: app/
|
275 |
-
msgid "
|
276 |
msgstr ""
|
277 |
|
278 |
-
#: app/
|
279 |
-
|
|
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: app/
|
283 |
-
|
|
|
|
|
|
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: app/
|
287 |
-
|
|
|
|
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: app/
|
291 |
-
|
|
|
|
|
|
|
|
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: app/
|
295 |
-
#: app/
|
296 |
-
|
|
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: app/
|
300 |
-
#: app/
|
301 |
-
|
|
|
|
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: app/
|
305 |
-
msgid "
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: app/
|
309 |
-
|
310 |
-
msgid "Subscribe to this calendar in your Google Calendar"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: app/
|
314 |
-
msgid "
|
315 |
msgstr ""
|
316 |
|
317 |
-
|
318 |
-
|
319 |
-
#: app/view/box_the_seed_studio.php:3
|
320 |
-
msgid "The Seed Studio"
|
321 |
msgstr ""
|
322 |
|
323 |
-
#: app/
|
324 |
-
msgid "
|
325 |
msgstr ""
|
326 |
|
327 |
-
#: app/
|
328 |
-
msgid "
|
329 |
msgstr ""
|
330 |
|
331 |
-
#: app/
|
332 |
-
msgid "
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: app/
|
336 |
-
msgid "
|
337 |
msgstr ""
|
338 |
|
339 |
-
#: app/
|
340 |
-
msgid "
|
341 |
msgstr ""
|
342 |
|
343 |
-
#: app/
|
344 |
-
msgid "
|
345 |
msgstr ""
|
346 |
|
347 |
-
#: app/
|
348 |
-
msgid "
|
349 |
msgstr ""
|
350 |
|
351 |
-
#: app/
|
352 |
-
msgid "
|
353 |
msgstr ""
|
354 |
|
355 |
-
#: app/
|
356 |
-
msgid "
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: app/
|
360 |
-
msgid "
|
361 |
msgstr ""
|
362 |
|
363 |
-
#: app/
|
364 |
-
|
|
|
|
|
|
|
365 |
msgstr ""
|
366 |
|
367 |
-
#: app/
|
368 |
-
|
|
|
|
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: app/
|
372 |
-
msgid "
|
373 |
msgstr ""
|
374 |
|
375 |
-
#: app/
|
376 |
-
msgid "
|
377 |
msgstr ""
|
378 |
|
379 |
-
#: app/
|
380 |
-
msgid "
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: app/
|
384 |
-
msgid "
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: app/
|
388 |
-
msgid "
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: app/
|
392 |
-
|
393 |
-
#: app/view/event-multi.php:4
|
394 |
-
msgid "When:"
|
395 |
msgstr ""
|
396 |
|
397 |
-
#: app/
|
398 |
-
msgid "
|
399 |
msgstr ""
|
400 |
|
401 |
-
#: app/
|
402 |
-
|
403 |
-
msgid "Repeats:"
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: app/view/
|
407 |
-
|
408 |
-
#: app/view/event-multi.php:20
|
409 |
-
msgid "Where:"
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: app/view/
|
413 |
-
msgid "
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: app/view/
|
417 |
-
msgid "
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: app/view/
|
421 |
-
msgid "
|
422 |
msgstr ""
|
423 |
|
424 |
-
#: app/view/
|
425 |
-
msgid "
|
426 |
msgstr ""
|
427 |
|
428 |
-
#: app/view/
|
429 |
-
|
430 |
-
msgid "Cost:"
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: app/view/
|
434 |
-
|
435 |
-
msgid "Contact:"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: app/view/
|
439 |
-
|
440 |
-
#: app/view/agenda.php:79
|
441 |
-
msgid "Categories:"
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: app/view/
|
445 |
-
|
446 |
-
#: app/view/agenda.php:85
|
447 |
-
msgid "Tags:"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: app/view/
|
451 |
-
msgid "
|
452 |
msgstr ""
|
453 |
|
454 |
-
#: app/view/
|
455 |
-
msgid "
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: app/view/
|
459 |
-
msgid "
|
460 |
msgstr ""
|
461 |
|
462 |
-
#: app/view/
|
463 |
-
msgid "
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: app/view/
|
467 |
-
msgid "
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: app/view/
|
471 |
-
|
|
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: app/view/
|
475 |
-
|
|
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: app/view/
|
479 |
-
|
|
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: app/view/
|
483 |
-
msgid "
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: app/view/
|
487 |
-
|
488 |
-
msgid "Category Color"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: app/view/
|
492 |
-
|
493 |
-
msgid "Events in this category will be identified by this color"
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: app/view/
|
497 |
-
|
|
|
|
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: app/view/
|
501 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
502 |
msgstr ""
|
503 |
|
504 |
#: app/view/box_event_location.php:1
|
@@ -517,12 +740,92 @@ msgstr ""
|
|
517 |
msgid "Show Google Map:"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: app/view/
|
521 |
-
msgid "
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: app/view/
|
525 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
526 |
msgstr ""
|
527 |
|
528 |
#: app/view/box_general_settings.php:1
|
@@ -562,391 +865,379 @@ msgid "events"
|
|
562 |
msgstr ""
|
563 |
|
564 |
#: app/view/box_general_settings.php:31
|
565 |
-
msgid "<strong>
|
566 |
msgstr ""
|
567 |
|
568 |
#: app/view/box_general_settings.php:37
|
569 |
-
msgid "
|
570 |
msgstr ""
|
571 |
|
572 |
#: app/view/box_general_settings.php:43
|
573 |
-
msgid "
|
574 |
msgstr ""
|
575 |
|
576 |
#: app/view/box_general_settings.php:49
|
577 |
-
msgid "Hide <strong>
|
578 |
msgstr ""
|
579 |
|
580 |
#: app/view/box_general_settings.php:55
|
581 |
-
msgid "
|
582 |
-
msgstr ""
|
583 |
-
|
584 |
-
#: app/view/box_general_settings.php:59
|
585 |
-
msgid "Adding/Editing Events"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: app/view/box_general_settings.php:63
|
589 |
-
msgid "Input dates in <strong>US format</strong>"
|
590 |
-
msgstr ""
|
591 |
-
|
592 |
-
#: app/view/box_general_settings.php:69
|
593 |
-
msgid "Use <strong>24h time</strong> in time pickers"
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: app/view/box_general_settings.php:
|
597 |
-
msgid "
|
598 |
msgstr ""
|
599 |
|
600 |
-
#: app/view/
|
601 |
-
msgid "
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: app/view/
|
605 |
-
msgid "
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: app/view/
|
609 |
-
msgid "
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: app/view/
|
613 |
-
msgid "
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: app/view/
|
617 |
-
msgid "
|
618 |
msgstr ""
|
619 |
|
620 |
-
#: app/view/
|
621 |
-
|
622 |
-
msgid "Today"
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: app/view/
|
626 |
-
|
|
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: app/view/
|
630 |
-
msgid "
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: app/view/
|
634 |
-
#: app/view/
|
635 |
-
|
636 |
-
msgid "(all-day)"
|
637 |
msgstr ""
|
638 |
|
639 |
-
#: app/view/
|
640 |
-
msgid "+
|
641 |
msgstr ""
|
642 |
|
643 |
-
#: app/view/
|
644 |
-
msgid "
|
645 |
msgstr ""
|
646 |
|
647 |
-
#: app/view/
|
648 |
-
msgid "
|
649 |
msgstr ""
|
650 |
|
651 |
-
#: app/view/
|
652 |
-
msgid "
|
653 |
msgstr ""
|
654 |
|
655 |
-
#: app/view/
|
656 |
-
msgid "
|
657 |
msgstr ""
|
658 |
|
659 |
-
|
660 |
-
|
|
|
|
|
661 |
msgstr ""
|
662 |
|
663 |
-
#: app/view/
|
664 |
-
msgid "
|
665 |
msgstr ""
|
666 |
|
667 |
-
#: app/view/
|
668 |
-
msgid "
|
669 |
msgstr ""
|
670 |
|
671 |
-
#: app/view/
|
672 |
-
msgid "
|
673 |
msgstr ""
|
674 |
|
675 |
-
#: app/view/
|
676 |
-
msgid "
|
677 |
msgstr ""
|
678 |
|
679 |
-
#: app/view/
|
680 |
-
msgid "
|
681 |
msgstr ""
|
682 |
|
683 |
-
#: app/view/
|
684 |
-
|
685 |
-
msgid "Upcoming Events"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: app/view/
|
689 |
-
msgid "
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: app/view/
|
693 |
-
msgid "
|
694 |
msgstr ""
|
695 |
|
696 |
-
#: app/view/
|
697 |
-
msgid "
|
698 |
msgstr ""
|
699 |
|
700 |
-
#: app/view/
|
701 |
-
msgid "
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: app/view/
|
705 |
-
msgid "
|
706 |
msgstr ""
|
707 |
|
708 |
-
#: app/view/
|
709 |
-
msgid "
|
710 |
msgstr ""
|
711 |
|
712 |
-
#: app/view/
|
713 |
-
msgid "
|
714 |
msgstr ""
|
715 |
|
716 |
-
#: app/view/
|
717 |
-
msgid "
|
718 |
msgstr ""
|
719 |
|
720 |
-
#: app/view/
|
721 |
-
msgid "
|
722 |
msgstr ""
|
723 |
|
724 |
-
#: app/view/
|
725 |
-
msgid "
|
726 |
msgstr ""
|
727 |
|
728 |
-
#: app/view/
|
729 |
-
msgid "
|
730 |
msgstr ""
|
731 |
|
732 |
-
#: app/view/
|
733 |
-
msgid "
|
734 |
msgstr ""
|
735 |
|
736 |
-
#: app/view/
|
737 |
-
msgid "
|
738 |
msgstr ""
|
739 |
|
740 |
-
#: app/view/
|
741 |
-
msgid "
|
742 |
msgstr ""
|
743 |
|
744 |
-
#: app/view/
|
745 |
-
msgid "
|
746 |
msgstr ""
|
747 |
|
748 |
-
#: app/view/
|
749 |
-
msgid "
|
750 |
msgstr ""
|
751 |
|
752 |
-
#: app/view/
|
753 |
-
msgid "
|
754 |
msgstr ""
|
755 |
|
756 |
-
#: app/view/
|
757 |
-
msgid "
|
758 |
msgstr ""
|
759 |
|
760 |
-
#: app/view/
|
761 |
-
msgid "
|
762 |
msgstr ""
|
763 |
|
764 |
-
#: app/view/
|
765 |
-
msgid "
|
766 |
msgstr ""
|
767 |
|
768 |
-
#: app/view/
|
769 |
-
msgid "
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: app/view/
|
773 |
-
msgid "
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: app/view/
|
777 |
-
msgid "
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: app/view/
|
781 |
-
msgid "
|
782 |
msgstr ""
|
783 |
|
784 |
-
#: app/view/
|
785 |
-
msgid "
|
786 |
msgstr ""
|
787 |
|
788 |
-
#: app/view/
|
789 |
-
msgid "
|
790 |
msgstr ""
|
791 |
|
792 |
-
#: app/view/
|
793 |
-
|
|
|
794 |
msgstr ""
|
795 |
|
796 |
-
#: app/view/
|
797 |
-
msgid "Event
|
798 |
msgstr ""
|
799 |
|
800 |
-
#: app/view/
|
801 |
-
|
|
|
|
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: app/view/
|
805 |
-
#: app/
|
806 |
-
|
|
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: app/view/
|
810 |
-
|
811 |
-
msgid "Flush 1 event"
|
812 |
-
msgid_plural "Flush %s events"
|
813 |
-
msgstr[0] ""
|
814 |
-
msgstr[1] ""
|
815 |
-
|
816 |
-
#: app/controller/class-ai1ec-events-controller.php:135
|
817 |
-
msgid "This feed is already being imported."
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: app/
|
821 |
-
msgid "
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: app/
|
825 |
-
msgid "
|
826 |
msgstr ""
|
827 |
|
828 |
-
#: app/
|
829 |
-
|
|
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: app/
|
833 |
-
msgid "
|
834 |
msgstr ""
|
835 |
|
836 |
-
#: app/
|
837 |
-
|
|
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: app/
|
841 |
-
|
|
|
842 |
msgstr ""
|
843 |
|
844 |
-
#: app/
|
845 |
-
msgid "
|
846 |
msgstr ""
|
847 |
|
848 |
-
|
849 |
-
|
850 |
-
msgid "Event restored to revision from %s"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: app/
|
854 |
-
msgid "
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: app/
|
858 |
-
msgid "
|
859 |
msgstr ""
|
860 |
|
861 |
-
#: app/
|
862 |
-
msgid "
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: app/
|
866 |
-
msgid "
|
867 |
msgstr ""
|
868 |
|
869 |
-
|
870 |
-
|
871 |
-
msgid "M j, Y @ G:i"
|
872 |
msgstr ""
|
873 |
|
874 |
-
#: app/
|
875 |
-
msgid "
|
876 |
msgstr ""
|
877 |
|
878 |
-
#: app/
|
879 |
-
#: app/
|
880 |
-
msgid "
|
881 |
msgstr ""
|
882 |
|
883 |
-
#: app/
|
884 |
-
|
|
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: app/
|
888 |
-
msgid "
|
889 |
msgstr ""
|
890 |
|
891 |
-
#: app/
|
892 |
-
msgid "
|
893 |
msgstr ""
|
894 |
|
895 |
-
#: app/
|
896 |
-
|
897 |
-
msgid "General Settings"
|
898 |
msgstr ""
|
899 |
|
900 |
-
#: app/
|
901 |
-
|
902 |
-
|
|
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: app/
|
906 |
-
|
907 |
-
|
|
|
908 |
msgstr ""
|
909 |
|
910 |
-
#: app/
|
911 |
-
|
|
|
|
|
|
|
|
|
912 |
msgstr ""
|
913 |
|
914 |
-
#: app/
|
915 |
-
msgid "
|
916 |
msgstr ""
|
917 |
|
918 |
-
#: app/
|
919 |
-
msgid "
|
920 |
msgstr ""
|
921 |
|
922 |
-
#: app/
|
923 |
-
|
|
|
924 |
msgstr ""
|
925 |
|
926 |
-
#: app/
|
927 |
-
|
|
|
928 |
msgstr ""
|
929 |
|
930 |
-
#: app/
|
931 |
-
msgid "
|
932 |
msgstr ""
|
933 |
|
934 |
-
#: app/
|
935 |
-
msgid "
|
936 |
-
msgid_plural "ending after <strong>%d</strong> times"
|
937 |
-
msgstr[0] ""
|
938 |
-
msgstr[1] ""
|
939 |
-
|
940 |
-
#: app/model/class-ai1ec-event.php:595
|
941 |
-
msgid "until <strong>%s</strong>"
|
942 |
msgstr ""
|
943 |
|
944 |
-
#: app/
|
945 |
-
msgid "
|
946 |
msgstr ""
|
947 |
|
948 |
#. Plugin Name of the plugin/theme
|
949 |
-
msgid "All-in-One Event Calendar
|
950 |
msgstr ""
|
951 |
|
952 |
#. Plugin URI of the plugin/theme
|
@@ -954,7 +1245,7 @@ msgid "http://theseednetwork.com/software/all-in-one-event-calendar-wordpress/"
|
|
954 |
msgstr ""
|
955 |
|
956 |
#. Description of the plugin/theme
|
957 |
-
msgid "An event calendar system with month
|
958 |
msgstr ""
|
959 |
|
960 |
#. Author URI of the plugin/theme
|
1 |
+
# Copyright (C) 2012 All-in-One Event Calendar
|
2 |
+
# This file is distributed under the same license as the All-in-One Event Calendar package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: All-in-One Event Calendar 1.3\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
|
7 |
+
"POT-Creation-Date: 2012-03-01 20:50:01+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2012-03-01 22:54+0200\n"
|
12 |
+
"Last-Translator: Yani Iliev <yani@the-seed.ca>\n"
|
13 |
"Language-Team: The Seed Studio\n"
|
14 |
|
15 |
+
#: app/controller/class-ai1ec-app-controller.php:364
|
16 |
+
#: app/controller/class-ai1ec-app-controller.php:365
|
17 |
+
msgid "Settings"
|
18 |
msgstr ""
|
19 |
|
20 |
+
#. translators: "%s" represents the week's starting date
|
21 |
+
#: app/controller/class-ai1ec-calendar-controller.php:326
|
22 |
+
#: app/helper/class-ai1ec-calendar-helper.php:717
|
23 |
+
#: app/helper/class-ai1ec-calendar-helper.php:726
|
24 |
+
msgid "Week of %s"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
#: app/controller/class-ai1ec-calendar-controller.php:326
|
28 |
+
msgid "F j"
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#: app/controller/class-ai1ec-calendar-controller.php:383
|
32 |
+
#: app/helper/class-ai1ec-settings-helper.php:155
|
33 |
+
#: app/view/calendar.php:26
|
34 |
+
msgid "Agenda"
|
35 |
+
msgstr ""
|
36 |
+
|
37 |
+
#: app/controller/class-ai1ec-events-controller.php:153
|
38 |
+
msgid "This feed is already being imported."
|
39 |
+
msgstr ""
|
40 |
+
|
41 |
+
#: app/controller/class-ai1ec-events-controller.php:154
|
42 |
+
msgid "Please enter a valid iCalendar URL."
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
#: app/controller/class-ai1ec-events-controller.php:333
|
46 |
+
msgid "Publish"
|
47 |
+
msgstr ""
|
48 |
+
|
49 |
+
#: app/controller/class-ai1ec-events-controller.php:333
|
50 |
+
#: app/view/feed_row.php:20
|
51 |
+
msgid "Update"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
#: app/controller/class-ai1ec-events-controller.php:335
|
55 |
+
msgid "Submit for Review"
|
56 |
+
msgstr ""
|
57 |
+
|
58 |
+
#: app/controller/class-ai1ec-events-controller.php:458
|
59 |
+
msgid "Event updated. <a href=\"%s\">View event</a>"
|
60 |
+
msgstr ""
|
61 |
+
|
62 |
+
#: app/controller/class-ai1ec-events-controller.php:459
|
63 |
+
msgid "Custom field updated."
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
#: app/controller/class-ai1ec-events-controller.php:460
|
67 |
+
msgid "Custom field deleted."
|
68 |
+
msgstr ""
|
69 |
+
|
70 |
+
#: app/controller/class-ai1ec-events-controller.php:461
|
71 |
+
msgid "Event updated."
|
72 |
+
msgstr ""
|
73 |
+
|
74 |
+
#. translators: %s: date and time of the revision
|
75 |
+
#: app/controller/class-ai1ec-events-controller.php:463
|
76 |
+
msgid "Event restored to revision from %s"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: app/controller/class-ai1ec-events-controller.php:464
|
80 |
+
msgid "Event published. <a href=\"%s\">View event</a>"
|
81 |
+
msgstr ""
|
82 |
+
|
83 |
+
#: app/controller/class-ai1ec-events-controller.php:465
|
84 |
+
msgid "Event saved."
|
85 |
+
msgstr ""
|
86 |
+
|
87 |
+
#: app/controller/class-ai1ec-events-controller.php:466
|
88 |
+
msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
89 |
+
msgstr ""
|
90 |
+
|
91 |
+
#: app/controller/class-ai1ec-events-controller.php:467
|
92 |
+
msgid "Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s\">Preview event</a>"
|
93 |
+
msgstr ""
|
94 |
+
|
95 |
+
#. translators: Publish box date format, see http:php.net/date
|
96 |
+
#: app/controller/class-ai1ec-events-controller.php:469
|
97 |
+
msgid "M j, Y @ G:i"
|
98 |
+
msgstr ""
|
99 |
+
|
100 |
+
#: app/controller/class-ai1ec-events-controller.php:470
|
101 |
+
msgid "Event draft updated. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: app/controller/class-ai1ec-importer-controller.php:91
|
105 |
+
msgid "The Events Calendar → All-in-One Event Calendar"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: app/controller/class-ai1ec-importer-controller.php:92
|
109 |
+
msgid "Imports events created using The Events Calendar plugin into the All-in-One Event Calendar"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: app/controller/class-ai1ec-settings-controller.php:82
|
113 |
+
msgid "Settings Updated."
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: app/controller/class-ai1ec-settings-controller.php:173
|
117 |
+
msgid "Flushed %d events"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
#: app/controller/class-ai1ec-settings-controller.php:181
|
121 |
+
#: app/controller/class-ai1ec-settings-controller.php:231
|
122 |
+
msgid "Invalid ICS feed ID"
|
123 |
+
msgstr ""
|
124 |
+
|
125 |
+
#: app/controller/class-ai1ec-settings-controller.php:216
|
126 |
+
msgid "No events were found"
|
127 |
+
msgstr ""
|
128 |
+
|
129 |
+
#: app/controller/class-ai1ec-settings-controller.php:221
|
130 |
+
msgid "Imported %d events"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: app/controller/class-ai1ec-settings-controller.php:222
|
134 |
+
#: app/view/feed_row.php:22
|
135 |
+
msgid "Flush 1 event"
|
136 |
+
msgid_plural "Flush %s events"
|
137 |
+
msgstr[0] ""
|
138 |
+
msgstr[1] ""
|
139 |
+
|
140 |
+
#: app/controller/class-ai1ec-settings-controller.php:274
|
141 |
+
msgctxt "meta box"
|
142 |
+
msgid "General Settings"
|
143 |
+
msgstr ""
|
144 |
+
|
145 |
+
#: app/controller/class-ai1ec-settings-controller.php:282
|
146 |
+
msgctxt "meta box"
|
147 |
+
msgid "The Seed Studio Support"
|
148 |
+
msgstr ""
|
149 |
+
|
150 |
+
#: app/controller/class-ai1ec-settings-controller.php:289
|
151 |
+
msgctxt "meta box"
|
152 |
+
msgid "ICS Import Settings"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: app/controller/class-ai1ec-settings-controller.php:338
|
156 |
+
msgid "<a href=\"%s\">Settings</a>"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: app/controller/class-ai1ec-settings-controller.php:352
|
160 |
+
msgid "<a href=\"%s\" target=\"_blank\">Donate</a>"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: app/controller/class-ai1ec-settings-controller.php:353
|
164 |
+
msgid "<a href=\"%s\" target=\"_blank\">Get Support</a>"
|
165 |
msgstr ""
|
166 |
|
167 |
#: app/helper/class-ai1ec-app-helper.php:147
|
234 |
msgid "Event Tag"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: app/helper/class-ai1ec-app-helper.php:221
|
238 |
+
msgctxt "Event feeds taxonomy"
|
239 |
+
msgid "Event Feeds"
|
240 |
+
msgstr ""
|
241 |
+
|
242 |
+
#: app/helper/class-ai1ec-app-helper.php:222
|
243 |
+
msgctxt "Event feed taxonomy (singular)"
|
244 |
+
msgid "Event Feed"
|
245 |
+
msgstr ""
|
246 |
+
|
247 |
+
#: app/helper/class-ai1ec-app-helper.php:310
|
248 |
+
msgid "Show All "
|
249 |
+
msgstr ""
|
250 |
+
|
251 |
+
#: app/helper/class-ai1ec-app-helper.php:342
|
252 |
msgid "All Events <span class=\"update-plugins count-%d\" title=\"%d Pending Events\"><span class=\"update-count\">%d</span></span>"
|
253 |
msgstr ""
|
254 |
|
255 |
+
#: app/helper/class-ai1ec-app-helper.php:348
|
256 |
msgid "All Events"
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: app/helper/class-ai1ec-app-helper.php:426
|
260 |
msgid "Event Details"
|
261 |
msgstr ""
|
262 |
|
263 |
+
#: app/helper/class-ai1ec-app-helper.php:459
|
264 |
msgid "Post Date"
|
265 |
msgstr ""
|
266 |
|
267 |
+
#: app/helper/class-ai1ec-app-helper.php:460
|
268 |
msgid "Event date/time"
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: app/helper/class-ai1ec-app-helper.php:684
|
272 |
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"
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: app/helper/class-ai1ec-app-helper.php:686
|
276 |
msgid "To set up the plugin: Select an option in the <strong>Calendar page</strong> dropdown list, the click <strong>Update Settings</strong>."
|
277 |
msgstr ""
|
278 |
|
279 |
+
#: app/helper/class-ai1ec-app-helper.php:688
|
280 |
msgid "To set up the plugin: Select an option in the <strong>Timezone</strong> dropdown list, the click <strong>Update Settings</strong>."
|
281 |
msgstr ""
|
282 |
|
283 |
+
#: app/helper/class-ai1ec-app-helper.php:692
|
284 |
msgid "The plugin is installed, but has not been configured. <a href=\"%s\">Click here to set it up now »</a>"
|
285 |
msgstr ""
|
286 |
|
287 |
+
#: app/helper/class-ai1ec-app-helper.php:698
|
288 |
msgid "The plugin is installed, but has not been configured. Please log in as a WordPress Administrator to set it up."
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: app/helper/class-ai1ec-calendar-helper.php:718
|
292 |
+
#: app/helper/class-ai1ec-calendar-helper.php:727
|
293 |
+
msgid "M j"
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: app/helper/class-ai1ec-calendar-helper.php:759
|
297 |
+
msgid "« Previous Events"
|
|
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: app/helper/class-ai1ec-calendar-helper.php:766
|
301 |
+
msgid "Next Events »"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: app/helper/class-ai1ec-events-helper.php:372
|
305 |
+
#: app/helper/class-ai1ec-events-helper.php:394
|
306 |
+
msgid "No repeat"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: app/helper/class-ai1ec-events-helper.php:373
|
310 |
+
#: app/helper/class-ai1ec-events-helper.php:395
|
311 |
+
msgid "Every day"
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: app/helper/class-ai1ec-events-helper.php:374
|
315 |
+
#: app/helper/class-ai1ec-events-helper.php:396
|
316 |
+
msgid "Every week"
|
317 |
msgstr ""
|
318 |
|
319 |
+
#: app/helper/class-ai1ec-events-helper.php:375
|
320 |
+
#: app/helper/class-ai1ec-events-helper.php:397
|
321 |
+
msgid "Every month"
|
322 |
msgstr ""
|
323 |
|
324 |
+
#: app/helper/class-ai1ec-events-helper.php:376
|
325 |
+
#: app/helper/class-ai1ec-events-helper.php:398
|
326 |
+
msgid "Every year"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: app/helper/class-ai1ec-events-helper.php:378
|
330 |
+
#: app/helper/class-ai1ec-events-helper.php:400
|
331 |
+
msgid "Custom..."
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: app/helper/class-ai1ec-events-helper.php:521
|
335 |
+
msgid "first"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: app/helper/class-ai1ec-events-helper.php:522
|
339 |
+
msgid "second"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: app/helper/class-ai1ec-events-helper.php:523
|
343 |
+
msgid "third"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: app/helper/class-ai1ec-events-helper.php:524
|
347 |
+
msgid "fourth"
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: app/helper/class-ai1ec-events-helper.php:526
|
351 |
+
msgid "last"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: app/helper/class-ai1ec-events-helper.php:531
|
355 |
+
msgid "Sunday"
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: app/helper/class-ai1ec-events-helper.php:532
|
359 |
+
msgid "Monday"
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: app/helper/class-ai1ec-events-helper.php:533
|
363 |
+
msgid "Tuesday"
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: app/helper/class-ai1ec-events-helper.php:534
|
367 |
+
msgid "Wednesday"
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: app/helper/class-ai1ec-events-helper.php:535
|
371 |
+
msgid "Thursday"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: app/helper/class-ai1ec-events-helper.php:536
|
375 |
+
msgid "Friday"
|
|
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: app/helper/class-ai1ec-events-helper.php:537
|
379 |
+
msgid "Saturday"
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: app/helper/class-ai1ec-events-helper.php:539
|
383 |
+
msgid "day"
|
384 |
msgstr ""
|
385 |
|
386 |
+
#: app/helper/class-ai1ec-events-helper.php:540
|
387 |
+
msgid "weekday"
|
|
|
|
|
|
|
388 |
msgstr ""
|
389 |
|
390 |
+
#: app/helper/class-ai1ec-events-helper.php:541
|
391 |
+
msgid "weekend day"
|
|
|
|
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: app/helper/class-ai1ec-events-helper.php:607
|
395 |
+
#: app/helper/class-ai1ec-events-helper.php:626
|
396 |
+
#: app/helper/class-ai1ec-events-helper.php:1676
|
397 |
+
#: app/helper/class-ai1ec-settings-helper.php:237
|
398 |
+
#: app/view/box_repeat.php:2
|
399 |
+
msgid "Daily"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: app/helper/class-ai1ec-events-helper.php:608
|
403 |
+
#: app/helper/class-ai1ec-events-helper.php:627
|
404 |
+
#: app/helper/class-ai1ec-events-helper.php:1688
|
405 |
+
#: app/view/box_repeat.php:3
|
406 |
+
msgid "Weekly"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: app/helper/class-ai1ec-events-helper.php:609
|
410 |
+
#: app/helper/class-ai1ec-events-helper.php:628
|
411 |
+
#: app/helper/class-ai1ec-events-helper.php:1700
|
412 |
+
#: app/view/box_repeat.php:4
|
413 |
+
msgid "Monthly"
|
414 |
msgstr ""
|
415 |
|
416 |
+
#: app/helper/class-ai1ec-events-helper.php:610
|
417 |
+
#: app/helper/class-ai1ec-events-helper.php:629
|
418 |
+
#: app/helper/class-ai1ec-events-helper.php:1712
|
419 |
+
#: app/view/box_repeat.php:5
|
420 |
+
msgid "Yearly"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: app/helper/class-ai1ec-events-helper.php:651
|
424 |
+
msgid "day(s)"
|
|
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: app/helper/class-ai1ec-events-helper.php:680
|
428 |
+
msgid "week(s)"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: app/helper/class-ai1ec-events-helper.php:750
|
432 |
+
msgid "month(s)"
|
|
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: app/helper/class-ai1ec-events-helper.php:773
|
436 |
+
msgid "year(s)"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: app/helper/class-ai1ec-events-helper.php:1360
|
440 |
+
msgid "Never"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: app/helper/class-ai1ec-events-helper.php:1361
|
444 |
+
msgid "After"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: app/helper/class-ai1ec-events-helper.php:1362
|
448 |
+
#: app/view/box_repeat.php:28
|
449 |
+
msgid "On date"
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: app/helper/class-ai1ec-events-helper.php:1555
|
453 |
+
#: app/helper/class-ai1ec-events-helper.php:1564
|
454 |
+
#: app/helper/class-ai1ec-events-helper.php:1572
|
455 |
+
msgctxt "Recurrence editor - weekly tab"
|
456 |
+
msgid "on"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: app/helper/class-ai1ec-events-helper.php:1560
|
460 |
+
#: app/helper/class-ai1ec-events-helper.php:1589
|
461 |
+
#: app/helper/class-ai1ec-events-helper.php:1627
|
462 |
+
msgid "and"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: app/helper/class-ai1ec-events-helper.php:1585
|
466 |
+
#: app/helper/class-ai1ec-events-helper.php:1592
|
467 |
+
#: app/helper/class-ai1ec-events-helper.php:1598
|
468 |
+
#: app/helper/class-ai1ec-events-helper.php:1609
|
469 |
+
msgctxt "Recurrence editor - monthly tab"
|
470 |
+
msgid "on"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: app/helper/class-ai1ec-events-helper.php:1585
|
474 |
+
#: app/helper/class-ai1ec-events-helper.php:1592
|
475 |
+
#: app/helper/class-ai1ec-events-helper.php:1598
|
476 |
+
msgid "of the month"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: app/helper/class-ai1ec-events-helper.php:1622
|
480 |
+
#: app/helper/class-ai1ec-events-helper.php:1630
|
481 |
+
#: app/helper/class-ai1ec-events-helper.php:1637
|
482 |
+
msgctxt "Recurrence editor - yearly tab"
|
483 |
+
msgid "on"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: app/helper/class-ai1ec-events-helper.php:1679
|
487 |
+
msgid "Every other day"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: app/helper/class-ai1ec-events-helper.php:1681
|
491 |
+
msgid "Every %d days"
|
|
|
492 |
msgstr ""
|
493 |
|
494 |
+
#: app/helper/class-ai1ec-events-helper.php:1691
|
495 |
+
msgid "Every other week"
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: app/helper/class-ai1ec-events-helper.php:1693
|
499 |
+
msgid "Every %d weeks"
|
|
|
|
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: app/helper/class-ai1ec-events-helper.php:1703
|
503 |
+
msgid "Every other month"
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: app/helper/class-ai1ec-events-helper.php:1705
|
507 |
+
msgid "Every %d months"
|
508 |
msgstr ""
|
509 |
|
510 |
+
#: app/helper/class-ai1ec-events-helper.php:1715
|
511 |
+
msgid "Every other year"
|
512 |
msgstr ""
|
513 |
|
514 |
+
#: app/helper/class-ai1ec-events-helper.php:1717
|
515 |
+
msgid "Every %d years"
|
516 |
msgstr ""
|
517 |
|
518 |
+
#: app/helper/class-ai1ec-events-helper.php:1737
|
519 |
+
msgid "until %s"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: app/helper/class-ai1ec-events-helper.php:1740
|
523 |
+
msgid "for %d occurrences"
|
524 |
msgstr ""
|
525 |
|
526 |
+
#: app/helper/class-ai1ec-events-helper.php:1742
|
527 |
+
msgid "forever"
|
528 |
msgstr ""
|
529 |
|
530 |
+
#: app/helper/class-ai1ec-events-helper.php:1839
|
531 |
+
msgid "times"
|
532 |
msgstr ""
|
533 |
|
534 |
+
#: app/helper/class-ai1ec-settings-helper.php:85
|
535 |
+
msgid "- Auto-Create New Page -"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: app/helper/class-ai1ec-settings-helper.php:107
|
539 |
+
msgid "View \"%s\" »"
|
540 |
msgstr ""
|
541 |
|
542 |
+
#: app/helper/class-ai1ec-settings-helper.php:149
|
543 |
+
#: app/view/calendar.php:11
|
544 |
+
#: app/view/calendar.php:12
|
545 |
+
#: app/view/calendar.php:25
|
546 |
+
msgid "Month"
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: app/helper/class-ai1ec-settings-helper.php:152
|
550 |
+
#: app/view/calendar.php:18
|
551 |
+
#: app/view/calendar.php:19
|
552 |
+
msgid "Week"
|
553 |
msgstr ""
|
554 |
|
555 |
+
#: app/helper/class-ai1ec-settings-helper.php:204
|
556 |
+
msgid "Default (d/m/y)"
|
557 |
msgstr ""
|
558 |
|
559 |
+
#: app/helper/class-ai1ec-settings-helper.php:207
|
560 |
+
msgid "US (m/d/y)"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: app/helper/class-ai1ec-settings-helper.php:210
|
564 |
+
msgid "ISO 8601 (y-m-d)"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: app/helper/class-ai1ec-settings-helper.php:213
|
568 |
+
msgid "Dotted (m.d.y)"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: app/helper/class-ai1ec-settings-helper.php:231
|
572 |
+
msgid "Hourly"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: app/helper/class-ai1ec-settings-helper.php:234
|
576 |
+
msgid "Twice Daily"
|
|
|
|
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: app/helper/class-ai1ec-settings-helper.php:321
|
580 |
+
msgid "Calendar"
|
581 |
msgstr ""
|
582 |
|
583 |
+
#: app/model/class-ai1ec-event.php:496
|
584 |
+
msgid " (all-day)"
|
|
|
585 |
msgstr ""
|
586 |
|
587 |
+
#: app/view/admin_notices.php:2
|
588 |
+
msgid "All-in-One Event Calendar Notice:"
|
|
|
|
|
589 |
msgstr ""
|
590 |
|
591 |
+
#: app/view/agenda-widget-form.php:2
|
592 |
+
msgid "Title:"
|
593 |
msgstr ""
|
594 |
|
595 |
+
#: app/view/agenda-widget-form.php:6
|
596 |
+
msgid "Number of events to show:"
|
597 |
msgstr ""
|
598 |
|
599 |
+
#: app/view/agenda-widget-form.php:14
|
600 |
+
msgid "Events with these <strong>Categories</strong>"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: app/view/agenda-widget-form.php:23
|
604 |
+
msgid "No categories found."
|
605 |
msgstr ""
|
606 |
|
607 |
+
#: app/view/agenda-widget-form.php:30
|
608 |
+
msgid "<strong>Or</strong> events with these <strong>Tags</strong>"
|
|
|
609 |
msgstr ""
|
610 |
|
611 |
+
#: app/view/agenda-widget-form.php:39
|
612 |
+
msgid "No tags found."
|
|
|
613 |
msgstr ""
|
614 |
|
615 |
+
#: app/view/agenda-widget-form.php:46
|
616 |
+
msgid "<strong>Or</strong> any of these <strong>Events</strong>"
|
|
|
|
|
617 |
msgstr ""
|
618 |
|
619 |
+
#: app/view/agenda-widget-form.php:55
|
620 |
+
msgid "No events found."
|
|
|
|
|
621 |
msgstr ""
|
622 |
|
623 |
+
#: app/view/agenda-widget-form.php:62
|
624 |
+
msgid "Show <strong>View Calendar</strong> button"
|
625 |
msgstr ""
|
626 |
|
627 |
+
#: app/view/agenda-widget-form.php:65
|
628 |
+
msgid "Show <strong>Subscribe</strong> buttons"
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: app/view/agenda-widget-form.php:68
|
632 |
+
msgid "Hide this widget on calendar page"
|
633 |
msgstr ""
|
634 |
|
635 |
+
#: app/view/agenda-widget.php:11
|
636 |
+
msgid "There are no upcoming events."
|
637 |
msgstr ""
|
638 |
|
639 |
+
#: app/view/agenda-widget.php:59
|
640 |
+
msgid "View Calendar »"
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: app/view/agenda-widget.php:67
|
644 |
+
#: app/view/calendar.php:110
|
645 |
+
msgid "Subscribe to this calendar using your favourite calendar program (iCal, Outlook, etc.)"
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: app/view/agenda-widget.php:68
|
649 |
+
#: app/view/calendar.php:111
|
650 |
+
msgid "✔ Subscribe"
|
651 |
msgstr ""
|
652 |
|
653 |
+
#: app/view/agenda-widget.php:72
|
654 |
+
#: app/view/calendar.php:116
|
655 |
+
msgid "Subscribe to this calendar in your Google Calendar"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: app/view/agenda-widget.php:74
|
659 |
+
msgid "Add to Google"
|
660 |
msgstr ""
|
661 |
|
662 |
+
#: app/view/agenda.php:5
|
663 |
+
msgid "+ Expand All"
|
|
|
664 |
msgstr ""
|
665 |
|
666 |
+
#: app/view/agenda.php:8
|
667 |
+
msgid "− Collapse All"
|
|
|
668 |
msgstr ""
|
669 |
|
670 |
+
#: app/view/agenda.php:12
|
671 |
+
#: app/view/month.php:4
|
672 |
+
#: app/view/week.php:4
|
673 |
+
msgid "Today"
|
674 |
msgstr ""
|
675 |
|
676 |
+
#: app/view/agenda.php:29
|
677 |
+
msgid "There are no upcoming events to display at this time."
|
678 |
+
msgstr ""
|
679 |
+
|
680 |
+
#: app/view/agenda.php:59
|
681 |
+
#: app/view/agenda.php:109
|
682 |
+
#: app/view/month.php:68
|
683 |
+
#: app/view/week.php:69
|
684 |
+
msgid "(all-day)"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: app/view/agenda.php:77
|
688 |
+
msgid "Read more »"
|
689 |
+
msgstr ""
|
690 |
+
|
691 |
+
#: app/view/agenda.php:81
|
692 |
+
#: app/view/event-multi.php:45
|
693 |
+
#: app/view/event-single.php:57
|
694 |
+
msgid "Categories:"
|
695 |
+
msgstr ""
|
696 |
+
|
697 |
+
#: app/view/agenda.php:87
|
698 |
+
#: app/view/event-multi.php:51
|
699 |
+
#: app/view/event-single.php:64
|
700 |
+
msgid "Tags:"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: app/view/box_event_contact.php:1
|
704 |
+
msgid "Organizer contact info"
|
705 |
+
msgstr ""
|
706 |
+
|
707 |
+
#: app/view/box_event_contact.php:7
|
708 |
+
msgid "Contact name:"
|
709 |
+
msgstr ""
|
710 |
+
|
711 |
+
#: app/view/box_event_contact.php:17
|
712 |
+
msgid "Phone:"
|
713 |
+
msgstr ""
|
714 |
+
|
715 |
+
#: app/view/box_event_contact.php:27
|
716 |
+
msgid "E-mail:"
|
717 |
+
msgstr ""
|
718 |
+
|
719 |
+
#: app/view/box_event_cost.php:1
|
720 |
+
msgid "Event cost"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: app/view/box_event_cost.php:7
|
724 |
+
msgid "Cost"
|
725 |
msgstr ""
|
726 |
|
727 |
#: app/view/box_event_location.php:1
|
740 |
msgid "Show Google Map:"
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: app/view/box_eventbrite.php:1
|
744 |
+
msgid "Eventbrite Ticketing"
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: app/view/box_eventbrite.php:7
|
748 |
+
msgid "Register this event with Eventbrite.com?"
|
749 |
+
msgstr ""
|
750 |
+
|
751 |
+
#: app/view/box_eventbrite.php:12
|
752 |
+
msgid "Yes"
|
753 |
+
msgstr ""
|
754 |
+
|
755 |
+
#: app/view/box_eventbrite.php:14
|
756 |
+
msgid "No"
|
757 |
+
msgstr ""
|
758 |
+
|
759 |
+
#: app/view/box_eventbrite.php:22
|
760 |
+
msgid "Set up your first ticket"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: app/view/box_eventbrite.php:24
|
764 |
+
msgid "To create multiple tickets per event, submit this form, then follow the link to Eventbrite."
|
765 |
+
msgstr ""
|
766 |
+
|
767 |
+
#: app/view/box_eventbrite.php:32
|
768 |
+
msgid "Name"
|
769 |
+
msgstr ""
|
770 |
+
|
771 |
+
#: app/view/box_eventbrite.php:42
|
772 |
+
msgid "Description"
|
773 |
+
msgstr ""
|
774 |
+
|
775 |
+
#: app/view/box_eventbrite.php:53
|
776 |
+
msgid "Type"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
+
#: app/view/box_eventbrite.php:58
|
780 |
+
msgid "Set Price"
|
781 |
+
msgstr ""
|
782 |
+
|
783 |
+
#: app/view/box_eventbrite.php:60
|
784 |
+
msgid "Donation Based"
|
785 |
+
msgstr ""
|
786 |
+
|
787 |
+
#: app/view/box_eventbrite.php:68
|
788 |
+
msgid "The price for this event's first ticket will be taken from the Cost field above."
|
789 |
+
msgstr ""
|
790 |
+
|
791 |
+
#: app/view/box_eventbrite.php:75
|
792 |
+
msgid "Quantity"
|
793 |
+
msgstr ""
|
794 |
+
|
795 |
+
#: app/view/box_eventbrite.php:85
|
796 |
+
msgid "Include Fee in Price"
|
797 |
+
msgstr ""
|
798 |
+
|
799 |
+
#: app/view/box_eventbrite.php:90
|
800 |
+
msgid "Add Service Fee on top of price"
|
801 |
+
msgstr ""
|
802 |
+
|
803 |
+
#: app/view/box_eventbrite.php:92
|
804 |
+
msgid "Include Service fee in price"
|
805 |
+
msgstr ""
|
806 |
+
|
807 |
+
#: app/view/box_eventbrite.php:98
|
808 |
+
msgid "Payment Options"
|
809 |
+
msgstr ""
|
810 |
+
|
811 |
+
#: app/view/box_eventbrite.php:103
|
812 |
+
msgid "Paypal"
|
813 |
+
msgstr ""
|
814 |
+
|
815 |
+
#: app/view/box_eventbrite.php:105
|
816 |
+
msgid "Google Checkout"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: app/view/box_eventbrite.php:107
|
820 |
+
msgid "Check"
|
821 |
+
msgstr ""
|
822 |
+
|
823 |
+
#: app/view/box_eventbrite.php:109
|
824 |
+
msgid "Cash"
|
825 |
+
msgstr ""
|
826 |
+
|
827 |
+
#: app/view/box_eventbrite.php:111
|
828 |
+
msgid "Send an Invoice"
|
829 |
msgstr ""
|
830 |
|
831 |
#: app/view/box_general_settings.php:1
|
865 |
msgstr ""
|
866 |
|
867 |
#: app/view/box_general_settings.php:31
|
868 |
+
msgid "Keep all events <strong>expanded</strong> in the agenda view"
|
869 |
msgstr ""
|
870 |
|
871 |
#: app/view/box_general_settings.php:37
|
872 |
+
msgid "<strong>Exclude</strong> events from search results"
|
873 |
msgstr ""
|
874 |
|
875 |
#: app/view/box_general_settings.php:43
|
876 |
+
msgid "Show <strong>Post Your Event</strong> button above the calendar to privileged users"
|
877 |
msgstr ""
|
878 |
|
879 |
#: app/view/box_general_settings.php:49
|
880 |
+
msgid "Hide <strong>Subscribe</strong>/<strong>Add to Calendar</strong> buttons in calendar and single event views"
|
881 |
msgstr ""
|
882 |
|
883 |
#: app/view/box_general_settings.php:55
|
884 |
+
msgid "Hide <strong>Google Maps</strong> until clicked"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
885 |
msgstr ""
|
886 |
|
887 |
+
#: app/view/box_general_settings.php:61
|
888 |
+
msgid "Use the configured <strong>region</strong> (WordPress locale) to bias the address autocomplete function"
|
889 |
msgstr ""
|
890 |
|
891 |
+
#: app/view/box_general_settings.php:67
|
892 |
+
msgid "Include <strong>event categories</strong> in post category lists"
|
893 |
msgstr ""
|
894 |
|
895 |
+
#: app/view/box_general_settings.php:71
|
896 |
+
msgid "Adding/Editing Events"
|
897 |
msgstr ""
|
898 |
|
899 |
+
#: app/view/box_general_settings.php:73
|
900 |
+
msgid "Input dates in this format:"
|
901 |
msgstr ""
|
902 |
|
903 |
+
#: app/view/box_general_settings.php:79
|
904 |
+
msgid "Use <strong>24h time</strong> in time pickers"
|
905 |
msgstr ""
|
906 |
|
907 |
+
#: app/view/box_general_settings.php:85
|
908 |
+
msgid "Display <strong>Publish</strong> at bottom of Edit Event form"
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: app/view/box_ics_import_settings.php:2
|
912 |
+
msgid "Auto-refresh"
|
|
|
913 |
msgstr ""
|
914 |
|
915 |
+
#: app/view/box_ics_import_settings.php:8
|
916 |
+
#: app/view/feed_row.php:3
|
917 |
+
msgid "iCalendar/.ics Feed URL:"
|
918 |
msgstr ""
|
919 |
|
920 |
+
#: app/view/box_ics_import_settings.php:12
|
921 |
+
msgid "Event category"
|
922 |
msgstr ""
|
923 |
|
924 |
+
#: app/view/box_ics_import_settings.php:18
|
925 |
+
#: app/view/feed_row.php:15
|
926 |
+
msgid "Tag with"
|
|
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: app/view/box_ics_import_settings.php:22
|
930 |
+
msgid "+ Add new subscription"
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: app/view/box_repeat.php:14
|
934 |
+
msgid "End"
|
935 |
msgstr ""
|
936 |
|
937 |
+
#: app/view/box_repeat.php:21
|
938 |
+
msgid "Ending after"
|
939 |
msgstr ""
|
940 |
|
941 |
+
#: app/view/box_repeat.php:36
|
942 |
+
msgid "Apply"
|
943 |
msgstr ""
|
944 |
|
945 |
+
#: app/view/box_repeat.php:37
|
946 |
+
msgid "Cancel"
|
947 |
msgstr ""
|
948 |
|
949 |
+
#. #-#-#-#-# plugin.pot (All-in-One Event Calendar 1.3) #-#-#-#-#
|
950 |
+
#. Author of the plugin/theme
|
951 |
+
#: app/view/box_the_seed_studio.php:4
|
952 |
+
msgid "The Seed Studio"
|
953 |
msgstr ""
|
954 |
|
955 |
+
#: app/view/box_the_seed_studio.php:7
|
956 |
+
msgid "The Seed Studio provides web development and support services for clients and web developers."
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: app/view/box_the_seed_studio.php:14
|
960 |
+
msgid "Follow @theseednet"
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: app/view/box_the_seed_studio.php:20
|
964 |
+
msgid "Get Support<span> from one of our experienced pros</span>"
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: app/view/box_the_seed_studio.php:23
|
968 |
+
msgid "Support"
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: app/view/box_the_seed_studio.php:25
|
972 |
+
msgid "View plugin documentation"
|
973 |
msgstr ""
|
974 |
|
975 |
+
#: app/view/box_the_seed_studio.php:28
|
976 |
+
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!)."
|
|
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: app/view/box_the_seed_studio.php:31
|
980 |
+
msgid "Plugin users: The Seed gives support priority to clients. For free support from other WordPress users, visit the plugin's forum."
|
981 |
msgstr ""
|
982 |
|
983 |
+
#: app/view/box_the_seed_studio.php:34
|
984 |
+
msgid "Vote and Share"
|
985 |
msgstr ""
|
986 |
|
987 |
+
#: app/view/box_the_seed_studio.php:36
|
988 |
+
msgid "This plugin is offered free to the Wordpress Community under the GPL3 license. All we ask is that you:"
|
989 |
msgstr ""
|
990 |
|
991 |
+
#: app/view/box_the_seed_studio.php:38
|
992 |
+
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!)"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: app/view/box_the_seed_studio.php:39
|
996 |
+
msgid "Link to the plugin page on our website"
|
997 |
msgstr ""
|
998 |
|
999 |
+
#: app/view/box_the_seed_studio.php:40
|
1000 |
+
msgid "Become a Fan on Facebook"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
+
#: app/view/box_the_seed_studio.php:41
|
1004 |
+
msgid "Follow us on Twitter"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: app/view/box_the_seed_studio.php:46
|
1008 |
+
msgid "Latest from the Seed Network"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
+
#: app/view/box_time_and_date.php:2
|
1012 |
+
msgid "Event date and time"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
+
#: app/view/box_time_and_date.php:8
|
1016 |
+
msgid "All-day event"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
+
#: app/view/box_time_and_date.php:18
|
1020 |
+
msgid "Start date / time"
|
1021 |
msgstr ""
|
1022 |
|
1023 |
+
#: app/view/box_time_and_date.php:31
|
1024 |
+
msgid "End date / time"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
+
#: app/view/box_time_and_date.php:46
|
1028 |
+
msgid "Repeat"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
+
#: app/view/box_time_and_date.php:60
|
1032 |
+
msgid "Exclude"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
+
#: app/view/box_time_and_date.php:67
|
1036 |
+
msgid "Choose a rule for exclusion"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
+
#: app/view/box_time_and_date.php:73
|
1040 |
+
msgid "Exclude dates"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
+
#: app/view/box_time_and_date.php:80
|
1044 |
+
msgid "Select date range"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
+
#: app/view/box_time_and_date.php:85
|
1048 |
+
msgid "Choose specific dates to exclude"
|
1049 |
msgstr ""
|
1050 |
|
1051 |
+
#: app/view/calendar.php:35
|
1052 |
+
msgid "+ Post Your Event"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
+
#: app/view/calendar.php:44
|
1056 |
+
msgid "Clear Filters"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
+
#: app/view/calendar.php:44
|
1060 |
+
msgid "✘"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
+
#: app/view/calendar.php:45
|
1064 |
+
msgid "Filter:"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
+
#: app/view/calendar.php:50
|
1068 |
+
msgid "Categories ▾"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
+
#: app/view/calendar.php:72
|
1072 |
+
msgid "Tags ▾"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
+
#: app/view/calendar.php:112
|
1076 |
+
msgid "to this filtered calendar"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
+
#: app/view/calendar.php:118
|
1080 |
+
msgid "Subscribe in Google Calendar"
|
1081 |
msgstr ""
|
1082 |
|
1083 |
+
#: app/view/class-ai1ec-agenda-widget.php:18
|
1084 |
+
#: app/view/class-ai1ec-agenda-widget.php:39
|
1085 |
+
msgid "Upcoming Events"
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: app/view/class-ai1ec-agenda-widget.php:20
|
1089 |
+
msgid "All-in-One Event Calendar: Lists upcoming events in Agenda view"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: app/view/event-excerpt.php:2
|
1093 |
+
#: app/view/event-multi.php:4
|
1094 |
+
#: app/view/event-single.php:5
|
1095 |
+
msgid "When:"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: app/view/event-excerpt.php:4
|
1099 |
+
#: app/view/event-multi.php:20
|
1100 |
+
#: app/view/event-single.php:25
|
1101 |
+
msgid "Where:"
|
1102 |
msgstr ""
|
1103 |
|
1104 |
+
#: app/view/event-map.php:2
|
1105 |
+
msgid "Click to view map"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: app/view/event-map.php:9
|
1109 |
+
msgid "View Full-Size Map »"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: app/view/event-multi.php:7
|
1113 |
+
msgid "View in Calendar »"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: app/view/event-multi.php:14
|
1117 |
+
#: app/view/event-single.php:15
|
1118 |
+
msgid "Repeats:"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
+
#: app/view/event-multi.php:24
|
1122 |
+
msgid "View Map »"
|
1123 |
msgstr ""
|
1124 |
|
1125 |
+
#: app/view/event-multi.php:33
|
1126 |
+
#: app/view/event-single.php:45
|
1127 |
+
msgid "Cost:"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: app/view/event-multi.php:39
|
1131 |
+
#: app/view/event-single.php:51
|
1132 |
+
msgid "Contact:"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
+
#: app/view/event-single-footer.php:4
|
1136 |
+
msgid "This post was replicated from another site's <a class=\"ai1ec-ics-icon\" href=\"%s\" title=\"iCalendar feed\">calendar feed</a>."
|
1137 |
msgstr ""
|
1138 |
|
1139 |
+
#: app/view/event-single-footer.php:8
|
1140 |
+
msgid "View original post »"
|
|
|
1141 |
msgstr ""
|
1142 |
|
1143 |
+
#: app/view/event-single.php:8
|
1144 |
+
msgid "Back to Calendar »"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
+
#: app/view/event-single.php:21
|
1148 |
+
msgid "Excluding:"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
+
#: app/view/event-single.php:32
|
1152 |
+
msgid "Add this event to your favourite calendar program (iCal, Outlook, etc.)"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
+
#: app/view/event-single.php:33
|
1156 |
+
msgid "✔ Add to Calendar"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
+
#: app/view/event-single.php:36
|
1160 |
+
msgid "Add this event to your Google Calendar"
|
|
|
1161 |
msgstr ""
|
1162 |
|
1163 |
+
#: app/view/event-single.php:38
|
1164 |
+
msgid "Add to Google Calendar"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
+
#: app/view/event_categories-color_picker.php:5
|
1168 |
+
#: app/view/event_categories-color_picker.php:19
|
1169 |
+
msgid "Category Color"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
+
#: app/view/event_categories-color_picker.php:13
|
1173 |
+
#: app/view/event_categories-color_picker.php:25
|
1174 |
+
msgid "Events in this category will be identified by this color"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
+
#: app/view/feed_row.php:9
|
1178 |
+
msgid "Event category:"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
+
#: app/view/feed_row.php:19
|
1182 |
+
msgid "× Delete"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
+
#: app/view/import.php:6
|
1186 |
+
msgid "Successfully imported events:"
|
|
|
1187 |
msgstr ""
|
1188 |
|
1189 |
+
#: app/view/month.php:50
|
1190 |
+
#: app/view/week.php:55
|
1191 |
+
#: app/view/week.php:127
|
1192 |
+
msgid "Summary:"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: app/view/month.php:53
|
1196 |
+
#: app/view/week.php:58
|
1197 |
+
#: app/view/week.php:130
|
1198 |
+
msgid "click anywhere for details"
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: app/view/row_daily.php:3
|
1202 |
+
#: app/view/row_monthly.php:3
|
1203 |
+
#: app/view/row_monthly.php:22
|
1204 |
+
#: app/view/row_weekly.php:3
|
1205 |
+
#: app/view/row_yearly.php:3
|
1206 |
+
msgid "Every"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
+
#: app/view/row_monthly.php:9
|
1210 |
+
msgid "On day of the month"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#: app/view/row_monthly.php:13
|
1214 |
+
msgid "On day of the week"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: app/view/row_weekly.php:6
|
1218 |
+
msgctxt "Recurrence editor - weekly tab"
|
1219 |
+
msgid "On"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: app/view/row_yearly.php:7
|
1223 |
+
msgctxt "Recurrence editor - yearly tab"
|
1224 |
+
msgid "In"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
+
#: app/view/settings.php:5
|
1228 |
+
msgid "All-in-one Event Calendar"
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: app/view/settings.php:16
|
1232 |
+
msgid "Update Settings"
|
|
|
|
|
|
|
|
|
|
|
|
|
1233 |
msgstr ""
|
1234 |
|
1235 |
+
#: app/view/week.php:33
|
1236 |
+
msgid "All-day"
|
1237 |
msgstr ""
|
1238 |
|
1239 |
#. Plugin Name of the plugin/theme
|
1240 |
+
msgid "All-in-One Event Calendar"
|
1241 |
msgstr ""
|
1242 |
|
1243 |
#. Plugin URI of the plugin/theme
|
1245 |
msgstr ""
|
1246 |
|
1247 |
#. Description of the plugin/theme
|
1248 |
+
msgid "An event calendar system with month, week, agenda views, upcoming events widget, color-coded categories, recurrence, and import/export of .ics feeds."
|
1249 |
msgstr ""
|
1250 |
|
1251 |
#. Author URI of the plugin/theme
|
language/all-in-one-event-calendar.pot
CHANGED
@@ -4,7 +4,7 @@ msgid ""
|
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: All-in-One Event Calendar 1.3\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
|
7 |
-
"POT-Creation-Date: 2012-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -33,72 +33,72 @@ msgstr ""
|
|
33 |
msgid "Agenda"
|
34 |
msgstr ""
|
35 |
|
36 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
37 |
msgid "This feed is already being imported."
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
41 |
msgid "Please enter a valid iCalendar URL."
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
45 |
msgid "Publish"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
49 |
#: app/view/feed_row.php:20
|
50 |
msgid "Update"
|
51 |
msgstr ""
|
52 |
|
53 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
54 |
msgid "Submit for Review"
|
55 |
msgstr ""
|
56 |
|
57 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
58 |
msgid "Event updated. <a href=\"%s\">View event</a>"
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
62 |
msgid "Custom field updated."
|
63 |
msgstr ""
|
64 |
|
65 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
66 |
msgid "Custom field deleted."
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
70 |
msgid "Event updated."
|
71 |
msgstr ""
|
72 |
|
73 |
#. translators: %s: date and time of the revision
|
74 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
75 |
msgid "Event restored to revision from %s"
|
76 |
msgstr ""
|
77 |
|
78 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
79 |
msgid "Event published. <a href=\"%s\">View event</a>"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
83 |
msgid "Event saved."
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
87 |
msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
91 |
msgid ""
|
92 |
"Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
|
93 |
"\">Preview event</a>"
|
94 |
msgstr ""
|
95 |
|
96 |
#. translators: Publish box date format, see http:php.net/date
|
97 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
98 |
msgid "M j, Y @ G:i"
|
99 |
msgstr ""
|
100 |
|
101 |
-
#: app/controller/class-ai1ec-events-controller.php:
|
102 |
msgid "Event draft updated. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
103 |
msgstr ""
|
104 |
|
@@ -237,58 +237,68 @@ msgctxt "Event tags taxonomy (singular)"
|
|
237 |
msgid "Event Tag"
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
241 |
msgid "Show All "
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
245 |
msgid ""
|
246 |
"All Events <span class=\"update-plugins count-%d\" title=\"%d Pending Events"
|
247 |
"\"><span class=\"update-count\">%d</span></span>"
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
251 |
msgid "All Events"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
255 |
msgid "Event Details"
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
259 |
msgid "Post Date"
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
263 |
msgid "Event date/time"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
267 |
msgid ""
|
268 |
"%sTo set up the plugin: %s 1. Select an option in the <strong>Calendar page</"
|
269 |
"strong> dropdown list. %s 2. Select an option in the <strong>Timezone</"
|
270 |
"strong> dropdown list. %s 3. Click <strong>Update Settings</strong>. %s"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
274 |
msgid ""
|
275 |
"To set up the plugin: Select an option in the <strong>Calendar page</strong> "
|
276 |
"dropdown list, the click <strong>Update Settings</strong>."
|
277 |
msgstr ""
|
278 |
|
279 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
280 |
msgid ""
|
281 |
"To set up the plugin: Select an option in the <strong>Timezone</strong> "
|
282 |
"dropdown list, the click <strong>Update Settings</strong>."
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
286 |
msgid ""
|
287 |
"The plugin is installed, but has not been configured. <a href=\"%s\">Click "
|
288 |
"here to set it up now »</a>"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: app/helper/class-ai1ec-app-helper.php:
|
292 |
msgid ""
|
293 |
"The plugin is installed, but has not been configured. Please log in as a "
|
294 |
"WordPress Administrator to set it up."
|
@@ -307,228 +317,228 @@ msgstr ""
|
|
307 |
msgid "Next Events »"
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
311 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
312 |
msgid "No repeat"
|
313 |
msgstr ""
|
314 |
|
315 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
316 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
317 |
msgid "Every day"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
321 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
322 |
msgid "Every week"
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
326 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
327 |
msgid "Every month"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
331 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
332 |
msgid "Every year"
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
336 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
337 |
msgid "Custom..."
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
341 |
msgid "first"
|
342 |
msgstr ""
|
343 |
|
344 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
345 |
msgid "second"
|
346 |
msgstr ""
|
347 |
|
348 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
349 |
msgid "third"
|
350 |
msgstr ""
|
351 |
|
352 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
353 |
msgid "fourth"
|
354 |
msgstr ""
|
355 |
|
356 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
357 |
msgid "last"
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
361 |
msgid "Sunday"
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
365 |
msgid "Monday"
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
369 |
msgid "Tuesday"
|
370 |
msgstr ""
|
371 |
|
372 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
373 |
msgid "Wednesday"
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
377 |
msgid "Thursday"
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
381 |
msgid "Friday"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
385 |
msgid "Saturday"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
389 |
msgid "day"
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
393 |
msgid "weekday"
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
397 |
msgid "weekend day"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
401 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
402 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
403 |
#: app/helper/class-ai1ec-settings-helper.php:237 app/view/box_repeat.php:2
|
404 |
msgid "Daily"
|
405 |
msgstr ""
|
406 |
|
407 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
408 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
409 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
410 |
msgid "Weekly"
|
411 |
msgstr ""
|
412 |
|
413 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
414 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
415 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
416 |
msgid "Monthly"
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
420 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
421 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
422 |
msgid "Yearly"
|
423 |
msgstr ""
|
424 |
|
425 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
426 |
msgid "day(s)"
|
427 |
msgstr ""
|
428 |
|
429 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
430 |
msgid "week(s)"
|
431 |
msgstr ""
|
432 |
|
433 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
434 |
msgid "month(s)"
|
435 |
msgstr ""
|
436 |
|
437 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
438 |
msgid "year(s)"
|
439 |
msgstr ""
|
440 |
|
441 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
442 |
msgid "Never"
|
443 |
msgstr ""
|
444 |
|
445 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
446 |
msgid "After"
|
447 |
msgstr ""
|
448 |
|
449 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
450 |
msgid "On date"
|
451 |
msgstr ""
|
452 |
|
453 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
454 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
455 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
456 |
msgctxt "Recurrence editor - weekly tab"
|
457 |
msgid "on"
|
458 |
msgstr ""
|
459 |
|
460 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
461 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
462 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
463 |
msgid "and"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
467 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
468 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
469 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
470 |
msgctxt "Recurrence editor - monthly tab"
|
471 |
msgid "on"
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
475 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
476 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
477 |
msgid "of the month"
|
478 |
msgstr ""
|
479 |
|
480 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
481 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
482 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
483 |
msgctxt "Recurrence editor - yearly tab"
|
484 |
msgid "on"
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
488 |
msgid "Every other day"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
492 |
msgid "Every %d days"
|
493 |
msgstr ""
|
494 |
|
495 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
496 |
msgid "Every other week"
|
497 |
msgstr ""
|
498 |
|
499 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
500 |
msgid "Every %d weeks"
|
501 |
msgstr ""
|
502 |
|
503 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
504 |
msgid "Every other month"
|
505 |
msgstr ""
|
506 |
|
507 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
508 |
msgid "Every %d months"
|
509 |
msgstr ""
|
510 |
|
511 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
512 |
msgid "Every other year"
|
513 |
msgstr ""
|
514 |
|
515 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
516 |
msgid "Every %d years"
|
517 |
msgstr ""
|
518 |
|
519 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
520 |
msgid "until %s"
|
521 |
msgstr ""
|
522 |
|
523 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
524 |
msgid "for %d occurrences"
|
525 |
msgstr ""
|
526 |
|
527 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
528 |
msgid "forever"
|
529 |
msgstr ""
|
530 |
|
531 |
-
#: app/helper/class-ai1ec-events-helper.php:
|
532 |
msgid "times"
|
533 |
msgstr ""
|
534 |
|
@@ -578,7 +588,7 @@ msgstr ""
|
|
578 |
msgid "Calendar"
|
579 |
msgstr ""
|
580 |
|
581 |
-
#: app/model/class-ai1ec-event.php:
|
582 |
msgid " (all-day)"
|
583 |
msgstr ""
|
584 |
|
@@ -682,19 +692,15 @@ msgid "Read more »"
|
|
682 |
msgstr ""
|
683 |
|
684 |
#: app/view/agenda.php:81 app/view/event-multi.php:45
|
685 |
-
#: app/view/event-single.php:
|
686 |
msgid "Categories:"
|
687 |
msgstr ""
|
688 |
|
689 |
#: app/view/agenda.php:87 app/view/event-multi.php:51
|
690 |
-
#: app/view/event-single.php:
|
691 |
msgid "Tags:"
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: app/view/box_date_picker.php:4
|
695 |
-
msgid "Select dates"
|
696 |
-
msgstr ""
|
697 |
-
|
698 |
#: app/view/box_event_contact.php:1
|
699 |
msgid "Organizer contact info"
|
700 |
msgstr ""
|
@@ -1051,10 +1057,22 @@ msgstr ""
|
|
1051 |
msgid "Exclude"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
-
#: app/view/box_time_and_date.php:
|
|
|
|
|
|
|
|
|
1055 |
msgid "Exclude dates"
|
1056 |
msgstr ""
|
1057 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1058 |
#: app/view/calendar.php:35
|
1059 |
msgid "+ Post Your Event"
|
1060 |
msgstr ""
|
@@ -1102,7 +1120,7 @@ msgid "When:"
|
|
1102 |
msgstr ""
|
1103 |
|
1104 |
#: app/view/event-excerpt.php:4 app/view/event-multi.php:20
|
1105 |
-
#: app/view/event-single.php:
|
1106 |
msgid "Where:"
|
1107 |
msgstr ""
|
1108 |
|
@@ -1126,11 +1144,11 @@ msgstr ""
|
|
1126 |
msgid "View Map »"
|
1127 |
msgstr ""
|
1128 |
|
1129 |
-
#: app/view/event-multi.php:33 app/view/event-single.php:
|
1130 |
msgid "Cost:"
|
1131 |
msgstr ""
|
1132 |
|
1133 |
-
#: app/view/event-multi.php:39 app/view/event-single.php:
|
1134 |
msgid "Contact:"
|
1135 |
msgstr ""
|
1136 |
|
@@ -1148,19 +1166,23 @@ msgstr ""
|
|
1148 |
msgid "Back to Calendar »"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: app/view/event-single.php:
|
|
|
|
|
|
|
|
|
1152 |
msgid "Add this event to your favourite calendar program (iCal, Outlook, etc.)"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: app/view/event-single.php:
|
1156 |
msgid "✔ Add to Calendar"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: app/view/event-single.php:
|
1160 |
msgid "Add this event to your Google Calendar"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: app/view/event-single.php:
|
1164 |
msgid "Add to Google Calendar"
|
1165 |
msgstr ""
|
1166 |
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: All-in-One Event Calendar 1.3\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/all-in-one-event-calendar\n"
|
7 |
+
"POT-Creation-Date: 2012-03-01 20:50:01+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
33 |
msgid "Agenda"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: app/controller/class-ai1ec-events-controller.php:153
|
37 |
msgid "This feed is already being imported."
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: app/controller/class-ai1ec-events-controller.php:154
|
41 |
msgid "Please enter a valid iCalendar URL."
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: app/controller/class-ai1ec-events-controller.php:333
|
45 |
msgid "Publish"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: app/controller/class-ai1ec-events-controller.php:333
|
49 |
#: app/view/feed_row.php:20
|
50 |
msgid "Update"
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: app/controller/class-ai1ec-events-controller.php:335
|
54 |
msgid "Submit for Review"
|
55 |
msgstr ""
|
56 |
|
57 |
+
#: app/controller/class-ai1ec-events-controller.php:458
|
58 |
msgid "Event updated. <a href=\"%s\">View event</a>"
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: app/controller/class-ai1ec-events-controller.php:459
|
62 |
msgid "Custom field updated."
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: app/controller/class-ai1ec-events-controller.php:460
|
66 |
msgid "Custom field deleted."
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: app/controller/class-ai1ec-events-controller.php:461
|
70 |
msgid "Event updated."
|
71 |
msgstr ""
|
72 |
|
73 |
#. translators: %s: date and time of the revision
|
74 |
+
#: app/controller/class-ai1ec-events-controller.php:463
|
75 |
msgid "Event restored to revision from %s"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: app/controller/class-ai1ec-events-controller.php:464
|
79 |
msgid "Event published. <a href=\"%s\">View event</a>"
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: app/controller/class-ai1ec-events-controller.php:465
|
83 |
msgid "Event saved."
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: app/controller/class-ai1ec-events-controller.php:466
|
87 |
msgid "Event submitted. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: app/controller/class-ai1ec-events-controller.php:467
|
91 |
msgid ""
|
92 |
"Event scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
|
93 |
"\">Preview event</a>"
|
94 |
msgstr ""
|
95 |
|
96 |
#. translators: Publish box date format, see http:php.net/date
|
97 |
+
#: app/controller/class-ai1ec-events-controller.php:469
|
98 |
msgid "M j, Y @ G:i"
|
99 |
msgstr ""
|
100 |
|
101 |
+
#: app/controller/class-ai1ec-events-controller.php:470
|
102 |
msgid "Event draft updated. <a target=\"_blank\" href=\"%s\">Preview event</a>"
|
103 |
msgstr ""
|
104 |
|
237 |
msgid "Event Tag"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: app/helper/class-ai1ec-app-helper.php:221
|
241 |
+
msgctxt "Event feeds taxonomy"
|
242 |
+
msgid "Event Feeds"
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
+
#: app/helper/class-ai1ec-app-helper.php:222
|
246 |
+
msgctxt "Event feed taxonomy (singular)"
|
247 |
+
msgid "Event Feed"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: app/helper/class-ai1ec-app-helper.php:310
|
251 |
msgid "Show All "
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: app/helper/class-ai1ec-app-helper.php:342
|
255 |
msgid ""
|
256 |
"All Events <span class=\"update-plugins count-%d\" title=\"%d Pending Events"
|
257 |
"\"><span class=\"update-count\">%d</span></span>"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: app/helper/class-ai1ec-app-helper.php:348
|
261 |
msgid "All Events"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: app/helper/class-ai1ec-app-helper.php:426
|
265 |
msgid "Event Details"
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: app/helper/class-ai1ec-app-helper.php:459
|
269 |
msgid "Post Date"
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: app/helper/class-ai1ec-app-helper.php:460
|
273 |
msgid "Event date/time"
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: app/helper/class-ai1ec-app-helper.php:684
|
277 |
msgid ""
|
278 |
"%sTo set up the plugin: %s 1. Select an option in the <strong>Calendar page</"
|
279 |
"strong> dropdown list. %s 2. Select an option in the <strong>Timezone</"
|
280 |
"strong> dropdown list. %s 3. Click <strong>Update Settings</strong>. %s"
|
281 |
msgstr ""
|
282 |
|
283 |
+
#: app/helper/class-ai1ec-app-helper.php:686
|
284 |
msgid ""
|
285 |
"To set up the plugin: Select an option in the <strong>Calendar page</strong> "
|
286 |
"dropdown list, the click <strong>Update Settings</strong>."
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: app/helper/class-ai1ec-app-helper.php:688
|
290 |
msgid ""
|
291 |
"To set up the plugin: Select an option in the <strong>Timezone</strong> "
|
292 |
"dropdown list, the click <strong>Update Settings</strong>."
|
293 |
msgstr ""
|
294 |
|
295 |
+
#: app/helper/class-ai1ec-app-helper.php:692
|
296 |
msgid ""
|
297 |
"The plugin is installed, but has not been configured. <a href=\"%s\">Click "
|
298 |
"here to set it up now »</a>"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: app/helper/class-ai1ec-app-helper.php:698
|
302 |
msgid ""
|
303 |
"The plugin is installed, but has not been configured. Please log in as a "
|
304 |
"WordPress Administrator to set it up."
|
317 |
msgid "Next Events »"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: app/helper/class-ai1ec-events-helper.php:372
|
321 |
+
#: app/helper/class-ai1ec-events-helper.php:394
|
322 |
msgid "No repeat"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: app/helper/class-ai1ec-events-helper.php:373
|
326 |
+
#: app/helper/class-ai1ec-events-helper.php:395
|
327 |
msgid "Every day"
|
328 |
msgstr ""
|
329 |
|
330 |
+
#: app/helper/class-ai1ec-events-helper.php:374
|
331 |
+
#: app/helper/class-ai1ec-events-helper.php:396
|
332 |
msgid "Every week"
|
333 |
msgstr ""
|
334 |
|
335 |
+
#: app/helper/class-ai1ec-events-helper.php:375
|
336 |
+
#: app/helper/class-ai1ec-events-helper.php:397
|
337 |
msgid "Every month"
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: app/helper/class-ai1ec-events-helper.php:376
|
341 |
+
#: app/helper/class-ai1ec-events-helper.php:398
|
342 |
msgid "Every year"
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: app/helper/class-ai1ec-events-helper.php:378
|
346 |
+
#: app/helper/class-ai1ec-events-helper.php:400
|
347 |
msgid "Custom..."
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: app/helper/class-ai1ec-events-helper.php:521
|
351 |
msgid "first"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: app/helper/class-ai1ec-events-helper.php:522
|
355 |
msgid "second"
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: app/helper/class-ai1ec-events-helper.php:523
|
359 |
msgid "third"
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: app/helper/class-ai1ec-events-helper.php:524
|
363 |
msgid "fourth"
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: app/helper/class-ai1ec-events-helper.php:526
|
367 |
msgid "last"
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: app/helper/class-ai1ec-events-helper.php:531
|
371 |
msgid "Sunday"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: app/helper/class-ai1ec-events-helper.php:532
|
375 |
msgid "Monday"
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: app/helper/class-ai1ec-events-helper.php:533
|
379 |
msgid "Tuesday"
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: app/helper/class-ai1ec-events-helper.php:534
|
383 |
msgid "Wednesday"
|
384 |
msgstr ""
|
385 |
|
386 |
+
#: app/helper/class-ai1ec-events-helper.php:535
|
387 |
msgid "Thursday"
|
388 |
msgstr ""
|
389 |
|
390 |
+
#: app/helper/class-ai1ec-events-helper.php:536
|
391 |
msgid "Friday"
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: app/helper/class-ai1ec-events-helper.php:537
|
395 |
msgid "Saturday"
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: app/helper/class-ai1ec-events-helper.php:539
|
399 |
msgid "day"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: app/helper/class-ai1ec-events-helper.php:540
|
403 |
msgid "weekday"
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: app/helper/class-ai1ec-events-helper.php:541
|
407 |
msgid "weekend day"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: app/helper/class-ai1ec-events-helper.php:607
|
411 |
+
#: app/helper/class-ai1ec-events-helper.php:626
|
412 |
+
#: app/helper/class-ai1ec-events-helper.php:1676
|
413 |
#: app/helper/class-ai1ec-settings-helper.php:237 app/view/box_repeat.php:2
|
414 |
msgid "Daily"
|
415 |
msgstr ""
|
416 |
|
417 |
+
#: app/helper/class-ai1ec-events-helper.php:608
|
418 |
+
#: app/helper/class-ai1ec-events-helper.php:627
|
419 |
+
#: app/helper/class-ai1ec-events-helper.php:1688 app/view/box_repeat.php:3
|
420 |
msgid "Weekly"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: app/helper/class-ai1ec-events-helper.php:609
|
424 |
+
#: app/helper/class-ai1ec-events-helper.php:628
|
425 |
+
#: app/helper/class-ai1ec-events-helper.php:1700 app/view/box_repeat.php:4
|
426 |
msgid "Monthly"
|
427 |
msgstr ""
|
428 |
|
429 |
+
#: app/helper/class-ai1ec-events-helper.php:610
|
430 |
+
#: app/helper/class-ai1ec-events-helper.php:629
|
431 |
+
#: app/helper/class-ai1ec-events-helper.php:1712 app/view/box_repeat.php:5
|
432 |
msgid "Yearly"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: app/helper/class-ai1ec-events-helper.php:651
|
436 |
msgid "day(s)"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: app/helper/class-ai1ec-events-helper.php:680
|
440 |
msgid "week(s)"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: app/helper/class-ai1ec-events-helper.php:750
|
444 |
msgid "month(s)"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: app/helper/class-ai1ec-events-helper.php:773
|
448 |
msgid "year(s)"
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: app/helper/class-ai1ec-events-helper.php:1360
|
452 |
msgid "Never"
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: app/helper/class-ai1ec-events-helper.php:1361
|
456 |
msgid "After"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: app/helper/class-ai1ec-events-helper.php:1362 app/view/box_repeat.php:28
|
460 |
msgid "On date"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: app/helper/class-ai1ec-events-helper.php:1555
|
464 |
+
#: app/helper/class-ai1ec-events-helper.php:1564
|
465 |
+
#: app/helper/class-ai1ec-events-helper.php:1572
|
466 |
msgctxt "Recurrence editor - weekly tab"
|
467 |
msgid "on"
|
468 |
msgstr ""
|
469 |
|
470 |
+
#: app/helper/class-ai1ec-events-helper.php:1560
|
471 |
+
#: app/helper/class-ai1ec-events-helper.php:1589
|
472 |
+
#: app/helper/class-ai1ec-events-helper.php:1627
|
473 |
msgid "and"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: app/helper/class-ai1ec-events-helper.php:1585
|
477 |
+
#: app/helper/class-ai1ec-events-helper.php:1592
|
478 |
+
#: app/helper/class-ai1ec-events-helper.php:1598
|
479 |
+
#: app/helper/class-ai1ec-events-helper.php:1609
|
480 |
msgctxt "Recurrence editor - monthly tab"
|
481 |
msgid "on"
|
482 |
msgstr ""
|
483 |
|
484 |
+
#: app/helper/class-ai1ec-events-helper.php:1585
|
485 |
+
#: app/helper/class-ai1ec-events-helper.php:1592
|
486 |
+
#: app/helper/class-ai1ec-events-helper.php:1598
|
487 |
msgid "of the month"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: app/helper/class-ai1ec-events-helper.php:1622
|
491 |
+
#: app/helper/class-ai1ec-events-helper.php:1630
|
492 |
+
#: app/helper/class-ai1ec-events-helper.php:1637
|
493 |
msgctxt "Recurrence editor - yearly tab"
|
494 |
msgid "on"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: app/helper/class-ai1ec-events-helper.php:1679
|
498 |
msgid "Every other day"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: app/helper/class-ai1ec-events-helper.php:1681
|
502 |
msgid "Every %d days"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: app/helper/class-ai1ec-events-helper.php:1691
|
506 |
msgid "Every other week"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: app/helper/class-ai1ec-events-helper.php:1693
|
510 |
msgid "Every %d weeks"
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: app/helper/class-ai1ec-events-helper.php:1703
|
514 |
msgid "Every other month"
|
515 |
msgstr ""
|
516 |
|
517 |
+
#: app/helper/class-ai1ec-events-helper.php:1705
|
518 |
msgid "Every %d months"
|
519 |
msgstr ""
|
520 |
|
521 |
+
#: app/helper/class-ai1ec-events-helper.php:1715
|
522 |
msgid "Every other year"
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: app/helper/class-ai1ec-events-helper.php:1717
|
526 |
msgid "Every %d years"
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: app/helper/class-ai1ec-events-helper.php:1737
|
530 |
msgid "until %s"
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: app/helper/class-ai1ec-events-helper.php:1740
|
534 |
msgid "for %d occurrences"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: app/helper/class-ai1ec-events-helper.php:1742
|
538 |
msgid "forever"
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: app/helper/class-ai1ec-events-helper.php:1839
|
542 |
msgid "times"
|
543 |
msgstr ""
|
544 |
|
588 |
msgid "Calendar"
|
589 |
msgstr ""
|
590 |
|
591 |
+
#: app/model/class-ai1ec-event.php:496
|
592 |
msgid " (all-day)"
|
593 |
msgstr ""
|
594 |
|
692 |
msgstr ""
|
693 |
|
694 |
#: app/view/agenda.php:81 app/view/event-multi.php:45
|
695 |
+
#: app/view/event-single.php:57
|
696 |
msgid "Categories:"
|
697 |
msgstr ""
|
698 |
|
699 |
#: app/view/agenda.php:87 app/view/event-multi.php:51
|
700 |
+
#: app/view/event-single.php:64
|
701 |
msgid "Tags:"
|
702 |
msgstr ""
|
703 |
|
|
|
|
|
|
|
|
|
704 |
#: app/view/box_event_contact.php:1
|
705 |
msgid "Organizer contact info"
|
706 |
msgstr ""
|
1057 |
msgid "Exclude"
|
1058 |
msgstr ""
|
1059 |
|
1060 |
+
#: app/view/box_time_and_date.php:67
|
1061 |
+
msgid "Choose a rule for exclusion"
|
1062 |
+
msgstr ""
|
1063 |
+
|
1064 |
+
#: app/view/box_time_and_date.php:73
|
1065 |
msgid "Exclude dates"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: app/view/box_time_and_date.php:80
|
1069 |
+
msgid "Select date range"
|
1070 |
+
msgstr ""
|
1071 |
+
|
1072 |
+
#: app/view/box_time_and_date.php:85
|
1073 |
+
msgid "Choose specific dates to exclude"
|
1074 |
+
msgstr ""
|
1075 |
+
|
1076 |
#: app/view/calendar.php:35
|
1077 |
msgid "+ Post Your Event"
|
1078 |
msgstr ""
|
1120 |
msgstr ""
|
1121 |
|
1122 |
#: app/view/event-excerpt.php:4 app/view/event-multi.php:20
|
1123 |
+
#: app/view/event-single.php:25
|
1124 |
msgid "Where:"
|
1125 |
msgstr ""
|
1126 |
|
1144 |
msgid "View Map »"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
+
#: app/view/event-multi.php:33 app/view/event-single.php:45
|
1148 |
msgid "Cost:"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
+
#: app/view/event-multi.php:39 app/view/event-single.php:51
|
1152 |
msgid "Contact:"
|
1153 |
msgstr ""
|
1154 |
|
1166 |
msgid "Back to Calendar »"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
+
#: app/view/event-single.php:21
|
1170 |
+
msgid "Excluding:"
|
1171 |
+
msgstr ""
|
1172 |
+
|
1173 |
+
#: app/view/event-single.php:32
|
1174 |
msgid "Add this event to your favourite calendar program (iCal, Outlook, etc.)"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
+
#: app/view/event-single.php:33
|
1178 |
msgid "✔ Add to Calendar"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
+
#: app/view/event-single.php:36
|
1182 |
msgid "Add this event to your Google Calendar"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
+
#: app/view/event-single.php:38
|
1186 |
msgid "Add to Google Calendar"
|
1187 |
msgstr ""
|
1188 |
|
lib/global-functions.php
ADDED
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
//
|
3 |
+
// global-functions.php
|
4 |
+
// all-in-one-event-calendar
|
5 |
+
//
|
6 |
+
// Created by The Seed Studio on 2012-02-28.
|
7 |
+
//
|
8 |
+
|
9 |
+
/**
|
10 |
+
* url_get_contents function
|
11 |
+
*
|
12 |
+
* @param string $url URL
|
13 |
+
*
|
14 |
+
* @return string
|
15 |
+
**/
|
16 |
+
function url_get_contents( $url ) {
|
17 |
+
// holds the output
|
18 |
+
$output = "";
|
19 |
+
|
20 |
+
// If CURL is available, use it
|
21 |
+
if( function_exists( 'curl_init' ) ) {
|
22 |
+
|
23 |
+
// initialize and configure curl for a request
|
24 |
+
$c = curl_init();
|
25 |
+
curl_setopt( $c, CURLOPT_URL, $url );
|
26 |
+
curl_setopt( $c, CURLOPT_RETURNTRANSFER, true );
|
27 |
+
// set user agent to PHP/PHP version number
|
28 |
+
curl_setopt( $c, CURLOPT_USERAGENT, 'PHP/' . PHP_VERSION );
|
29 |
+
curl_setopt ($c, CURLOPT_ENCODING, '' );
|
30 |
+
|
31 |
+
// Add support for HTTPS
|
32 |
+
if( strstr( $url, 'https' ) !== FALSE ) {
|
33 |
+
curl_setopt( $c, CURLOPT_SSLVERSION, 3 );
|
34 |
+
curl_setopt( $c, CURLOPT_SSL_VERIFYPEER, false );
|
35 |
+
curl_setopt( $c, CURLOPT_SSL_VERIFYHOST, 2 );
|
36 |
+
}
|
37 |
+
curl_setopt( $c, CURLOPT_COOKIESESSION, true );
|
38 |
+
curl_setopt( $c, CURLOPT_HEADER, false );
|
39 |
+
if( ! ini_get( 'safe_mode' ) ) {
|
40 |
+
curl_setopt( $c, CURLOPT_FOLLOWLOCATION, true );
|
41 |
+
}
|
42 |
+
// get the contents of the url
|
43 |
+
$output = curl_exec( $c );
|
44 |
+
|
45 |
+
curl_close( $c );
|
46 |
+
} else {
|
47 |
+
// if CURL is unavailable, use file_get_contents
|
48 |
+
$output = file_get_contents( $url );
|
49 |
+
}
|
50 |
+
|
51 |
+
// check if data is utf-8
|
52 |
+
if( ! SG_iCal_Parser::_ValidUtf8( $output ) ) {
|
53 |
+
// Encode the data in utf-8
|
54 |
+
$output = utf8_encode( $output );
|
55 |
+
}
|
56 |
+
|
57 |
+
return $output;
|
58 |
+
}
|
lib/helpers/SG_iCal_Freq.php
CHANGED
@@ -44,7 +44,7 @@ class SG_iCal_Freq {
|
|
44 |
* @param $excluded array of int (timestamps), see EXDATE documentation
|
45 |
* @param $added array of int (timestamps), see RDATE documentation
|
46 |
*/
|
47 |
-
public function __construct( $rule, $start, $excluded=array(), $added=array()) {
|
48 |
$this->start = $start;
|
49 |
$this->excluded = array();
|
50 |
|
@@ -78,6 +78,8 @@ class SG_iCal_Freq {
|
|
78 |
|
79 |
//set until, and cache
|
80 |
if( isset($this->rules['count']) ) {
|
|
|
|
|
81 |
|
82 |
$cache[$ts] = $ts = $this->start;
|
83 |
for($n=1; $n < $this->rules['count']; $n++) {
|
44 |
* @param $excluded array of int (timestamps), see EXDATE documentation
|
45 |
* @param $added array of int (timestamps), see RDATE documentation
|
46 |
*/
|
47 |
+
public function __construct( $rule, $start, $excluded=array(), $added=array(), $exrule = false) {
|
48 |
$this->start = $start;
|
49 |
$this->excluded = array();
|
50 |
|
78 |
|
79 |
//set until, and cache
|
80 |
if( isset($this->rules['count']) ) {
|
81 |
+
if( $exrule )
|
82 |
+
$this->rules['count']++;
|
83 |
|
84 |
$cache[$ts] = $ts = $this->start;
|
85 |
for($n=1; $n < $this->rules['count']; $n++) {
|
lib/helpers/SG_iCal_Parser.php
CHANGED
@@ -174,7 +174,7 @@ class SG_iCal_Parser {
|
|
174 |
* @param string $data
|
175 |
* @return bool
|
176 |
*/
|
177 |
-
|
178 |
$rx = '[\xC0-\xDF]([^\x80-\xBF]|$)';
|
179 |
$rx .= '|[\xE0-\xEF].{0,1}([^\x80-\xBF]|$)';
|
180 |
$rx .= '|[\xF0-\xF7].{0,2}([^\x80-\xBF]|$)';
|
174 |
* @param string $data
|
175 |
* @return bool
|
176 |
*/
|
177 |
+
public static function _ValidUtf8( $data ) {
|
178 |
$rx = '[\xC0-\xDF]([^\x80-\xBF]|$)';
|
179 |
$rx .= '|[\xE0-\xEF].{0,1}([^\x80-\xBF]|$)';
|
180 |
$rx .= '|[\xF0-\xF7].{0,2}([^\x80-\xBF]|$)';
|
lib/iCalcreator-2.10.23/iCalcreator.class.php
CHANGED
@@ -1616,7 +1616,7 @@ class vcalendar {
|
|
1616 |
if( FALSE === ( $filename = $this->getConfig( 'url' )))
|
1617 |
$filename = $this->getConfig( 'dirfile' );
|
1618 |
/* READ FILE */
|
1619 |
-
if( FALSE === ( $rows =
|
1620 |
return FALSE; /* err 1 */
|
1621 |
}
|
1622 |
elseif( is_array( $unparsedtext ))
|
1616 |
if( FALSE === ( $filename = $this->getConfig( 'url' )))
|
1617 |
$filename = $this->getConfig( 'dirfile' );
|
1618 |
/* READ FILE */
|
1619 |
+
if( FALSE === ( $rows = url_get_contents( $filename )))
|
1620 |
return FALSE; /* err 1 */
|
1621 |
}
|
1622 |
elseif( is_array( $unparsedtext ))
|
lib/iCalcreator-2.10/iCalcreator.class.php
CHANGED
@@ -1562,7 +1562,7 @@ class vcalendar {
|
|
1562 |
if( FALSE === ( $filename = $this->getConfig( 'url' )))
|
1563 |
$filename = $this->getConfig( 'dirfile' );
|
1564 |
/* READ FILE */
|
1565 |
-
if( FALSE === ( $rows =
|
1566 |
return FALSE; /* err 1 */
|
1567 |
}
|
1568 |
elseif( is_array( $unparsedtext ))
|
1562 |
if( FALSE === ( $filename = $this->getConfig( 'url' )))
|
1563 |
$filename = $this->getConfig( 'dirfile' );
|
1564 |
/* READ FILE */
|
1565 |
+
if( FALSE === ( $rows = url_get_contents( $filename )))
|
1566 |
return FALSE; /* err 1 */
|
1567 |
}
|
1568 |
elseif( is_array( $unparsedtext ))
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
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.
|
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 |
|
@@ -83,6 +83,19 @@ http://www.youtube.com/watch?v=zZHpzfyukyU
|
|
83 |
* Filter by post ids (separate ids by comma): **[ai1ec post_id="1, 2"]**
|
84 |
|
85 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
= Version 1.3 =
|
87 |
* Added shortcodes support.[#36](http://trac.the-seed.ca/ticket/36) (Howto is under Frequently Asked Questions tab)
|
88 |
* Added support to exclude events using [EXRULE](http://www.kanzaki.com/docs/ical/exrule.html)
|
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.4
|
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 |
|
83 |
* Filter by post ids (separate ids by comma): **[ai1ec post_id="1, 2"]**
|
84 |
|
85 |
== Changelog ==
|
86 |
+
= Version 1.4 =
|
87 |
+
* Export ICS feeds with utf8 header
|
88 |
+
* Import/Download ICS feeds with CURL if available, otherwise keep the current method
|
89 |
+
* Better UTF8 support for imported events
|
90 |
+
* Use local version jquery tools instead of the CDN copy
|
91 |
+
* Improved system for catching errors and trying best to find a possible route to proceed without having to quit/fail
|
92 |
+
* Fixed various Notice level errors
|
93 |
+
* Fixed bug with recurrence/exception rules not properly being converted to GMT
|
94 |
+
* Added EXDATE support and EXDATE UI to allow selection of specific dates.
|
95 |
+
* Added filter by feed source on All events page
|
96 |
+
* Improved caching of stored events
|
97 |
+
* Fixed getOffset problem - notify me if it still happens for you
|
98 |
+
|
99 |
= Version 1.3 =
|
100 |
* Added shortcodes support.[#36](http://trac.the-seed.ca/ticket/36) (Howto is under Frequently Asked Questions tab)
|
101 |
* Added support to exclude events using [EXRULE](http://www.kanzaki.com/docs/ical/exrule.html)
|