Version Description
- Documentation finally up to date now!
- widget bug fixed
- added event permissions, so users can manage their own events/locations/categories
- improved event booking UI and management tools
- export CSV of bookings
- booking approvals added
- bookings can have individual notes
- calendar widget shows selected month if clicked on
- custom attributes field, for atts that don't need to be in a template (e.g. pdf file url)
- time limit for main events list and events widget (e.g. show events that occur within x months)
- default location
- default category
- added extra validation so event start date/times can't be after end date/time
- calendar navigation will pass on all arguments for following month (e.g. category, etc)
- small map balloon fix for some rare js conflicts
Download this release
Release Info
Developer | netweblogic |
Plugin | Events Manager |
Version | 3.0.91 |
Comparing to | |
See all releases |
Code changes from version 3.0.9 to 3.0.91
- admin/bookings/em-cancelled.php +133 -0
- admin/bookings/em-confirmed.php +133 -0
- admin/bookings/em-events.php +179 -0
- admin/bookings/em-pending.php +155 -0
- admin/bookings/em-person.php +150 -0
- admin/bookings/em-rejected.php +133 -0
- admin/em-admin.php +73 -21
- admin/em-bookings.php +264 -63
- admin/em-categories.php +49 -50
- admin/em-docs.php +14 -3
- admin/em-event.php +61 -63
- admin/em-events.php +135 -112
- admin/em-locations-search.php +2 -3
- admin/em-locations.php +113 -82
- admin/em-options.php +129 -8
- admin/em-people.php +117 -48
- classes/em-booking.php +263 -33
- classes/em-bookings.php +317 -65
- classes/em-calendar.php +44 -16
- classes/em-categories.php +154 -0
- classes/em-category.php +142 -9
- classes/em-event.php +117 -45
- classes/em-events.php +43 -11
- classes/em-location.php +28 -5
- classes/em-locations.php +7 -1
- classes/em-object.php +42 -9
- classes/em-person.php +43 -5
- em-ajax.php +88 -30
- em-bookings.php +162 -162
- em-events.php +17 -13
- em-functions.php +66 -9
- em-install.php +106 -23
- events-manager.php +44 -10
- includes/css/events_manager.css +2 -1
- includes/css/events_manager_admin.css +15 -0
- includes/js/em_admin.js +272 -221
- includes/js/em_calendar_ajax.js +13 -6
- includes/js/em_maps.js +1 -1
- includes/langs/dbem-nl_NL.mo +0 -0
- includes/langs/dbem-nl_NL.po +1577 -0
- includes/langs/events-manager.pot +1508 -803
- includes/sample-placeholers/booking-email.html +31 -0
- includes/sample-placeholers/event-single.html +29 -14
- readme.txt +25 -11
- widgets/em-calendar.php +9 -1
- widgets/em-events.php +33 -21
- widgets/em-locations.php +1 -1
admin/bookings/em-cancelled.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Generates a "widget" table of confirmed bookings for a specific event.
|
4 |
+
*
|
5 |
+
* @param int $event_id
|
6 |
+
*/
|
7 |
+
function em_bookings_cancelled_table(){
|
8 |
+
global $EM_Event, $wpdb, $current_user;
|
9 |
+
|
10 |
+
$action_scope = ( !empty($_REQUEST['em_obj']) && $_REQUEST['em_obj'] == 'em_bookings_cancelled_table' );
|
11 |
+
$action = ( $action_scope && !empty($_GET ['action']) ) ? $_GET ['action']:'';
|
12 |
+
$order = ( $action_scope && !empty($_GET ['order']) ) ? $_GET ['order']:'ASC';
|
13 |
+
$limit = ( $action_scope && !empty($_GET['limit']) ) ? $_GET['limit'] : 20;//Default limit
|
14 |
+
$page = ( $action_scope && !empty($_GET['p']) ) ? $_GET['p']:1;
|
15 |
+
$offset = ( $action_scope && $page > 1 ) ? ($page-1)*$limit : 0;
|
16 |
+
|
17 |
+
if( is_object($EM_Event) ){
|
18 |
+
$bookings = $EM_Event->get_bookings()->get_cancelled_bookings();
|
19 |
+
}else{
|
20 |
+
return false;
|
21 |
+
}
|
22 |
+
$bookings_count = (is_array($bookings)) ? count($bookings):0;
|
23 |
+
?>
|
24 |
+
<div class='wrap em_bookings_pending_table em_obj'>
|
25 |
+
<form id='bookings-filter' method='get' action='<?php bloginfo('wpurl') ?>/wp-admin/edit.php'>
|
26 |
+
<input type="hidden" name="em_obj" value="em_bookings_pending_table" />
|
27 |
+
<!--
|
28 |
+
<ul class="subsubsub">
|
29 |
+
<li>
|
30 |
+
<a href='edit.php?post_type=post' class="current">All <span class="count">(1)</span></a> |
|
31 |
+
</li>
|
32 |
+
</ul>
|
33 |
+
<p class="search-box">
|
34 |
+
<label class="screen-reader-text" for="post-search-input"><?php _e('Search'); ?>:</label>
|
35 |
+
<input type="text" id="post-search-input" name="em_search" value="<?php echo (!empty($_GET['em_search'])) ? $_GET['em_search']:''; ?>" />
|
36 |
+
<input type="submit" value="<?php _e('Search'); ?>" class="button" />
|
37 |
+
</p>
|
38 |
+
-->
|
39 |
+
<?php if ( $bookings_count >= $limit ) : ?>
|
40 |
+
<div class='tablenav'>
|
41 |
+
<!--
|
42 |
+
<div class="alignleft actions">
|
43 |
+
<select name="action">
|
44 |
+
<option value="-1" selected="selected">
|
45 |
+
<?php _e('Bulk Actions'); ?>
|
46 |
+
</option>
|
47 |
+
<option value="approve">
|
48 |
+
<?php _e('Approve', 'dbem'); ?>
|
49 |
+
</option>
|
50 |
+
<option value="decline">
|
51 |
+
<?php _e('Decline', 'dbem'); ?>
|
52 |
+
</option>
|
53 |
+
</select>
|
54 |
+
<input type="submit" id="post-query-submit" value="Filter" class="button-secondary" />
|
55 |
+
</div>
|
56 |
+
-->
|
57 |
+
<!--
|
58 |
+
<div class="view-switch">
|
59 |
+
<a href="/wp-admin/edit.php?mode=list"><img class="current" id="view-switch-list" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="List View" alt="List View" name="view-switch-list" /></a> <a href="/wp-admin/edit.php?mode=excerpt"><img id="view-switch-excerpt" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="Excerpt View" alt="Excerpt View" name="view-switch-excerpt" /></a>
|
60 |
+
</div>
|
61 |
+
-->
|
62 |
+
<?php
|
63 |
+
if ( $bookings_count >= $limit ) {
|
64 |
+
$page_link_template = em_add_get_params($_SERVER['REQUEST_URI'], array('p'=>'%PAGE%', 'em_ajax'=>0, 'em_obj'=>'em_bookings_confirmed_table'));
|
65 |
+
$bookings_nav .= em_admin_paginate( $page_link_template, $bookings_count, $limit, $page, 5);
|
66 |
+
echo $bookings_nav;
|
67 |
+
}
|
68 |
+
?>
|
69 |
+
<div class="clear"></div>
|
70 |
+
</div>
|
71 |
+
<?php endif; ?>
|
72 |
+
<div class="clear"></div>
|
73 |
+
<?php if( $bookings_count > 0 ): ?>
|
74 |
+
<div class='table-wrap'>
|
75 |
+
<table id='dbem-bookings-table' class='widefat post fixed'>
|
76 |
+
<thead>
|
77 |
+
<tr>
|
78 |
+
<th class='manage-column column-cb check-column' scope='col'>
|
79 |
+
<input class='select-all' type="checkbox" value='1' />
|
80 |
+
</th>
|
81 |
+
<th class='manage-column' scope='col'>Booker</th>
|
82 |
+
<th class='manage-column' scope='col'>E-mail</th>
|
83 |
+
<th class='manage-column' scope='col'>Phone number</th>
|
84 |
+
<th class='manage-column' scope='col'>Spaces</th>
|
85 |
+
<th class='manage-column' scope='col'> </th>
|
86 |
+
</tr>
|
87 |
+
</thead>
|
88 |
+
<tbody>
|
89 |
+
<?php
|
90 |
+
$rowno = 0;
|
91 |
+
$event_count = 0;
|
92 |
+
foreach ($bookings as $EM_Booking) {
|
93 |
+
if( ($rowno < $limit || empty($limit)) && ($event_count >= $offset || $offset === 0) ) {
|
94 |
+
$rowno++;
|
95 |
+
?>
|
96 |
+
<tr>
|
97 |
+
<th scope="row" class="check-column" style="padding:7px 0px 7px;"><input type='checkbox' value='<?php echo $EM_Booking->id ?>' name='bookings[]'/></th>
|
98 |
+
<td><a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&person_id=<?php echo $EM_Booking->person->id; ?>"><?php echo $EM_Booking->person->name ?></a></td>
|
99 |
+
<td><?php echo $EM_Booking->person->email ?></td>
|
100 |
+
<td><?php echo $EM_Booking->person->phone ?></td>
|
101 |
+
<td><?php echo $EM_Booking->seats ?></td>
|
102 |
+
<td>
|
103 |
+
<?php
|
104 |
+
$approve_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_approve', 'booking_id'=>$EM_Booking->id));
|
105 |
+
$delete_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_delete', 'booking_id'=>$EM_Booking->id));
|
106 |
+
?>
|
107 |
+
<a class="em-bookings-approve" href="<?php echo $approve_url ?>"><?php _e('Approve','dbem'); ?></a> |
|
108 |
+
<a class="em-bookings-edit" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&booking_id=<?php echo $EM_Booking->id; ?>"><?php _e('Edit'); ?></a> |
|
109 |
+
<a class="em-bookings-delete" href="<?php echo $delete_url ?>"><?php _e('Delete','dbem'); ?></a>
|
110 |
+
</td>
|
111 |
+
</tr>
|
112 |
+
<?php
|
113 |
+
}
|
114 |
+
$event_count++;
|
115 |
+
}
|
116 |
+
?>
|
117 |
+
</tbody>
|
118 |
+
</table>
|
119 |
+
</div>
|
120 |
+
<?php else: ?>
|
121 |
+
<?php _e('No cancelled bookings.', 'dbem'); ?>
|
122 |
+
<?php endif; ?>
|
123 |
+
</form>
|
124 |
+
<?php if( $bookings >= $limit ) : ?>
|
125 |
+
<div class='tablenav'>
|
126 |
+
<?php echo $bookings_nav; ?>
|
127 |
+
<div class="clear"></div>
|
128 |
+
</div>
|
129 |
+
<?php endif; ?>
|
130 |
+
</div>
|
131 |
+
<?php
|
132 |
+
}
|
133 |
+
?>
|
admin/bookings/em-confirmed.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Generates a "widget" table of confirmed bookings for a specific event.
|
5 |
+
*
|
6 |
+
* @param int $event_id
|
7 |
+
*/
|
8 |
+
function em_bookings_confirmed_table(){
|
9 |
+
global $EM_Event, $wpdb, $current_user;
|
10 |
+
|
11 |
+
$action_scope = ( !empty($_REQUEST['em_obj']) && $_REQUEST['em_obj'] == 'em_bookings_confirmed_table' );
|
12 |
+
$action = ( $action_scope && !empty($_GET ['action']) ) ? $_GET ['action']:'';
|
13 |
+
$order = ( $action_scope && !empty($_GET ['order']) ) ? $_GET ['order']:'ASC';
|
14 |
+
$limit = ( $action_scope && !empty($_GET['limit']) ) ? $_GET['limit'] : 20;//Default limit
|
15 |
+
$page = ( $action_scope && !empty($_GET['p']) ) ? $_GET['p']:1;
|
16 |
+
$offset = ( $action_scope && $page > 1 ) ? ($page-1)*$limit : 0;
|
17 |
+
|
18 |
+
if( is_object($EM_Event) ){
|
19 |
+
$bookings = $EM_Event->get_bookings()->get_bookings();
|
20 |
+
}else{
|
21 |
+
return false;
|
22 |
+
}
|
23 |
+
$bookings_count = (is_array($bookings)) ? count($bookings):0;
|
24 |
+
?>
|
25 |
+
<div class='wrap em_bookings_pending_table em_obj'>
|
26 |
+
<form id='bookings-filter' method='get' action='<?php bloginfo('wpurl') ?>/wp-admin/edit.php'>
|
27 |
+
<input type="hidden" name="em_obj" value="em_bookings_pending_table" />
|
28 |
+
<!--
|
29 |
+
<ul class="subsubsub">
|
30 |
+
<li>
|
31 |
+
<a href='edit.php?post_type=post' class="current">All <span class="count">(1)</span></a> |
|
32 |
+
</li>
|
33 |
+
</ul>
|
34 |
+
<p class="search-box">
|
35 |
+
<label class="screen-reader-text" for="post-search-input"><?php _e('Search'); ?>:</label>
|
36 |
+
<input type="text" id="post-search-input" name="em_search" value="<?php echo (!empty($_GET['em_search'])) ? $_GET['em_search']:''; ?>" />
|
37 |
+
<input type="submit" value="<?php _e('Search'); ?>" class="button" />
|
38 |
+
</p>
|
39 |
+
-->
|
40 |
+
<?php if ( $bookings_count >= $limit ) : ?>
|
41 |
+
<div class='tablenav'>
|
42 |
+
<!--
|
43 |
+
<div class="alignleft actions">
|
44 |
+
<select name="action">
|
45 |
+
<option value="-1" selected="selected">
|
46 |
+
<?php _e('Bulk Actions'); ?>
|
47 |
+
</option>
|
48 |
+
<option value="approve">
|
49 |
+
<?php _e('Approve', 'dbem'); ?>
|
50 |
+
</option>
|
51 |
+
<option value="decline">
|
52 |
+
<?php _e('Decline', 'dbem'); ?>
|
53 |
+
</option>
|
54 |
+
</select>
|
55 |
+
<input type="submit" id="post-query-submit" value="Filter" class="button-secondary" />
|
56 |
+
</div>
|
57 |
+
-->
|
58 |
+
<!--
|
59 |
+
<div class="view-switch">
|
60 |
+
<a href="/wp-admin/edit.php?mode=list"><img class="current" id="view-switch-list" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="List View" alt="List View" name="view-switch-list" /></a> <a href="/wp-admin/edit.php?mode=excerpt"><img id="view-switch-excerpt" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="Excerpt View" alt="Excerpt View" name="view-switch-excerpt" /></a>
|
61 |
+
</div>
|
62 |
+
-->
|
63 |
+
<?php
|
64 |
+
if ( $bookings_count >= $limit ) {
|
65 |
+
$page_link_template = em_add_get_params($_SERVER['REQUEST_URI'], array('p'=>'%PAGE%', 'em_ajax'=>0, 'em_obj'=>'em_bookings_confirmed_table'));
|
66 |
+
$bookings_nav .= em_admin_paginate( $page_link_template, $bookings_count, $limit, $page, 5);
|
67 |
+
echo $bookings_nav;
|
68 |
+
}
|
69 |
+
?>
|
70 |
+
<div class="clear"></div>
|
71 |
+
</div>
|
72 |
+
<?php endif; ?>
|
73 |
+
<div class="clear"></div>
|
74 |
+
<?php if( $bookings_count > 0 ): ?>
|
75 |
+
<div class='table-wrap'>
|
76 |
+
<table id='dbem-bookings-table' class='widefat post fixed'>
|
77 |
+
<thead>
|
78 |
+
<tr>
|
79 |
+
<th class='manage-column column-cb check-column' scope='col'>
|
80 |
+
<input class='select-all' type="checkbox" value='1' />
|
81 |
+
</th>
|
82 |
+
<th class='manage-column' scope='col'>Booker</th>
|
83 |
+
<th class='manage-column' scope='col'>E-mail</th>
|
84 |
+
<th class='manage-column' scope='col'>Phone number</th>
|
85 |
+
<th class='manage-column' scope='col'>Spaces</th>
|
86 |
+
<th class='manage-column' scope='col'> </th>
|
87 |
+
</tr>
|
88 |
+
</thead>
|
89 |
+
<tbody>
|
90 |
+
<?php
|
91 |
+
$rowno = 0;
|
92 |
+
$event_count = 0;
|
93 |
+
foreach ($bookings as $EM_Booking) {
|
94 |
+
if( ($rowno < $limit || empty($limit)) && ($event_count >= $offset || $offset === 0) ) {
|
95 |
+
$rowno++;
|
96 |
+
?>
|
97 |
+
<tr>
|
98 |
+
<th scope="row" class="check-column" style="padding:7px 0px 7px;"><input type='checkbox' value='<?php echo $EM_Booking->id ?>' name='bookings[]'/></th>
|
99 |
+
<td><a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&person_id=<?php echo $EM_Booking->person_id; ?>"><?php echo $EM_Booking->person->name ?></a></td>
|
100 |
+
<td><?php echo $EM_Booking->person->email ?></td>
|
101 |
+
<td><?php echo $EM_Booking->person->phone ?></td>
|
102 |
+
<td><?php echo $EM_Booking->seats ?></td>
|
103 |
+
<td>
|
104 |
+
<?php
|
105 |
+
$unapprove_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_unapprove', 'booking_id'=>$EM_Booking->id));
|
106 |
+
?>
|
107 |
+
<a class="em-bookings-unapprove" href="<?php echo $unapprove_url ?>"><?php _e('Unapprove','dbem'); ?></a> |
|
108 |
+
<a class="em-bookings-edit" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&booking_id=<?php echo $EM_Booking->id; ?>"><?php _e('Edit'); ?></a>
|
109 |
+
</td>
|
110 |
+
</tr>
|
111 |
+
<?php
|
112 |
+
}
|
113 |
+
$event_count++;
|
114 |
+
}
|
115 |
+
?>
|
116 |
+
</tbody>
|
117 |
+
</table>
|
118 |
+
</div>
|
119 |
+
<?php else: ?>
|
120 |
+
<?php _e('No confirmed bookings.', 'dbem'); ?>
|
121 |
+
<?php endif; ?>
|
122 |
+
</form>
|
123 |
+
<?php if( $bookings >= $limit ) : ?>
|
124 |
+
<div class='tablenav'>
|
125 |
+
<?php echo $bookings_nav; ?>
|
126 |
+
<div class="clear"></div>
|
127 |
+
</div>
|
128 |
+
<?php endif; ?>
|
129 |
+
</div>
|
130 |
+
<?php
|
131 |
+
|
132 |
+
}
|
133 |
+
?>
|
admin/bookings/em-events.php
ADDED
@@ -0,0 +1,179 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Determines whether to show event page or events page, and saves any updates to the event or events
|
5 |
+
* @return null
|
6 |
+
*/
|
7 |
+
function em_bookings_events_table() {
|
8 |
+
//TODO Simplify panel for events, use form flags to detect certain actions (e.g. submitted, etc)
|
9 |
+
global $wpdb;
|
10 |
+
global $EM_Event;
|
11 |
+
|
12 |
+
$scope_names = array (
|
13 |
+
'past' => __ ( 'Past events', 'dbem' ),
|
14 |
+
'all' => __ ( 'All events', 'dbem' ),
|
15 |
+
'future' => __ ( 'Future events', 'dbem' )
|
16 |
+
);
|
17 |
+
|
18 |
+
$action_scope = ( !empty($_REQUEST['em_obj']) && $_REQUEST['em_obj'] == 'em_bookings_events_table' );
|
19 |
+
$action = ( $action_scope && !empty($_GET ['action']) ) ? $_GET ['action']:'';
|
20 |
+
$order = ( $action_scope && !empty($_GET ['order']) ) ? $_GET ['order']:'ASC';
|
21 |
+
$limit = ( $action_scope && !empty($_GET['limit']) ) ? $_GET['limit'] : 20;//Default limit
|
22 |
+
$page = ( $action_scope && !empty($_GET['p']) ) ? $_GET['p']:1;
|
23 |
+
$offset = ( $action_scope && $page > 1 ) ? ($page-1)*$limit : 0;
|
24 |
+
$scope = ( $action_scope && !empty($_GET ['scope']) && array_key_exists($_GET ['scope'], $scope_names) ) ? $_GET ['scope']:'future';
|
25 |
+
|
26 |
+
// No action, only showing the events list
|
27 |
+
switch ($scope) {
|
28 |
+
case "past" :
|
29 |
+
$title = __ ( 'Past Events', 'dbem' );
|
30 |
+
break;
|
31 |
+
case "all" :
|
32 |
+
$title = __ ( 'All Events', 'dbem' );
|
33 |
+
break;
|
34 |
+
default :
|
35 |
+
$title = __ ( 'Future Events', 'dbem' );
|
36 |
+
$scope = "future";
|
37 |
+
}
|
38 |
+
$events = EM_Events::get( array('scope'=>$scope, 'limit'=>0, 'order'=>$order, 'rsvp'=>true ) );
|
39 |
+
$events_count = count ( $events );
|
40 |
+
|
41 |
+
$use_events_end = get_option ( 'dbem_use_event_end' );
|
42 |
+
?>
|
43 |
+
<div class="wrap em_bookings_events_table em_obj">
|
44 |
+
<form id="posts-filter" action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="get">
|
45 |
+
<input type="hidden" name="em_obj" value="em_bookings_events_table" />
|
46 |
+
<?php if(!empty($_GET['page'])): ?>
|
47 |
+
<input type='hidden' name='page' value='events-manager-bookings' />
|
48 |
+
<?php endif; ?>
|
49 |
+
<ul class="subsubsub">
|
50 |
+
<li><a href='#' class="current"><?php _e ( 'Total', 'dbem' ); ?> <span class="count">(<?php echo (count ( $events )); ?>)</span></a></li>
|
51 |
+
</ul>
|
52 |
+
<div class="tablenav">
|
53 |
+
<div class="alignleft actions">
|
54 |
+
<!--
|
55 |
+
<select name="action">
|
56 |
+
<option value="-1" selected="selected"><?php _e ( 'Bulk Actions' ); ?></option>
|
57 |
+
<option value="deleteEvents"><?php _e ( 'Delete selected','dbem' ); ?></option>
|
58 |
+
</select>
|
59 |
+
<input type="submit" value="<?php _e ( 'Apply' ); ?>" name="doaction2" id="doaction2" class="button-secondary action" />
|
60 |
+
-->
|
61 |
+
<select name="scope">
|
62 |
+
<?php
|
63 |
+
foreach ( $scope_names as $key => $value ) {
|
64 |
+
$selected = "";
|
65 |
+
if ($key == $scope)
|
66 |
+
$selected = "selected='selected'";
|
67 |
+
echo "<option value='$key' $selected>$value</option> ";
|
68 |
+
}
|
69 |
+
?>
|
70 |
+
</select>
|
71 |
+
<input id="post-query-submit" class="button-secondary" type="submit" value="<?php _e ( 'Filter' )?>" />
|
72 |
+
</div>
|
73 |
+
<!--
|
74 |
+
<div class="view-switch">
|
75 |
+
<a href="/wp-admin/edit.php?mode=list"><img class="current" id="view-switch-list" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="List View" alt="List View" name="view-switch-list" /></a> <a href="/wp-admin/edit.php?mode=excerpt"><img id="view-switch-excerpt" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="Excerpt View" alt="Excerpt View" name="view-switch-excerpt" /></a>
|
76 |
+
</div>
|
77 |
+
-->
|
78 |
+
<?php
|
79 |
+
if ( $events_count >= $limit ) {
|
80 |
+
$page_link_template = em_add_get_params($_SERVER['REQUEST_URI'], array('p'=>'%PAGE%', 'em_ajax'=>0, 'em_obj'=>'em_bookings_events_table'));
|
81 |
+
$events_nav .= em_admin_paginate( $page_link_template, $events_count, $limit, $page, 5);
|
82 |
+
echo $events_nav;
|
83 |
+
}
|
84 |
+
?>
|
85 |
+
<br class="clear" />
|
86 |
+
</div>
|
87 |
+
|
88 |
+
<?php
|
89 |
+
if (empty ( $events )) {
|
90 |
+
// TODO localize
|
91 |
+
_e ( 'no events','dbem' );
|
92 |
+
} else {
|
93 |
+
?>
|
94 |
+
<div class='table-wrap'>
|
95 |
+
<table class="widefat">
|
96 |
+
<thead>
|
97 |
+
<tr>
|
98 |
+
<th class='manage-column column-cb check-column' scope='col'>
|
99 |
+
<input class='select-all' type="checkbox" value='1' />
|
100 |
+
</th>
|
101 |
+
<th><?php _e ( 'Event', 'dbem' ); ?></th>
|
102 |
+
<th><?php _e ( 'Date and time', 'dbem' ); ?></th>
|
103 |
+
</tr>
|
104 |
+
</thead>
|
105 |
+
<tbody>
|
106 |
+
<?php
|
107 |
+
$rowno = 0;
|
108 |
+
$event_count = 0;
|
109 |
+
foreach ( $events as $event ) {
|
110 |
+
/* @var $event EM_Event */
|
111 |
+
if( ($rowno < $limit || empty($limit)) && ($event_count >= $offset || $offset === 0) ) {
|
112 |
+
$rowno++;
|
113 |
+
$class = ($rowno % 2) ? ' class="alternate"' : '';
|
114 |
+
// FIXME set to american
|
115 |
+
$localised_start_date = date_i18n('D d M Y', $event->start);
|
116 |
+
$localised_end_date = date_i18n('D d M Y', $event->end);
|
117 |
+
$style = "";
|
118 |
+
$today = date ( "Y-m-d" );
|
119 |
+
|
120 |
+
if ($event->start_date < $today && $event->end_date < $today){
|
121 |
+
$style = "style ='background-color: #FADDB7;'";
|
122 |
+
}
|
123 |
+
?>
|
124 |
+
<tr <?php echo "$class $style"; ?>>
|
125 |
+
|
126 |
+
<td>
|
127 |
+
<input type='checkbox' class='row-selector' value='<?php echo $event->id; ?>' name='events[]' />
|
128 |
+
</td>
|
129 |
+
<td>
|
130 |
+
<strong>
|
131 |
+
<a class="row-title" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&event_id=<?php echo $event->id ?>"><?php echo ($event->name); ?></a>
|
132 |
+
</strong>
|
133 |
+
–
|
134 |
+
<?php _e("Booked Seats",'dbem') ?>: <?php echo $event->get_bookings()->get_booked_seats()."/".$event->seats ?>
|
135 |
+
<?php if( get_option('dbem_bookings_approval') == 1 ) : ?>
|
136 |
+
| <?php _e("Pending",'dbem') ?>: <?php echo $event->get_bookings()->get_pending_seats(); ?>
|
137 |
+
<?php endif; ?>
|
138 |
+
</td>
|
139 |
+
|
140 |
+
<td>
|
141 |
+
<?php echo $localised_start_date; ?>
|
142 |
+
<?php echo ($localised_end_date != $localised_start_date) ? " - $localised_end_date":'' ?>
|
143 |
+
–
|
144 |
+
<?php
|
145 |
+
//TODO Should 00:00 - 00:00 be treated as an all day event?
|
146 |
+
echo substr ( $event->start_time, 0, 5 ) . " - " . substr ( $event->end_time, 0, 5 );
|
147 |
+
?>
|
148 |
+
</td>
|
149 |
+
</tr>
|
150 |
+
<?php
|
151 |
+
}
|
152 |
+
$event_count++;
|
153 |
+
}
|
154 |
+
?>
|
155 |
+
</tbody>
|
156 |
+
</table>
|
157 |
+
</div>
|
158 |
+
<?php
|
159 |
+
} // end of table
|
160 |
+
?>
|
161 |
+
<div class='tablenav'>
|
162 |
+
<div class="alignleft actions">
|
163 |
+
<br class='clear' />
|
164 |
+
</div>
|
165 |
+
<?php if ( $events_count >= $limit ) : ?>
|
166 |
+
<div class="tablenav-pages">
|
167 |
+
<?php
|
168 |
+
echo $events_nav;
|
169 |
+
?>
|
170 |
+
</div>
|
171 |
+
<?php endif; ?>
|
172 |
+
<br class='clear' />
|
173 |
+
</div>
|
174 |
+
</form>
|
175 |
+
</div>
|
176 |
+
<?php
|
177 |
+
}
|
178 |
+
|
179 |
+
?>
|
admin/bookings/em-pending.php
ADDED
@@ -0,0 +1,155 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Generates a "widget" table of pending bookings with some quick admin operation options.
|
5 |
+
* If event id supplied then only pending bookings for that event will show.
|
6 |
+
*
|
7 |
+
* @param int $event_id
|
8 |
+
*/
|
9 |
+
function em_bookings_pending_table($event_id = false){
|
10 |
+
global $EM_Event, $wpdb, $current_user;
|
11 |
+
|
12 |
+
if( get_option('dbem_bookings_approval') == 0 ){
|
13 |
+
return false;
|
14 |
+
}
|
15 |
+
|
16 |
+
$action_scope = ( !empty($_REQUEST['em_obj']) && $_REQUEST['em_obj'] == 'em_bookings_pending_table' );
|
17 |
+
$action = ( $action_scope && !empty($_GET ['action']) ) ? $_GET ['action']:'';
|
18 |
+
$order = ( $action_scope && !empty($_GET ['order']) ) ? $_GET ['order']:'ASC';
|
19 |
+
$limit = ( $action_scope && !empty($_GET['limit']) ) ? $_GET['limit'] : 20;//Default limit
|
20 |
+
$page = ( $action_scope && !empty($_GET['p']) ) ? $_GET['p']:1;
|
21 |
+
$offset = ( $action_scope && $page > 1 ) ? ($page-1)*$limit : 0;
|
22 |
+
|
23 |
+
if( is_object($EM_Event) ){
|
24 |
+
$bookings = $EM_Event->get_bookings()->get_pending();
|
25 |
+
}else{
|
26 |
+
//To optimize performance, we can do one query here for all pending bookings to show.
|
27 |
+
$bookings = EM_Bookings::get(array('status'=>0));
|
28 |
+
$events = array();
|
29 |
+
//Now let's create events and bookings for this:
|
30 |
+
foreach($bookings as $EM_Booking){
|
31 |
+
//create event
|
32 |
+
if( !array_key_exists($EM_Booking->event_id,$events) ){
|
33 |
+
$events[$EM_Booking->event_id] = new EM_Event($EM_Booking->event_id);
|
34 |
+
}
|
35 |
+
}
|
36 |
+
}
|
37 |
+
$bookings_count = (is_array($bookings)) ? count($bookings):0;
|
38 |
+
?>
|
39 |
+
<div class='wrap em_bookings_pending_table em_obj'>
|
40 |
+
<form id='bookings-filter' method='get' action='<?php bloginfo('wpurl') ?>/wp-admin/edit.php'>
|
41 |
+
<input type="hidden" name="em_obj" value="em_bookings_pending_table" />
|
42 |
+
<!--
|
43 |
+
<ul class="subsubsub">
|
44 |
+
<li>
|
45 |
+
<a href='edit.php?post_type=post' class="current">All <span class="count">(1)</span></a> |
|
46 |
+
</li>
|
47 |
+
</ul>
|
48 |
+
<p class="search-box">
|
49 |
+
<label class="screen-reader-text" for="post-search-input"><?php _e('Search'); ?>:</label>
|
50 |
+
<input type="text" id="post-search-input" name="em_search" value="<?php echo (!empty($_GET['em_search'])) ? $_GET['em_search']:''; ?>" />
|
51 |
+
<input type="submit" value="<?php _e('Search'); ?>" class="button" />
|
52 |
+
</p>
|
53 |
+
-->
|
54 |
+
<?php if ( $bookings_count >= $limit ) : ?>
|
55 |
+
<div class='tablenav'>
|
56 |
+
<!--
|
57 |
+
<div class="alignleft actions">
|
58 |
+
<select name="action">
|
59 |
+
<option value="-1" selected="selected">
|
60 |
+
<?php _e('Bulk Actions'); ?>
|
61 |
+
</option>
|
62 |
+
<option value="approve">
|
63 |
+
<?php _e('Approve', 'dbem'); ?>
|
64 |
+
</option>
|
65 |
+
<option value="decline">
|
66 |
+
<?php _e('Decline', 'dbem'); ?>
|
67 |
+
</option>
|
68 |
+
</select>
|
69 |
+
<input type="submit" id="post-query-submit" value="Filter" class="button-secondary" />
|
70 |
+
</div>
|
71 |
+
-->
|
72 |
+
<!--
|
73 |
+
<div class="view-switch">
|
74 |
+
<a href="/wp-admin/edit.php?mode=list"><img class="current" id="view-switch-list" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="List View" alt="List View" name="view-switch-list" /></a> <a href="/wp-admin/edit.php?mode=excerpt"><img id="view-switch-excerpt" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="Excerpt View" alt="Excerpt View" name="view-switch-excerpt" /></a>
|
75 |
+
</div>
|
76 |
+
-->
|
77 |
+
<?php
|
78 |
+
if ( $bookings_count >= $limit ) {
|
79 |
+
$page_link_template = em_add_get_params($_SERVER['REQUEST_URI'], array('p'=>'%PAGE%', 'em_ajax'=>0, 'em_obj'=>'em_bookings_pending_table'));
|
80 |
+
$bookings_nav .= em_admin_paginate( $page_link_template, $bookings_count, $limit, $page, 5);
|
81 |
+
echo $bookings_nav;
|
82 |
+
}
|
83 |
+
?>
|
84 |
+
<div class="clear"></div>
|
85 |
+
</div>
|
86 |
+
<?php endif; ?>
|
87 |
+
<div class="clear"></div>
|
88 |
+
<?php if( $bookings_count > 0 ): ?>
|
89 |
+
<div class='table-wrap'>
|
90 |
+
<table id='dbem-bookings-table' class='widefat post fixed'>
|
91 |
+
<thead>
|
92 |
+
<tr>
|
93 |
+
<th class='manage-column column-cb check-column' scope='col'>
|
94 |
+
<input class='select-all' type="checkbox" value='1' />
|
95 |
+
</th>
|
96 |
+
<th class='manage-column' scope='col'>Booker</th>
|
97 |
+
<?php if( !is_object($EM_Event) ): ?>
|
98 |
+
<th class='manage-column' scope="col">Event</th>
|
99 |
+
<?php endif; ?>
|
100 |
+
<th class='manage-column' scope='col'>E-mail</th>
|
101 |
+
<th class='manage-column' scope='col'>Phone number</th>
|
102 |
+
<th class='manage-column' scope='col'>Spaces</th>
|
103 |
+
<th class='manage-column' scope='col'> </th>
|
104 |
+
</tr>
|
105 |
+
</thead>
|
106 |
+
<tbody>
|
107 |
+
<?php
|
108 |
+
$rowno = 0;
|
109 |
+
$event_count = 0;
|
110 |
+
foreach ($bookings as $EM_Booking) {
|
111 |
+
if( ($rowno < $limit || empty($limit)) && ($event_count >= $offset || $offset === 0) ) {
|
112 |
+
$rowno++;
|
113 |
+
?>
|
114 |
+
<tr>
|
115 |
+
<th scope="row" class="check-column" style="padding:7px 0px 7px;"><input type='checkbox' value='<?php echo $EM_Booking->id ?>' name='bookings[]'/></th>
|
116 |
+
<td><a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&person_id=<?php echo $EM_Booking->person->id; ?>"><?php echo $EM_Booking->person->name ?></a></td>
|
117 |
+
<?php if( !is_object($EM_Event) ): ?>
|
118 |
+
<td><a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&event_id=<?php echo $EM_Booking->event_id; ?>"><?php echo $events[$EM_Booking->event_id]->name ?></a></td>
|
119 |
+
<?php endif; ?>
|
120 |
+
<td><?php echo $EM_Booking->person->email ?></td>
|
121 |
+
<td><?php echo $EM_Booking->person->phone ?></td>
|
122 |
+
<td><?php echo $EM_Booking->seats ?></td>
|
123 |
+
<td>
|
124 |
+
<?php
|
125 |
+
$approve_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_approve', 'booking_id'=>$EM_Booking->id));
|
126 |
+
$reject_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_reject', 'booking_id'=>$EM_Booking->id));
|
127 |
+
?>
|
128 |
+
<a class="em-bookings-approve" href="<?php echo $approve_url ?>"><?php _e('Approve','dbem'); ?></a> |
|
129 |
+
<a class="em-bookings-reject" href="<?php echo $reject_url ?>"><?php _e('Reject','dbem'); ?></a> |
|
130 |
+
<a class="em-bookings-edit" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&booking_id=<?php echo $EM_Booking->id; ?>"><?php _e('Edit'); ?></a>
|
131 |
+
</td>
|
132 |
+
</tr>
|
133 |
+
<?php
|
134 |
+
}
|
135 |
+
$event_count++;
|
136 |
+
}
|
137 |
+
?>
|
138 |
+
</tbody>
|
139 |
+
</table>
|
140 |
+
</div>
|
141 |
+
<?php else: ?>
|
142 |
+
<?php _e('No pending bookings.', 'dbem'); ?>
|
143 |
+
<?php endif; ?>
|
144 |
+
</form>
|
145 |
+
<?php if( $bookings >= $limit ) : ?>
|
146 |
+
<div class='tablenav'>
|
147 |
+
<?php echo $bookings_nav; ?>
|
148 |
+
<div class="clear"></div>
|
149 |
+
</div>
|
150 |
+
<?php endif; ?>
|
151 |
+
</div>
|
152 |
+
<?php
|
153 |
+
|
154 |
+
}
|
155 |
+
?>
|
admin/bookings/em-person.php
ADDED
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Generates a "widget" table of confirmed bookings for a specific event.
|
5 |
+
*
|
6 |
+
* @param int $event_id
|
7 |
+
*/
|
8 |
+
function em_bookings_person_table(){
|
9 |
+
global $wpdb, $current_user,$EM_Person;
|
10 |
+
if(!is_object($EM_Person)){
|
11 |
+
return false;
|
12 |
+
}
|
13 |
+
$action_scope = ( !empty($_REQUEST['em_obj']) && $_REQUEST['em_obj'] == 'em_bookings_confirmed_table' );
|
14 |
+
$action = ( $action_scope && !empty($_GET ['action']) ) ? $_GET ['action']:'';
|
15 |
+
$order = ( $action_scope && !empty($_GET ['order']) ) ? $_GET ['order']:'ASC';
|
16 |
+
$limit = ( $action_scope && !empty($_GET['limit']) ) ? $_GET['limit'] : 20;//Default limit
|
17 |
+
$page = ( $action_scope && !empty($_GET['p']) ) ? $_GET['p']:1;
|
18 |
+
$offset = ( $action_scope && $page > 1 ) ? ($page-1)*$limit : 0;
|
19 |
+
|
20 |
+
$bookings = $EM_Person->get_bookings();
|
21 |
+
$bookings_count = (is_array($bookings)) ? count($bookings):0;
|
22 |
+
if($bookings_count > 0){
|
23 |
+
//Get events here in one query to speed things up
|
24 |
+
foreach($bookings as $EM_Booking){
|
25 |
+
$event_ids[] = $EM_Booking->event_id;
|
26 |
+
}
|
27 |
+
$events = EM_Events::get($event_ids);
|
28 |
+
}
|
29 |
+
?>
|
30 |
+
<div class='wrap em_bookings_pending_table em_obj'>
|
31 |
+
<form id='bookings-filter' method='get' action='<?php bloginfo('wpurl') ?>/wp-admin/edit.php'>
|
32 |
+
<input type="hidden" name="em_obj" value="em_bookings_pending_table" />
|
33 |
+
<!--
|
34 |
+
<ul class="subsubsub">
|
35 |
+
<li>
|
36 |
+
<a href='edit.php?post_type=post' class="current">All <span class="count">(1)</span></a> |
|
37 |
+
</li>
|
38 |
+
</ul>
|
39 |
+
<p class="search-box">
|
40 |
+
<label class="screen-reader-text" for="post-search-input"><?php _e('Search'); ?>:</label>
|
41 |
+
<input type="text" id="post-search-input" name="em_search" value="<?php echo (!empty($_GET['em_search'])) ? $_GET['em_search']:''; ?>" />
|
42 |
+
<input type="submit" value="<?php _e('Search'); ?>" class="button" />
|
43 |
+
</p>
|
44 |
+
-->
|
45 |
+
<?php if ( $bookings_count >= $limit ) : ?>
|
46 |
+
<div class='tablenav'>
|
47 |
+
<!--
|
48 |
+
<div class="alignleft actions">
|
49 |
+
<select name="action">
|
50 |
+
<option value="-1" selected="selected">
|
51 |
+
<?php _e('Bulk Actions'); ?>
|
52 |
+
</option>
|
53 |
+
<option value="approve">
|
54 |
+
<?php _e('Approve', 'dbem'); ?>
|
55 |
+
</option>
|
56 |
+
<option value="decline">
|
57 |
+
<?php _e('Decline', 'dbem'); ?>
|
58 |
+
</option>
|
59 |
+
</select>
|
60 |
+
<input type="submit" id="post-query-submit" value="Filter" class="button-secondary" />
|
61 |
+
</div>
|
62 |
+
-->
|
63 |
+
<!--
|
64 |
+
<div class="view-switch">
|
65 |
+
<a href="/wp-admin/edit.php?mode=list"><img class="current" id="view-switch-list" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="List View" alt="List View" name="view-switch-list" /></a> <a href="/wp-admin/edit.php?mode=excerpt"><img id="view-switch-excerpt" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="Excerpt View" alt="Excerpt View" name="view-switch-excerpt" /></a>
|
66 |
+
</div>
|
67 |
+
-->
|
68 |
+
<?php
|
69 |
+
if ( $bookings_count >= $limit ) {
|
70 |
+
$page_link_template = em_add_get_params($_SERVER['REQUEST_URI'], array('p'=>'%PAGE%', 'em_ajax'=>0, 'em_obj'=>'em_bookings_confirmed_table'));
|
71 |
+
$bookings_nav .= em_admin_paginate( $page_link_template, $bookings_count, $limit, $page, 5);
|
72 |
+
echo $bookings_nav;
|
73 |
+
}
|
74 |
+
?>
|
75 |
+
<div class="clear"></div>
|
76 |
+
</div>
|
77 |
+
<?php endif; ?>
|
78 |
+
<div class="clear"></div>
|
79 |
+
<?php if( $bookings_count > 0 ): ?>
|
80 |
+
<div class='table-wrap'>
|
81 |
+
<table id='dbem-bookings-table' class='widefat post fixed'>
|
82 |
+
<thead>
|
83 |
+
<tr>
|
84 |
+
<th class='manage-column column-cb check-column' scope='col'>
|
85 |
+
<input class='select-all' type="checkbox" value='1' />
|
86 |
+
</th>
|
87 |
+
<th class='manage-column' scope='col'>Event</th>
|
88 |
+
<th class='manage-column' scope='col'>Spaces</th>
|
89 |
+
<th class='manage-column' scope='col'>Status</th>
|
90 |
+
<th class='manage-column' scope='col'> </th>
|
91 |
+
</tr>
|
92 |
+
</thead>
|
93 |
+
<tbody>
|
94 |
+
<?php
|
95 |
+
$rowno = 0;
|
96 |
+
$event_count = 0;
|
97 |
+
foreach ($bookings as $EM_Booking) {
|
98 |
+
$EM_Event = $events[$EM_Booking->event_id];
|
99 |
+
if( $EM_Event->can_manage() && ($rowno < $limit || empty($limit)) && ($event_count >= $offset || $offset === 0) ) {
|
100 |
+
$rowno++;
|
101 |
+
?>
|
102 |
+
<tr>
|
103 |
+
<th scope="row" class="check-column" style="padding:7px 0px 7px;"><input type='checkbox' value='<?php echo $EM_Booking->id ?>' name='bookings[]'/></th>
|
104 |
+
<td><a class="row-title" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&event_id=<?php echo $EM_Event->id ?>"><?php echo ($EM_Event->name); ?></a></td>
|
105 |
+
<td><?php echo $EM_Booking->seats ?></td>
|
106 |
+
<td><?php echo $EM_Booking->status_array[$EM_Booking->status]; ?>
|
107 |
+
</td>
|
108 |
+
<td>
|
109 |
+
<?php
|
110 |
+
$unapprove_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_unapprove', 'bookings'=>$EM_Booking->id));
|
111 |
+
$approve_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_approve', 'bookings'=>$EM_Booking->id));
|
112 |
+
$reject_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_reject', 'bookings'=>$EM_Booking->id));
|
113 |
+
$delete_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_delete', 'bookings'=>$EM_Booking->id));
|
114 |
+
?>
|
115 |
+
<?php if( $EM_Booking->status == 0 || $EM_Booking->status == 2 ): ?>
|
116 |
+
<a class="em-bookings-approve" href="<?php echo $approve_url ?>"><?php _e('Approve','dbem'); ?></a> |
|
117 |
+
<?php endif; ?>
|
118 |
+
<?php if( $EM_Booking->status == 2 ): ?>
|
119 |
+
<a class="em-bookings-unapprove" href="<?php echo $unapprove_url ?>"><?php _e('Unapprove','dbem'); ?></a> |
|
120 |
+
<?php endif; ?>
|
121 |
+
<?php if( $EM_Booking->status == 0 || $EM_Booking->status == 1 ): ?>
|
122 |
+
<a class="em-bookings-reject" href="<?php echo $reject_url ?>"><?php _e('Reject','dbem'); ?></a> |
|
123 |
+
<?php endif; ?>
|
124 |
+
<a class="em-bookings-edit" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&booking_id=<?php echo $EM_Booking->id; ?>"><?php _e('Edit'); ?></a> |
|
125 |
+
<a class="em-bookings-delete" href="<?php echo $delete_url ?>"><?php _e('Delete','dbem'); ?></a>
|
126 |
+
</td>
|
127 |
+
</tr>
|
128 |
+
<?php
|
129 |
+
}
|
130 |
+
$event_count++;
|
131 |
+
}
|
132 |
+
?>
|
133 |
+
</tbody>
|
134 |
+
</table>
|
135 |
+
</div>
|
136 |
+
<?php else: ?>
|
137 |
+
<?php _e('No confirmed bookings.', 'dbem'); ?>
|
138 |
+
<?php endif; ?>
|
139 |
+
</form>
|
140 |
+
<?php if( $bookings >= $limit ) : ?>
|
141 |
+
<div class='tablenav'>
|
142 |
+
<?php echo $bookings_nav; ?>
|
143 |
+
<div class="clear"></div>
|
144 |
+
</div>
|
145 |
+
<?php endif; ?>
|
146 |
+
</div>
|
147 |
+
<?php
|
148 |
+
|
149 |
+
}
|
150 |
+
?>
|
admin/bookings/em-rejected.php
ADDED
@@ -0,0 +1,133 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Generates a "widget" table of confirmed bookings for a specific event.
|
4 |
+
*
|
5 |
+
* @param int $event_id
|
6 |
+
*/
|
7 |
+
function em_bookings_rejected_table(){
|
8 |
+
global $EM_Event, $wpdb, $current_user;
|
9 |
+
|
10 |
+
$action_scope = ( !empty($_REQUEST['em_obj']) && $_REQUEST['em_obj'] == 'em_bookings_confirmed_table' );
|
11 |
+
$action = ( $action_scope && !empty($_GET ['action']) ) ? $_GET ['action']:'';
|
12 |
+
$order = ( $action_scope && !empty($_GET ['order']) ) ? $_GET ['order']:'ASC';
|
13 |
+
$limit = ( $action_scope && !empty($_GET['limit']) ) ? $_GET['limit'] : 20;//Default limit
|
14 |
+
$page = ( $action_scope && !empty($_GET['p']) ) ? $_GET['p']:1;
|
15 |
+
$offset = ( $action_scope && $page > 1 ) ? ($page-1)*$limit : 0;
|
16 |
+
|
17 |
+
if( is_object($EM_Event) ){
|
18 |
+
$bookings = $EM_Event->get_bookings()->get_rejected_bookings();
|
19 |
+
}else{
|
20 |
+
return false;
|
21 |
+
}
|
22 |
+
$bookings_count = (is_array($bookings)) ? count($bookings):0;
|
23 |
+
?>
|
24 |
+
<div class='wrap em_bookings_pending_table em_obj'>
|
25 |
+
<form id='bookings-filter' method='get' action='<?php bloginfo('wpurl') ?>/wp-admin/edit.php'>
|
26 |
+
<input type="hidden" name="em_obj" value="em_bookings_pending_table" />
|
27 |
+
<!--
|
28 |
+
<ul class="subsubsub">
|
29 |
+
<li>
|
30 |
+
<a href='edit.php?post_type=post' class="current">All <span class="count">(1)</span></a> |
|
31 |
+
</li>
|
32 |
+
</ul>
|
33 |
+
<p class="search-box">
|
34 |
+
<label class="screen-reader-text" for="post-search-input"><?php _e('Search'); ?>:</label>
|
35 |
+
<input type="text" id="post-search-input" name="em_search" value="<?php echo (!empty($_GET['em_search'])) ? $_GET['em_search']:''; ?>" />
|
36 |
+
<input type="submit" value="<?php _e('Search'); ?>" class="button" />
|
37 |
+
</p>
|
38 |
+
-->
|
39 |
+
<?php if ( $bookings_count >= $limit ) : ?>
|
40 |
+
<div class='tablenav'>
|
41 |
+
<!--
|
42 |
+
<div class="alignleft actions">
|
43 |
+
<select name="action">
|
44 |
+
<option value="-1" selected="selected">
|
45 |
+
<?php _e('Bulk Actions'); ?>
|
46 |
+
</option>
|
47 |
+
<option value="approve">
|
48 |
+
<?php _e('Approve', 'dbem'); ?>
|
49 |
+
</option>
|
50 |
+
<option value="decline">
|
51 |
+
<?php _e('Decline', 'dbem'); ?>
|
52 |
+
</option>
|
53 |
+
</select>
|
54 |
+
<input type="submit" id="post-query-submit" value="Filter" class="button-secondary" />
|
55 |
+
</div>
|
56 |
+
-->
|
57 |
+
<!--
|
58 |
+
<div class="view-switch">
|
59 |
+
<a href="/wp-admin/edit.php?mode=list"><img class="current" id="view-switch-list" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="List View" alt="List View" name="view-switch-list" /></a> <a href="/wp-admin/edit.php?mode=excerpt"><img id="view-switch-excerpt" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="Excerpt View" alt="Excerpt View" name="view-switch-excerpt" /></a>
|
60 |
+
</div>
|
61 |
+
-->
|
62 |
+
<?php
|
63 |
+
if ( $bookings_count >= $limit ) {
|
64 |
+
$page_link_template = em_add_get_params($_SERVER['REQUEST_URI'], array('p'=>'%PAGE%', 'em_ajax'=>0, 'em_obj'=>'em_bookings_confirmed_table'));
|
65 |
+
$bookings_nav .= em_admin_paginate( $page_link_template, $bookings_count, $limit, $page, 5);
|
66 |
+
echo $bookings_nav;
|
67 |
+
}
|
68 |
+
?>
|
69 |
+
<div class="clear"></div>
|
70 |
+
</div>
|
71 |
+
<?php endif; ?>
|
72 |
+
<div class="clear"></div>
|
73 |
+
<?php if( $bookings_count > 0 ): ?>
|
74 |
+
<div class='table-wrap'>
|
75 |
+
<table id='dbem-bookings-table' class='widefat post fixed'>
|
76 |
+
<thead>
|
77 |
+
<tr>
|
78 |
+
<th class='manage-column column-cb check-column' scope='col'>
|
79 |
+
<input class='select-all' type="checkbox" value='1' />
|
80 |
+
</th>
|
81 |
+
<th class='manage-column' scope='col'>Booker</th>
|
82 |
+
<th class='manage-column' scope='col'>E-mail</th>
|
83 |
+
<th class='manage-column' scope='col'>Phone number</th>
|
84 |
+
<th class='manage-column' scope='col'>Spaces</th>
|
85 |
+
<th class='manage-column' scope='col'> </th>
|
86 |
+
</tr>
|
87 |
+
</thead>
|
88 |
+
<tbody>
|
89 |
+
<?php
|
90 |
+
$rowno = 0;
|
91 |
+
$event_count = 0;
|
92 |
+
foreach ($bookings as $EM_Booking) {
|
93 |
+
if( ($rowno < $limit || empty($limit)) && ($event_count >= $offset || $offset === 0) ) {
|
94 |
+
$rowno++;
|
95 |
+
?>
|
96 |
+
<tr>
|
97 |
+
<th scope="row" class="check-column" style="padding:7px 0px 7px;"><input type='checkbox' value='<?php echo $EM_Booking->id ?>' name='bookings[]'/></th>
|
98 |
+
<td><a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&person_id=<?php echo $EM_Booking->person->id; ?>"><?php echo $EM_Booking->person->name ?></a></td>
|
99 |
+
<td><?php echo $EM_Booking->person->email ?></td>
|
100 |
+
<td><?php echo $EM_Booking->person->phone ?></td>
|
101 |
+
<td><?php echo $EM_Booking->seats ?></td>
|
102 |
+
<td>
|
103 |
+
<?php
|
104 |
+
$approve_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_approve', 'booking_id'=>$EM_Booking->id));
|
105 |
+
$delete_url = em_add_get_params($_SERVER['REQUEST_URI'], array('action'=>'bookings_delete', 'booking_id'=>$EM_Booking->id));
|
106 |
+
?>
|
107 |
+
<a class="em-bookings-approve" href="<?php echo $approve_url ?>"><?php _e('Approve','dbem'); ?></a> |
|
108 |
+
<a class="em-bookings-edit" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&booking_id=<?php echo $EM_Booking->id; ?>"><?php _e('Edit'); ?></a> |
|
109 |
+
<a class="em-bookings-delete" href="<?php echo $delete_url ?>"><?php _e('Delete','dbem'); ?></a>
|
110 |
+
</td>
|
111 |
+
</tr>
|
112 |
+
<?php
|
113 |
+
}
|
114 |
+
$event_count++;
|
115 |
+
}
|
116 |
+
?>
|
117 |
+
</tbody>
|
118 |
+
</table>
|
119 |
+
</div>
|
120 |
+
<?php else: ?>
|
121 |
+
<?php _e('No rejected bookings.', 'dbem'); ?>
|
122 |
+
<?php endif; ?>
|
123 |
+
</form>
|
124 |
+
<?php if( $bookings >= $limit ) : ?>
|
125 |
+
<div class='tablenav'>
|
126 |
+
<?php echo $bookings_nav; ?>
|
127 |
+
<div class="clear"></div>
|
128 |
+
</div>
|
129 |
+
<?php endif; ?>
|
130 |
+
</div>
|
131 |
+
<?php
|
132 |
+
}
|
133 |
+
?>
|
admin/em-admin.php
CHANGED
@@ -7,33 +7,85 @@
|
|
7 |
function em_admin_warnings() {
|
8 |
//If we're editing the events page show hello to new user
|
9 |
$events_page_id = get_option ( 'dbem_events_page' );
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
if (
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
if ( !get_page($events_page_id) && !get_option('dbem_dismiss_events_page') ){
|
25 |
-
$dismiss_link_joiner = ( count($_GET) > 0 ) ? '&':'?';
|
26 |
-
$advice = sprintf ( __( 'Uh Oh! For some reason wordpress could not create an events page for you (or you just deleted it). Not to worry though, all you have to do is create an empty page, name it whatever you want, and select it as your events page in your <a href="%s">options page</a>. Sorry for the extra step! If you know what you are doing, you may have done this on purpose, if so <a href="%s">ignore this message</a>', 'dbem'), get_bloginfo ( 'url' ) . '/wp-admin/admin.php?page=events-manager-options', $_SERVER['REQUEST_URI'].$dismiss_link_joiner.'em_dismiss_events_page=1' );
|
27 |
?>
|
28 |
-
<div id="
|
29 |
-
|
30 |
</div>
|
31 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
}
|
35 |
add_action ( 'admin_notices', 'em_admin_warnings' );
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
/**
|
38 |
* Called by admin_print_scripts-(hook|page) action, created when adding menu items in events-manager.php
|
39 |
*/
|
@@ -202,7 +254,7 @@ function em_admin_general_script() {
|
|
202 |
}
|
203 |
return true;
|
204 |
}
|
205 |
-
$('#
|
206 |
});
|
207 |
//]]>
|
208 |
</script>
|
7 |
function em_admin_warnings() {
|
8 |
//If we're editing the events page show hello to new user
|
9 |
$events_page_id = get_option ( 'dbem_events_page' );
|
10 |
+
$dismiss_link_joiner = ( count($_GET) > 0 ) ? '&':'?';
|
11 |
+
|
12 |
+
if( em_verify_admin() ){
|
13 |
+
//New User Intro
|
14 |
+
if (isset ( $_GET ['disable_hello_to_user'] ) && $_GET ['disable_hello_to_user'] == 'true'){
|
15 |
+
// Disable Hello to new user if requested
|
16 |
+
update_option ( 'dbem_hello_to_user', 0 );
|
17 |
+
}elseif ( get_option ( 'dbem_hello_to_user' ) == 1 && $_GET['page'] == 'events-manager-events' ) {
|
18 |
+
$current_user = wp_get_current_user ();
|
19 |
+
//FIXME update welcome msg with good links
|
20 |
+
$advice = sprintf ( __ ( "<p>Hey, <strong>%s</strong>, welcome to <strong>Events Manager</strong>! We hope you like it around here.</p>
|
21 |
+
<p>Now it's time to insert events lists through <a href='%s' title='Widgets page'>widgets</a>, <a href='%s' title='Template tags documentation'>template tags</a> or <a href='%s' title='Shortcodes documentation'>shortcodes</a>.</p>
|
22 |
+
<p>By the way, have you taken a look at the <a href='%s' title='Change settings'>Settings page</a>? That's where you customize the way events and locations are displayed.</p>
|
23 |
+
<p>What? Tired of seeing this advice? I hear you, <a href='%s' title='Don't show this advice again'>click here</a> and you won't see this again!</p>", 'dbem' ), $current_user->display_name, get_bloginfo ( 'url' ) . '/wp-admin/widgets.php', 'http://wp-events-plugin.com/documentation/template-tags/', 'http://wp-events-plugin.com/documentation/shortcodes/', get_bloginfo ( 'url' ) . '/wp-admin/admin.php?page=events-manager-options', get_bloginfo ( 'url' ) . '/wp-admin/admin.php?page=events-manager&disable_hello_to_user=true' );
|
|
|
|
|
|
|
24 |
?>
|
25 |
+
<div id="message" class="updated">
|
26 |
+
<?php echo $advice; ?>
|
27 |
</div>
|
28 |
+
<?php
|
29 |
+
}
|
30 |
+
|
31 |
+
//If events page couldn't be created
|
32 |
+
if( !empty($_GET['em_dismiss_admin_notice']) ){
|
33 |
+
delete_option('dbem_admin_notice_'.$_GET['em_dismiss_admin_notice']);
|
34 |
+
}else{
|
35 |
+
if ( get_option('dbem_admin_notice_3.0.91') ){
|
36 |
+
?>
|
37 |
+
<div class="updated">
|
38 |
+
<p><?php echo sprintf ( __( '<strong>Events Manager has some new features!</strong><ul><li>Bookings can now be approved before they count towards your event\'s space allocations.</li><li>Events now have owners, and you can restrict users so they can only manage events/locations/categories they create.<br/><br/>These new permissions are enabled by default, but since you upgraded it has been disabled to maintain the previous plugin behaviour. You can re-enable it from the <a href="%s">settings page</a>. <a href="%s">Dismiss</a>', 'dbem'), get_bloginfo ( 'url' ) . '/wp-admin/admin.php?page=events-manager-options', $_SERVER['REQUEST_URI'].$dismiss_link_joiner.'em_dismiss_admin_notice=3.0.91' ); ?></p>
|
39 |
+
</div>
|
40 |
+
<?php
|
41 |
+
}
|
42 |
+
}
|
43 |
+
|
44 |
+
//If events page couldn't be created
|
45 |
+
if( !empty($_GET['em_dismiss_events_page']) ){
|
46 |
+
update_option('dbem_dismiss_events_page',1);
|
47 |
+
}else{
|
48 |
+
if ( !get_page($events_page_id) && !get_option('dbem_dismiss_events_page') ){
|
49 |
+
?>
|
50 |
+
<div id="em_page_error" class="updated">
|
51 |
+
<p><?php echo sprintf ( __( 'Uh Oh! For some reason wordpress could not create an events page for you (or you just deleted it). Not to worry though, all you have to do is create an empty page, name it whatever you want, and select it as your events page in your <a href="%s">settings page</a>. Sorry for the extra step! If you know what you are doing, you may have done this on purpose, if so <a href="%s">ignore this message</a>', 'dbem'), get_bloginfo ( 'url' ) . '/wp-admin/admin.php?page=events-manager-options', $_SERVER['REQUEST_URI'].$dismiss_link_joiner.'em_dismiss_events_page=1' ); ?></p>
|
52 |
+
</div>
|
53 |
+
<?php
|
54 |
+
}
|
55 |
}
|
56 |
}
|
57 |
+
//Warn about EM page edit
|
58 |
+
if ( preg_match( '/(post|page).php/', $_SERVER ['SCRIPT_NAME']) && isset ( $_GET ['action'] ) && $_GET ['action'] == 'edit' && isset ( $_GET ['post'] ) && $_GET ['post'] == "$events_page_id") {
|
59 |
+
$message = sprintf ( __ ( "This page corresponds to <strong>Events Manager</strong> events page. Its content will be overriden by <strong>Events Manager</strong>. If you want to display your content, you can can assign another page to <strong>Events Manager</strong> in the the <a href='%s'>Settings</a>. ", 'dbem' ), 'admin.php?page=events-manager-options' );
|
60 |
+
$notice = "<div class='error'><p>$message</p></div>";
|
61 |
+
echo $notice;
|
62 |
+
}
|
63 |
+
|
64 |
}
|
65 |
add_action ( 'admin_notices', 'em_admin_warnings' );
|
66 |
|
67 |
+
/**
|
68 |
+
* Creates a wp-admin style navigation. All this does is wrap some html around the em_paginate function result to make it style correctly in the admin area.
|
69 |
+
* @param string $link
|
70 |
+
* @param int $total
|
71 |
+
* @param int $limit
|
72 |
+
* @param int $page
|
73 |
+
* @param int $pagesToShow
|
74 |
+
* @return string
|
75 |
+
* @uses em_paginate()
|
76 |
+
*/
|
77 |
+
function em_admin_paginate($link, $total, $limit, $page=1, $pagesToShow=5){
|
78 |
+
$return = '<div class="tablenav-pages">';
|
79 |
+
$return .= sprintf( '<span class="displaying-num">' . __( 'Displaying %s–%s of %s' ) . '</span>',
|
80 |
+
number_format_i18n( ( $page - 1 ) * $limit + 1 ),
|
81 |
+
number_format_i18n( min( $page * $limit, $total ) ),
|
82 |
+
number_format_i18n( $total )
|
83 |
+
);
|
84 |
+
$return .= em_paginate($link, $total, $limit, $page, $pagesToShow);
|
85 |
+
$return .= '</div>';
|
86 |
+
return $return;
|
87 |
+
}
|
88 |
+
|
89 |
/**
|
90 |
* Called by admin_print_scripts-(hook|page) action, created when adding menu items in events-manager.php
|
91 |
*/
|
254 |
}
|
255 |
return true;
|
256 |
}
|
257 |
+
$('#event-form').bind("submit", validateEventForm);
|
258 |
});
|
259 |
//]]>
|
260 |
</script>
|
admin/em-bookings.php
CHANGED
@@ -1,82 +1,283 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Check if there's any actions to take for bookings
|
4 |
* @return null
|
5 |
*/
|
6 |
function em_admin_actions_bookings() {
|
7 |
global $dbem_form_add_message;
|
8 |
global $dbem_form_delete_message;
|
9 |
-
global $wpdb;
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
}
|
19 |
}
|
20 |
}
|
21 |
-
add_action('
|
22 |
|
23 |
/**
|
24 |
-
*
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
*/
|
27 |
-
function
|
28 |
-
global $EM_Event;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
?>
|
30 |
-
<
|
31 |
-
<
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
<td><?php echo $EM_Booking->name ?></td>
|
53 |
-
<td><?php echo $EM_Booking->email ?></td>
|
54 |
-
<td><?php echo $EM_Booking->phone ?></td>
|
55 |
-
<td><?php echo $EM_Booking->seats ?></td>
|
56 |
-
</tr>
|
57 |
-
<?php
|
58 |
-
}
|
59 |
-
?>
|
60 |
-
</tbody>
|
61 |
-
<tfoot>
|
62 |
-
<tr>
|
63 |
-
<th scope='row' colspan='4'>Booked seats:</th>
|
64 |
-
<td class='booking-result' id='booked-seats'><?php echo $EM_Event->get_bookings()->get_booked_seats() ?></td>
|
65 |
-
</tr>
|
66 |
-
<tr>
|
67 |
-
<th scope='row' colspan='4'>Available seats:</th>
|
68 |
-
<td class='booking-result' id='available-seats'><?php echo $EM_Event->get_bookings()->get_booked_seats() ?></td>
|
69 |
-
</tr>
|
70 |
-
</tfoot>
|
71 |
-
</table>
|
72 |
</div>
|
73 |
-
<
|
74 |
-
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
</div>
|
78 |
-
|
79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
</form>
|
81 |
<?php
|
82 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Check if there's any admin-related actions to take for bookings. All actions are caught here.
|
4 |
* @return null
|
5 |
*/
|
6 |
function em_admin_actions_bookings() {
|
7 |
global $dbem_form_add_message;
|
8 |
global $dbem_form_delete_message;
|
9 |
+
global $wpdb, $EM_Booking, $EM_Event;
|
10 |
+
|
11 |
+
if( current_user_can(EM_MIN_CAPABILITY) && is_object($EM_Booking) && !empty($_REQUEST['action']) ) {
|
12 |
+
if( $_REQUEST['action'] == 'bookings_delete' ){
|
13 |
+
//Delete
|
14 |
+
if( isset($_POST['booking_id']) ){
|
15 |
+
$EM_Booking = new EM_Booking($_POST['booking_id']);
|
16 |
+
$EM_Booking->delete();
|
17 |
+
}
|
18 |
+
}elseif( $_REQUEST['action'] == 'bookings_edit' ){
|
19 |
+
//Edit Booking
|
20 |
+
$validation = $EM_Booking->get_post();
|
21 |
+
if ( $validation ) { //EM_Event gets the event if submitted via POST and validates it (safer than to depend on JS)
|
22 |
+
//Save
|
23 |
+
if( $EM_Booking->save() ) {
|
24 |
+
function em_booking_save_notification(){ global $EM_Booking; ?><div class="updated"><p><strong><?php echo $EM_Booking->feedback_message; ?></strong></p></div><?php }
|
25 |
+
}else{
|
26 |
+
function em_booking_save_notification(){ global $EM_Booking; ?><div class="error"><p><strong><?php echo $EM_Booking->feedback_message; ?></strong></p></div><?php }
|
27 |
+
}
|
28 |
+
}else{
|
29 |
+
//TODO make errors clearer when saving person
|
30 |
+
function em_booking_save_notification(){ global $EM_Booking; ?><div class="error"><p><strong><?php echo $EM_Booking->feedback_message; ?></strong></p></div><?php }
|
31 |
+
}
|
32 |
+
add_action ( 'admin_notices', 'em_booking_save_notification' );
|
33 |
+
}elseif( $_REQUEST['action'] == 'bookings_approve' || $_REQUEST['action'] == 'bookings_reject' || $_REQUEST['action'] == 'bookings_unapprove' ){
|
34 |
+
//Booking Approvals
|
35 |
+
$status_array = array('bookings_unapprove' => 0,'bookings_approve' => 1,'bookings_reject' => 2, 'bookings_cancel' => 3);
|
36 |
+
if( $EM_Booking->set_status( $status_array[$_REQUEST['action']] ) ) {
|
37 |
+
function em_booking_save_notification(){ global $EM_Booking; ?><div class="updated"><p><strong><?php echo $EM_Booking->feedback_message; ?></strong></p></div><?php }
|
38 |
+
}else{
|
39 |
+
function em_booking_save_notification(){ global $EM_Booking; ?><div class="error"><p><strong><?php echo $EM_Booking->feedback_message; ?></strong></p></div><?php }
|
40 |
+
}
|
41 |
+
add_action ( 'admin_notices', 'em_booking_save_notification' );
|
42 |
+
}elseif( $_REQUEST['action'] == 'bookings_add_note' ){
|
43 |
+
$EM_Booking->add_note($_REQUEST['booking_note']);
|
44 |
+
function em_booking_save_notification(){ global $EM_Booking; ?><div class="updated"><p><strong><?php echo $EM_Booking->feedback_message; ?></strong></p></div><?php }
|
45 |
+
add_action ( 'admin_notices', 'em_booking_save_notification' );
|
46 |
+
}
|
47 |
+
}elseif( current_user_can(EM_MIN_CAPABILITY) && is_object($EM_Event) && !empty($_REQUEST['action']) ){
|
48 |
+
if( $_REQUEST['action'] == 'export_csv' ){
|
49 |
+
$EM_Event->get_bookings()->export_csv();
|
50 |
+
exit();
|
51 |
}
|
52 |
}
|
53 |
}
|
54 |
+
add_action('admin_init','em_admin_actions_bookings',100);
|
55 |
|
56 |
/**
|
57 |
+
* Decide what content to show in the bookings section.
|
58 |
+
*/
|
59 |
+
function em_bookings_page(){
|
60 |
+
//First any actions take priority
|
61 |
+
if( !empty($_REQUEST['booking_id']) ){
|
62 |
+
em_bookings_single();
|
63 |
+
}elseif( !empty($_REQUEST['person_id']) ){
|
64 |
+
em_bookings_person();
|
65 |
+
}elseif( !empty($_REQUEST['event_id']) ){
|
66 |
+
em_bookings_event();
|
67 |
+
}else{
|
68 |
+
em_bookings_dashboard();
|
69 |
+
}
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* Generates the bookings dashboard, showing information on all events
|
74 |
+
*/
|
75 |
+
function em_bookings_dashboard(){
|
76 |
+
?>
|
77 |
+
<div class='wrap'>
|
78 |
+
<div id='icon-users' class='icon32'>
|
79 |
+
<br/>
|
80 |
+
</div>
|
81 |
+
<h2>
|
82 |
+
<?php _e('Event Bookings Dashboard', 'dbem'); ?>
|
83 |
+
</h2>
|
84 |
+
<h2><?php _e('Pending Bookings','dbem'); ?></h2>
|
85 |
+
<?php em_bookings_pending_table(); ?>
|
86 |
+
<h2><?php _e('Events With Bookings Enabled','dbem'); ?></h2>
|
87 |
+
<?php em_bookings_events_table(); ?>
|
88 |
+
</div>
|
89 |
+
<?php
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Shows all booking data for a single event
|
94 |
*/
|
95 |
+
function em_bookings_event(){
|
96 |
+
global $EM_Event,$EM_Person;
|
97 |
+
//check that user can access this page
|
98 |
+
if( is_object($EM_Event) && !$EM_Event->can_manage() ){
|
99 |
+
?>
|
100 |
+
<div class="wrap"><h2><?php _e('Unauthorized Access','dbem'); ?></h2><p><?php _e('You do not have the rights to manage this event.','dbem'); ?></p></div>
|
101 |
+
<?php
|
102 |
+
return false;
|
103 |
+
}
|
104 |
+
$localised_start_date = date_i18n('D d M Y', $EM_Event->start);
|
105 |
+
$localised_end_date = date_i18n('D d M Y', $EM_Event->end);
|
106 |
?>
|
107 |
+
<div class='wrap'>
|
108 |
+
<div id='icon-users' class='icon32'>
|
109 |
+
<br/>
|
110 |
+
</div>
|
111 |
+
<h2>
|
112 |
+
<?php echo sprintf(__('Manage %s Bookings', 'dbem'), "'{$EM_Event->name}'"); ?>
|
113 |
+
<a href="admin.php?page=events-manager-event&event_id=<?php echo $EM_Event->id; ?>" class="button add-new-h2"><?php _e('View/Edit Event','dbem') ?></a>
|
114 |
+
</h2>
|
115 |
+
<div><a href='<?php echo get_bloginfo('wpurl') . "/wp-admin/admin.php?page=events-manager-bookings&action=export_csv&event_id=".$EM_Event->id ?>'><?php _e('export csv','dbem')?></a></div>
|
116 |
+
<div>
|
117 |
+
<p><strong><?php _e('Event Name','dbem'); ?></strong> : <?php echo ($EM_Event->name); ?></p>
|
118 |
+
<p><strong>Availability :</strong> <?php echo $EM_Event->get_bookings()->get_booked_seats() . '/'. $EM_Event->seats ." ". __('Seats confirmed','dbem'); ?></p>
|
119 |
+
<p>
|
120 |
+
<strong><?php _e('Date','dbem'); ?></strong> :
|
121 |
+
<?php echo $localised_start_date; ?>
|
122 |
+
<?php echo ($localised_end_date != $localised_start_date) ? " - $localised_end_date":'' ?>
|
123 |
+
<?php echo substr ( $EM_Event->start_time, 0, 5 ) . " - " . substr ( $EM_Event->end_time, 0, 5 ); ?>
|
124 |
+
</p>
|
125 |
+
<p>
|
126 |
+
<strong><?php _e('Location','dbem'); ?></strong> :
|
127 |
+
<a class="row-title" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-locations&location_id=<?php echo $EM_Event->location->id ?>"><?php echo ($EM_Event->location->name); ?></a>
|
128 |
+
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
</div>
|
130 |
+
<h2><?php _e('Pending Bookings','dbem'); ?></h2>
|
131 |
+
<?php em_bookings_pending_table(); ?>
|
132 |
+
<h2><?php _e('Confirmed Bookings','dbem'); ?></h2>
|
133 |
+
<?php em_bookings_confirmed_table(); ?>
|
134 |
+
<h2><?php _e('Rejected Bookings','dbem'); ?></h2>
|
135 |
+
<?php em_bookings_rejected_table(); ?>
|
136 |
+
<h2><?php _e('Cancelled Bookings','dbem'); ?></h2>
|
137 |
+
<?php em_bookings_cancelled_table(); ?>
|
138 |
+
</div>
|
139 |
+
<?php
|
140 |
+
}
|
141 |
+
|
142 |
+
/**
|
143 |
+
* Shows a single booking for a single person.
|
144 |
+
*/
|
145 |
+
function em_bookings_single(){
|
146 |
+
global $EM_Booking;
|
147 |
+
//check that user can access this page
|
148 |
+
if( is_object($EM_Booking) && !$EM_Booking->can_manage() ){
|
149 |
+
?>
|
150 |
+
<div class="wrap"><h2><?php _e('Unauthorized Access','dbem'); ?></h2><p><?php _e('You do not have the rights to manage this event.','dbem'); ?></p></div>
|
151 |
+
<?php
|
152 |
+
return false;
|
153 |
+
}
|
154 |
+
?>
|
155 |
+
<div class='wrap'>
|
156 |
+
<div id='icon-users' class='icon32'>
|
157 |
+
<br/>
|
158 |
+
</div>
|
159 |
+
<h2>
|
160 |
+
<?php _e('Edit Booking', 'dbem'); ?>
|
161 |
+
</h2>
|
162 |
+
<div id="poststuff" class="metabox-holder has-right-sidebar">
|
163 |
+
<div id="post-body">
|
164 |
+
<div id="post-body-content">
|
165 |
+
<div id="event_name" class="stuffbox">
|
166 |
+
<h3>
|
167 |
+
<?php _e ( 'Booking Details', 'dbem' ); ?>
|
168 |
+
</h3>
|
169 |
+
<div class="inside">
|
170 |
+
<?php em_bookings_edit_form(); ?>
|
171 |
+
</div>
|
172 |
+
</div>
|
173 |
+
</div>
|
174 |
+
</div>
|
175 |
+
</div>
|
176 |
+
<br style="clear:both;" />
|
177 |
+
<div id="poststuff" class="metabox-holder has-right-sidebar">
|
178 |
+
<div id="post-body">
|
179 |
+
<div id="post-body-content">
|
180 |
+
<div id="event_name" class="stuffbox">
|
181 |
+
<h3>
|
182 |
+
<?php _e ( 'Booking Notes', 'dbem' ); ?>
|
183 |
+
</h3>
|
184 |
+
<div class="inside">
|
185 |
+
<p><?php _e('You can add private notes below for internal reference that only event managers will see.','dbem'); ?></p>
|
186 |
+
<?php foreach( $EM_Booking->notes as $note ):
|
187 |
+
$user = get_userdata($note['author']);
|
188 |
+
?>
|
189 |
+
<div>
|
190 |
+
<?php echo date(get_option('date_format'), $note['timestamp']) .' - '. $user->display_name; ?> <?php _e('wrote','dbem'); ?>:
|
191 |
+
<p style="background:#efefef; padding:5px;"><?php echo nl2br($note['note']); ?></p>
|
192 |
+
</div>
|
193 |
+
<?php endforeach; ?>
|
194 |
+
<form method="post" action="" style="padding:5px;">
|
195 |
+
<textarea class="widefat" rows="5" name="booking_note"></textarea>
|
196 |
+
<input type="hidden" name="action" value="bookings_add_note" />
|
197 |
+
<input type="submit" value="Add Note" />
|
198 |
+
</form>
|
199 |
+
</div>
|
200 |
+
</div>
|
201 |
+
</div>
|
202 |
</div>
|
203 |
+
</div>
|
204 |
+
<br style="clear:both;" />
|
205 |
+
<?php do_action('em_bookings_single_footer'); ?>
|
206 |
+
</div>
|
207 |
+
<?php
|
208 |
+
|
209 |
+
}
|
210 |
+
|
211 |
+
/**
|
212 |
+
* Shows all bookings made by one person.
|
213 |
+
*/
|
214 |
+
function em_bookings_person(){
|
215 |
+
global $EM_Person;
|
216 |
+
?>
|
217 |
+
<div class='wrap'>
|
218 |
+
<div id='icon-users' class='icon32'>
|
219 |
+
<br/>
|
220 |
+
</div>
|
221 |
+
<h2>
|
222 |
+
<?php _e('Manage Person\'s Booking', 'dbem'); ?>
|
223 |
+
<a href="admin.php?page=events-manager-bookings&action=person_delete&person_id=<?php echo $EM_Person->id; ?>" onclick="if( !confirm('<?php _e('Are you sure you want to delete this person? All bookings corresponding to this person will be deleted and this is not reversible.','dbem') ?>') ){ return false; }" class="button add-new-h2"><?php _e('Delete Person','dbem') ?></a>
|
224 |
+
</h2>
|
225 |
+
<div id="poststuff" class="metabox-holder has-right-sidebar">
|
226 |
+
<div id="post-body">
|
227 |
+
<div id="post-body-content">
|
228 |
+
<div id="event_name" class="stuffbox">
|
229 |
+
<h3>
|
230 |
+
<?php _e ( 'Personal Details', 'dbem' ); ?>
|
231 |
+
</h3>
|
232 |
+
<div class="inside">
|
233 |
+
<?php em_person_edit_form(); ?>
|
234 |
+
</div>
|
235 |
+
</div>
|
236 |
+
</div>
|
237 |
+
</div>
|
238 |
+
</div>
|
239 |
+
<br style="clear:both;" />
|
240 |
+
<h3><?php _e('Past And Present Bookings','dbem'); ?></h3>
|
241 |
+
<?php em_bookings_person_table(); ?>
|
242 |
+
</div>
|
243 |
+
<?php
|
244 |
+
}
|
245 |
+
|
246 |
+
function em_bookings_edit_form(){
|
247 |
+
global $EM_Booking;
|
248 |
+
$EM_Event = new EM_Event($EM_Booking->event_id);
|
249 |
+
$localised_start_date = date_i18n('D d M Y', $EM_Event->start);
|
250 |
+
$localised_end_date = date_i18n('D d M Y', $EM_Event->end);
|
251 |
+
?>
|
252 |
+
<form action="" method="post" id="em-person-form">
|
253 |
+
<h4>Event Details</h4>
|
254 |
+
<table>
|
255 |
+
<tr><td><strong><?php _e('Name','dbem'); ?></strong></td><td><a class="row-title" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&event_id=<?php echo $EM_Event->id ?>"><?php echo ($EM_Event->name); ?></a></td></tr>
|
256 |
+
<tr>
|
257 |
+
<td><strong><?php _e('Date/Time','dbem'); ?> </strong></td>
|
258 |
+
<td>
|
259 |
+
<?php echo $localised_start_date; ?>
|
260 |
+
<?php echo ($localised_end_date != $localised_start_date) ? " - $localised_end_date":'' ?>
|
261 |
+
<?php echo substr ( $EM_Event->start_time, 0, 5 ) . " - " . substr ( $EM_Event->end_time, 0, 5 ); ?>
|
262 |
+
</td>
|
263 |
+
</tr>
|
264 |
+
</table>
|
265 |
+
<h4>Personal Details</h4>
|
266 |
+
<table>
|
267 |
+
<tr><td><strong><?php _e('Name','dbem'); ?> </strong></td><td><a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-bookings&person_id=<?php echo $EM_Booking->person_id; ?>"><?php echo $EM_Booking->person->name ?></a></td></tr>
|
268 |
+
<tr><td><strong><?php _e('Phone','dbem'); ?> </strong></td><td><?php echo $EM_Booking->person->phone; ?></td></tr>
|
269 |
+
<tr><td><strong><?php _e('E-mail','dbem'); ?> </strong></td><td><?php echo $EM_Booking->person->email; ?></td></tr>
|
270 |
+
</table>
|
271 |
+
<h4>Booking Details</h4>
|
272 |
+
<table>
|
273 |
+
<tr><td><strong><?php _e('Spaces','dbem'); ?> </strong></td><td><input type="text" name="booking_seats" value="<?php echo $EM_Booking->seats; ?>" /></td></tr>
|
274 |
+
<tr><td><strong><?php _e('Comment','dbem'); ?> </strong></td><td><textarea name="booking_comment"><?php echo $EM_Booking->comment; ?></textarea></td></tr>
|
275 |
+
</table>
|
276 |
+
<p class="submit">
|
277 |
+
<input type="submit" name="events_update" value="<?php _e ( 'Save' ); ?> »" />
|
278 |
+
</p>
|
279 |
+
<input type="hidden" name="action" value="bookings_edit" />
|
280 |
+
<input type="hidden" name="booking_id" value="<?php echo $EM_Booking->id; ?>" />
|
281 |
</form>
|
282 |
<?php
|
283 |
}
|
admin/em-categories.php
CHANGED
@@ -1,52 +1,42 @@
|
|
1 |
<?php
|
2 |
function em_admin_categories_page() {
|
3 |
-
global $wpdb;
|
4 |
|
5 |
-
if(
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
$category = array();
|
14 |
-
$category['category_name'] = $_POST['category_name'];
|
15 |
-
$validation_result = $wpdb->update( $categories_table, $category, array('category_id' => $_POST['category_ID']) );
|
16 |
-
} elseif( isset($_POST['action']) && $_POST['action'] == "add" ) {
|
17 |
-
// Add a new category
|
18 |
-
$category = array();
|
19 |
-
$category['category_name'] = $_POST['category_name'];
|
20 |
-
$validation_result = $wpdb->insert($categories_table, $category);
|
21 |
-
} elseif( isset($_POST['action']) && $_POST['action'] == "delete" ) {
|
22 |
-
// Delete category or multiple
|
23 |
-
$categories = $_POST['categories'];
|
24 |
-
if(is_array($categories)){
|
25 |
-
//Run the query if we have an array of category ids with at least one value
|
26 |
-
if( EM_Object::array_is_numeric($categories) ){
|
27 |
-
$validation_result = $wpdb->query( "DELETE FROM $categories_table WHERE category_id =". implode(" OR category_id =", $categories) );
|
28 |
-
}else{
|
29 |
-
$validation_result = false;
|
30 |
-
$message = "Couldn't delete the categories. Incorrect category IDs supplied. Please try agian.";
|
31 |
-
}
|
32 |
}
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
}
|
|
|
46 |
}
|
47 |
|
48 |
function em_categories_table_layout($message = "") {
|
49 |
-
$categories =
|
50 |
$destination = get_bloginfo('url')."/wp-admin/admin.php";
|
51 |
?>
|
52 |
<div class='wrap nosubsub'>
|
@@ -84,11 +74,11 @@ function em_categories_table_layout($message = "") {
|
|
84 |
</tr>
|
85 |
</tfoot>
|
86 |
<tbody>
|
87 |
-
<?php foreach ($categories as $
|
88 |
<tr>
|
89 |
-
<td><input type='checkbox' class ='row-selector' value='<?php echo $
|
90 |
-
<td><a href='<?php echo get_bloginfo('wpurl') ?>/wp-admin/admin.php?page=events-manager-categories&action=edit&
|
91 |
-
<td><a href='<?php echo get_bloginfo('wpurl') ?>/wp-admin/admin.php?page=events-manager-categories&action=edit&
|
92 |
</tr>
|
93 |
<?php endforeach; ?>
|
94 |
</tbody>
|
@@ -117,7 +107,7 @@ function em_categories_table_layout($message = "") {
|
|
117 |
<div id='ajax-response'>
|
118 |
<h3><?php echo __('Add category', 'dbem') ?></h3>
|
119 |
<form name='add' id='add' method='post' action='admin.php?page=events-manager-categories' class='add:the-list: validate'>
|
120 |
-
<input type='hidden' name='action' value='
|
121 |
<div class='form-field form-required'>
|
122 |
<label for='category_name'><?php echo __('Category name', 'dbem') ?></label>
|
123 |
<input id='category-name' name='category_name' id='category_name' type='text' size='40' />
|
@@ -137,8 +127,17 @@ function em_categories_table_layout($message = "") {
|
|
137 |
|
138 |
|
139 |
function em_categories_edit_layout($message = "") {
|
140 |
-
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
?>
|
143 |
<div class='wrap'>
|
144 |
<div id='icon-edit' class='icon32'>
|
@@ -156,13 +155,13 @@ function em_categories_edit_layout($message = "") {
|
|
156 |
<div id='ajax-response'></div>
|
157 |
|
158 |
<form name='editcat' id='editcat' method='post' action='admin.php?page=events-manager-categories' class='validate'>
|
159 |
-
<input type='hidden' name='action' value='
|
160 |
-
<input type='hidden' name='category_ID' value='<?php echo $
|
161 |
|
162 |
<table class='form-table'>
|
163 |
<tr class='form-field form-required'>
|
164 |
<th scope='row' valign='top'><label for='category_name'><?php echo __('Category name', 'dbem') ?></label></th>
|
165 |
-
<td><input name='category_name' id='category-name' type='text' value='<?php echo $
|
166 |
<?php echo __('The name of the category', 'dbem') ?></td>
|
167 |
</tr>
|
168 |
</table>
|
1 |
<?php
|
2 |
function em_admin_categories_page() {
|
3 |
+
global $wpdb, $EM_Category;
|
4 |
|
5 |
+
if( !empty($_REQUEST['action']) ){
|
6 |
+
if( $_REQUEST['action'] == "save") {
|
7 |
+
// save (add/update) category
|
8 |
+
if( empty($EM_Category) || !is_object($EM_Category) ){
|
9 |
+
$EM_Category = new EM_Category(); //blank category
|
10 |
+
$success_message = __('The category has been added.', 'dbem');
|
11 |
+
}else{
|
12 |
+
$success_message = __('The category has been updated.', 'dbem');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
}
|
14 |
+
$EM_Category->get_post();
|
15 |
+
if ( $EM_Category->validate() ) {
|
16 |
+
$EM_Category->save(); //FIXME better handling of db write fails when saving category
|
17 |
+
$message = $success_message;
|
18 |
+
} else {
|
19 |
+
?>
|
20 |
+
<div id='message' class='error '>
|
21 |
+
<p>
|
22 |
+
<strong><?php _e( "Ach, there's a problem here:", "dbem" ) ?></strong><br /><br /><?php echo implode('<br />', $EM_Category->errors); ?>
|
23 |
+
</p>
|
24 |
+
</div>
|
25 |
+
<?php
|
26 |
+
unset($EM_Category);
|
27 |
+
}
|
28 |
+
} elseif( $_REQUEST['action'] == "delete" ){
|
29 |
+
//delelte category
|
30 |
+
EM_Categories::delete($_REQUEST['categories']);
|
31 |
+
//FIXME no result verification when deleting various categories
|
32 |
+
$message = __('Categories Deleted', "dbem" );
|
33 |
}
|
34 |
}
|
35 |
+
em_categories_table_layout($message);
|
36 |
}
|
37 |
|
38 |
function em_categories_table_layout($message = "") {
|
39 |
+
$categories = EM_Categories::get();
|
40 |
$destination = get_bloginfo('url')."/wp-admin/admin.php";
|
41 |
?>
|
42 |
<div class='wrap nosubsub'>
|
74 |
</tr>
|
75 |
</tfoot>
|
76 |
<tbody>
|
77 |
+
<?php foreach ($categories as $EM_Category) : ?>
|
78 |
<tr>
|
79 |
+
<td><input type='checkbox' class ='row-selector' value='<?php echo $EM_Category->id ?>' name='categories[]'/></td>
|
80 |
+
<td><a href='<?php echo get_bloginfo('wpurl') ?>/wp-admin/admin.php?page=events-manager-categories&action=edit&category_id=<?php echo $EM_Category->id ?>'><?php echo htmlspecialchars($EM_Category->id, ENT_QUOTES); ?></a></td>
|
81 |
+
<td><a href='<?php echo get_bloginfo('wpurl') ?>/wp-admin/admin.php?page=events-manager-categories&action=edit&category_id=<?php echo $EM_Category->id ?>'><?php echo htmlspecialchars($EM_Category->name, ENT_QUOTES); ?></a></td>
|
82 |
</tr>
|
83 |
<?php endforeach; ?>
|
84 |
</tbody>
|
107 |
<div id='ajax-response'>
|
108 |
<h3><?php echo __('Add category', 'dbem') ?></h3>
|
109 |
<form name='add' id='add' method='post' action='admin.php?page=events-manager-categories' class='add:the-list: validate'>
|
110 |
+
<input type='hidden' name='action' value='save' />
|
111 |
<div class='form-field form-required'>
|
112 |
<label for='category_name'><?php echo __('Category name', 'dbem') ?></label>
|
113 |
<input id='category-name' name='category_name' id='category_name' type='text' size='40' />
|
127 |
|
128 |
|
129 |
function em_categories_edit_layout($message = "") {
|
130 |
+
global $EM_Category;
|
131 |
+
if( !is_object($EM_Category) ){
|
132 |
+
$EM_Category = new EM_Category();
|
133 |
+
}
|
134 |
+
//check that user can access this page
|
135 |
+
if( is_object($EM_Category) && !$EM_Category->can_manage() ){
|
136 |
+
?>
|
137 |
+
<div class="wrap"><h2><?php _e('Unauthorized Access','dbem'); ?></h2><p><?php _e('You do not have the rights to manage this event.','dbem'); ?></p></div>
|
138 |
+
<?php
|
139 |
+
return false;
|
140 |
+
}
|
141 |
?>
|
142 |
<div class='wrap'>
|
143 |
<div id='icon-edit' class='icon32'>
|
155 |
<div id='ajax-response'></div>
|
156 |
|
157 |
<form name='editcat' id='editcat' method='post' action='admin.php?page=events-manager-categories' class='validate'>
|
158 |
+
<input type='hidden' name='action' value='save' />
|
159 |
+
<input type='hidden' name='category_ID' value='<?php echo $EM_Category->id ?>'/>
|
160 |
|
161 |
<table class='form-table'>
|
162 |
<tr class='form-field form-required'>
|
163 |
<th scope='row' valign='top'><label for='category_name'><?php echo __('Category name', 'dbem') ?></label></th>
|
164 |
+
<td><input name='category_name' id='category-name' type='text' value='<?php echo $EM_Category->name ?>' size='40' /><br />
|
165 |
<?php echo __('The name of the category', 'dbem') ?></td>
|
166 |
</tr>
|
167 |
</table>
|
admin/em-docs.php
CHANGED
@@ -54,9 +54,15 @@ function em_docs_init(){
|
|
54 |
'#_NAME' => array( 'desc' => 'Displays the name of the event.' ),
|
55 |
'#_NOTES' => array( 'desc' => 'Shows the description of the event.' ),
|
56 |
'#_EXCERPT' => array( 'desc' => 'If you added a <a href="http://en.support.wordpress.com/splitting-content/more-tag/">more tag</a> to your event description, only the content before this tag will show (currently, no read more link is added).' ),
|
57 |
-
'#
|
58 |
)
|
59 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
'Time' => array(
|
61 |
'desc' => '',
|
62 |
'placeholders' => array(
|
@@ -101,9 +107,13 @@ function em_docs_init(){
|
|
101 |
'desc' => 'The values here are taken from the chosen contact for the specific event, or the default contact in the settings page.',
|
102 |
'placeholders' => array(
|
103 |
'#_CONTACTNAME' => array( 'desc' => 'Name of the contact person for this event (as shown in the dropdown when adding an event).' ),
|
|
|
104 |
'#_CONTACTEMAIL' => array( 'desc' => 'E-mail of the contact person for this event.' ),
|
105 |
'#_CONTACTPHONE' => array( 'desc' => 'Phone number of the contact person for this event. Can be set in the user profile page.' ),
|
106 |
-
'#_CONTACTAVATAR' => array( 'desc' => 'Contact person\'s avatar.' )
|
|
|
|
|
|
|
107 |
)
|
108 |
),
|
109 |
),
|
@@ -117,7 +127,8 @@ function em_docs_init(){
|
|
117 |
'#_LOCATIONMAP' => array( 'desc' => 'Displays a google map showing where the event is located (Will not show if maps are disabled in the settings page)' ),
|
118 |
'#_LOCATIONNOTES' => array( 'desc' => 'Shows the location description.' ),
|
119 |
'#_LOCATIONEXCERPT' => array( 'desc' => 'If you added a <a href="http://en.support.wordpress.com/splitting-content/more-tag/">more tag</a> to your location description, only the content before this tag will show (currently, no read more link is added).' ),
|
120 |
-
'#_LOCATIONIMAGE' => array( 'desc' => 'Shows the location image.' )
|
|
|
121 |
)
|
122 |
),
|
123 |
'Links' => array(
|
54 |
'#_NAME' => array( 'desc' => 'Displays the name of the event.' ),
|
55 |
'#_NOTES' => array( 'desc' => 'Shows the description of the event.' ),
|
56 |
'#_EXCERPT' => array( 'desc' => 'If you added a <a href="http://en.support.wordpress.com/splitting-content/more-tag/">more tag</a> to your event description, only the content before this tag will show (currently, no read more link is added).' ),
|
57 |
+
'#_EVENTID' => array( 'desc' => 'Shows the event\'s corresponding ID number in the database table.' )
|
58 |
)
|
59 |
),
|
60 |
+
'Category Details' => array(
|
61 |
+
'placeholders' => array(
|
62 |
+
'#_CATEGORYNAME' => array( 'desc' => 'Shows the category name of the event.' ),
|
63 |
+
'#_CATEGORYID' => array( 'desc' => 'Shows the category ID of the event.' )
|
64 |
+
)
|
65 |
+
),
|
66 |
'Time' => array(
|
67 |
'desc' => '',
|
68 |
'placeholders' => array(
|
107 |
'desc' => 'The values here are taken from the chosen contact for the specific event, or the default contact in the settings page.',
|
108 |
'placeholders' => array(
|
109 |
'#_CONTACTNAME' => array( 'desc' => 'Name of the contact person for this event (as shown in the dropdown when adding an event).' ),
|
110 |
+
'#_CONTACTUSERNAME' => array( 'desc' => 'Contact person\'s username.' ),
|
111 |
'#_CONTACTEMAIL' => array( 'desc' => 'E-mail of the contact person for this event.' ),
|
112 |
'#_CONTACTPHONE' => array( 'desc' => 'Phone number of the contact person for this event. Can be set in the user profile page.' ),
|
113 |
+
'#_CONTACTAVATAR' => array( 'desc' => 'Contact person\'s avatar.' ),
|
114 |
+
'#_CONTACTPROFILELINK' => array( 'desc' => 'Contact person\'s "Profile" link. Only works with BuddyPress enabled.' ),
|
115 |
+
'#_CONTACTPROFILEURL' => array( 'desc' => 'Contact person\'s profile url. Only works with BuddyPress enabled.' ),
|
116 |
+
'#_CONTACTID' => array( 'desc' => 'Contact person\'s wordpress user ID.')
|
117 |
)
|
118 |
),
|
119 |
),
|
127 |
'#_LOCATIONMAP' => array( 'desc' => 'Displays a google map showing where the event is located (Will not show if maps are disabled in the settings page)' ),
|
128 |
'#_LOCATIONNOTES' => array( 'desc' => 'Shows the location description.' ),
|
129 |
'#_LOCATIONEXCERPT' => array( 'desc' => 'If you added a <a href="http://en.support.wordpress.com/splitting-content/more-tag/">more tag</a> to your location description, only the content before this tag will show (currently, no read more link is added).' ),
|
130 |
+
'#_LOCATIONIMAGE' => array( 'desc' => 'Shows the location image.' ),
|
131 |
+
'#_LOCATIONID' => array( 'desc' => 'Displays the location ID number.' )
|
132 |
)
|
133 |
),
|
134 |
'Links' => array(
|
admin/em-event.php
CHANGED
@@ -45,8 +45,16 @@ add_action('admin_init', 'em_admin_event_actions');
|
|
45 |
* @return null
|
46 |
*/
|
47 |
function em_admin_event_page() {
|
48 |
-
global $EM_Event;
|
49 |
-
global $localised_date_formats;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
if( is_object($EM_Event) && $EM_Event->id > 0 ){
|
52 |
if($EM_Event->is_recurring()){
|
@@ -55,8 +63,19 @@ function em_admin_event_page() {
|
|
55 |
$title = __ ( "Edit Event", 'dbem' ) . " '" . $EM_Event->name . "'";
|
56 |
}
|
57 |
} else {
|
58 |
-
$EM_Event = new EM_Event();
|
59 |
$title = __ ( "Insert New Event", 'dbem' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
}
|
61 |
|
62 |
$use_select_for_locations = get_option('dbem_use_select_for_locations');
|
@@ -64,7 +83,7 @@ function em_admin_event_page() {
|
|
64 |
$pref = "event_";
|
65 |
|
66 |
$locale_code = substr ( get_locale (), 0, 2 );
|
67 |
-
$localised_date_format = $localised_date_formats
|
68 |
|
69 |
//FIXME time useage is very flimsy imho
|
70 |
$hours_locale_regexp = "H:i";
|
@@ -89,7 +108,7 @@ function em_admin_event_page() {
|
|
89 |
<p><?php echo !empty($EM_Event->feedback_message) ? $EM_Event->feedback_message : $_GET['message']; ?></p>
|
90 |
</div>
|
91 |
<?php endif; ?>
|
92 |
-
<form id="
|
93 |
<div class="wrap">
|
94 |
<div id="icon-events" class="icon32"><br /></div>
|
95 |
<h2><?php echo $title; ?></h2>
|
@@ -185,7 +204,7 @@ function em_admin_event_page() {
|
|
185 |
<p>
|
186 |
<?php echo $EM_Event->get_recurrence_description(); ?>
|
187 |
<br />
|
188 |
-
<a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/
|
189 |
<?php _e ( 'Reschedule', 'dbem' ); ?>
|
190 |
</a>
|
191 |
<input type="hidden" name="recurrence_id" value="<?php echo $EM_Event->recurrence_id; ?>" />
|
@@ -199,6 +218,7 @@ function em_admin_event_page() {
|
|
199 |
<?php endif; ?>
|
200 |
<?php if(get_option('dbem_rsvp_enabled')) : ?>
|
201 |
<!-- START RSVP -->
|
|
|
202 |
<div class="postbox ">
|
203 |
<div class="handlediv" title="Fare clic per cambiare."><br />
|
204 |
</div>
|
@@ -207,10 +227,15 @@ function em_admin_event_page() {
|
|
207 |
</span></h3>
|
208 |
<div class="inside">
|
209 |
<p><?php _e('Contact','dbem'); ?>
|
210 |
-
<?php
|
|
|
|
|
211 |
</p>
|
212 |
</div>
|
213 |
</div>
|
|
|
|
|
|
|
214 |
<div class="postbox ">
|
215 |
<div class="handlediv" title="Fare clic per cambiare."><br />
|
216 |
</div>
|
@@ -241,52 +266,18 @@ function em_admin_event_page() {
|
|
241 |
if ( count($EM_Event->get_bookings()->bookings) > 0 ) {
|
242 |
?>
|
243 |
<div class='wrap'>
|
244 |
-
<
|
245 |
-
|
246 |
-
<
|
247 |
-
<thead>
|
248 |
-
<tr>
|
249 |
-
<th class='manage-column column-cb check-column' scope='col'> </th>
|
250 |
-
<th class='manage-column ' scope='col'><?php _e('Responder', 'dbem') ?></th>
|
251 |
-
<th scope='col'><?php _e('Spaces', 'dbem') ?></th>
|
252 |
-
</tr>
|
253 |
-
</thead>
|
254 |
-
<tbody>
|
255 |
-
<?php
|
256 |
-
foreach ($EM_Event->get_bookings()->bookings as $EM_Booking) {
|
257 |
-
?>
|
258 |
-
<tr id='booking-<?php echo $EM_Booking->id ?>'>
|
259 |
-
<td>
|
260 |
-
<?php if($EM_Booking->comment) : ?>
|
261 |
-
<img src='../wp-content/plugins/events-manager/includes/images/baloon.png' title='<?php _e('Comment:','dbem'); ?> <?php echo $EM_Booking->comment ?>' alt='comment'/>
|
262 |
-
<?php endif; ?>
|
263 |
-
<a id='booking-check-<?php echo $EM_Booking->id ?>' class='bookingdelbutton'>X</a>
|
264 |
-
</td>
|
265 |
-
<td><a title='<?php echo $EM_Booking->person->email ?> - <?php echo $EM_Booking->person->phone ?>'><?php echo $EM_Booking->person->name ?></a></td>
|
266 |
-
<td><?php echo $EM_Booking->seats ?></td>
|
267 |
-
</tr>
|
268 |
-
<?php
|
269 |
-
}
|
270 |
-
?>
|
271 |
-
</tbody>
|
272 |
-
<tfoot>
|
273 |
-
<tr>
|
274 |
-
<th scope='row' colspan='2'><?php _e('Booked spaces','dbem') ?>:</th>
|
275 |
-
<td class='booking-result' id='booked-seats'><?php echo $booked_seats ?></td>
|
276 |
-
</tr>
|
277 |
-
<tr>
|
278 |
-
<th scope='row' colspan='2'><?php _e('Available spaces','dbem') ?>:</th>
|
279 |
-
<td class='booking-result' id='available-seats'><?php echo $available_seats ?></td>
|
280 |
-
</tr>
|
281 |
-
</tfoot>
|
282 |
-
</table>
|
283 |
</div>
|
284 |
|
285 |
<br class='clear'/>
|
286 |
|
287 |
<div id='major-publishing-actions'>
|
288 |
<div id='publishing-action'>
|
289 |
-
<a id='printable'
|
|
|
|
|
290 |
<br class='clear'/>
|
291 |
</div>
|
292 |
<br class='clear'/>
|
@@ -314,20 +305,26 @@ function em_admin_event_page() {
|
|
314 |
<?php _e ( 'Category', 'dbem' ); ?>
|
315 |
</span></h3>
|
316 |
<div class="inside">
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
?>
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
</select>
|
330 |
-
</p>
|
331 |
</div>
|
332 |
</div>
|
333 |
<!-- END Categories -->
|
@@ -342,7 +339,7 @@ function em_admin_event_page() {
|
|
342 |
<?php _e ( 'Name', 'dbem' ); ?>
|
343 |
</h3>
|
344 |
<div class="inside">
|
345 |
-
<input type="text" name="event_name" value="<?php echo htmlspecialchars($EM_Event->name,ENT_QUOTES); ?>" />
|
346 |
<br />
|
347 |
<?php _e ( 'The event name. Example: Birthday party', 'dbem' )?>
|
348 |
</div>
|
@@ -496,7 +493,8 @@ function em_admin_event_page() {
|
|
496 |
get_option ( 'dbem_rss_description_format' ).
|
497 |
get_option ( 'dbem_rss_title_format' ).
|
498 |
get_option ( 'dbem_single_event_format' ).
|
499 |
-
get_option ( 'dbem_single_location_format' )
|
|
|
500 |
//We now have one long string of formats, get all the attribute placeholders
|
501 |
preg_match_all('/#_ATT\{.+?\}(\{.+?\})?/', $formats, $placeholders);
|
502 |
//Now grab all the unique attributes we can use in our event.
|
@@ -604,7 +602,7 @@ function em_admin_event_page() {
|
|
604 |
jQuery(document).ready( function($) {
|
605 |
<?php if( $EM_Event->is_recurring() ): ?>
|
606 |
//Recurrence Warnings
|
607 |
-
$('#
|
608 |
confirmation = confirm('<?php _e('Are you sure you want to reschedule this recurring event? If you do this, you will lose all booking information and the old recurring events will be deleted.', 'dbem'); ?>');
|
609 |
if( confirmation == false ){
|
610 |
event.preventDefault();
|
45 |
* @return null
|
46 |
*/
|
47 |
function em_admin_event_page() {
|
48 |
+
global $EM_Event, $current_user;
|
49 |
+
global $localised_date_formats;
|
50 |
+
|
51 |
+
//check that user can access this page
|
52 |
+
if( is_object($EM_Event) && !$EM_Event->can_manage() ){
|
53 |
+
?>
|
54 |
+
<div class="wrap"><h2><?php _e('Unauthorized Access','dbem'); ?></h2><p><?php _e('You do not have the rights to manage this event.','dbem'); ?></p></div>
|
55 |
+
<?php
|
56 |
+
return false;
|
57 |
+
}
|
58 |
|
59 |
if( is_object($EM_Event) && $EM_Event->id > 0 ){
|
60 |
if($EM_Event->is_recurring()){
|
63 |
$title = __ ( "Edit Event", 'dbem' ) . " '" . $EM_Event->name . "'";
|
64 |
}
|
65 |
} else {
|
66 |
+
$EM_Event = ( is_object($EM_Event) && get_class($EM_Event) == 'EM_Event') ? $EM_Event : new EM_Event();
|
67 |
$title = __ ( "Insert New Event", 'dbem' );
|
68 |
+
//Give a default location & category
|
69 |
+
$default_cat = get_option('dbem_default_category');
|
70 |
+
$default_loc = get_option('dbem_default_location');
|
71 |
+
if( is_numeric($default_cat) && $default_cat > 0 ){
|
72 |
+
$EM_Event->category_id = $default_cat;
|
73 |
+
$EM_Event->category = new EM_Category($default_cat);
|
74 |
+
}
|
75 |
+
if( is_numeric($default_loc) && $default_loc > 0 && ( empty($EM_Event->location->id) && empty($EM_Event->location->name) && empty($EM_Event->location->address) && empty($EM_Event->location->town) ) ){
|
76 |
+
$EM_Event->location_id = $default_loc;
|
77 |
+
$EM_Event->location = new EM_Location($default_loc);
|
78 |
+
}
|
79 |
}
|
80 |
|
81 |
$use_select_for_locations = get_option('dbem_use_select_for_locations');
|
83 |
$pref = "event_";
|
84 |
|
85 |
$locale_code = substr ( get_locale (), 0, 2 );
|
86 |
+
$localised_date_format = $localised_date_formats[$locale_code];
|
87 |
|
88 |
//FIXME time useage is very flimsy imho
|
89 |
$hours_locale_regexp = "H:i";
|
108 |
<p><?php echo !empty($EM_Event->feedback_message) ? $EM_Event->feedback_message : $_GET['message']; ?></p>
|
109 |
</div>
|
110 |
<?php endif; ?>
|
111 |
+
<form id="event-form" method="post" action="">
|
112 |
<div class="wrap">
|
113 |
<div id="icon-events" class="icon32"><br /></div>
|
114 |
<h2><?php echo $title; ?></h2>
|
204 |
<p>
|
205 |
<?php echo $EM_Event->get_recurrence_description(); ?>
|
206 |
<br />
|
207 |
+
<a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-event&event_id=<?php echo $EM_Event->recurrence_id; ?>">
|
208 |
<?php _e ( 'Reschedule', 'dbem' ); ?>
|
209 |
</a>
|
210 |
<input type="hidden" name="recurrence_id" value="<?php echo $EM_Event->recurrence_id; ?>" />
|
218 |
<?php endif; ?>
|
219 |
<?php if(get_option('dbem_rsvp_enabled')) : ?>
|
220 |
<!-- START RSVP -->
|
221 |
+
<?php if ( em_verify_admin() ): ?>
|
222 |
<div class="postbox ">
|
223 |
<div class="handlediv" title="Fare clic per cambiare."><br />
|
224 |
</div>
|
227 |
</span></h3>
|
228 |
<div class="inside">
|
229 |
<p><?php _e('Contact','dbem'); ?>
|
230 |
+
<?php
|
231 |
+
wp_dropdown_users ( array ('name' => 'event_contactperson_id', 'show_option_none' => __ ( "Select...", 'dbem' ), 'selected' => $EM_Event->contactperson_id ) );
|
232 |
+
?>
|
233 |
</p>
|
234 |
</div>
|
235 |
</div>
|
236 |
+
<?php else: ?>
|
237 |
+
<input type="hidden" name="event_contactperson_id" value="<?php get_current_user_id() ?>" />
|
238 |
+
<?php endif; ?>
|
239 |
<div class="postbox ">
|
240 |
<div class="handlediv" title="Fare clic per cambiare."><br />
|
241 |
</div>
|
266 |
if ( count($EM_Event->get_bookings()->bookings) > 0 ) {
|
267 |
?>
|
268 |
<div class='wrap'>
|
269 |
+
<p><strong><?php echo __('Available Spaces','dbem').': '.$EM_Event->get_bookings()->get_available_seats(); ?></strong></p>
|
270 |
+
<p><strong><?php echo __('Confirmed Spaces','dbem').': '.$EM_Event->get_bookings()->get_booked_seats(); ?></strong></p>
|
271 |
+
<p><strong><?php echo __('Pending Spaces','dbem').': '.$EM_Event->get_bookings()->get_pending_seats(); ?></strong></p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
</div>
|
273 |
|
274 |
<br class='clear'/>
|
275 |
|
276 |
<div id='major-publishing-actions'>
|
277 |
<div id='publishing-action'>
|
278 |
+
<a id='printable' href='<?php echo get_bloginfo('wpurl') . "/wp-admin/admin.php?page=events-manager-bookings&event_id=".$EM_Event->id ?>'><?php _e('manage bookings','dbem')?></a><br />
|
279 |
+
<a target='_blank' href='<?php echo get_bloginfo('wpurl') . "/wp-admin/admin.php?page=events-manager-bookings&action=bookings_report&event_id=".$EM_Event->id ?>'><?php _e('printable view','dbem')?></a>
|
280 |
+
<a href='<?php echo get_bloginfo('wpurl') . "/wp-admin/admin.php?page=events-manager-bookings&action=export_csv&event_id=".$EM_Event->id ?>'><?php _e('export csv','dbem')?></a>
|
281 |
<br class='clear'/>
|
282 |
</div>
|
283 |
<br class='clear'/>
|
305 |
<?php _e ( 'Category', 'dbem' ); ?>
|
306 |
</span></h3>
|
307 |
<div class="inside">
|
308 |
+
<?php $categories = EM_Categories::get(array('orderby'=>'category_name')); ?>
|
309 |
+
<?php if( count($categories) > 0 ): ?>
|
310 |
+
<p><?php _e ( 'Category:', 'dbem' ); ?>
|
311 |
+
<select name="event_category_id">
|
312 |
+
<option value="" <?php echo ($EM_Event->category_id == '') ? "selected='selected'":'' ?>><?php _e('no category','dbem') ?></option>
|
313 |
+
<?php
|
314 |
+
foreach ( $categories as $EM_Category ){
|
315 |
+
$selected = ($EM_Category->id == $EM_Event->category_id) ? "selected='selected'": '';
|
316 |
+
?>
|
317 |
+
<option value="<?php echo $EM_Category->id ?>" <?php echo $selected ?>>
|
318 |
+
<?php echo $EM_Category->name ?>
|
319 |
+
</option>
|
320 |
+
<?php
|
321 |
+
}
|
322 |
?>
|
323 |
+
</select>
|
324 |
+
</p>
|
325 |
+
<?php else: ?>
|
326 |
+
<p><?php sprintf(__('No categories available, <a href="%s">create one here first</a>','dbem'), get_bloginfo('wpurl').'/wp-admin/admin.php?page=events-manager-categories'); ?></p>
|
327 |
+
<?php endif; ?>
|
|
|
|
|
328 |
</div>
|
329 |
</div>
|
330 |
<!-- END Categories -->
|
339 |
<?php _e ( 'Name', 'dbem' ); ?>
|
340 |
</h3>
|
341 |
<div class="inside">
|
342 |
+
<input type="text" name="event_name" id="event-name" value="<?php echo htmlspecialchars($EM_Event->name,ENT_QUOTES); ?>" />
|
343 |
<br />
|
344 |
<?php _e ( 'The event name. Example: Birthday party', 'dbem' )?>
|
345 |
</div>
|
493 |
get_option ( 'dbem_rss_description_format' ).
|
494 |
get_option ( 'dbem_rss_title_format' ).
|
495 |
get_option ( 'dbem_single_event_format' ).
|
496 |
+
get_option ( 'dbem_single_location_format' ).
|
497 |
+
get_option ( 'dbem_placeholders_custom' );
|
498 |
//We now have one long string of formats, get all the attribute placeholders
|
499 |
preg_match_all('/#_ATT\{.+?\}(\{.+?\})?/', $formats, $placeholders);
|
500 |
//Now grab all the unique attributes we can use in our event.
|
602 |
jQuery(document).ready( function($) {
|
603 |
<?php if( $EM_Event->is_recurring() ): ?>
|
604 |
//Recurrence Warnings
|
605 |
+
$('#event_form').submit( function(event){
|
606 |
confirmation = confirm('<?php _e('Are you sure you want to reschedule this recurring event? If you do this, you will lose all booking information and the old recurring events will be deleted.', 'dbem'); ?>');
|
607 |
if( confirmation == false ){
|
608 |
event.preventDefault();
|
admin/em-events.php
CHANGED
@@ -38,7 +38,11 @@ function em_admin_events_page() {
|
|
38 |
$title = __ ( 'Future Events', 'dbem' );
|
39 |
$scope = "future";
|
40 |
}
|
41 |
-
$
|
|
|
|
|
|
|
|
|
42 |
$events_count = count ( $events );
|
43 |
|
44 |
$use_events_end = get_option ( 'dbem_use_event_end' );
|
@@ -48,11 +52,9 @@ function em_admin_events_page() {
|
|
48 |
</div>
|
49 |
<h2>
|
50 |
<?php echo $title; ?>
|
51 |
-
<a href="admin.php?page=events-manager-event" class="button add-new-h2"><?php _e('Add New') ?></a>
|
52 |
</h2>
|
53 |
-
<?php
|
54 |
-
em_hello_to_new_user ();
|
55 |
-
|
56 |
$link = array ();
|
57 |
$link ['past'] = "<a href='" . get_bloginfo ( 'wpurl' ) . "/wp-admin/admin.php?page=events-manager&scope=past&order=desc'>" . __ ( 'Past events', 'dbem' ) . "</a>";
|
58 |
$link ['all'] = " <a href='" . get_bloginfo ( 'wpurl' ) . "/wp-admin/admin.php?page=events-manager&scope=all&order=desc'>" . __ ( 'All events', 'dbem' ) . "</a>";
|
@@ -72,7 +74,11 @@ function em_admin_events_page() {
|
|
72 |
<ul class="subsubsub">
|
73 |
<li><a href='#' class="current"><?php _e ( 'Total', 'dbem' ); ?> <span class="count">(<?php echo (count ( $events )); ?>)</span></a></li>
|
74 |
</ul>
|
75 |
-
|
|
|
|
|
|
|
|
|
76 |
<div class="tablenav">
|
77 |
|
78 |
<div class="alignleft actions">
|
@@ -92,122 +98,139 @@ function em_admin_events_page() {
|
|
92 |
?>
|
93 |
</select>
|
94 |
<input id="post-query-submit" class="button-secondary" type="submit" value="<?php _e ( 'Filter' )?>" />
|
95 |
-
<?php
|
96 |
-
//Pagination (if needed/requested)
|
97 |
-
if( $events_count >= $limit ){
|
98 |
-
//Show the pagination links (unless there's less than 10 events
|
99 |
-
$page_link_template = preg_replace('/(&|\?)p=\d+/i','',$_SERVER['REQUEST_URI']);
|
100 |
-
$page_link_template = em_add_get_params($page_link_template, array('p'=>'%PAGE%'));
|
101 |
-
$events_nav = em_paginate( $page_link_template, $events_count, $limit, $page);
|
102 |
-
echo $events_nav;
|
103 |
-
}
|
104 |
-
?>
|
105 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
<br class="clear" />
|
|
|
107 |
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
<table class="widefat">
|
116 |
-
<thead>
|
117 |
-
<tr>
|
118 |
-
<th class='manage-column column-cb check-column' scope='col'>
|
119 |
-
<input class='select-all' type="checkbox" value='1' />
|
120 |
-
</th>
|
121 |
-
<th><?php _e ( 'Name', 'dbem' ); ?></th>
|
122 |
-
<th> </th>
|
123 |
-
<th><?php _e ( 'Location', 'dbem' ); ?></th>
|
124 |
-
<th colspan="2"><?php _e ( 'Date and time', 'dbem' ); ?></th>
|
125 |
-
</tr>
|
126 |
-
</thead>
|
127 |
-
<tbody>
|
128 |
-
<?php
|
129 |
-
$rowno = 0;
|
130 |
-
$event_count = 0;
|
131 |
-
foreach ( $events as $event ) {
|
132 |
-
if( ($rowno < $limit || empty($limit)) && ($event_count >= $offset || $offset === 0) ) {
|
133 |
-
$rowno++;
|
134 |
-
$class = ($rowno % 2) ? ' class="alternate"' : '';
|
135 |
-
// FIXME set to american
|
136 |
-
$localised_start_date = date_i18n('D d M Y', $event->start);
|
137 |
-
$localised_end_date = date_i18n('D d M Y', $event->end);
|
138 |
-
$style = "";
|
139 |
-
$today = date ( "Y-m-d" );
|
140 |
-
$location_summary = "<b>" . $event->location->name . "</b><br/>" . $event->location->address . " - " . $event->location->town;
|
141 |
-
$category = EM_Category::get($event->id);
|
142 |
-
|
143 |
-
if ($event->start_date < $today && $event->end_date < $today){
|
144 |
-
$style = "style ='background-color: #FADDB7;'";
|
145 |
-
}
|
146 |
-
?>
|
147 |
-
<tr <?php echo "$class $style"; ?>>
|
148 |
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
|
|
|
|
|
|
|
|
187 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
?>
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
|
|
|
|
|
|
|
|
|
|
194 |
}
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
|
|
|
|
|
|
|
|
208 |
</div>
|
|
|
|
|
209 |
</div>
|
210 |
-
</form>
|
211 |
</div>
|
212 |
<?php
|
213 |
}
|
38 |
$title = __ ( 'Future Events', 'dbem' );
|
39 |
$scope = "future";
|
40 |
}
|
41 |
+
$args = array('scope'=>$scope, 'limit'=>0, 'order'=>$order );
|
42 |
+
if( !get_option('dbem_permissions_events') && !em_verify_admin() ){
|
43 |
+
$args['owner'] = get_current_user_id();
|
44 |
+
}
|
45 |
+
$events = EM_Events::get( $args );
|
46 |
$events_count = count ( $events );
|
47 |
|
48 |
$use_events_end = get_option ( 'dbem_use_event_end' );
|
52 |
</div>
|
53 |
<h2>
|
54 |
<?php echo $title; ?>
|
55 |
+
<a href="admin.php?page=events-manager-event" class="button add-new-h2"><?php _e('Add New','dbem'); ?></a>
|
56 |
</h2>
|
57 |
+
<?php
|
|
|
|
|
58 |
$link = array ();
|
59 |
$link ['past'] = "<a href='" . get_bloginfo ( 'wpurl' ) . "/wp-admin/admin.php?page=events-manager&scope=past&order=desc'>" . __ ( 'Past events', 'dbem' ) . "</a>";
|
60 |
$link ['all'] = " <a href='" . get_bloginfo ( 'wpurl' ) . "/wp-admin/admin.php?page=events-manager&scope=all&order=desc'>" . __ ( 'All events', 'dbem' ) . "</a>";
|
74 |
<ul class="subsubsub">
|
75 |
<li><a href='#' class="current"><?php _e ( 'Total', 'dbem' ); ?> <span class="count">(<?php echo (count ( $events )); ?>)</span></a></li>
|
76 |
</ul>
|
77 |
+
<p class="search-box">
|
78 |
+
<label class="screen-reader-text" for="post-search-input"><?php _e('Search Events','dbem'); ?>:</label>
|
79 |
+
<input type="text" id="post-search-input" name="em_search" value="<?php echo (!empty($_GET['em_search'])) ? $_GET['em_search']:''; ?>" />
|
80 |
+
<input type="submit" value="<?php _e('Search Events','dbem'); ?>" class="button" />
|
81 |
+
</p>
|
82 |
<div class="tablenav">
|
83 |
|
84 |
<div class="alignleft actions">
|
98 |
?>
|
99 |
</select>
|
100 |
<input id="post-query-submit" class="button-secondary" type="submit" value="<?php _e ( 'Filter' )?>" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
</div>
|
102 |
+
<!--
|
103 |
+
<div class="view-switch">
|
104 |
+
<a href="/wp-admin/edit.php?mode=list"><img class="current" id="view-switch-list" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="List View" alt="List View" name="view-switch-list" /></a> <a href="/wp-admin/edit.php?mode=excerpt"><img id="view-switch-excerpt" src="http://wordpress.lan/wp-includes/images/blank.gif" width="20" height="20" title="Excerpt View" alt="Excerpt View" name="view-switch-excerpt" /></a>
|
105 |
+
</div>
|
106 |
+
-->
|
107 |
+
<?php
|
108 |
+
if ( $events_count >= $limit ) {
|
109 |
+
$page_link_template = em_add_get_params($_SERVER['REQUEST_URI'], array('p'=>'%PAGE%'));
|
110 |
+
$events_nav .= em_admin_paginate( $page_link_template, $events_count, $limit, $page, 5);
|
111 |
+
echo $events_nav;
|
112 |
+
}
|
113 |
+
?>
|
114 |
<br class="clear" />
|
115 |
+
</div>
|
116 |
|
117 |
+
<?php
|
118 |
+
if (empty ( $events )) {
|
119 |
+
// TODO localize
|
120 |
+
_e ( 'no events','dbem' );
|
121 |
+
} else {
|
122 |
+
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
124 |
+
<table class="widefat">
|
125 |
+
<thead>
|
126 |
+
<tr>
|
127 |
+
<th class='manage-column column-cb check-column' scope='col'>
|
128 |
+
<input class='select-all' type="checkbox" value='1' />
|
129 |
+
</th>
|
130 |
+
<th><?php _e ( 'Name', 'dbem' ); ?></th>
|
131 |
+
<th> </th>
|
132 |
+
<th><?php _e ( 'Location', 'dbem' ); ?></th>
|
133 |
+
<th colspan="2"><?php _e ( 'Date and time', 'dbem' ); ?></th>
|
134 |
+
</tr>
|
135 |
+
</thead>
|
136 |
+
<tbody>
|
137 |
+
<?php
|
138 |
+
$rowno = 0;
|
139 |
+
$event_count = 0;
|
140 |
+
foreach ( $events as $event ) {
|
141 |
+
/* @var $event EM_Event */
|
142 |
+
if( ($rowno < $limit || empty($limit)) && ($event_count >= $offset || $offset === 0) ) {
|
143 |
+
$rowno++;
|
144 |
+
$class = ($rowno % 2) ? ' class="alternate"' : '';
|
145 |
+
// FIXME set to american
|
146 |
+
$localised_start_date = date_i18n('D d M Y', $event->start);
|
147 |
+
$localised_end_date = date_i18n('D d M Y', $event->end);
|
148 |
+
$style = "";
|
149 |
+
$today = date ( "Y-m-d" );
|
150 |
+
$location_summary = "<b>" . $event->location->name . "</b><br/>" . $event->location->address . " - " . $event->location->town;
|
151 |
+
$category = new EM_Category($event->category_id);
|
152 |
|
153 |
+
if ($event->start_date < $today && $event->end_date < $today){
|
154 |
+
$style = "style ='background-color: #FADDB7;'";
|
155 |
+
}
|
156 |
+
?>
|
157 |
+
<tr <?php echo "$class $style"; ?>>
|
158 |
+
|
159 |
+
<td>
|
160 |
+
<input type='checkbox' class='row-selector' value='<?php echo $event->id; ?>' name='events[]' />
|
161 |
+
</td>
|
162 |
+
<td>
|
163 |
+
<strong>
|
164 |
+
<a class="row-title" href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-event&event_id=<?php echo $event->id ?>&scope=<?php echo $scope ?>&p=<?php echo $page ?>"><?php echo ($event->name); ?></a>
|
165 |
+
</strong>
|
166 |
+
<?php if( is_object($category) ) : ?>
|
167 |
+
<br/><span title='<?php echo __( 'Category', 'dbem' ).": ".$category->name ?>'><?php echo $category->name ?></span>
|
168 |
+
<?php endif; ?>
|
169 |
+
<?php
|
170 |
+
if( get_option('dbem_rsvp_enabled') == 1 && $event->rsvp == 1 ){
|
171 |
+
echo "<br/>";
|
172 |
+
echo __("Booked Seats",'dbem').": ". $event->get_bookings()->get_booked_seats()."/".$event->seats;
|
173 |
+
if( get_option('dbem_bookings_approval') == 1 ){
|
174 |
+
echo " | ". __("Pending",'dbem').": ". $event->get_bookings()->get_pending_seats();
|
175 |
}
|
176 |
+
}
|
177 |
+
?>
|
178 |
+
</td>
|
179 |
+
<td>
|
180 |
+
<a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-event&action=duplicate&event_id=<?php echo $event->id; ?>&scope=<?php echo $scope ?>&p=<?php echo $page ?>" title="<?php _e ( 'Duplicate this event', 'dbem' ); ?>">
|
181 |
+
<strong>+</strong>
|
182 |
+
</a>
|
183 |
+
</td>
|
184 |
+
<td>
|
185 |
+
<?php echo $location_summary; ?>
|
186 |
+
</td>
|
187 |
+
|
188 |
+
<td>
|
189 |
+
<?php echo $localised_start_date; ?>
|
190 |
+
<?php echo ($localised_end_date != $localised_start_date) ? " - $localised_end_date":'' ?>
|
191 |
+
<br />
|
192 |
+
<?php
|
193 |
+
//TODO Should 00:00 - 00:00 be treated as an all day event?
|
194 |
+
echo substr ( $event->start_time, 0, 5 ) . " - " . substr ( $event->end_time, 0, 5 );
|
195 |
+
?>
|
196 |
+
</td>
|
197 |
+
<td>
|
198 |
+
<?php
|
199 |
+
if ( $event->is_recurrence() ) {
|
200 |
?>
|
201 |
+
<strong>
|
202 |
+
<?php echo $event->get_recurrence_description(); ?> <br />
|
203 |
+
<a href="<?php bloginfo ( 'wpurl' )?>/wp-admin/admin.php?page=events-manager-event&event_id=<?php echo $event->recurrence_id ?>&scope=<?php echo $scope ?>&p=<?php echo $page ?>"><?php _e ( 'Reschedule', 'dbem' ); ?></a>
|
204 |
+
</strong>
|
205 |
+
<?php
|
206 |
+
}
|
207 |
+
?>
|
208 |
+
</td>
|
209 |
+
</tr>
|
210 |
+
<?php
|
211 |
}
|
212 |
+
$event_count++;
|
213 |
+
}
|
214 |
+
?>
|
215 |
+
</tbody>
|
216 |
+
</table>
|
217 |
+
<?php
|
218 |
+
} // end of table
|
219 |
+
?>
|
220 |
+
<div class='tablenav'>
|
221 |
+
<div class="alignleft actions">
|
222 |
+
<br class='clear' />
|
223 |
+
</div>
|
224 |
+
<?php if ( $events_count >= $limit ) : ?>
|
225 |
+
<div class="tablenav-pages">
|
226 |
+
<?php
|
227 |
+
echo $events_nav;
|
228 |
+
?>
|
229 |
</div>
|
230 |
+
<?php endif; ?>
|
231 |
+
<br class='clear' />
|
232 |
</div>
|
233 |
+
</form>
|
234 |
</div>
|
235 |
<?php
|
236 |
}
|
admin/em-locations-search.php
CHANGED
@@ -4,10 +4,10 @@
|
|
4 |
* or will search for events by name via the GET "q" variable.
|
5 |
*/
|
6 |
require_once('../../../../wp-load.php');
|
7 |
-
|
8 |
global $wpdb;
|
9 |
|
10 |
$locations_table = $wpdb->prefix . EM_LOCATIONS_TABLE;
|
|
|
11 |
|
12 |
$term = (isset($_GET['term'])) ? '%'.$_GET['term'].'%' : '%'.$_GET['q'].'%';
|
13 |
$sql = $wpdb->prepare("
|
@@ -18,11 +18,10 @@ $sql = $wpdb->prepare("
|
|
18 |
location_town AS `town`,
|
19 |
location_id AS `id`
|
20 |
FROM $locations_table
|
21 |
-
WHERE ( `location_name` LIKE %s ) LIMIT 10
|
22 |
", $term);
|
23 |
|
24 |
$locations_array = $wpdb->get_results($sql);
|
25 |
-
|
26 |
echo EM_Object::json_encode($locations_array);
|
27 |
/*
|
28 |
$return_string_array = array();
|
4 |
* or will search for events by name via the GET "q" variable.
|
5 |
*/
|
6 |
require_once('../../../../wp-load.php');
|
|
|
7 |
global $wpdb;
|
8 |
|
9 |
$locations_table = $wpdb->prefix . EM_LOCATIONS_TABLE;
|
10 |
+
$location_cond = ( get_option('dbem_permissions_events') < 1 && !em_verify_admin() ) ? "AND location_owner=".get_current_user_id() : '';
|
11 |
|
12 |
$term = (isset($_GET['term'])) ? '%'.$_GET['term'].'%' : '%'.$_GET['q'].'%';
|
13 |
$sql = $wpdb->prepare("
|
18 |
location_town AS `town`,
|
19 |
location_id AS `id`
|
20 |
FROM $locations_table
|
21 |
+
WHERE ( `location_name` LIKE %s ) $location_cond LIMIT 10
|
22 |
", $term);
|
23 |
|
24 |
$locations_array = $wpdb->get_results($sql);
|
|
|
25 |
echo EM_Object::json_encode($locations_array);
|
26 |
/*
|
27 |
$return_string_array = array();
|
admin/em-locations.php
CHANGED
@@ -6,9 +6,8 @@
|
|
6 |
function em_admin_locations_page() {
|
7 |
//TODO EM_Location is globalized, use it fully here
|
8 |
global $EM_Location;
|
9 |
-
|
10 |
//Take actions
|
11 |
-
if( !empty($_REQUEST['action']) ){
|
12 |
if( $_REQUEST['action'] == "edit" || $_REQUEST['action'] == "add" ) {
|
13 |
//edit/add location
|
14 |
em_admin_location();
|
@@ -139,6 +138,13 @@ function em_admin_locations($message='', $fill_fields = false) {
|
|
139 |
|
140 |
function em_admin_location($message = "") {
|
141 |
global $EM_Location;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
if( empty($EM_Location) || !is_object($EM_Location) ){
|
143 |
$title = __('Add location', 'dbem');
|
144 |
$EM_Location = new EM_Location();
|
@@ -146,91 +152,116 @@ function em_admin_location($message = "") {
|
|
146 |
$title = __('Edit location', 'dbem');
|
147 |
}
|
148 |
?>
|
149 |
-
<
|
150 |
-
<
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
<?php if($message != "") : ?>
|
156 |
-
<div id='message' class='updated fade below-h2' style='background-color: rgb(255, 251, 204);'>
|
157 |
-
<p><?php echo $message ?></p>
|
158 |
</div>
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
<tr class='form-field'>
|
180 |
-
<th scope='row' valign='top'> <label for='location_town'><?php _e('Location town', 'dbem') ?></label></th>
|
181 |
-
<td><input name='location_town' id='location-town' type='text' value='<?php echo htmlspecialchars($EM_Location->town, ENT_QUOTES); ?>' size='40' /><br />
|
182 |
-
<?php _e('The town where the location is located', 'dbem') ?>.</td>
|
183 |
-
|
184 |
-
</tr>
|
185 |
-
|
186 |
-
<tr style='display:none;'>
|
187 |
-
<td>Coordinates</td>
|
188 |
-
<td><input id='location-latitude' name='location_latitude' id='location_latitude' type='text' value='<?php echo $EM_Location->latitude ?>' size='15' />
|
189 |
-
<input id='location-longitude' name='location_longitude' id='location_longitude' type='text' value='<?php echo $EM_Location->longitude ?>' size='15' /></td>
|
190 |
-
</tr>
|
191 |
-
|
192 |
-
<?php if (get_option('dbem_gmap_is_active')) { ?>
|
193 |
-
<tr>
|
194 |
-
<th scope='row' valign='top'><label for='location_map'><?php _e('Location map', 'dbem') ?></label></th>
|
195 |
-
<td>
|
196 |
-
<div id='em-map-404' style='width: 450px; height: 350px; vertical-align:middle; text-align: center;'>
|
197 |
-
<p><em><?php _e ( 'Location not found', 'dbem' ); ?></em></p>
|
198 |
</div>
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
<div class="inside">
|
209 |
-
<div id="<?php echo user_can_richedit() ? 'postdivrich' : 'postdiv'; ?>" class="postarea">
|
210 |
-
<?php the_editor($EM_Location->description); ?>
|
211 |
</div>
|
212 |
-
<?php _e('A description of the Location. You may include any kind of info here.', 'dbem') ?>
|
213 |
</div>
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
<p class='submit'><input type='submit' class='button-primary' name='submit' value='<?php _e('Update location', 'dbem') ?>' /></p>
|
232 |
-
</
|
233 |
-
</
|
234 |
<?php
|
235 |
}
|
236 |
|
6 |
function em_admin_locations_page() {
|
7 |
//TODO EM_Location is globalized, use it fully here
|
8 |
global $EM_Location;
|
|
|
9 |
//Take actions
|
10 |
+
if( !empty($_REQUEST['action']) || !empty($_REQUEST['location_id']) ){
|
11 |
if( $_REQUEST['action'] == "edit" || $_REQUEST['action'] == "add" ) {
|
12 |
//edit/add location
|
13 |
em_admin_location();
|
138 |
|
139 |
function em_admin_location($message = "") {
|
140 |
global $EM_Location;
|
141 |
+
//check that user can access this page
|
142 |
+
if( is_object($EM_Location) && !$EM_Location->can_manage() ){
|
143 |
+
?>
|
144 |
+
<div class="wrap"><h2><?php _e('Unauthorized Access','dbem'); ?></h2><p><?php _e('You do not have the rights to manage this location.','dbem'); ?></p></div>
|
145 |
+
<?php
|
146 |
+
return false;
|
147 |
+
}
|
148 |
if( empty($EM_Location) || !is_object($EM_Location) ){
|
149 |
$title = __('Add location', 'dbem');
|
150 |
$EM_Location = new EM_Location();
|
152 |
$title = __('Edit location', 'dbem');
|
153 |
}
|
154 |
?>
|
155 |
+
<form enctype='multipart/form-data' name='editcat' id='locationForm' method='post' action='admin.php?page=events-manager-locations' class='validate'>
|
156 |
+
<input type='hidden' name='action' value='save' />
|
157 |
+
<input type='hidden' name='location_id' value='<?php echo $EM_Location->id ?>'/>
|
158 |
+
<div class='wrap'>
|
159 |
+
<div id='icon-edit' class='icon32'>
|
160 |
+
<br/>
|
|
|
|
|
|
|
161 |
</div>
|
162 |
+
<h2><?php echo $title ?></h2>
|
163 |
+
|
164 |
+
<?php if($message != "") : ?>
|
165 |
+
<div id='message' class='updated fade below-h2' style='background-color: rgb(255, 251, 204);'>
|
166 |
+
<p><?php echo $message ?></p>
|
167 |
+
</div>
|
168 |
+
<?php endif; ?>
|
169 |
+
<div id='ajax-response'></div>
|
170 |
+
|
171 |
+
<div id="poststuff" class="metabox-holder">
|
172 |
+
<div id="post-body">
|
173 |
+
<div id="post-body-content">
|
174 |
+
<div id="location_name" class="stuffbox">
|
175 |
+
<h3>
|
176 |
+
<?php _e ( 'Location Name', 'dbem' ); ?>
|
177 |
+
</h3>
|
178 |
+
<div class="inside">
|
179 |
+
<input name='location_name' id='location-name' type='text' value='<?php echo htmlspecialchars($EM_Location->name, ENT_QUOTES); ?>' size='40' />
|
180 |
+
<br />
|
181 |
+
<?php _e('The name of the location', 'dbem') ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
</div>
|
183 |
+
</div>
|
184 |
+
<div id="location_coordinates" class="stuffbox" style='display: none;'>
|
185 |
+
<h3>
|
186 |
+
<?php _e ( 'Coordinates', 'dbem' ); ?>
|
187 |
+
</h3>
|
188 |
+
<div class="inside">
|
189 |
+
<input id='location-latitude' name='location_latitude' type='text' value='<?php echo $EM_Event->latitude; ?>' size='15' />
|
190 |
+
-
|
191 |
+
<input id='location-longitude' name='location_longitude' type='text' value='<?php echo $EM_Event->longitude; ?>' size='15' />
|
|
|
|
|
|
|
192 |
</div>
|
|
|
193 |
</div>
|
194 |
+
<div id="location_info" class="stuffbox">
|
195 |
+
<h3>
|
196 |
+
<?php _e ( 'Location', 'dbem' ); ?>
|
197 |
+
</h3>
|
198 |
+
<div class="inside">
|
199 |
+
<table id="dbem-location-data">
|
200 |
+
<tr>
|
201 |
+
<td style="padding-right:20px">
|
202 |
+
<table>
|
203 |
+
<tr>
|
204 |
+
<th><?php _e ( 'Address:' )?> </th>
|
205 |
+
<td>
|
206 |
+
<input id="location-address" type="text" name="location_address" value="<?php echo htmlspecialchars($EM_Location->address, ENT_QUOTES); ; ?>" />
|
207 |
+
<p><?php _e ( 'The address of the location where the event takes place. Example: 21, Dominick Street', 'dbem' )?></p>
|
208 |
+
</td>
|
209 |
+
</tr>
|
210 |
+
<tr>
|
211 |
+
<th><?php _e ( 'Town:' )?> </th>
|
212 |
+
<td>
|
213 |
+
<input id="location-town" type="text" name="location_town" value="<?php echo htmlspecialchars($EM_Location->town, ENT_QUOTES); ?>" />
|
214 |
+
<p><?php _e ( 'The town where the location is located. If you\'re using the Google Map integration and want to avoid geotagging ambiguities include the country in the town field. Example: Verona, Italy.', 'dbem' )?></p>
|
215 |
+
</td>
|
216 |
+
</tr>
|
217 |
+
</table>
|
218 |
+
</td>
|
219 |
+
<?php if ( get_option ( 'dbem_gmap_is_active' ) ) : ?>
|
220 |
+
<td width="400">
|
221 |
+
<div id='em-map-404' style='width: 400px; vertical-align:middle; text-align: center;'>
|
222 |
+
<p><em><?php _e ( 'Location not found', 'dbem' ); ?></em></p>
|
223 |
+
</div>
|
224 |
+
<div id='em-map' style='width: 400px; height: 300px; display: none;'></div>
|
225 |
+
</td>
|
226 |
+
<?php endif; ?>
|
227 |
+
</tr>
|
228 |
+
</table>
|
229 |
+
</div>
|
230 |
+
</div>
|
231 |
+
|
232 |
+
<div id="location_description" class="postbox">
|
233 |
+
<h3>
|
234 |
+
<?php _e ( 'Details', 'dbem' ); ?>
|
235 |
+
</h3>
|
236 |
+
<div class="inside">
|
237 |
+
<div id="<?php echo user_can_richedit() ? 'postdivrich' : 'postdiv'; ?>" class="postarea">
|
238 |
+
<?php the_editor($EM_Location->description ); ?>
|
239 |
+
</div>
|
240 |
+
<br />
|
241 |
+
<?php _e ( 'Details about the location', 'dbem' )?>
|
242 |
+
</div>
|
243 |
+
</div>
|
244 |
+
|
245 |
+
<div id="location_description" class="stuffbox">
|
246 |
+
<h3>
|
247 |
+
<?php _e ( 'Location image', 'dbem' ); ?>
|
248 |
+
</h3>
|
249 |
+
<div class="inside" style="padding:10px;">
|
250 |
+
<?php if ($EM_Location->image_url != '') : ?>
|
251 |
+
<img src='<?php echo $EM_Location->image_url; ?>' alt='<?php echo $EM_Location->name ?>'/>
|
252 |
+
<?php else : ?>
|
253 |
+
<?php _e('No image uploaded for this location yet', 'debm') ?>
|
254 |
+
<?php endif; ?>
|
255 |
+
<br /><br />
|
256 |
+
<label for='location_image'><?php _e('Upload/change picture', 'dbem') ?></label> <input id='location-image' name='location_image' id='location_image' type='file' size='40' />
|
257 |
+
</div>
|
258 |
+
</div>
|
259 |
+
</div>
|
260 |
+
</div>
|
261 |
+
</div>
|
262 |
<p class='submit'><input type='submit' class='button-primary' name='submit' value='<?php _e('Update location', 'dbem') ?>' /></p>
|
263 |
+
</div>
|
264 |
+
</form>
|
265 |
<?php
|
266 |
}
|
267 |
|
admin/em-options.php
CHANGED
@@ -34,9 +34,10 @@ function em_admin_options_page() {
|
|
34 |
//TODO place all options into an array
|
35 |
$events_placeholders = '<a href="admin.php?page=events-manager-help#event-placeholders">'. __('Event Related Placeholders','dbem') .'</a>';
|
36 |
$locations_placeholders = '<a href="admin.php?page=events-manager-help#location-placeholders">'. __('Location Related Placeholders','dbem') .'</a>';
|
37 |
-
$
|
38 |
-
$
|
39 |
-
$
|
|
|
40 |
|
41 |
$save_button = '<tr><th> </th><td><p class="submit" style="margin:0px; padding:0px; text-align:right;"><input type="submit" id="dbem_options_submit" name="Submit" value="'. __( 'Save Changes' ) .' ('. __('All','dbem') .')" /></p></ts></td></tr>';
|
42 |
?>
|
@@ -91,12 +92,33 @@ function em_admin_options_page() {
|
|
91 |
em_options_radio_binary ( __( 'Use RSVP?' ), 'dbem_rsvp_enabled', __( 'Select yes to enable the RSVP feature','dbem' ) );
|
92 |
em_options_radio_binary ( __( 'Use categories?' ), 'dbem_categories_enabled', __( 'Select yes to enable the category features','dbem' ) );
|
93 |
em_options_radio_binary ( __( 'Use attributes?' ), 'dbem_attributes_enabled', __( 'Select yes to enable the attributes feature','dbem' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
echo $save_button;
|
95 |
?>
|
96 |
</table>
|
97 |
|
98 |
</div> <!-- . inside -->
|
99 |
-
</div> <!-- .postbox -->
|
100 |
|
101 |
<div class="postbox " >
|
102 |
<div class="handlediv" title="<?php __('Click to toggle'); ?>"><br /></div><h3 class='hndle'><span><?php _e ( 'Events page', 'dbem' ); ?> </span></h3>
|
@@ -162,9 +184,33 @@ function em_admin_options_page() {
|
|
162 |
<?php endforeach; ?>
|
163 |
</select>
|
164 |
<br/>
|
165 |
-
|
166 |
</td>
|
167 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
<?php
|
169 |
echo $save_button;
|
170 |
?>
|
@@ -265,12 +311,47 @@ function em_admin_options_page() {
|
|
265 |
<table class='form-table'>
|
266 |
<?php
|
267 |
em_options_select ( __( 'Default contact person', 'dbem' ), 'dbem_default_contact_person', em_get_wp_users (), __( 'Select the default contact person. This user will be employed whenever a contact person is not explicitly specified for an event', 'dbem' ) );
|
268 |
-
em_options_radio_binary ( __( '
|
269 |
-
em_options_textarea ( __( 'Contact person email format', 'dbem' ), 'dbem_contactperson_email_body', __( 'The format of the email which will be sent to the contact person.', 'dbem' ).$bookings_placeholder_tip );
|
270 |
-
em_options_textarea ( __( 'Booking email format', 'dbem' ), 'dbem_respondent_email_body', __( 'The format of the email which will be sent to respondent.', 'dbem' ).$bookings_placeholder_tip );
|
271 |
em_options_input_text ( __( 'Email events admin?', 'dbem' ), 'dbem_bookings_notify_admin', __( "If you would like every event booking confirmation email sent to an administrator write their email here (leave blank to not send an email).", 'dbem' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
echo $save_button;
|
273 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
</table>
|
275 |
</div> <!-- . inside -->
|
276 |
</div> <!-- .postbox -->
|
@@ -302,10 +383,50 @@ function em_admin_options_page() {
|
|
302 |
em_options_input_text ( __( 'Maximum width (px)', 'dbem' ), 'dbem_image_max_width', __( 'The maximum allowed width for images uploades', 'dbem' ) );
|
303 |
em_options_input_text ( __( 'Maximum height (px)', 'dbem' ), 'dbem_image_max_height', __( "The maximum allowed height for images uploaded, in pixels", 'dbem' ) );
|
304 |
em_options_input_text ( __( 'Maximum size (bytes)', 'dbem' ), 'dbem_image_max_size', __( "The maximum allowed size for images uploaded, in pixels", 'dbem' ) );
|
|
|
305 |
?>
|
306 |
</table>
|
307 |
</div> <!-- . inside -->
|
308 |
</div> <!-- .postbox -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
309 |
|
310 |
<p class="submit">
|
311 |
<input type="submit" id="dbem_options_submit" name="Submit" value="<?php _e ( 'Save Changes' )?>" />
|
34 |
//TODO place all options into an array
|
35 |
$events_placeholders = '<a href="admin.php?page=events-manager-help#event-placeholders">'. __('Event Related Placeholders','dbem') .'</a>';
|
36 |
$locations_placeholders = '<a href="admin.php?page=events-manager-help#location-placeholders">'. __('Location Related Placeholders','dbem') .'</a>';
|
37 |
+
$bookings_placeholders = '<a href="admin.php?page=events-manager-help#booking-placeholders">'. __('Booking Related Placeholders','dbem') .'</a>';
|
38 |
+
$events_placeholder_tip = " ". sprintf(__('This accepts %s and %s placeholders.','dbem'),$events_placeholders, $locations_placeholders);
|
39 |
+
$locations_placeholder_tip = " ". sprintf(__('This accepts %s placeholders.','dbem'), $locations_placeholders);
|
40 |
+
$bookings_placeholder_tip = " ". sprintf(__('This accepts %s, %s and %s placeholders.','dbem'), $bookings_placeholders, $events_placeholders, $locations_placeholders);
|
41 |
|
42 |
$save_button = '<tr><th> </th><td><p class="submit" style="margin:0px; padding:0px; text-align:right;"><input type="submit" id="dbem_options_submit" name="Submit" value="'. __( 'Save Changes' ) .' ('. __('All','dbem') .')" /></p></ts></td></tr>';
|
43 |
?>
|
92 |
em_options_radio_binary ( __( 'Use RSVP?' ), 'dbem_rsvp_enabled', __( 'Select yes to enable the RSVP feature','dbem' ) );
|
93 |
em_options_radio_binary ( __( 'Use categories?' ), 'dbem_categories_enabled', __( 'Select yes to enable the category features','dbem' ) );
|
94 |
em_options_radio_binary ( __( 'Use attributes?' ), 'dbem_attributes_enabled', __( 'Select yes to enable the attributes feature','dbem' ) );
|
95 |
+
|
96 |
+
/*default category*/
|
97 |
+
$category_options = array();
|
98 |
+
$category_options[0] = __('no default category','dbem');
|
99 |
+
$EM_Categories = EM_Categories::get();
|
100 |
+
foreach($EM_Categories as $EM_Category){
|
101 |
+
$category_options[$EM_Category->id] = $EM_Category->name;
|
102 |
+
}
|
103 |
+
em_options_select ( __( 'Default Category' ), 'dbem_default_category', $category_options, __( 'This option allows you to select the default category when adding an event.','dbem' )." ".__('(not applicable with event ownership on presently, coming soon!)','dbem') );
|
104 |
+
|
105 |
+
/*default location*/
|
106 |
+
$location_options = array();
|
107 |
+
$location_options[0] = __('no default location','dbem');
|
108 |
+
$EM_Locations = EM_Locations::get();
|
109 |
+
foreach($EM_Locations as $EM_Location){
|
110 |
+
$location_options[$EM_Location->id] = $EM_Location->name;
|
111 |
+
}
|
112 |
+
em_options_select ( __( 'Default Location' ), 'dbem_default_location', $location_options, __( 'This option allows you to select the default location when adding an event.','dbem' )." ".__('(not applicable with event ownership on presently, coming soon!)','dbem') );
|
113 |
+
|
114 |
+
em_options_textarea ( __( 'Custom Placeholders', 'dbem' ), 'dbem_placeholders_custom', sprintf(__( "You can add custom placeholders here, one per line in this format <code>#_ATT{key}</code>. They will not appear on event pages unless you insert them into another template below, but you may want to store extra information about an event for other uses. <a href='%s'>More information on placeholders.</a>", 'dbem' ), 'wp-events-plugin.com/documentation/the-em-templates-syntax/') );
|
115 |
+
|
116 |
echo $save_button;
|
117 |
?>
|
118 |
</table>
|
119 |
|
120 |
</div> <!-- . inside -->
|
121 |
+
</div> <!-- .postbox -->
|
122 |
|
123 |
<div class="postbox " >
|
124 |
<div class="handlediv" title="<?php __('Click to toggle'); ?>"><br /></div><h3 class='hndle'><span><?php _e ( 'Events page', 'dbem' ); ?> </span></h3>
|
184 |
<?php endforeach; ?>
|
185 |
</select>
|
186 |
<br/>
|
187 |
+
<em><?php _e('When Events Manager displays lists of events the default behaviour is ordering by start date in ascending order. To change this, modify the values above.','dbem'); ?></em>
|
188 |
</td>
|
189 |
</tr>
|
190 |
+
<tr valign="top" id='dbem_events_display_time_limit'>
|
191 |
+
<th scope="row"><?php _e('Event list range limit','dbem'); ?></th>
|
192 |
+
<td>
|
193 |
+
<select name="dbem_events_page_time_limit" >
|
194 |
+
<?php
|
195 |
+
$limit_options = apply_filters('em_settings_events_page_time_limit_ddm', array(
|
196 |
+
'0' => __('no limit','dbem'),
|
197 |
+
'1' => __('This month','dbem'),
|
198 |
+
'2' => __('Next two months','dbem'),
|
199 |
+
'3' => __('Next three months','dbem'),
|
200 |
+
'6' => __('Next six months','dbem'),
|
201 |
+
'12' => __('Next twelve months','dbem')
|
202 |
+
));
|
203 |
+
?>
|
204 |
+
<?php foreach( $limit_options as $key => $value) : ?>
|
205 |
+
<option value='<?php echo $key ?>' <?php echo ($key == get_option('dbem_events_page_time_limit')) ? "selected='selected'" : ''; ?>>
|
206 |
+
<?php echo $value; ?>
|
207 |
+
</option>
|
208 |
+
<?php endforeach; ?>
|
209 |
+
</select>
|
210 |
+
<br />
|
211 |
+
<em><?php _e('Only show events starting within a certain time limit on the events page. Default is no time limit is applied.','dbem'); ?></em>
|
212 |
+
</td>
|
213 |
+
</tr>
|
214 |
<?php
|
215 |
echo $save_button;
|
216 |
?>
|
311 |
<table class='form-table'>
|
312 |
<?php
|
313 |
em_options_select ( __( 'Default contact person', 'dbem' ), 'dbem_default_contact_person', em_get_wp_users (), __( 'Select the default contact person. This user will be employed whenever a contact person is not explicitly specified for an event', 'dbem' ) );
|
314 |
+
em_options_radio_binary ( __( 'Approval Required?', 'dbem' ), 'dbem_bookings_approval', __( 'Bookings will not be confirmed until the event administrator approves it.', 'dbem' ) );
|
|
|
|
|
315 |
em_options_input_text ( __( 'Email events admin?', 'dbem' ), 'dbem_bookings_notify_admin', __( "If you would like every event booking confirmation email sent to an administrator write their email here (leave blank to not send an email).", 'dbem' ) );
|
316 |
+
em_options_radio_binary ( __( 'Email contact person?', 'dbem' ), 'dbem_bookings_contact_email', __( 'Check this option if you want the event contact to receive an email when someone books places. An email will be sent when a booking is first made (regardless if confirmed or pending)', 'dbem' ) );
|
317 |
+
?>
|
318 |
+
<tr><td colspan='2'><h4><?php _e('Contact person booking confirmed','dbem') ?></h4></td></tr>
|
319 |
+
<tr><td colspan='2'><?php echo __('An email will be sent to the event contact when a booking is first made.','dbem').$bookings_placeholder_tip ?></td></tr>
|
320 |
+
<?php
|
321 |
+
em_options_input_text ( __( 'Contact person email subject', 'dbem' ), 'dbem_bookings_contact_email_subject', '' );
|
322 |
+
em_options_textarea ( __( 'Contact person email', 'dbem' ), 'dbem_bookings_contact_email_body', '' );
|
323 |
+
?>
|
324 |
+
<tr><td colspan='2'><h4><?php _e('Contact person booking cancelled','dbem') ?></h4></td></tr>
|
325 |
+
<tr><td colspan='2'><?php echo __('An email will be sent to the event contact if someone cancels their booking.','dbem').$bookings_placeholder_tip ?></td></tr>
|
326 |
+
<?php
|
327 |
+
em_options_input_text ( __( 'Contact person cancellation subject', 'dbem' ), 'dbem_contactperson_email_cancelled_subject', '' );
|
328 |
+
em_options_textarea ( __( 'Contact person cancellation email', 'dbem' ), 'dbem_contactperson_email_cancelled_body', '' );
|
329 |
+
?>
|
330 |
+
<tr><td colspan='2'><h4><?php _e('Confirmed booking email','dbem') ?></h4></td></tr>
|
331 |
+
<tr><td colspan='2'><?php echo __('This is sent when a person\'s booking is confirmed. This will be sent automatically if approvals are required and the booking is approved. If approvals are disabled, this is sent out when a user first submits their booking.','dbem').$bookings_placeholder_tip ?></td></tr>
|
332 |
+
<?php
|
333 |
+
em_options_input_text ( __( 'Booking confirmed email subject', 'dbem' ), 'dbem_bookings_email_confirmed_subject', '' );
|
334 |
+
em_options_textarea ( __( 'Booking confirmed email', 'dbem' ), 'dbem_bookings_email_confirmed_body', '' );
|
335 |
+
?>
|
336 |
+
<tr><td colspan='2'><h4><?php _e('Pending booking email','dbem') ?></h4></td></tr>
|
337 |
+
<tr><td colspan='2'><?php echo __( 'This will be sent to the person when they first submit their booking. Not relevant if bookings don\'t require approval.', 'dbem' ).$bookings_placeholder_tip ?></td></tr>
|
338 |
+
<?php
|
339 |
+
em_options_input_text ( __( 'Booking pending email subject', 'dbem' ), 'dbem_bookings_email_pending_subject', '');
|
340 |
+
em_options_textarea ( __( 'Booking pending email', 'dbem' ), 'dbem_bookings_email_pending_body','') ;
|
341 |
+
?>
|
342 |
+
<tr><td colspan='2'><h4><?php _e('Rejected booking email','dbem') ?></h4></td></tr>
|
343 |
+
<tr><td colspan='2'><?php echo __( 'This will be sent automatically when a booking is rejected. Not relevant if bookings don\'t require approval.', 'dbem' ).$bookings_placeholder_tip ?></td></tr>
|
344 |
+
<?php
|
345 |
+
em_options_input_text ( __( 'Booking rejected email subject', 'dbem' ), 'dbem_bookings_email_rejected_subject', __( "The subject of the email sent to the person making a booking that is awaiting administrator approval. Not relevant if bookings don't require approval.", 'dbem' ).$bookings_placeholder_tip );
|
346 |
+
em_options_textarea ( __( 'Booking rejected email', 'dbem' ), 'dbem_bookings_email_rejected_body', __( 'The body of the email which will be sent to the person if the booking is rejected. Not relevant if bookings don\'t require approval.', 'dbem' ).$bookings_placeholder_tip );
|
347 |
echo $save_button;
|
348 |
?>
|
349 |
+
<tr><td colspan='2'><h4><?php _e('Booking cancelled','dbem') ?></h4></td></tr>
|
350 |
+
<tr><td colspan='2'><?php echo __('This will be sent when a user cancels their booking.','dbem').$bookings_placeholder_tip ?></td></tr>
|
351 |
+
<?php
|
352 |
+
em_options_input_text ( __( 'Booking cancelled email subject', 'dbem' ), 'dbem_bookings_email_cancelled_subject', '' );
|
353 |
+
em_options_textarea ( __( 'Booking cancelled email', 'dbem' ), 'dbem_bookings_email_cancelled_body', '' );
|
354 |
+
?>
|
355 |
</table>
|
356 |
</div> <!-- . inside -->
|
357 |
</div> <!-- .postbox -->
|
383 |
em_options_input_text ( __( 'Maximum width (px)', 'dbem' ), 'dbem_image_max_width', __( 'The maximum allowed width for images uploades', 'dbem' ) );
|
384 |
em_options_input_text ( __( 'Maximum height (px)', 'dbem' ), 'dbem_image_max_height', __( "The maximum allowed height for images uploaded, in pixels", 'dbem' ) );
|
385 |
em_options_input_text ( __( 'Maximum size (bytes)', 'dbem' ), 'dbem_image_max_size', __( "The maximum allowed size for images uploaded, in pixels", 'dbem' ) );
|
386 |
+
echo $save_button;
|
387 |
?>
|
388 |
</table>
|
389 |
</div> <!-- . inside -->
|
390 |
</div> <!-- .postbox -->
|
391 |
+
|
392 |
+
<div class="postbox " >
|
393 |
+
<div class="handlediv" title="<?php __('Click to toggle'); ?>"><br /></div><h3 class='hndle'><span><?php _e ( 'Management Permission Options', 'dbem' ); ?> </span></h3>
|
394 |
+
<div class="inside">
|
395 |
+
<table class="form-table">
|
396 |
+
<tr><td colspan="2">
|
397 |
+
<strong><?php _e('Warning: Changing these values may result in exposing previously hidden information to all users.')?></strong><br />
|
398 |
+
<em><?php _e('Note that currently "users" are considered as wordpress contributor users upwards, as they can create and manage events (we\'re working on that). Wordpress administrators can control all events/locations/categories/etc. on Events Manager.','dbem'); ?></em>
|
399 |
+
</td></tr>
|
400 |
+
<tr><th colspan="2"><strong><?php _e('Event Permissions','dbem'); ?></strong></th></tr>
|
401 |
+
<?php
|
402 |
+
$location_privacy_options = array(
|
403 |
+
'0' => __('Every user can create and manage their own events. Users can\'t view or modify each others\' events and booking data','dbem'),
|
404 |
+
'1' => __('Every user can create/edit/delete any event on this site. (not recommended)','dbem')
|
405 |
+
);
|
406 |
+
em_options_radio ( 'dbem_permissions_events', $location_privacy_options );
|
407 |
+
?>
|
408 |
+
<tr><th colspan="2"><strong><?php _e('Location Permissions','dbem'); ?></strong></th></tr>
|
409 |
+
<?php
|
410 |
+
$location_privacy_options = array(
|
411 |
+
'0' => __('Every user can create and manage their own location.','dbem')." ".__('In future releases of Events Manager, sharing locations with more than one user will be possible in this option, as well as connecting different user defined locations to prevent duplicate listings.','dbem'),
|
412 |
+
'1' => __('Only event administrators can create and edit locations. User must choose from these available locations.','dbem'),
|
413 |
+
'2' => __('Everyone can create/edit/delete all locations on this site. (not recommended)','dbem')
|
414 |
+
);
|
415 |
+
em_options_radio ( 'dbem_permissions_locations', $location_privacy_options );
|
416 |
+
?>
|
417 |
+
<tr><th colspan="2"><strong><?php _e('Category Permissions','dbem'); ?></strong></th></tr>
|
418 |
+
<?php
|
419 |
+
$category_privacy_options = array(
|
420 |
+
'0' => __('Every user can create and manage their own category.','dbem'),
|
421 |
+
'1' => __('Only event administrators can create and edit categories. User must choose from these available categories.','dbem'),
|
422 |
+
'2' => __('Everyone can create/edit/delete all categories on the system. (not recommended)','dbem')
|
423 |
+
);
|
424 |
+
em_options_radio ( 'dbem_permissions_categories', $category_privacy_options );
|
425 |
+
?>
|
426 |
+
</table>
|
427 |
+
|
428 |
+
</div> <!-- . inside -->
|
429 |
+
</div> <!-- .postbox -->
|
430 |
|
431 |
<p class="submit">
|
432 |
<input type="submit" id="dbem_options_submit" name="Submit" value="<?php _e ( 'Save Changes' )?>" />
|
admin/em-people.php
CHANGED
@@ -1,24 +1,130 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
?>
|
11 |
<div class='wrap'>
|
12 |
<div id="icon-users" class="icon32"><br/></div>
|
13 |
<h2>People</h2>
|
14 |
-
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
</div>
|
16 |
<?php
|
17 |
}
|
18 |
|
19 |
function em_printable_booking_report() {
|
20 |
global $EM_Event;
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
?>
|
23 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
24 |
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
@@ -26,7 +132,7 @@ function em_printable_booking_report() {
|
|
26 |
<head>
|
27 |
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
28 |
<title>Bookings for <?php echo $EM_Event->name; ?></title>
|
29 |
-
|
30 |
</head>
|
31 |
<body id="printable">
|
32 |
<div id="container">
|
@@ -70,44 +176,7 @@ function em_printable_booking_report() {
|
|
70 |
die();
|
71 |
}
|
72 |
}
|
73 |
-
add_action('
|
74 |
-
|
75 |
-
function em_people_table() {
|
76 |
-
$EM_People = EM_People::get();
|
77 |
-
if (count($EM_People) < 1 ) {
|
78 |
-
_e("No people have responded to your events yet!", 'dbem');
|
79 |
-
} else {
|
80 |
-
?>
|
81 |
-
<p><?php _e('This table collects the data about the people who responded to your events', 'dbem') ?></p>
|
82 |
-
<table id='dbem-people-table' class='widefat post fixed'>
|
83 |
-
<thead>
|
84 |
-
<tr>
|
85 |
-
<th class='manage-column column-cb check-column' scope='col'> </th>
|
86 |
-
<th class='manage-column ' scope='col'>Name</th>
|
87 |
-
<th scope='col'>E-mail</th>
|
88 |
-
<th scope='col'>Phone number</th>
|
89 |
-
</tr>
|
90 |
-
</thead>
|
91 |
-
<tfoot>
|
92 |
-
<tr>
|
93 |
-
<th class='manage-column column-cb check-column' scope='col'> </th>
|
94 |
-
<th class='manage-column ' scope='col'>Name</th>
|
95 |
-
<th scope='col'>E-mail</th>
|
96 |
-
<th scope='col'>Phone number</th>
|
97 |
-
</tr>
|
98 |
-
</tfoot>
|
99 |
-
<?php foreach ($EM_People as $EM_Person): ?>
|
100 |
-
<tr>
|
101 |
-
<td> </td>
|
102 |
-
<td><?php echo $EM_Person->name ?></td>
|
103 |
-
<td><?php echo $EM_Person->email ?></td>
|
104 |
-
<td><?php echo $EM_Person->phone ?></td>
|
105 |
-
</tr>
|
106 |
-
<?php endforeach; ?>
|
107 |
-
</table>
|
108 |
-
<?php
|
109 |
-
}
|
110 |
-
}
|
111 |
|
112 |
/**
|
113 |
* Adds phone number to contact info of users, compatible with previous phone field method
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Check for flags to save personal data
|
4 |
+
*/
|
5 |
+
function em_person_actions(){
|
6 |
+
global $EM_Person;
|
7 |
+
if( !empty($_REQUEST['action']) && is_object($EM_Person) ){
|
8 |
+
if( $_REQUEST['action'] == 'edit_person' ){
|
9 |
+
$validation = $EM_Person->get_post();
|
10 |
+
if ( $validation ) { //EM_Event gets the event if submitted via POST and validates it (safer than to depend on JS)
|
11 |
+
//Save
|
12 |
+
if( $EM_Person->save() ) {
|
13 |
+
function em_person_save_notification(){
|
14 |
+
global $EM_Person;
|
15 |
+
?><div class="updated"><p><strong><?php echo $EM_Person->feedback_message; ?></strong></p></div><?php
|
16 |
+
}
|
17 |
+
}else{
|
18 |
+
function em_person_save_notification(){
|
19 |
+
global $EM_Person;
|
20 |
+
?><div class="error"><p><strong><?php echo $EM_Person->feedback_message; ?></strong></p></div><?php
|
21 |
+
}
|
22 |
+
}
|
23 |
+
}else{
|
24 |
+
//TODO make errors clearer when saving person
|
25 |
+
function em_person_save_notification(){
|
26 |
+
global $EM_Person;
|
27 |
+
?><div class="error"><p><strong><?php echo $EM_Person->feedback_message; ?></strong></p></div><?php
|
28 |
+
}
|
29 |
+
}
|
30 |
+
add_action ( 'admin_notices', 'em_person_save_notification' );
|
31 |
+
}
|
32 |
+
if( $_REQUEST['action'] == 'person_delete' ){
|
33 |
+
if( $EM_Person->delete() ){
|
34 |
+
//TODO delete person needs confirmation
|
35 |
+
wp_redirect( get_bloginfo('wpurl').'/wp-admin/admin.php?page=events-manager-bookings');
|
36 |
+
exit();
|
37 |
+
}else{
|
38 |
+
function em_person_delete_notification(){
|
39 |
+
global $EM_Person;
|
40 |
+
?><div class="error"><p><strong><?php echo $EM_Person->feedback_message; ?></strong></p></div><?php
|
41 |
+
}
|
42 |
+
}
|
43 |
+
add_action ( 'admin_notices', 'em_person_delete_notification' );
|
44 |
+
}
|
45 |
}
|
46 |
+
}
|
47 |
+
add_action('admin_init','em_person_actions');
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Generate an edit form for person details.
|
51 |
+
*/
|
52 |
+
function em_person_edit_form(){
|
53 |
+
global $EM_Person;
|
54 |
+
?>
|
55 |
+
<form action="" method="post" id="em-person-form">
|
56 |
+
<table>
|
57 |
+
<tr><td><strong><?php _e('Name','dbem'); ?></strong></td><td><input type="text" name="person_name" size="60" value="<?php echo $EM_Person->name; ?>" /></td></tr>
|
58 |
+
<tr><td><strong><?php _e('Phone','dbem'); ?></strong></td><td><input type="text" name="person_phone" size="60" value="<?php echo $EM_Person->phone; ?>" /></td></tr>
|
59 |
+
<tr><td><strong><?php _e('E-mail','dbem'); ?></strong></td><td><input type="text" name="person_email" size="60" value="<?php echo $EM_Person->email; ?>" /></td></tr>
|
60 |
+
</table>
|
61 |
+
<p class="submit">
|
62 |
+
<input type="submit" name="events_update" value="<?php _e ( 'Save' ); ?> »" />
|
63 |
+
</p>
|
64 |
+
<input type="hidden" name="action" value="person_edit" />
|
65 |
+
<input type="hidden" name="person_id" value="<?php echo $EM_Person->id; ?>" />
|
66 |
+
</form>
|
67 |
+
<?php
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Depreciated page... for now at least.
|
72 |
+
*/
|
73 |
+
function em_admin_people_page() {
|
74 |
?>
|
75 |
<div class='wrap'>
|
76 |
<div id="icon-users" class="icon32"><br/></div>
|
77 |
<h2>People</h2>
|
78 |
+
<?php
|
79 |
+
$EM_People = EM_People::get();
|
80 |
+
if (count($EM_People) < 1 ) {
|
81 |
+
_e("No people have responded to your events yet!", 'dbem');
|
82 |
+
} else {
|
83 |
+
?>
|
84 |
+
<p><?php _e('This table collects the data about the people who responded to your events', 'dbem') ?></p>
|
85 |
+
<table id='dbem-people-table' class='widefat post fixed'>
|
86 |
+
<thead>
|
87 |
+
<tr>
|
88 |
+
<th class='manage-column column-cb check-column' scope='col'> </th>
|
89 |
+
<th class='manage-column ' scope='col'>Name</th>
|
90 |
+
<th scope='col'>E-mail</th>
|
91 |
+
<th scope='col'>Phone number</th>
|
92 |
+
</tr>
|
93 |
+
</thead>
|
94 |
+
<tfoot>
|
95 |
+
<tr>
|
96 |
+
<th class='manage-column column-cb check-column' scope='col'> </th>
|
97 |
+
<th class='manage-column ' scope='col'>Name</th>
|
98 |
+
<th scope='col'>E-mail</th>
|
99 |
+
<th scope='col'>Phone number</th>
|
100 |
+
</tr>
|
101 |
+
</tfoot>
|
102 |
+
<?php foreach ($EM_People as $EM_Person): ?>
|
103 |
+
<tr>
|
104 |
+
<td> </td>
|
105 |
+
<td><?php echo $EM_Person->name ?></td>
|
106 |
+
<td><?php echo $EM_Person->email ?></td>
|
107 |
+
<td><?php echo $EM_Person->phone ?></td>
|
108 |
+
</tr>
|
109 |
+
<?php endforeach; ?>
|
110 |
+
</table>
|
111 |
+
<?php
|
112 |
+
}
|
113 |
+
?>
|
114 |
</div>
|
115 |
<?php
|
116 |
}
|
117 |
|
118 |
function em_printable_booking_report() {
|
119 |
global $EM_Event;
|
120 |
+
//check that user can access this page
|
121 |
+
if( isset($_GET['page']) && $_GET['page']=='events-manager-bookings' && isset($_GET['action']) && $_GET['action'] == 'bookings_report' && is_object($EM_Event)){
|
122 |
+
if( is_object($EM_Event) && !$EM_Event->can_manage() ){
|
123 |
+
?>
|
124 |
+
<div class="wrap"><h2><?php _e('Unauthorized Access','dbem'); ?></h2><p><?php _e('You do not have the rights to manage this event.','dbem'); ?></p></div>
|
125 |
+
<?php
|
126 |
+
return false;
|
127 |
+
}
|
128 |
?>
|
129 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
130 |
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
132 |
<head>
|
133 |
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
134 |
<title>Bookings for <?php echo $EM_Event->name; ?></title>
|
135 |
+
<link rel="stylesheet" href="<?php echo bloginfo('wpurl') ?>/wp-content/plugins/events-manager/includes/css/events_manager.css" type="text/css" media="screen" />
|
136 |
</head>
|
137 |
<body id="printable">
|
138 |
<div id="container">
|
176 |
die();
|
177 |
}
|
178 |
}
|
179 |
+
add_action('admin_init', 'em_printable_booking_report');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
|
181 |
/**
|
182 |
* Adds phone number to contact info of users, compatible with previous phone field method
|
classes/em-booking.php
CHANGED
@@ -6,20 +6,32 @@ class EM_Booking extends EM_Object{
|
|
6 |
var $person_id;
|
7 |
var $seats;
|
8 |
var $comment;
|
9 |
-
var $
|
10 |
-
|
11 |
var $fields = array(
|
12 |
'booking_id' => array('name'=>'id','type'=>'%d'),
|
13 |
'event_id' => array('name'=>'event_id','type'=>'%d'),
|
14 |
'person_id' => array('name'=>'person_id','type'=>'%d'),
|
15 |
'booking_seats' => array('name'=>'seats','type'=>'%d'),
|
16 |
'booking_comment' => array('name'=>'comment','type'=>'%s'),
|
17 |
-
'
|
18 |
);
|
|
|
|
|
19 |
var $person;
|
20 |
var $required_fields = array('booking_id', 'event_id', 'person_id', 'booking_seats');
|
21 |
var $feedback_message = "";
|
22 |
var $errors = array();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
/**
|
25 |
* Creates booking object and retreives booking data (default is a blank booking object). Accepts either array of booking data (from db) or a booking id.
|
@@ -34,17 +46,33 @@ class EM_Booking extends EM_Object{
|
|
34 |
$booking = $booking_data;
|
35 |
//Also create a person out of this...
|
36 |
$this->person = new EM_Person($booking_data);
|
37 |
-
|
|
|
|
|
|
|
38 |
//Retreiving from the database
|
39 |
global $wpdb;
|
40 |
$sql = "SELECT * FROM ". $wpdb->prefix . EM_BOOKINGS_TABLE ." WHERE booking_id ='$booking_data'";
|
41 |
$booking = $wpdb->get_row($sql, ARRAY_A);
|
42 |
//Get the person for this booking
|
43 |
$this->person = new EM_Person($booking['person_id']);
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
//Save into the object
|
46 |
$this->to_object($booking);
|
|
|
47 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
}
|
49 |
|
50 |
/**
|
@@ -54,36 +82,38 @@ class EM_Booking extends EM_Object{
|
|
54 |
function save(){
|
55 |
global $wpdb;
|
56 |
$table = $wpdb->prefix.EM_BOOKINGS_TABLE;
|
|
|
57 |
//First the person
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
$
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
}else{
|
72 |
-
$
|
73 |
-
$this->id = $wpdb->insert_id;
|
74 |
-
}
|
75 |
-
if( $result === false ){
|
76 |
$this->errors[] = __('There was a problem saving the booking.', 'dbem');
|
|
|
77 |
}
|
78 |
-
|
79 |
-
//Give feedback on result
|
80 |
-
if( count($this->errors) == 0 ){
|
81 |
-
//Success
|
82 |
-
$this->feedback_message = __('Your booking has been recorded','dbem');
|
83 |
-
return true;
|
84 |
-
}else{
|
85 |
-
return false;
|
86 |
-
}
|
87 |
return true;
|
88 |
}
|
89 |
|
@@ -112,6 +142,47 @@ class EM_Booking extends EM_Object{
|
|
112 |
}
|
113 |
}
|
114 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
/**
|
116 |
* I wonder what this does....
|
117 |
* @return boolean
|
@@ -119,15 +190,174 @@ class EM_Booking extends EM_Object{
|
|
119 |
function delete(){
|
120 |
global $wpdb;
|
121 |
$sql = $wpdb->prepare("DELETE FROM ". $wpdb->prefix.EM_BOOKINGS_TABLE . " WHERE booking_id=%d", $this->id);
|
122 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
}
|
124 |
|
125 |
/**
|
126 |
* Approve a booking.
|
|
|
127 |
*/
|
128 |
function approve(){
|
129 |
-
$this->
|
130 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
}
|
132 |
|
133 |
/**
|
6 |
var $person_id;
|
7 |
var $seats;
|
8 |
var $comment;
|
9 |
+
var $status = 0;
|
10 |
+
var $notes = array();
|
11 |
var $fields = array(
|
12 |
'booking_id' => array('name'=>'id','type'=>'%d'),
|
13 |
'event_id' => array('name'=>'event_id','type'=>'%d'),
|
14 |
'person_id' => array('name'=>'person_id','type'=>'%d'),
|
15 |
'booking_seats' => array('name'=>'seats','type'=>'%d'),
|
16 |
'booking_comment' => array('name'=>'comment','type'=>'%s'),
|
17 |
+
'booking_status' => array('name'=>'status','type'=>'%d')
|
18 |
);
|
19 |
+
//Other Vars
|
20 |
+
var $timestamp;
|
21 |
var $person;
|
22 |
var $required_fields = array('booking_id', 'event_id', 'person_id', 'booking_seats');
|
23 |
var $feedback_message = "";
|
24 |
var $errors = array();
|
25 |
+
/**
|
26 |
+
* If saved in this instance, you can see what previous approval status was.
|
27 |
+
* @var int
|
28 |
+
*/
|
29 |
+
var $previous_status;
|
30 |
+
/**
|
31 |
+
* The booking approval status number corresponds to a state in this array.
|
32 |
+
* @var unknown_type
|
33 |
+
*/
|
34 |
+
var $status_array = array();
|
35 |
|
36 |
/**
|
37 |
* Creates booking object and retreives booking data (default is a blank booking object). Accepts either array of booking data (from db) or a booking id.
|
46 |
$booking = $booking_data;
|
47 |
//Also create a person out of this...
|
48 |
$this->person = new EM_Person($booking_data);
|
49 |
+
if($booking['person_id'] != $this->person->id){
|
50 |
+
$this->person = new EM_Person($booking['booking_id']);
|
51 |
+
}
|
52 |
+
}elseif( is_numeric($booking_data) ){
|
53 |
//Retreiving from the database
|
54 |
global $wpdb;
|
55 |
$sql = "SELECT * FROM ". $wpdb->prefix . EM_BOOKINGS_TABLE ." WHERE booking_id ='$booking_data'";
|
56 |
$booking = $wpdb->get_row($sql, ARRAY_A);
|
57 |
//Get the person for this booking
|
58 |
$this->person = new EM_Person($booking['person_id']);
|
59 |
+
//Booking notes
|
60 |
+
$notes = $wpdb->get_results("SELECT * FROM ". $wpdb->prefix . EM_META_TABLE ." WHERE meta_key='booking-note' AND object_id ='$booking_data'", ARRAY_A);
|
61 |
+
foreach($notes as $note){
|
62 |
+
$this->notes[] = unserialize($note['meta_value']);
|
63 |
+
}
|
64 |
}
|
65 |
//Save into the object
|
66 |
$this->to_object($booking);
|
67 |
+
$this->timestamp = strtotime($booking['booking_date']);
|
68 |
}
|
69 |
+
//Do it here so things appear in the po file.
|
70 |
+
$this->status_array = array(
|
71 |
+
0 => __('Pending','dbem'),
|
72 |
+
1 => __('Approved','dbem'),
|
73 |
+
2 => __('Rejected','dbem'),
|
74 |
+
3 => __('Cacncelled','dbem')
|
75 |
+
);
|
76 |
}
|
77 |
|
78 |
/**
|
82 |
function save(){
|
83 |
global $wpdb;
|
84 |
$table = $wpdb->prefix.EM_BOOKINGS_TABLE;
|
85 |
+
do_action('em_booking_save_pre',$this);
|
86 |
//First the person
|
87 |
+
if($this->validate()){
|
88 |
+
//Does this person exist?
|
89 |
+
$person_result = $this->person->save();
|
90 |
+
if( $person_result === false ){
|
91 |
+
$this->errors = array_merge($this->errors, $this->person->errors);
|
92 |
+
return false;
|
93 |
+
}
|
94 |
+
$this->person_id = $this->person->id;
|
95 |
+
|
96 |
+
//Now we save the booking
|
97 |
+
$data = $this->to_array();
|
98 |
+
if($this->id != ''){
|
99 |
+
$where = array( 'booking_id' => $this->id );
|
100 |
+
$result = $wpdb->update($table, $data, $where, $this->get_types($data));
|
101 |
+
$this->feedback_message = __('Changes saved');
|
102 |
+
}else{
|
103 |
+
$result = $wpdb->insert($table, $data, $this->get_types($data));
|
104 |
+
$this->id = $wpdb->insert_id;
|
105 |
+
$this->feedback_message = __('Your booking has been recorded','dbem');
|
106 |
+
}
|
107 |
+
if( $result === false ){
|
108 |
+
$this->feedback_message = __('There was a problem saving the booking.', 'dbem');
|
109 |
+
$this->errors[] = __('There was a problem saving the booking.', 'dbem');
|
110 |
+
}
|
111 |
+
return apply_filters('em_booking_save', ( count($this->errors) == 0 ), $this);
|
112 |
}else{
|
113 |
+
$this->feedback_message = __('There was a problem saving the booking.', 'dbem');
|
|
|
|
|
|
|
114 |
$this->errors[] = __('There was a problem saving the booking.', 'dbem');
|
115 |
+
return apply_filters('em_booking_save', false, $this);
|
116 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
return true;
|
118 |
}
|
119 |
|
142 |
}
|
143 |
}
|
144 |
|
145 |
+
/**
|
146 |
+
* Get posted data and save it into the object (not db)
|
147 |
+
* @return boolean
|
148 |
+
*/
|
149 |
+
function get_post(){
|
150 |
+
//Currently, only editing allowed, so here we are.
|
151 |
+
$this->comment = (!empty($_REQUEST['booking_comment'])) ? $_REQUEST['booking_comment']:'';
|
152 |
+
$this->seats = (!empty($_REQUEST['booking_seats'])) ? $_REQUEST['booking_seats']:'';
|
153 |
+
return apply_filters('em_booking_get_post',$this->validate(),$this);
|
154 |
+
}
|
155 |
+
|
156 |
+
function validate(){
|
157 |
+
return (
|
158 |
+
(empty($this->event_id) || is_numeric($this->event_id)) &&
|
159 |
+
(empty($this->person_id) || is_numeric($this->person_id)) &&
|
160 |
+
is_numeric($this->seats)
|
161 |
+
);
|
162 |
+
}
|
163 |
+
|
164 |
+
/**
|
165 |
+
* Smart event locator, saves a database read if possible.
|
166 |
+
*/
|
167 |
+
function get_event(){
|
168 |
+
global $EM_Event;
|
169 |
+
if( is_object($this->event) && get_class($this->event)=='EM_Event' && $this->event->id == $this->event_id ){
|
170 |
+
return $this->event;
|
171 |
+
}elseif( is_object($EM_Event) && $EM_Event->id == $this->event_id ){
|
172 |
+
$this->event = $EM_Event;
|
173 |
+
}else{
|
174 |
+
$this->event = new EM_Event($this->event_id);
|
175 |
+
}
|
176 |
+
return $this->event;
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Returns a string representation of the booking's status
|
181 |
+
* @return string
|
182 |
+
*/
|
183 |
+
function get_status(){
|
184 |
+
return $this->status_array[$this->status];
|
185 |
+
}
|
186 |
/**
|
187 |
* I wonder what this does....
|
188 |
* @return boolean
|
190 |
function delete(){
|
191 |
global $wpdb;
|
192 |
$sql = $wpdb->prepare("DELETE FROM ". $wpdb->prefix.EM_BOOKINGS_TABLE . " WHERE booking_id=%d", $this->id);
|
193 |
+
$result = $wpdb->query( $sql );
|
194 |
+
if( $result !== false ){
|
195 |
+
$this->previous_status = $this->status;
|
196 |
+
$this->status == false;
|
197 |
+
$this->email();
|
198 |
+
}
|
199 |
+
return ( $result !== false );
|
200 |
+
}
|
201 |
+
|
202 |
+
function cancel(){
|
203 |
+
return $this->set_status(3);
|
204 |
}
|
205 |
|
206 |
/**
|
207 |
* Approve a booking.
|
208 |
+
* @return bool
|
209 |
*/
|
210 |
function approve(){
|
211 |
+
return $this->set_status(1);
|
212 |
+
}
|
213 |
+
/**
|
214 |
+
* Reject a booking and save
|
215 |
+
* @return bool
|
216 |
+
*/
|
217 |
+
function reject(){
|
218 |
+
return $this->set_status(2);
|
219 |
+
}
|
220 |
+
/**
|
221 |
+
* Unpprove a booking.
|
222 |
+
* @return bool
|
223 |
+
*/
|
224 |
+
function unapprove(){
|
225 |
+
return $this->set_status(0);
|
226 |
+
}
|
227 |
+
|
228 |
+
/**
|
229 |
+
* Change the status of the booking. This will save to the Database too.
|
230 |
+
* @param unknown_type $status
|
231 |
+
* @return string|string|string
|
232 |
+
*/
|
233 |
+
function set_status($status){
|
234 |
+
$this->previous_status = $this->status;
|
235 |
+
$this->status = $status;
|
236 |
+
$result = $this->save();
|
237 |
+
$action_string = strtolower($this->status_array[$status]);
|
238 |
+
if($result){
|
239 |
+
$this->feedback_message = sprintf(__('Booking %s.','dbem'), $action_string);
|
240 |
+
if( $this->email() ){
|
241 |
+
$this->feedback_message .= " ".__('Mail Sent.','dbem');
|
242 |
+
}elseif( $this->previous_status == 0 ){
|
243 |
+
//extra errors may be logged by email() in EM_Object
|
244 |
+
$this->feedback_message .= ' <span style="color:red">'.__('ERROR : Mail Not Sent.','dbem').'</span>';
|
245 |
+
return false;
|
246 |
+
}
|
247 |
+
return true;
|
248 |
+
}else{
|
249 |
+
//errors should be logged by save()
|
250 |
+
$this->feedback_message = sprintf(__('Booking could not be %s.','dbem'), $action_string);
|
251 |
+
return false;
|
252 |
+
}
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Add a booking note to this booking. returns wpdb result or false if use can't manage this event.
|
257 |
+
* @param string $note
|
258 |
+
* @return mixed
|
259 |
+
*/
|
260 |
+
function add_note( $note_text ){
|
261 |
+
global $wpdb;
|
262 |
+
if( $this->can_manage() ){
|
263 |
+
$note = array('author'=>get_current_user_id(),'note'=>$note_text,'timestamp'=>current_time('timestamp'));
|
264 |
+
$this->notes[] = $note;
|
265 |
+
$this->feedback_message = __('Booking note successfully added.','dbem');
|
266 |
+
return $wpdb->insert($wpdb->prefix.EM_META_TABLE, array('object_id'=>$this->id, 'meta_key'=>'booking-note', 'meta_value'=> serialize($note)),array('%d','%s','%s'));
|
267 |
+
}
|
268 |
+
return false;
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* @param EM_Booking $EM_Booking
|
273 |
+
* @param EM_Event $event
|
274 |
+
* @return boolean
|
275 |
+
*/
|
276 |
+
function email(){
|
277 |
+
global $EM_Mailer;
|
278 |
+
$EM_Event = $this->get_event(); //We NEED event details here.
|
279 |
+
//Make sure event matches booking, and that booking used to be approved.
|
280 |
+
if( $this->previous_status == 0 || $this->status == 3 ){
|
281 |
+
$contact_id = ( $EM_Event->contactperson_id != "") ? $EM_Event->contactperson_id : get_option('dbem_default_contact_person');
|
282 |
+
|
283 |
+
$contact_subject = get_option('dbem_bookings_contact_email_subject');
|
284 |
+
$contact_body = get_option('dbem_bookings_contact_email_body');
|
285 |
+
|
286 |
+
if( get_option('dbem_bookings_approval') == 0 || $this->status == 1 ){
|
287 |
+
$booker_subject = get_option('dbem_bookings_email_confirmed_subject');
|
288 |
+
$booker_body = get_option('dbem_bookings_email_confirmed_body');
|
289 |
+
}elseif( $this->status == 0 ){
|
290 |
+
$booker_subject = get_option('dbem_bookings_email_pending_subject');
|
291 |
+
$booker_body = get_option('dbem_bookings_email_pending_body');
|
292 |
+
}elseif( $this->status == 2 ){
|
293 |
+
$booker_subject = get_option('dbem_bookings_email_rejected_subject');
|
294 |
+
$booker_body = get_option('dbem_bookings_email_rejected_body');
|
295 |
+
}elseif( $this->status == 3 ){
|
296 |
+
$booker_subject = get_option('dbem_bookings_email_cancelled_subject');
|
297 |
+
$booker_body = get_option('dbem_bookings_email_cancelled_body');
|
298 |
+
$contact_subject = get_option('dbem_contactperson_email_cancelled_subject');
|
299 |
+
$contact_body = get_option('dbem_contactperson_email_cancelled_body');
|
300 |
+
}
|
301 |
+
|
302 |
+
// email specific placeholders
|
303 |
+
$placeholders = array(
|
304 |
+
'#_RESPNAME' => '#_BOOKINGNAME',//Depreciated
|
305 |
+
'#_RESPEMAIL' => '#_BOOKINGEMAIL',//Depreciated
|
306 |
+
'#_RESPPHONE' => '#_BOOKINGPHONE',//Depreciated
|
307 |
+
'#_COMMENT' => '#_BOOKINGCOMMENT',//Depreciated
|
308 |
+
'#_RESERVEDSPACES' => '#_BOOKEDSPACES',//Depreciated
|
309 |
+
'#_BOOKINGNAME' => $this->person->name,
|
310 |
+
'#_BOOKINGEMAIL' => $this->person->email,
|
311 |
+
'#_BOOKINGPHONE' => $this->person->phone,
|
312 |
+
'#_BOOKINGSPACES' => $this->seats,
|
313 |
+
'#_BOOKINGCOMMENT' => $this->comment,
|
314 |
+
);
|
315 |
+
foreach($placeholders as $key => $value) {
|
316 |
+
$contact_subject = str_replace($key, $value, $contact_subject);
|
317 |
+
$contact_body = str_replace($key, $value, $contact_body);
|
318 |
+
$booker_subject = str_replace($key, $value, $booker_subject);
|
319 |
+
$booker_body = str_replace($key, $value, $booker_body);
|
320 |
+
}
|
321 |
+
|
322 |
+
$booker_subject = $EM_Event->output($booker_subject, 'email');
|
323 |
+
$booker_body = $EM_Event->output($booker_body, 'email');
|
324 |
+
|
325 |
+
//Send to the person booking
|
326 |
+
if( !$this->email_send( $booker_subject,$booker_body, $this->person->email) ){
|
327 |
+
return false;
|
328 |
+
}
|
329 |
+
|
330 |
+
//Send admin emails
|
331 |
+
if( (get_option('dbem_bookings_approval') == 0 || $this->status == 0) && (get_option('dbem_bookings_contact_email') == 1 || get_option('dbem_bookings_notify_admin') != '') ){
|
332 |
+
//Only gets sent if this is a pending booking, unless approvals are disabled.
|
333 |
+
$contact_subject = $EM_Event->output($contact_subject, 'email');
|
334 |
+
$contact_body = $EM_Event->output($contact_body, 'email');
|
335 |
+
|
336 |
+
if( get_option('dbem_bookings_contact_email') == 1 ){
|
337 |
+
if( !$this->email_send( $contact_subject, $contact_body, $EM_Event->contact->user_email) && current_user_can('activate_plugins')){
|
338 |
+
$this->errors[] = __('Confirmation email could not be sent to contact person. Registrant should have gotten their email (only admin see this warning).','dbem');
|
339 |
+
return false;
|
340 |
+
}
|
341 |
+
}
|
342 |
+
|
343 |
+
if( get_option('dbem_bookings_notify_admin') != '' && preg_match('/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$/', get_option('dbem_bookings_notify_admin')) ){
|
344 |
+
if( !$this->email_send( $contact_subject, $contact_body, get_option('dbem_bookings_notify_admin')) ){
|
345 |
+
$this->errors[] = __('Confirmation email could not be sent to admin. Registrant should have gotten their email (only admin see this warning).','dbem');
|
346 |
+
return false;
|
347 |
+
}
|
348 |
+
}
|
349 |
+
}
|
350 |
+
return true;
|
351 |
+
}
|
352 |
+
return false;
|
353 |
+
//TODO need error checking for booking mail send
|
354 |
+
}
|
355 |
+
|
356 |
+
/**
|
357 |
+
* Can the user manage this event?
|
358 |
+
*/
|
359 |
+
function can_manage(){
|
360 |
+
return ( get_option('dbem_permissions_events') || $this->get_event()->author == get_current_user_id() || em_verify_admin() );
|
361 |
}
|
362 |
|
363 |
/**
|
classes/em-bookings.php
CHANGED
@@ -5,7 +5,6 @@
|
|
5 |
*
|
6 |
*/
|
7 |
class EM_Bookings extends EM_Object{
|
8 |
-
//TODO Bookings needs redoing
|
9 |
|
10 |
/**
|
11 |
* Array of EM_Booking objects for a specific event
|
@@ -31,8 +30,7 @@ class EM_Bookings extends EM_Object{
|
|
31 |
* @param EM_Event $event
|
32 |
* @return null
|
33 |
*/
|
34 |
-
function EM_Bookings( $event ){
|
35 |
-
//TODO maybe not load bookings here (for speed), and have an init() function called by all functions?
|
36 |
if( is_object($event) && get_class($event) == "EM_Event" ){ //Creates a blank bookings object if needed
|
37 |
global $wpdb;
|
38 |
$this->event_id = $event->id;
|
@@ -51,7 +49,7 @@ class EM_Bookings extends EM_Object{
|
|
51 |
* @return boolean
|
52 |
*/
|
53 |
function add( $EM_Booking ){
|
54 |
-
global $wpdb,$EM_Mailer;
|
55 |
if ( $this->get_available_seats() >= $EM_Booking->seats ) {
|
56 |
$EM_Booking->event_id = $this->event_id;
|
57 |
// checking whether the booker has already booked places
|
@@ -69,19 +67,23 @@ class EM_Bookings extends EM_Object{
|
|
69 |
if($booking->id == $EM_Booking->id){ unset($this->bookings[$key]); }
|
70 |
}
|
71 |
$this->bookings[] = $EM_Booking;
|
72 |
-
$email = $
|
73 |
}
|
74 |
} else {
|
75 |
//New booking, so let's save the booking
|
76 |
$result = $EM_Booking->save();
|
77 |
if($result){
|
78 |
$this->bookings[] = $EM_Booking;
|
79 |
-
$email = $
|
80 |
}
|
81 |
}
|
82 |
if($result){
|
83 |
//Success
|
84 |
-
|
|
|
|
|
|
|
|
|
85 |
if(!$email){
|
86 |
$this->feedback_message .= ' '.__('However, there were some problems whilst sending confirmation emails to you and/or the event contact person. You may want to contact them directly and letting them know of this error.', 'dbem');
|
87 |
if( current_user_can('activate_plugins') ){
|
@@ -113,30 +115,173 @@ class EM_Bookings extends EM_Object{
|
|
113 |
return ($result);
|
114 |
}
|
115 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
116 |
/**
|
117 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
* @return int
|
119 |
*/
|
120 |
function get_available_seats(){
|
121 |
$booked_seats = 0;
|
122 |
-
|
123 |
-
$
|
|
|
|
|
124 |
}
|
125 |
-
return $this->seats - $booked_seats;
|
126 |
}
|
127 |
|
128 |
/**
|
129 |
-
* Returns number of booked seats for this event
|
130 |
* @return int
|
131 |
*/
|
132 |
function get_booked_seats(){
|
133 |
$booked_seats = 0;
|
134 |
foreach ( $this->bookings as $booking ){
|
135 |
-
$
|
|
|
|
|
136 |
}
|
137 |
return $booked_seats;
|
138 |
}
|
139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
/**
|
141 |
* Checks if a person with similar details has booked for this before
|
142 |
* @param $person_id
|
@@ -157,71 +302,178 @@ class EM_Bookings extends EM_Object{
|
|
157 |
return false;
|
158 |
}
|
159 |
|
|
|
160 |
/**
|
161 |
-
*
|
162 |
-
* @return boolean
|
163 |
*/
|
164 |
-
function
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
$booker_body = get_option('dbem_respondent_email_body');
|
171 |
-
|
172 |
-
// email specific placeholders
|
173 |
-
// TODO make placeholders for RSVP consistent, we shouldn't need some of these as they're on the main events output function
|
174 |
-
$placeholders = array(
|
175 |
-
'#_RESPNAME' => '#_BOOKINGNAME',//Depreciated
|
176 |
-
'#_RESPEMAIL' => '#_BOOKINGEMAIL',//Depreciated
|
177 |
-
'#_RESPPHONE' => '#_BOOKINGPHONE',//Depreciated
|
178 |
-
'#_COMMENT' => '#_BOOKINGCOMMENT',//Depreciated
|
179 |
-
'#_RESERVEDSPACES' => '#_BOOKEDSPACES',//Depreciated
|
180 |
-
'#_BOOKINGNAME' => $EM_Booking->person->name,
|
181 |
-
'#_BOOKINGEMAIL' => $EM_Booking->person->email,
|
182 |
-
'#_BOOKINGPHONE' => $EM_Booking->person->phone,
|
183 |
-
'#_BOOKINGSPACES' => $EM_Booking->seats,
|
184 |
-
'#_BOOKINGCOMMENT' => $EM_Booking->comment,
|
185 |
-
);
|
186 |
-
foreach($placeholders as $key => $value) {
|
187 |
-
$contact_body= str_replace($key, $value, $contact_body);
|
188 |
-
$booker_body= str_replace($key, $value, $booker_body);
|
189 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
$
|
|
|
|
|
|
|
|
|
|
|
198 |
}
|
199 |
-
return
|
200 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
$this->errors[] = $error;
|
206 |
-
}
|
207 |
-
$this->errors[] = __('Confirmation email could not be sent to contact person. Registrant should have gotten their email (only admin see this warning).','dbem');
|
208 |
-
return false;
|
209 |
-
}
|
210 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
}
|
|
|
220 |
}
|
221 |
|
222 |
-
//
|
223 |
-
|
|
|
224 |
}
|
225 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
}
|
227 |
?>
|
5 |
*
|
6 |
*/
|
7 |
class EM_Bookings extends EM_Object{
|
|
|
8 |
|
9 |
/**
|
10 |
* Array of EM_Booking objects for a specific event
|
30 |
* @param EM_Event $event
|
31 |
* @return null
|
32 |
*/
|
33 |
+
function EM_Bookings( $event = false ){
|
|
|
34 |
if( is_object($event) && get_class($event) == "EM_Event" ){ //Creates a blank bookings object if needed
|
35 |
global $wpdb;
|
36 |
$this->event_id = $event->id;
|
49 |
* @return boolean
|
50 |
*/
|
51 |
function add( $EM_Booking ){
|
52 |
+
global $wpdb,$EM_Mailer;
|
53 |
if ( $this->get_available_seats() >= $EM_Booking->seats ) {
|
54 |
$EM_Booking->event_id = $this->event_id;
|
55 |
// checking whether the booker has already booked places
|
67 |
if($booking->id == $EM_Booking->id){ unset($this->bookings[$key]); }
|
68 |
}
|
69 |
$this->bookings[] = $EM_Booking;
|
70 |
+
$email = $EM_Booking->email();
|
71 |
}
|
72 |
} else {
|
73 |
//New booking, so let's save the booking
|
74 |
$result = $EM_Booking->save();
|
75 |
if($result){
|
76 |
$this->bookings[] = $EM_Booking;
|
77 |
+
$email = $EM_Booking->email();
|
78 |
}
|
79 |
}
|
80 |
if($result){
|
81 |
//Success
|
82 |
+
if( get_option('dbem_bookings_approval') == 1 ){
|
83 |
+
$this->feedback_message = __('Booking successful, pending confirmation (you will also receive an email once confirmed).', 'dbem');
|
84 |
+
}else{
|
85 |
+
$this->feedback_message = __('Booking successful.', 'dbem');
|
86 |
+
}
|
87 |
if(!$email){
|
88 |
$this->feedback_message .= ' '.__('However, there were some problems whilst sending confirmation emails to you and/or the event contact person. You may want to contact them directly and letting them know of this error.', 'dbem');
|
89 |
if( current_user_can('activate_plugins') ){
|
115 |
return ($result);
|
116 |
}
|
117 |
|
118 |
+
|
119 |
+
/**
|
120 |
+
* Will approve all supplied booking ids, which must be in the form of a numeric array or a single number.
|
121 |
+
* @param array|int $booking_ids
|
122 |
+
* @return boolean
|
123 |
+
*/
|
124 |
+
function approve( $booking_ids ){
|
125 |
+
$this->set_status(1, $booking_ids);
|
126 |
+
return false;
|
127 |
+
}
|
128 |
+
|
129 |
/**
|
130 |
+
* Will reject all supplied booking ids, which must be in the form of a numeric array or a single number.
|
131 |
+
* @param array|int $booking_ids
|
132 |
+
* @return boolean
|
133 |
+
*/
|
134 |
+
function reject( $booking_ids ){
|
135 |
+
return $this->set_status(2, $booking_ids);
|
136 |
+
}
|
137 |
+
|
138 |
+
/**
|
139 |
+
* Will unapprove all supplied booking ids, which must be in the form of a numeric array or a single number.
|
140 |
+
* @param array|int $booking_ids
|
141 |
+
* @return boolean
|
142 |
+
*/
|
143 |
+
function unapprove( $booking_ids ){
|
144 |
+
return $this->set_status(0, $booking_ids);
|
145 |
+
}
|
146 |
+
|
147 |
+
/**
|
148 |
+
* @param int $status
|
149 |
+
* @param array|int $booking_ids
|
150 |
+
* @return bool
|
151 |
+
*/
|
152 |
+
function set_status($status, $booking_ids){
|
153 |
+
//FIXME there is a vulnerability where any user can approve/reject bookings if they know the ID
|
154 |
+
if( EM_Object::array_is_numeric($booking_ids) ){
|
155 |
+
//Get all the bookings
|
156 |
+
$results = array();
|
157 |
+
$mails = array();
|
158 |
+
foreach( $booking_ids as $booking_id ){
|
159 |
+
$EM_Booking = new EM_Booking($booking_id);
|
160 |
+
$results[] = $EM_Booking->set_status($status);
|
161 |
+
}
|
162 |
+
if( !in_array('false',$results) ){
|
163 |
+
$this->feedback_message = __('Bookings %s. Mails Sent.', 'dbem');
|
164 |
+
return true;
|
165 |
+
}else{
|
166 |
+
//TODO Better error handling needed if some bookings fail approval/failure
|
167 |
+
$this->feedback_message = __('An error occurred.', 'dbem');
|
168 |
+
return false;
|
169 |
+
}
|
170 |
+
}elseif( is_numeric($booking_ids) || is_object($booking_ids) ){
|
171 |
+
$EM_Booking = ( is_object($booking_ids) && get_class($booking_ids) == 'EM_Booking') ? $booking_ids : new EM_Booking($booking_ids);
|
172 |
+
$result = $EM_Booking->set_status($status);
|
173 |
+
$this->feedback_message = $EM_Booking->feedback_message;
|
174 |
+
return $result;
|
175 |
+
}
|
176 |
+
return false;
|
177 |
+
}
|
178 |
+
|
179 |
+
/**
|
180 |
+
* Returns number of available seats for this event. If approval of bookings is on, will include pending bookings depending on em option.
|
181 |
* @return int
|
182 |
*/
|
183 |
function get_available_seats(){
|
184 |
$booked_seats = 0;
|
185 |
+
if( get_option('dbem_bookings_approval_reserved') == 1 ){
|
186 |
+
return $this->seats - $this->get_booked_seats() - $this->get_pending_seats();
|
187 |
+
}else{
|
188 |
+
return $this->seats - $this->get_booked_seats();
|
189 |
}
|
|
|
190 |
}
|
191 |
|
192 |
/**
|
193 |
+
* Returns number of booked seats for this event. If approval of bookings is on, will return number of booked confirmed seats.
|
194 |
* @return int
|
195 |
*/
|
196 |
function get_booked_seats(){
|
197 |
$booked_seats = 0;
|
198 |
foreach ( $this->bookings as $booking ){
|
199 |
+
if( $booking->status != 3 && (get_option('dbem_bookings_approval') == 0 || $booking->status == 1) ){
|
200 |
+
$booked_seats += $booking->seats;
|
201 |
+
}
|
202 |
}
|
203 |
return $booked_seats;
|
204 |
}
|
205 |
|
206 |
+
/**
|
207 |
+
* Gets number of pending seats awaiting approval. Will return 0 if booking approval is not enabled.
|
208 |
+
* @return int
|
209 |
+
*/
|
210 |
+
function get_pending_seats(){
|
211 |
+
if( get_option('dbem_bookings_approval') == 0 ){
|
212 |
+
return 0;
|
213 |
+
}
|
214 |
+
$pending = 0;
|
215 |
+
foreach ( $this->bookings as $booking ){
|
216 |
+
if($booking->status == 0){
|
217 |
+
$pending += $booking->seats;
|
218 |
+
}
|
219 |
+
}
|
220 |
+
return $pending;
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* Gets number of bookings (not seats). If booking approval is enabled, only the number of approved bookings will be shown.
|
225 |
+
* @return array EM_Booking
|
226 |
+
*/
|
227 |
+
function get_bookings(){
|
228 |
+
$confirmed = array();
|
229 |
+
foreach ( $this->bookings as $booking ){
|
230 |
+
if( $booking->status == 1 || (get_option('dbem_bookings_approval') == 0 && $booking->status != 3) ){
|
231 |
+
$confirmed[] = $booking;
|
232 |
+
}
|
233 |
+
}
|
234 |
+
return $confirmed;
|
235 |
+
}
|
236 |
+
|
237 |
+
/**
|
238 |
+
* Get pending bookings. If booking approval is disabled, will return no bookings.
|
239 |
+
* @return array EM_Booking
|
240 |
+
*/
|
241 |
+
function get_pending_bookings(){
|
242 |
+
if( get_option('dbem_bookings_approval') == 0 ){
|
243 |
+
return array();
|
244 |
+
}
|
245 |
+
$pending = array();
|
246 |
+
foreach ( $this->bookings as $booking ){
|
247 |
+
if($booking->status == 0){
|
248 |
+
$pending[] = $booking;
|
249 |
+
}
|
250 |
+
}
|
251 |
+
return $pending;
|
252 |
+
}
|
253 |
+
|
254 |
+
/**
|
255 |
+
* Get rejected bookings. If booking approval is disabled, will return no bookings.
|
256 |
+
* @return array EM_Booking
|
257 |
+
*/
|
258 |
+
function get_rejected_bookings(){
|
259 |
+
if( get_option('dbem_bookings_approval') == 0 ){
|
260 |
+
return array();
|
261 |
+
}
|
262 |
+
$pending = array();
|
263 |
+
foreach ( $this->bookings as $booking ){
|
264 |
+
if($booking->status == 2){
|
265 |
+
$pending[] = $booking;
|
266 |
+
}
|
267 |
+
}
|
268 |
+
return $pending;
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* Get cancelled bookings.
|
273 |
+
* @return array EM_Booking
|
274 |
+
*/
|
275 |
+
function get_cancelled_bookings(){
|
276 |
+
$pending = array();
|
277 |
+
foreach ( $this->bookings as $booking ){
|
278 |
+
if($booking->status == 3){
|
279 |
+
$pending[] = $booking;
|
280 |
+
}
|
281 |
+
}
|
282 |
+
return $pending;
|
283 |
+
}
|
284 |
+
|
285 |
/**
|
286 |
* Checks if a person with similar details has booked for this before
|
287 |
* @param $person_id
|
302 |
return false;
|
303 |
}
|
304 |
|
305 |
+
|
306 |
/**
|
307 |
+
* Get all pending bookings for this event
|
|
|
308 |
*/
|
309 |
+
function get_pending(){
|
310 |
+
$pending = array();
|
311 |
+
foreach($this->bookings as $booking){
|
312 |
+
if($booking->status == 0){
|
313 |
+
$pending[] = $booking;
|
314 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
}
|
316 |
+
return $pending;
|
317 |
+
}
|
318 |
+
|
319 |
+
/**
|
320 |
+
* Gets the pending number of bookings as a raw associative array.
|
321 |
+
* @return array
|
322 |
+
*/
|
323 |
+
function get( $args = array() ){
|
324 |
+
global $wpdb,$current_user;
|
325 |
+
$bookings_table = $wpdb->prefix . EM_BOOKINGS_TABLE;
|
326 |
+
$events_table = $wpdb->prefix . EM_EVENTS_TABLE;
|
327 |
+
$people_table = $wpdb->prefix . EM_PEOPLE_TABLE;
|
328 |
+
$locations_table = $wpdb->prefix . EM_LOCATIONS_TABLE;
|
329 |
|
330 |
+
//Quick version, we can accept an array of IDs, which is easy to retrieve
|
331 |
+
if( self::array_is_numeric($args) ){ //Array of numbers, assume they are event IDs to retreive
|
332 |
+
//We can just get all the events here and return them
|
333 |
+
$sql = "
|
334 |
+
SELECT * FROM $bookings_table b
|
335 |
+
LEFT JOIN $events_table e ON e.event_id=b.event_id
|
336 |
+
LEFT JOIN $people_table p ON p.person_id=b.person_id
|
337 |
+
WHERE booking_id".implode(" OR booking_id=", $args);
|
338 |
+
$results = $wpdb->get_results(apply_filters('em_bookings_get_sql',$sql),ARRAY_A);
|
339 |
+
$bookings = array();
|
340 |
+
foreach($results as $result){
|
341 |
+
$bookings[$result['event_id']] = new EM_Event($result);
|
342 |
}
|
343 |
+
return $bookings; //We return all the events matched as an EM_Event array.
|
344 |
}
|
345 |
+
|
346 |
+
//We assume it's either an empty array or array of search arguments to merge with defaults
|
347 |
+
$args = self::get_default_search($args);
|
348 |
+
$limit = ( $args['limit'] && is_numeric($args['limit'])) ? "LIMIT {$args['limit']}" : '';
|
349 |
+
$offset = ( $limit != "" && is_numeric($args['offset']) ) ? "OFFSET {$args['offset']}" : '';
|
350 |
+
|
351 |
+
//Get the default conditions
|
352 |
+
$conditions = self::build_sql_conditions($args);
|
353 |
+
//Put it all together
|
354 |
+
$where = ( count($conditions) > 0 ) ? " WHERE " . implode ( " AND ", $conditions ):'';
|
355 |
+
|
356 |
+
//Get ordering instructions
|
357 |
+
$EM_Booking = new EM_Booking();
|
358 |
+
$accepted_fields = $EM_Booking->get_fields(true);
|
359 |
+
$orderby = self::build_sql_orderby($args, $accepted_fields);
|
360 |
+
//Now, build orderby sql
|
361 |
+
$orderby_sql = ( count($orderby) > 0 ) ? 'ORDER BY '. implode(', ', $orderby) : '';
|
362 |
+
|
363 |
+
//Create the SQL statement and execute
|
364 |
+
$sql = "
|
365 |
+
SELECT * FROM $bookings_table
|
366 |
+
LEFT JOIN $events_table ON {$events_table}.event_id={$bookings_table}.event_id
|
367 |
+
LEFT JOIN $people_table ON {$people_table}.person_id={$bookings_table}.person_id
|
368 |
+
LEFT JOIN $locations_table ON {$locations_table}.location_id={$events_table}.location_id
|
369 |
+
$where
|
370 |
+
$orderby_sql
|
371 |
+
$limit $offset
|
372 |
+
";
|
373 |
+
|
374 |
+
$results = $wpdb->get_results( apply_filters('em_events_get_sql',$sql, $args), ARRAY_A);
|
375 |
|
376 |
+
//If we want results directly in an array, why not have a shortcut here?
|
377 |
+
if( $args['array'] == true ){
|
378 |
+
return $results;
|
|
|
|
|
|
|
|
|
|
|
379 |
}
|
380 |
+
|
381 |
+
//Make returned results EM_Booking objects
|
382 |
+
$results = (is_array($results)) ? $results:array();
|
383 |
+
$bookings = array();
|
384 |
+
foreach ( $results as $booking ){
|
385 |
+
$bookings[] = new EM_Booking($booking);
|
386 |
+
}
|
387 |
+
|
388 |
+
return apply_filters('em_bookings_get', $bookings);
|
389 |
+
}
|
390 |
+
|
391 |
|
392 |
+
//List of patients in the patient database, that a user can choose and go on to edit any previous treatment data, or add a new admission.
|
393 |
+
function export_csv() {
|
394 |
+
global $EM_Event;
|
395 |
+
if($EM_Event->id != $this->event_id ){
|
396 |
+
$event = new EM_Event($this->event_id);
|
397 |
+
$event_name = $event->name;
|
398 |
+
}else{
|
399 |
+
$event_name = $EM_Event->name;
|
400 |
+
}
|
401 |
+
// The name of the file on the user's pc
|
402 |
+
$file_name = sanitize_title($event_name). "-bookings.csv";
|
403 |
+
|
404 |
+
header("Content-Type: application/octet-stream");
|
405 |
+
header("Content-Disposition: Attachment; filename=$file_name");
|
406 |
+
|
407 |
+
//Headers
|
408 |
+
$labels = array(
|
409 |
+
'ID',
|
410 |
+
'Name',
|
411 |
+
'Email',
|
412 |
+
'Phone',
|
413 |
+
'Date',
|
414 |
+
'Status',
|
415 |
+
'Spaces',
|
416 |
+
'Comment'
|
417 |
+
);
|
418 |
+
$file = sprintf(__('Booking details for "%s" as of %s','dbem'),$event_name, date_i18n('D d M Y h:i', current_time('timestamp'))) . "\n";
|
419 |
+
$file = '"'. implode('","', $labels). '"' . "\n";
|
420 |
+
|
421 |
+
//Rows
|
422 |
+
foreach( $this->bookings as $EM_Booking ) {
|
423 |
+
$row = array(
|
424 |
+
$EM_Booking->id,
|
425 |
+
$EM_Booking->person->name,
|
426 |
+
$EM_Booking->person->email,
|
427 |
+
$EM_Booking->person->phone,
|
428 |
+
date('Y-m-d h:i', $EM_Booking->timestamp),
|
429 |
+
$EM_Booking->seats,
|
430 |
+
$EM_Booking->get_status(),
|
431 |
+
$EM_Booking->comment
|
432 |
+
);
|
433 |
+
//Display all values
|
434 |
+
foreach($row as $value){
|
435 |
+
$value = str_replace('"', '""', $value);
|
436 |
+
$value = str_replace("=", "", $value);
|
437 |
+
$file .= '"' . preg_replace("/\n\r|\r\n|\n|\r/", ". ", $value) . '",';
|
438 |
}
|
439 |
+
$file .= "\n";
|
440 |
}
|
441 |
|
442 |
+
// $file holds the data
|
443 |
+
echo $file;
|
444 |
+
$file = "";
|
445 |
}
|
446 |
|
447 |
+
/* Overrides EM_Object method to apply a filter to result
|
448 |
+
* @see wp-content/plugins/events-manager/classes/EM_Object#build_sql_conditions()
|
449 |
+
*/
|
450 |
+
function build_sql_conditions( $args = array() ){
|
451 |
+
$conditions = apply_filters( 'em_bookings_build_sql_conditions', parent::build_sql_conditions($args), $args );
|
452 |
+
if( is_numeric($args['status']) ){
|
453 |
+
$conditions['status'] = 'booking_status='.$args['status'];
|
454 |
+
}
|
455 |
+
return apply_filters('em_bookings_build_sql_conditions', $conditions, $args);
|
456 |
+
}
|
457 |
+
|
458 |
+
/* Overrides EM_Object method to apply a filter to result
|
459 |
+
* @see wp-content/plugins/events-manager/classes/EM_Object#build_sql_orderby()
|
460 |
+
*/
|
461 |
+
function build_sql_orderby( $args, $accepted_fields, $default_order = 'ASC' ){
|
462 |
+
return apply_filters( 'em_bookings_build_sql_orderby', parent::build_sql_orderby($args, $accepted_fields, get_option('dbem_events_default_order')), $args, $accepted_fields, $default_order );
|
463 |
+
}
|
464 |
+
|
465 |
+
/*
|
466 |
+
* Adds custom Events search defaults
|
467 |
+
* @param array $array
|
468 |
+
* @return array
|
469 |
+
* @uses EM_Object#get_default_search()
|
470 |
+
*/
|
471 |
+
function get_default_search( $array = array() ){
|
472 |
+
$defaults = array(
|
473 |
+
'status' => false,
|
474 |
+
'person' => true //to add later, search by person's bookings...
|
475 |
+
);
|
476 |
+
return apply_filters('em_bookings_get_default_search', parent::get_default_search($defaults,$array), $array, $defaults);
|
477 |
+
}
|
478 |
}
|
479 |
?>
|
classes/em-calendar.php
CHANGED
@@ -117,25 +117,32 @@ class EM_Calendar extends EM_Object {
|
|
117 |
|
118 |
// Build Previous and Next Links
|
119 |
$base_link = "?".$_SERVER['QUERY_STRING']."&";
|
120 |
-
|
|
|
|
|
|
|
|
|
|
|
121 |
if($month == 1){
|
122 |
$back_month = 12;
|
123 |
$back_year = $year-1;
|
124 |
} else {
|
125 |
$back_month = $month -1;
|
126 |
$back_year = $year;
|
127 |
-
}
|
128 |
-
$
|
129 |
-
|
130 |
-
|
131 |
if($month == 12){
|
132 |
-
|
133 |
-
|
134 |
} else {
|
135 |
-
|
136 |
-
|
137 |
}
|
138 |
-
$next_link = "<a class='em-calnav $link_extra_class' href='?ajaxCalendar=1&month={$next_month}&year={$next_year}&
|
|
|
|
|
139 |
$class = ($full) ? 'dbem-calendar-full' : 'dbem-calendar';
|
140 |
$calendar="<div class='$class'><div style='display:none' class='month_n'>$month</div><div class='year_n' style='display:none' >$year</div>";
|
141 |
|
@@ -155,7 +162,7 @@ class EM_Calendar extends EM_Object {
|
|
155 |
// Build the heading portion of the calendar table
|
156 |
$calendar .= "<table class='dbem-calendar-table $fullclass'>\n".
|
157 |
"<thead>\n<tr>\n".
|
158 |
-
"<td>$previous_link</td><td class='month_name' colspan='5'>". ucfirst(date_i18n('M', $month_start))." $year</td><td>$next_link</td>\n".
|
159 |
"</tr>\n</thead>\n".
|
160 |
"<tr class='days-names'>\n".
|
161 |
$days_initials.
|
@@ -165,7 +172,8 @@ class EM_Calendar extends EM_Object {
|
|
165 |
// into a week and create a new table row for each
|
166 |
// week with the days of that week in the table data
|
167 |
|
168 |
-
$i = 0;
|
|
|
169 |
foreach ( $weeks as $week ) {
|
170 |
$calendar .= "<tr>\n";
|
171 |
foreach ( $week as $d ) {
|
@@ -174,8 +182,9 @@ class EM_Calendar extends EM_Object {
|
|
174 |
}
|
175 |
if (($i >= $offset_count) && ($i < ($num_weeks * 7) - $outset)) { // if it is THIS month
|
176 |
$fullday = $d;
|
177 |
-
$d = date ( 'j', $d );
|
178 |
-
|
|
|
179 |
$calendar .= "<td class='eventless-today'>$d</td>\n";
|
180 |
} else {
|
181 |
$calendar .= "<td class='eventless'>$d</td>\n";
|
@@ -261,7 +270,7 @@ class EM_Calendar extends EM_Object {
|
|
261 |
foreach($events as $event) {
|
262 |
$events_titles[] = $event->output($event_title_format);
|
263 |
}
|
264 |
-
$link_title =
|
265 |
|
266 |
$events_page_id = get_option('dbem_events_page');
|
267 |
$event_page_link = get_permalink($events_page_id);
|
@@ -280,7 +289,7 @@ class EM_Calendar extends EM_Object {
|
|
280 |
}
|
281 |
$cells[$day_key]['cell'] .= "</ul>";
|
282 |
}
|
283 |
-
}
|
284 |
|
285 |
if($events){
|
286 |
foreach($cells as $cell) {
|
@@ -319,6 +328,25 @@ class EM_Calendar extends EM_Object {
|
|
319 |
return substr(__($string), 0, $length);
|
320 |
}
|
321 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
function get_default_search($array=array()){
|
323 |
//These defaults aren't for db queries, but flags for what to display in calendar output
|
324 |
$defaults = array(
|
117 |
|
118 |
// Build Previous and Next Links
|
119 |
$base_link = "?".$_SERVER['QUERY_STRING']."&";
|
120 |
+
|
121 |
+
$full ? $link_extra_class = "full-link" : $link_extra_class = '';
|
122 |
+
//Get an array of arguments that don't include default valued args
|
123 |
+
$link_args = self::get_link_args($args);
|
124 |
+
|
125 |
+
//Get the previous link
|
126 |
if($month == 1){
|
127 |
$back_month = 12;
|
128 |
$back_year = $year-1;
|
129 |
} else {
|
130 |
$back_month = $month -1;
|
131 |
$back_year = $year;
|
132 |
+
}
|
133 |
+
$previous_link = "<a class='em-calnav $link_extra_class' href='?ajaxCalendar=1&month={$back_month}&year={$back_year}&{$link_args}'><<</a>";
|
134 |
+
|
135 |
+
//Now the next
|
136 |
if($month == 12){
|
137 |
+
$next_month = 1;
|
138 |
+
$next_year = $year+1;
|
139 |
} else {
|
140 |
+
$next_month = $month + 1;
|
141 |
+
$next_year = $year;
|
142 |
}
|
143 |
+
$next_link = "<a class='em-calnav $link_extra_class' href='?ajaxCalendar=1&month={$next_month}&year={$next_year}&{$link_args}'>>></a>";
|
144 |
+
|
145 |
+
|
146 |
$class = ($full) ? 'dbem-calendar-full' : 'dbem-calendar';
|
147 |
$calendar="<div class='$class'><div style='display:none' class='month_n'>$month</div><div class='year_n' style='display:none' >$year</div>";
|
148 |
|
162 |
// Build the heading portion of the calendar table
|
163 |
$calendar .= "<table class='dbem-calendar-table $fullclass'>\n".
|
164 |
"<thead>\n<tr>\n".
|
165 |
+
"<td>$previous_link</td><td class='month_name' colspan='5'>". apply_filters('dbem_calendar_output_month', ucfirst(date_i18n('M', $month_start)), $month_start, $args)." $year</td><td>$next_link</td>\n".
|
166 |
"</tr>\n</thead>\n".
|
167 |
"<tr class='days-names'>\n".
|
168 |
$days_initials.
|
172 |
// into a week and create a new table row for each
|
173 |
// week with the days of that week in the table data
|
174 |
|
175 |
+
$i = 0;
|
176 |
+
$current_date = date('Y-m-d', current_time('timestamp'));
|
177 |
foreach ( $weeks as $week ) {
|
178 |
$calendar .= "<tr>\n";
|
179 |
foreach ( $week as $d ) {
|
182 |
}
|
183 |
if (($i >= $offset_count) && ($i < ($num_weeks * 7) - $outset)) { // if it is THIS month
|
184 |
$fullday = $d;
|
185 |
+
$d = date ( 'j', $d );
|
186 |
+
$month_string = ($month < 10) ? '0'.$month : $month;
|
187 |
+
if ( $current_date == "$year-". $month_string ."-$d" ) {
|
188 |
$calendar .= "<td class='eventless-today'>$d</td>\n";
|
189 |
} else {
|
190 |
$calendar .= "<td class='eventless'>$d</td>\n";
|
270 |
foreach($events as $event) {
|
271 |
$events_titles[] = $event->output($event_title_format);
|
272 |
}
|
273 |
+
$link_title = implode( $event_title_separator_format, $events_titles);
|
274 |
|
275 |
$events_page_id = get_option('dbem_events_page');
|
276 |
$event_page_link = get_permalink($events_page_id);
|
289 |
}
|
290 |
$cells[$day_key]['cell'] .= "</ul>";
|
291 |
}
|
292 |
+
}
|
293 |
|
294 |
if($events){
|
295 |
foreach($cells as $cell) {
|
328 |
return substr(__($string), 0, $length);
|
329 |
}
|
330 |
|
331 |
+
/**
|
332 |
+
* Helper function to create a link querystring from array which contains arguments with only values that aren't defuaults.
|
333 |
+
*/
|
334 |
+
function get_link_args($args = array(), $html_entities=true){
|
335 |
+
unset($args['month']); unset($args['year']);
|
336 |
+
$default_args = self::get_default_search(array());
|
337 |
+
foreach($default_args as $arg_key => $arg_value){
|
338 |
+
if( !isset($args[$arg_key]) || $args[$arg_key] == $arg_value ){
|
339 |
+
unset($args[$arg_key]);
|
340 |
+
}
|
341 |
+
}
|
342 |
+
$qs_array = array();
|
343 |
+
foreach($args as $key => $value){
|
344 |
+
$qs_array[] = "$key=".urlencode($value);
|
345 |
+
}
|
346 |
+
return ($html_entities) ? implode('&', $qs_array) : implode('&', $qs_array);
|
347 |
+
}
|
348 |
+
|
349 |
+
|
350 |
function get_default_search($array=array()){
|
351 |
//These defaults aren't for db queries, but flags for what to display in calendar output
|
352 |
$defaults = array(
|
classes/em-categories.php
ADDED
@@ -0,0 +1,154 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class EM_Categories extends EM_Object {
|
3 |
+
|
4 |
+
function get( $args = array() ) {
|
5 |
+
global $wpdb;
|
6 |
+
$categories_table = $wpdb->prefix.EM_CATEGORIES_TABLE;
|
7 |
+
$events_table = $wpdb->prefix.EM_EVENTS_TABLE;
|
8 |
+
|
9 |
+
//Quick version, we can accept an array of IDs, which is easy to retrieve
|
10 |
+
if( self::array_is_numeric($args) ){ //Array of numbers, assume they are event IDs to retreive
|
11 |
+
//We can just get all the events here and return them
|
12 |
+
$sql = "SELECT * FROM $categories_table WHERE category_id=".implode(" OR category_id=", $args);
|
13 |
+
$results = $wpdb->get_results(apply_filters('em_categories_get_sql',$sql),ARRAY_A);
|
14 |
+
$categories = array();
|
15 |
+
foreach($results as $result){
|
16 |
+
$categories[$result['category_id']] = new EM_Event($result);
|
17 |
+
}
|
18 |
+
return $categories; //We return all the categories matched as an EM_Event array.
|
19 |
+
}
|
20 |
+
|
21 |
+
//We assume it's either an empty array or array of search arguments to merge with defaults
|
22 |
+
$args = self::get_default_search($args);
|
23 |
+
$limit = ( $args['limit'] && is_numeric($args['limit'])) ? "LIMIT {$args['limit']}" : '';
|
24 |
+
$offset = ( $limit != "" && is_numeric($args['offset']) ) ? "OFFSET {$args['offset']}" : '';
|
25 |
+
|
26 |
+
//Get the default conditions
|
27 |
+
$conditions = self::build_sql_conditions($args);
|
28 |
+
//Put it all together
|
29 |
+
$where = ( count($conditions) > 0 ) ? " WHERE " . implode ( " AND ", $conditions ):'';
|
30 |
+
|
31 |
+
//Get ordering instructions
|
32 |
+
$EM_Category = new EM_Category();
|
33 |
+
$accepted_fields = $EM_Category->get_fields(true);
|
34 |
+
$orderby = self::build_sql_orderby($args, $accepted_fields, get_option('dbem_categories_default_order'));
|
35 |
+
//Now, build orderby sql
|
36 |
+
$orderby_sql = ( count($orderby) > 0 ) ? 'ORDER BY '. implode(', ', $orderby) : '';
|
37 |
+
|
38 |
+
//Create the SQL statement and execute
|
39 |
+
$sql = "
|
40 |
+
SELECT * FROM $categories_table
|
41 |
+
LEFT JOIN $events_table ON {$events_table}.event_category_id={$categories_table}.category_id
|
42 |
+
$where
|
43 |
+
GROUP BY category_id
|
44 |
+
$orderby_sql
|
45 |
+
$limit $offset
|
46 |
+
";
|
47 |
+
$results = $wpdb->get_results( apply_filters('em_categories_get_sql',$sql, $args), ARRAY_A);
|
48 |
+
//If we want results directly in an array, why not have a shortcut here?
|
49 |
+
if( $args['array'] == true ){
|
50 |
+
return $results;
|
51 |
+
}
|
52 |
+
|
53 |
+
//Make returned results EM_Event objects
|
54 |
+
$results = (is_array($results)) ? $results:array();
|
55 |
+
$categories = array();
|
56 |
+
foreach ( $results as $category_array ){
|
57 |
+
$categories[$category_array['category_id']] = new EM_Category($category_array);
|
58 |
+
}
|
59 |
+
|
60 |
+
return apply_filters('em_categories_get', $categories);
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Will delete given an array of category_ids or EM_Event objects
|
65 |
+
* @param unknown_type $id_array
|
66 |
+
*/
|
67 |
+
function delete( $array ){
|
68 |
+
global $wpdb;
|
69 |
+
//Detect array type and generate SQL for event IDs
|
70 |
+
$category_ids = array();
|
71 |
+
if( @get_class(current($array)) == 'EM_Category' ){
|
72 |
+
foreach($array as $EM_Category){
|
73 |
+
$category_ids[] = $EM_Category->id;
|
74 |
+
}
|
75 |
+
}else{
|
76 |
+
$category_ids = $array;
|
77 |
+
}
|
78 |
+
if(self::array_is_numeric($category_ids)){
|
79 |
+
apply_filters('em_categories_delete', $category_ids);
|
80 |
+
$condition = implode(" OR category_id=", $category_ids);
|
81 |
+
//Delete all the bookings
|
82 |
+
$result_bookings = $wpdb->query("DELETE FROM ". $wpdb->prefix . EM_BOOKINGS_TABLE ." WHERE category_id=$condition;");
|
83 |
+
//Now delete the categories
|
84 |
+
$result = $wpdb->query ( "DELETE FROM ". $wpdb->prefix . EM_CATEGORIES_TABLE ." WHERE category_id=$condition;" );
|
85 |
+
do_action('em_categories_delete', $category_ids);
|
86 |
+
}
|
87 |
+
//TODO add error detection on categories delete fails
|
88 |
+
return apply_filters('em_categories_delete', true, $category_ids);
|
89 |
+
}
|
90 |
+
|
91 |
+
/* Overrides EM_Object method to apply a filter to result
|
92 |
+
* @see wp-content/plugins/categories-manager/classes/EM_Object#build_sql_conditions()
|
93 |
+
*/
|
94 |
+
function build_sql_conditions( $args = array() ){
|
95 |
+
global $wpdb;
|
96 |
+
$events_table = $wpdb->prefix . EM_EVENTS_TABLE;
|
97 |
+
$locations_table = $wpdb->prefix . EM_LOCATIONS_TABLE;
|
98 |
+
|
99 |
+
//FIXME EM_Categories doesn't build sql conditions in EM_Object
|
100 |
+
$conditions = array();
|
101 |
+
//eventful locations
|
102 |
+
if( true == $args['eventful'] ){
|
103 |
+
$conditions['eventful'] = "{$events_table}.event_id IS NOT NULL";
|
104 |
+
}elseif( true == $args['eventless'] ){
|
105 |
+
$conditions['eventless'] = "{$events_table}.event_id IS NULL";
|
106 |
+
}
|
107 |
+
//owner lookup
|
108 |
+
if( is_numeric($args['owner']) ){
|
109 |
+
$conditions['owner'] = "category_owner=".get_current_user_id();
|
110 |
+
}elseif( preg_match('/^([0-9],?)+$/', $args['owner']) ){
|
111 |
+
$conditions['owner'] = "category_owner IN (".explode(',', $args['owner']).")";
|
112 |
+
}
|
113 |
+
return apply_filters( 'em_categories_build_sql_conditions', $conditions, $args );
|
114 |
+
}
|
115 |
+
|
116 |
+
/* Overrides EM_Object method to apply a filter to result
|
117 |
+
* @see wp-content/plugins/categories-manager/classes/EM_Object#build_sql_orderby()
|
118 |
+
*/
|
119 |
+
function build_sql_orderby( $args, $accepted_fields, $default_order = 'ASC' ){
|
120 |
+
return apply_filters( 'em_categories_build_sql_orderby', parent::build_sql_orderby($args, $accepted_fields, get_option('dbem_categories_default_order')), $args, $accepted_fields, $default_order );
|
121 |
+
}
|
122 |
+
|
123 |
+
/*
|
124 |
+
* Adds custom categories search defaults
|
125 |
+
* @param array $array
|
126 |
+
* @return array
|
127 |
+
* @uses EM_Object#get_default_search()
|
128 |
+
*/
|
129 |
+
function get_default_search( $array = array() ){
|
130 |
+
$defaults = array(
|
131 |
+
'scope'=>false,
|
132 |
+
'eventful' => false, //cats that have an event (scope will also play a part here
|
133 |
+
'eventless' => false, //cats WITHOUT events, eventful takes precedence
|
134 |
+
);
|
135 |
+
//by default, we only get categories the owner can manage
|
136 |
+
switch( get_option('dbem_permissions_categories') ){
|
137 |
+
case 0:
|
138 |
+
$defaults['owner'] = get_current_user_id();
|
139 |
+
break;
|
140 |
+
case 1:
|
141 |
+
$wp_user_search = new WP_User_Search(null, null, 'administrator');
|
142 |
+
$users = $wp_user_search->get_results();
|
143 |
+
$users[] = get_current_user_id();
|
144 |
+
$users[] = 0;
|
145 |
+
$defaults['owner'] = implode(',', $users);
|
146 |
+
break;
|
147 |
+
case 2:
|
148 |
+
$defaults['owner'] = false;
|
149 |
+
break;
|
150 |
+
}
|
151 |
+
return apply_filters('em_categories_get_default_search', parent::get_default_search($defaults,$array), $array, $defaults);
|
152 |
+
}
|
153 |
+
|
154 |
+
}
|
classes/em-category.php
CHANGED
@@ -1,17 +1,150 @@
|
|
1 |
<?php
|
2 |
//TODO expand em_category to be like other classes
|
3 |
-
class EM_Category extends EM_Object {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
global $wpdb;
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
|
|
|
|
|
|
11 |
}else{
|
12 |
-
$
|
13 |
-
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
}
|
16 |
}
|
17 |
}
|
1 |
<?php
|
2 |
//TODO expand em_category to be like other classes
|
3 |
+
class EM_Category extends EM_Object {
|
4 |
+
//DB Fields
|
5 |
+
var $id = '';
|
6 |
+
var $owner = '';
|
7 |
+
var $name = '';
|
8 |
+
//Other Vars
|
9 |
+
var $fields = array(
|
10 |
+
'category_id' => array('name'=>'id','type'=>'%d'),
|
11 |
+
'category_owner' => array('name'=>'owner','type'=>'%d'),
|
12 |
+
'category_name' => array('name'=>'name','type'=>'%s')
|
13 |
+
);
|
14 |
+
var $required_fields;
|
15 |
+
var $feedback_message = "";
|
16 |
+
var $errors = array();
|
17 |
|
18 |
+
/**
|
19 |
+
* Gets data from POST (default), supplied array, or from the database if an ID is supplied
|
20 |
+
* @param $location_data
|
21 |
+
* @return null
|
22 |
+
*/
|
23 |
+
function EM_Category( $category_data = false ) {
|
24 |
+
//Initialize
|
25 |
+
$this->required_fields = array("category_name" => __('The category name', 'dbem'));
|
26 |
+
if( $category_data != false ){
|
27 |
+
//Load location data
|
28 |
+
if( is_array($category_data) && isset($category_data['category_name']) ){
|
29 |
+
$category = $category_data;
|
30 |
+
}elseif( is_numeric($category_data) ){
|
31 |
+
//Retreiving from the database
|
32 |
+
global $wpdb;
|
33 |
+
$sql = "SELECT * FROM ". $wpdb->prefix.EM_CATEGORIES_TABLE ." WHERE category_id ='{$category_data}'";
|
34 |
+
$category = $wpdb->get_row($sql, ARRAY_A);
|
35 |
+
}
|
36 |
+
//Save into the object
|
37 |
+
$this->to_object($category);
|
38 |
+
}
|
39 |
+
}
|
40 |
+
|
41 |
+
function get_post(){
|
42 |
+
//We are getting the values via POST or GET
|
43 |
+
do_action('em_location_get_post_pre', $this);
|
44 |
+
$category = array();
|
45 |
+
$category['category_id'] = ( !empty($_POST['category_id']) ) ? $_POST['category_id']:'';
|
46 |
+
$category['category_name'] = ( !empty($_POST['category_name']) ) ? stripslashes($_POST['category_name']):'';
|
47 |
+
$category['category_owner'] = ( !empty($_POST['category_owner']) && is_numeric($_POST['category_owner']) ) ? $_POST['category_owner']:get_current_user_id();
|
48 |
+
$this->to_object( apply_filters('em_category_get_post', $category, $this) );
|
49 |
+
}
|
50 |
+
|
51 |
+
function save(){
|
52 |
global $wpdb;
|
53 |
+
do_action('em_category_save_pre', $this);
|
54 |
+
$table = $wpdb->prefix.EM_CATEGORIES_TABLE;
|
55 |
+
$data = $this->to_array();
|
56 |
+
unset($data['category_id']);
|
57 |
+
if($this->id != ''){
|
58 |
+
$where = array( 'category_id' => $this->id );
|
59 |
+
$wpdb->update($table, $data, $where, $this->get_types($data));
|
60 |
}else{
|
61 |
+
$wpdb->insert($table, $data, $this->get_types($data));
|
62 |
+
$this->id = $wpdb->insert_id;
|
63 |
+
}
|
64 |
+
return apply_filters('em_category_save', ( $this->id > 0 && $image_upload ), $this, $image_upload);
|
65 |
+
}
|
66 |
+
|
67 |
+
function delete(){
|
68 |
+
global $wpdb;
|
69 |
+
do_action('em_category_delete_pre', $this);
|
70 |
+
$table_name = $wpdb->prefix.EM_CATEGORIES_TABLE;
|
71 |
+
$sql = "DELETE FROM $table_name WHERE category_id = '{$this->id}';";
|
72 |
+
$result = $wpdb->query($sql);
|
73 |
+
return apply_filters('em_category_delete', $result, $this);
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Validates the category. Should be run during any form submission or saving operation.
|
78 |
+
* @return boolean
|
79 |
+
*/
|
80 |
+
function validate(){
|
81 |
+
$missing_fields = Array ();
|
82 |
+
foreach ( $this->required_fields as $key => $field ) {
|
83 |
+
$true_field = $this->fields[$key]['name'];
|
84 |
+
if ( $this->$true_field == "") {
|
85 |
+
$missing_fields[] = $field;
|
86 |
+
}
|
87 |
+
}
|
88 |
+
if ( count($missing_fields) > 0){
|
89 |
+
// TODO Create friendly equivelant names for missing fields notice in validation
|
90 |
+
$this->errors[] = __ ( 'Missing fields: ' ) . implode ( ", ", $missing_fields ) . ". ";
|
91 |
+
}
|
92 |
+
return apply_filters('em_category_validate', ( count($this->errors) == 0 ), $this);
|
93 |
+
}
|
94 |
+
|
95 |
+
function has_events(){
|
96 |
+
global $wpdb;
|
97 |
+
$events_table = $wpdb->prefix.EM_EVENTS_TABLE;
|
98 |
+
$sql = "SELECT count(event_id) as events_no FROM $events_table WHERE category_id = {$this->id}";
|
99 |
+
$affected_events = $wpdb->get_row($sql);
|
100 |
+
return apply_filters('em_category_has_events', (count($affected_events) > 0), $this);
|
101 |
+
}
|
102 |
+
|
103 |
+
function output_single($target = 'html'){
|
104 |
+
$format = get_option ( 'dbem_single_category_format' );
|
105 |
+
return apply_filters('em_category_output_single', $this->output($format, $target), $this, $target);
|
106 |
+
}
|
107 |
+
|
108 |
+
function output($format, $target="html") {
|
109 |
+
$category_string = $format;
|
110 |
+
preg_match_all("/#_[A-Za-z]+/", $format, $placeholders);
|
111 |
+
foreach($placeholders[0] as $result) {
|
112 |
+
$match = true;
|
113 |
+
$replace = '';
|
114 |
+
switch( $result ){
|
115 |
+
case '#_CATEGORYNAME':
|
116 |
+
$replace = $this->name;
|
117 |
+
break;
|
118 |
+
case '#_CATEGORYID':
|
119 |
+
$replace = $this->id;
|
120 |
+
break;
|
121 |
+
default:
|
122 |
+
$match = false;
|
123 |
+
break;
|
124 |
+
}
|
125 |
+
if($match){ //if true, we've got a placeholder that needs replacing
|
126 |
+
//TODO FILTER - placeholder filter
|
127 |
+
$replace = apply_filters('em_category_output_placeholder', $replace, $this, $result, $target); //USE WITH CAUTION! THIS MIGHT GET RENAMED
|
128 |
+
$category_string = str_replace($result, $replace , $category_string );
|
129 |
+
}
|
130 |
+
}
|
131 |
+
$name_filter = ($target == "html") ? 'dbem_general':'dbem_general_rss'; //TODO remove dbem_ filters
|
132 |
+
$category_string = str_replace('#_CATEGORY', apply_filters($name_filter, $this->name) , $category_string ); //Depreciated
|
133 |
+
return apply_filters('em_category_output', $category_string, $this, $format, $target);
|
134 |
+
}
|
135 |
+
|
136 |
+
function can_manage(){
|
137 |
+
return ( get_option('dbem_permissions_categories') == 2 || $this->owner == get_current_user_id() || empty($this->id) || em_verify_admin() );
|
138 |
+
}
|
139 |
+
|
140 |
+
function can_use(){
|
141 |
+
switch( get_option('dbem_permissions_locations') ){
|
142 |
+
case 0:
|
143 |
+
return $this->owner == get_current_user_id();
|
144 |
+
case 1:
|
145 |
+
return em_verify_admin($this->owner);
|
146 |
+
case 2:
|
147 |
+
return true;
|
148 |
}
|
149 |
}
|
150 |
}
|
classes/em-event.php
CHANGED
@@ -85,6 +85,11 @@ class EM_Event extends EM_Object{
|
|
85 |
* @var WP_User
|
86 |
*/
|
87 |
var $contact;
|
|
|
|
|
|
|
|
|
|
|
88 |
/**
|
89 |
* If there are any errors, they will be added here.
|
90 |
* @var array
|
@@ -116,18 +121,22 @@ class EM_Event extends EM_Object{
|
|
116 |
//Accepts a raw array that'll just be imported directly into the object with no DB lookups (same for event and recurrence)
|
117 |
$event = $event_data;
|
118 |
$this->location = new EM_Location( $event );
|
|
|
119 |
}elseif( is_numeric($event_data) && $event_data > 0 ){
|
120 |
//Retreiving from the database
|
121 |
$events_table = $wpdb->prefix . EM_EVENTS_TABLE;
|
122 |
$locations_table = $wpdb->prefix . EM_LOCATIONS_TABLE;
|
|
|
123 |
$sql = "
|
124 |
SELECT * FROM $events_table
|
125 |
LEFT JOIN $locations_table ON {$locations_table}.location_id={$events_table}.location_id
|
|
|
126 |
WHERE event_id = $event_data
|
127 |
"; //We get event and location data here to avoid extra queries
|
128 |
$event = $wpdb->get_row ( $sql, ARRAY_A );
|
129 |
//Sort Location
|
130 |
$this->location = new EM_Location ( $event );
|
|
|
131 |
}
|
132 |
//Sort out attributes
|
133 |
if( !empty($event['event_attributes']) ){
|
@@ -162,6 +171,7 @@ class EM_Event extends EM_Object{
|
|
162 |
}
|
163 |
}else{
|
164 |
$this->location = new EM_Location(); //blank location
|
|
|
165 |
}
|
166 |
}
|
167 |
|
@@ -253,6 +263,9 @@ class EM_Event extends EM_Object{
|
|
253 |
function save(){
|
254 |
//FIXME Event doesn't save title when inserting first time
|
255 |
global $wpdb, $current_user;
|
|
|
|
|
|
|
256 |
do_action('em_event_save_pre', $this);
|
257 |
get_currentuserinfo();
|
258 |
$events_table = $wpdb->prefix.EM_EVENTS_TABLE;
|
@@ -262,8 +275,13 @@ class EM_Event extends EM_Object{
|
|
262 |
return apply_filters('em_event_save', false, $this);
|
263 |
}
|
264 |
$this->location_id = $this->location->id;
|
265 |
-
//
|
266 |
-
|
|
|
|
|
|
|
|
|
|
|
267 |
//Now save the event
|
268 |
if ( !$this->id ) {
|
269 |
// Insert New Event
|
@@ -271,6 +289,7 @@ class EM_Event extends EM_Object{
|
|
271 |
$event = $this->to_array(false, true);
|
272 |
$event['event_attributes'] = serialize($this->attributes);
|
273 |
$event['recurrence_id'] = ( is_numeric($this->recurrence_id) ) ? $this->recurrence_id : 0;
|
|
|
274 |
$result = $wpdb->insert ( $events_table, $event, $this->get_types($event) );
|
275 |
if($result !== false){
|
276 |
$this->id = $wpdb->insert_id;
|
@@ -301,6 +320,7 @@ class EM_Event extends EM_Object{
|
|
301 |
$this->recurrence_id = 0; // If it's saved here, it becomes individual
|
302 |
$event = $this->to_array();
|
303 |
$event['event_attributes'] = serialize($event['event_attributes']);
|
|
|
304 |
$result = $wpdb->update ( $events_table, $event, array('event_id' => $this->id), $this->get_types($event) );
|
305 |
if($result !== false){ //Can't just do $result since if you don't make an actual record details change, it'll return 0 for no changes made
|
306 |
//Deal with recurrences
|
@@ -333,15 +353,17 @@ class EM_Event extends EM_Object{
|
|
333 |
*/
|
334 |
function delete(){
|
335 |
global $wpdb;
|
336 |
-
//TODO when only php5, no need to pass by reference
|
337 |
do_action('em_event_delete_pre', $this);
|
338 |
-
|
339 |
-
|
340 |
-
$this->
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
$result = $
|
|
|
|
|
|
|
345 |
}
|
346 |
return apply_filters('em_event_delete', $result, $this);
|
347 |
}
|
@@ -353,17 +375,18 @@ class EM_Event extends EM_Object{
|
|
353 |
function duplicate(){
|
354 |
global $wpdb, $EZSQL_ERROR;
|
355 |
//First, duplicate.
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
$EM_Event->
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
return apply_filters('em_event_duplicate', false, $this);;
|
366 |
}
|
|
|
|
|
367 |
}
|
368 |
|
369 |
|
@@ -386,6 +409,13 @@ class EM_Event extends EM_Object{
|
|
386 |
if ( !empty($_POST['repeated_event']) && $_POST['repeated_event'] == "1" && $this->end_date == "" ){
|
387 |
$this->errors[] = __ ( 'Since the event is repeated, you must specify an event date.', 'dbem' );
|
388 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
389 |
if( !$this->location->validate() ){
|
390 |
$this->errors = array_merge($this->errors, $this->location->errors);
|
391 |
}
|
@@ -398,7 +428,16 @@ class EM_Event extends EM_Object{
|
|
398 |
* Returns an array with category id and name (in that order) of the EM_Event instance.
|
399 |
* @return array
|
400 |
*/
|
401 |
-
function get_category() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
global $wpdb;
|
403 |
$sql = "SELECT category_id, category_name FROM ".$wpdb->prefix.EM_EVENTS_TABLE." LEFT JOIN ".$wpdb->prefix.EM_CATEGORIES_TABLE." ON category_id=event_category_id WHERE event_id ='".$this->id."'";
|
404 |
$category = $wpdb->get_row($sql, ARRAY_A);
|
@@ -411,7 +450,10 @@ class EM_Event extends EM_Object{
|
|
411 |
function delete_bookings(){
|
412 |
global $wpdb;
|
413 |
do_action('em_event_delete_bookings_pre', $this);
|
414 |
-
$result =
|
|
|
|
|
|
|
415 |
return apply_filters('em_event_delete_bookings', $result, $this);
|
416 |
}
|
417 |
|
@@ -465,6 +507,9 @@ class EM_Event extends EM_Object{
|
|
465 |
$replace = '';
|
466 |
switch( $result ){
|
467 |
//Event Details
|
|
|
|
|
|
|
468 |
case '#_NAME':
|
469 |
$replace = $this->name;
|
470 |
break;
|
@@ -477,10 +522,6 @@ class EM_Event extends EM_Object{
|
|
477 |
$replace = $matches[0];
|
478 |
}
|
479 |
break;
|
480 |
-
case '#_CATEGORY':
|
481 |
-
$category = EM_Category::get($this->category_id);
|
482 |
-
$replace = $category['category_name'];
|
483 |
-
break;
|
484 |
//Times
|
485 |
case '#_24HSTARTTIME':
|
486 |
case '#_24HENDTIME':
|
@@ -506,7 +547,7 @@ class EM_Event extends EM_Object{
|
|
506 |
}
|
507 |
break;
|
508 |
case '#_EDITEVENTLINK':
|
509 |
-
if(
|
510 |
//TODO user should have permission to edit the event
|
511 |
$replace = "<a href='".get_bloginfo('wpurl')."/wp-admin/admin.php?page=events-manager-event&event_id={$this->id}'>".__('Edit').' '.__('Event', 'dbem')."</a>";
|
512 |
}
|
@@ -548,9 +589,15 @@ class EM_Event extends EM_Object{
|
|
548 |
case '#_CONTACTPERSON': //Depreciated (your call, I think name is better)
|
549 |
$replace = $this->contact->display_name;
|
550 |
break;
|
|
|
|
|
|
|
551 |
case '#_CONTACTEMAIL':
|
552 |
case '#_CONTACTMAIL': //Depreciated
|
553 |
-
$replace =
|
|
|
|
|
|
|
554 |
break;
|
555 |
case '#_CONTACTPHONE':
|
556 |
$replace = ( $this->contact->phone != '') ? $this->contact->phone : __('N/A', 'dbem');
|
@@ -558,15 +605,21 @@ class EM_Event extends EM_Object{
|
|
558 |
case '#_CONTACTAVATAR':
|
559 |
$replace = get_avatar( $this->contact->ID, $size = '50' );
|
560 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
561 |
default:
|
562 |
-
$
|
563 |
break;
|
564 |
}
|
565 |
-
|
566 |
-
|
567 |
-
$replace = apply_filters('em_event_output_placeholder', $replace, $this, $result, $target);
|
568 |
-
$event_string = str_replace($result, $replace , $event_string );
|
569 |
-
}
|
570 |
}
|
571 |
//Time placeholders
|
572 |
foreach($placeholders[0] as $result) {
|
@@ -613,12 +666,14 @@ class EM_Event extends EM_Object{
|
|
613 |
//Check to see if we have a second set of braces;
|
614 |
$attString = substr( $results[1][$resultKey], 1, strlen(trim($results[1][$resultKey]))-2 );
|
615 |
}
|
|
|
616 |
}
|
617 |
$event_string = str_replace($result, $attString ,$event_string );
|
618 |
}
|
619 |
|
620 |
//Now do dependent objects
|
621 |
-
$event_string = $this->location->output($event_string, $target);
|
|
|
622 |
return apply_filters('em_event_output', $event_string, $this, $target);
|
623 |
}
|
624 |
|
@@ -631,7 +686,7 @@ class EM_Event extends EM_Object{
|
|
631 |
* @return boolean
|
632 |
*/
|
633 |
function save_events() {
|
634 |
-
if( $this->is_recurring() ){
|
635 |
do_action('em_event_save_events_pre', $this); //actions/filters only run if event is recurring
|
636 |
global $wpdb;
|
637 |
$event_saves = array();
|
@@ -657,7 +712,7 @@ class EM_Event extends EM_Object{
|
|
657 |
}
|
658 |
return apply_filters('em_event_save_events', !in_array(false, $event_saves), $this);
|
659 |
}
|
660 |
-
return false
|
661 |
}
|
662 |
|
663 |
/**
|
@@ -669,14 +724,18 @@ class EM_Event extends EM_Object{
|
|
669 |
global $wpdb;
|
670 |
do_action('em_event_delete_events_pre', $this);
|
671 |
//So we don't do something we'll regret later, we could just supply the get directly into the delete, but this is safer
|
672 |
-
$
|
673 |
-
$
|
674 |
-
|
675 |
-
|
676 |
-
|
|
|
|
|
|
|
677 |
}
|
|
|
678 |
}
|
679 |
-
|
680 |
}
|
681 |
|
682 |
/**
|
@@ -704,6 +763,17 @@ class EM_Event extends EM_Object{
|
|
704 |
return ( !$this->is_recurring() && !$this->is_recurrence() );
|
705 |
}
|
706 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
707 |
/**
|
708 |
* Returns the days that match the recurrance array passed (unix timestamps)
|
709 |
* @param array $recurrence
|
@@ -894,9 +964,11 @@ class EM_Event extends EM_Object{
|
|
894 |
* @param string $target
|
895 |
* @return mixed
|
896 |
*/
|
897 |
-
function em_event_output_placeholder($result,$event,$placeholder,$target='html'){
|
898 |
if( ($placeholder == "#_EXCERPT" || $placeholder == "#_LOCATIONEXCERPT") && $target == 'html' ){
|
899 |
$result = apply_filters('dbem_notes_excerpt', $result);
|
|
|
|
|
900 |
}elseif( $placeholder == "#_NOTES" || $placeholder == "#_EXCERPT" || $placeholder == "#_LOCATIONEXCERPT" ){
|
901 |
if($target == 'html'){
|
902 |
$result = apply_filters('dbem_notes', $result);
|
@@ -915,5 +987,5 @@ function em_event_output_placeholder($result,$event,$placeholder,$target='html')
|
|
915 |
}
|
916 |
return $result;
|
917 |
}
|
918 |
-
add_filter('em_event_output_placeholder','em_event_output_placeholder',1,
|
919 |
?>
|
85 |
* @var WP_User
|
86 |
*/
|
87 |
var $contact;
|
88 |
+
/**
|
89 |
+
* The category object
|
90 |
+
* @var EM_Category
|
91 |
+
*/
|
92 |
+
var $category;
|
93 |
/**
|
94 |
* If there are any errors, they will be added here.
|
95 |
* @var array
|
121 |
//Accepts a raw array that'll just be imported directly into the object with no DB lookups (same for event and recurrence)
|
122 |
$event = $event_data;
|
123 |
$this->location = new EM_Location( $event );
|
124 |
+
$this->category = new EM_Category( $event );
|
125 |
}elseif( is_numeric($event_data) && $event_data > 0 ){
|
126 |
//Retreiving from the database
|
127 |
$events_table = $wpdb->prefix . EM_EVENTS_TABLE;
|
128 |
$locations_table = $wpdb->prefix . EM_LOCATIONS_TABLE;
|
129 |
+
$categories_table = $wpdb->prefix . EM_CATEGORIES_TABLE;
|
130 |
$sql = "
|
131 |
SELECT * FROM $events_table
|
132 |
LEFT JOIN $locations_table ON {$locations_table}.location_id={$events_table}.location_id
|
133 |
+
LEFT JOIN $categories_table ON {$categories_table}.category_id={$events_table}.event_category_id
|
134 |
WHERE event_id = $event_data
|
135 |
"; //We get event and location data here to avoid extra queries
|
136 |
$event = $wpdb->get_row ( $sql, ARRAY_A );
|
137 |
//Sort Location
|
138 |
$this->location = new EM_Location ( $event );
|
139 |
+
$this->category = new EM_Category( $event );
|
140 |
}
|
141 |
//Sort out attributes
|
142 |
if( !empty($event['event_attributes']) ){
|
171 |
}
|
172 |
}else{
|
173 |
$this->location = new EM_Location(); //blank location
|
174 |
+
$this->category = new EM_Category(); //blank category
|
175 |
}
|
176 |
}
|
177 |
|
263 |
function save(){
|
264 |
//FIXME Event doesn't save title when inserting first time
|
265 |
global $wpdb, $current_user;
|
266 |
+
if( !$this->can_manage(true) ){
|
267 |
+
return apply_filters('em_event_save', false, $this);
|
268 |
+
}
|
269 |
do_action('em_event_save_pre', $this);
|
270 |
get_currentuserinfo();
|
271 |
$events_table = $wpdb->prefix.EM_EVENTS_TABLE;
|
275 |
return apply_filters('em_event_save', false, $this);
|
276 |
}
|
277 |
$this->location_id = $this->location->id;
|
278 |
+
//Contact person can be anyone the admin wants, but the creator if not.
|
279 |
+
if( em_verify_admin() ){
|
280 |
+
$this->contactperson_id = ( $this->contactperson_id > 0 ) ? $this->contactperson_id:0;
|
281 |
+
}else{
|
282 |
+
//force
|
283 |
+
$this->contactperson_id = get_current_user_id();
|
284 |
+
}
|
285 |
//Now save the event
|
286 |
if ( !$this->id ) {
|
287 |
// Insert New Event
|
289 |
$event = $this->to_array(false, true);
|
290 |
$event['event_attributes'] = serialize($this->attributes);
|
291 |
$event['recurrence_id'] = ( is_numeric($this->recurrence_id) ) ? $this->recurrence_id : 0;
|
292 |
+
$event = apply_filters('em_event_save_pre',$event,$this);
|
293 |
$result = $wpdb->insert ( $events_table, $event, $this->get_types($event) );
|
294 |
if($result !== false){
|
295 |
$this->id = $wpdb->insert_id;
|
320 |
$this->recurrence_id = 0; // If it's saved here, it becomes individual
|
321 |
$event = $this->to_array();
|
322 |
$event['event_attributes'] = serialize($event['event_attributes']);
|
323 |
+
$event = apply_filters('em_event_save_pre',$event,$this);
|
324 |
$result = $wpdb->update ( $events_table, $event, array('event_id' => $this->id), $this->get_types($event) );
|
325 |
if($result !== false){ //Can't just do $result since if you don't make an actual record details change, it'll return 0 for no changes made
|
326 |
//Deal with recurrences
|
353 |
*/
|
354 |
function delete(){
|
355 |
global $wpdb;
|
|
|
356 |
do_action('em_event_delete_pre', $this);
|
357 |
+
$result = false;
|
358 |
+
if( $this->can_manage(true) ){
|
359 |
+
if( $this->is_recurring() ){
|
360 |
+
//Delete the recurrences then this recurrence event
|
361 |
+
$this->delete_events();
|
362 |
+
}
|
363 |
+
$result = $wpdb->query ( $wpdb->prepare("DELETE FROM ". $wpdb->prefix . EM_EVENTS_TABLE ." WHERE event_id=%d", $this->id) );
|
364 |
+
if($result !== false){
|
365 |
+
$result = $this->get_bookings()->delete();
|
366 |
+
}
|
367 |
}
|
368 |
return apply_filters('em_event_delete', $result, $this);
|
369 |
}
|
375 |
function duplicate(){
|
376 |
global $wpdb, $EZSQL_ERROR;
|
377 |
//First, duplicate.
|
378 |
+
if( $this->can_manage(true) ){
|
379 |
+
$event_table_name = $wpdb->prefix . EM_EVENTS_TABLE;
|
380 |
+
$eventArray = $this->to_array(true);
|
381 |
+
unset($eventArray['event_id']);
|
382 |
+
$EM_Event = new EM_Event( $eventArray );
|
383 |
+
if( $EM_Event->save() ){
|
384 |
+
$EM_Event->feedback_message = __("You are now viewing the duplicated event", 'dbem');
|
385 |
+
return apply_filters('em_event_duplicate', $EM_Event, $this);
|
386 |
+
}
|
|
|
387 |
}
|
388 |
+
//TODO add error notifications for duplication failures.
|
389 |
+
return apply_filters('em_event_duplicate', false, $this);;
|
390 |
}
|
391 |
|
392 |
|
409 |
if ( !empty($_POST['repeated_event']) && $_POST['repeated_event'] == "1" && $this->end_date == "" ){
|
410 |
$this->errors[] = __ ( 'Since the event is repeated, you must specify an event date.', 'dbem' );
|
411 |
}
|
412 |
+
if( preg_match('/\d{4}-\d{2}-\d{2}/', $this->start_date) && preg_match('/\d{4}-\d{2}-\d{2}/', $this->end_date) ){
|
413 |
+
if( strtotime($this->start_date . $this->start_time) > strtotime($this->end_date . $this->end_time) ){
|
414 |
+
$this->errors[] = __('Events cannot start after they end.','dbem');
|
415 |
+
}
|
416 |
+
}else{
|
417 |
+
$this->errors[] = __('Dates must have correct formatting. Please use the date picker provided.','dbem');
|
418 |
+
}
|
419 |
if( !$this->location->validate() ){
|
420 |
$this->errors = array_merge($this->errors, $this->location->errors);
|
421 |
}
|
428 |
* Returns an array with category id and name (in that order) of the EM_Event instance.
|
429 |
* @return array
|
430 |
*/
|
431 |
+
function get_category() {
|
432 |
+
global $EM_Category;
|
433 |
+
if( is_object($this->category) && get_class($this->category)=='EM_Category' && $this->category_id == $this->category->id ){
|
434 |
+
return $this->category;
|
435 |
+
}elseif( is_object($EM_Category) && $EM_Category->id == $this->category_id ){
|
436 |
+
$this->category = $EM_Category;
|
437 |
+
}else{
|
438 |
+
$this->category = new EM_Category($this->category_id);
|
439 |
+
}
|
440 |
+
return $this->event;
|
441 |
global $wpdb;
|
442 |
$sql = "SELECT category_id, category_name FROM ".$wpdb->prefix.EM_EVENTS_TABLE." LEFT JOIN ".$wpdb->prefix.EM_CATEGORIES_TABLE." ON category_id=event_category_id WHERE event_id ='".$this->id."'";
|
443 |
$category = $wpdb->get_row($sql, ARRAY_A);
|
450 |
function delete_bookings(){
|
451 |
global $wpdb;
|
452 |
do_action('em_event_delete_bookings_pre', $this);
|
453 |
+
$result = false;
|
454 |
+
if( $this->can_manage(true) ){
|
455 |
+
$result = $wpdb->query( $wpdb->prepare("DELETE FROM ".$wpdb->prefix.EM_BOOKINGS_TABLE." WHERE event_id=%d", $this->id) );
|
456 |
+
}
|
457 |
return apply_filters('em_event_delete_bookings', $result, $this);
|
458 |
}
|
459 |
|
507 |
$replace = '';
|
508 |
switch( $result ){
|
509 |
//Event Details
|
510 |
+
case '#_EVENTID':
|
511 |
+
$replace = $this->name;
|
512 |
+
break;
|
513 |
case '#_NAME':
|
514 |
$replace = $this->name;
|
515 |
break;
|
522 |
$replace = $matches[0];
|
523 |
}
|
524 |
break;
|
|
|
|
|
|
|
|
|
525 |
//Times
|
526 |
case '#_24HSTARTTIME':
|
527 |
case '#_24HENDTIME':
|
547 |
}
|
548 |
break;
|
549 |
case '#_EDITEVENTLINK':
|
550 |
+
if( $this->can_manage() ){
|
551 |
//TODO user should have permission to edit the event
|
552 |
$replace = "<a href='".get_bloginfo('wpurl')."/wp-admin/admin.php?page=events-manager-event&event_id={$this->id}'>".__('Edit').' '.__('Event', 'dbem')."</a>";
|
553 |
}
|
589 |
case '#_CONTACTPERSON': //Depreciated (your call, I think name is better)
|
590 |
$replace = $this->contact->display_name;
|
591 |
break;
|
592 |
+
case '#_CONTACTUSERNAME':
|
593 |
+
$replace = $this->contact->user_login;
|
594 |
+
break;
|
595 |
case '#_CONTACTEMAIL':
|
596 |
case '#_CONTACTMAIL': //Depreciated
|
597 |
+
$replace = $this->contact->user_email;
|
598 |
+
break;
|
599 |
+
case '#_CONTACTID':
|
600 |
+
$replace = $this->contact->ID;
|
601 |
break;
|
602 |
case '#_CONTACTPHONE':
|
603 |
$replace = ( $this->contact->phone != '') ? $this->contact->phone : __('N/A', 'dbem');
|
605 |
case '#_CONTACTAVATAR':
|
606 |
$replace = get_avatar( $this->contact->ID, $size = '50' );
|
607 |
break;
|
608 |
+
case '#_CONTACTPROFILELINK':
|
609 |
+
case '#_CONTACTPROFILEURL':
|
610 |
+
if( function_exists('bp_core_get_user_domain') ){
|
611 |
+
$replace = bp_core_get_user_domain($this->contact->ID);
|
612 |
+
if( $result == '#_CONTACTPROFILELINK' ){
|
613 |
+
$replace = '<a href="'.$replace.'">'.__('Profile').'</a>';
|
614 |
+
}
|
615 |
+
}
|
616 |
+
break;
|
617 |
default:
|
618 |
+
$replace = $result;
|
619 |
break;
|
620 |
}
|
621 |
+
$replace = apply_filters('em_event_output_placeholder', $replace, $this, $result, $target);
|
622 |
+
$event_string = str_replace($result, $replace , $event_string );
|
|
|
|
|
|
|
623 |
}
|
624 |
//Time placeholders
|
625 |
foreach($placeholders[0] as $result) {
|
666 |
//Check to see if we have a second set of braces;
|
667 |
$attString = substr( $results[1][$resultKey], 1, strlen(trim($results[1][$resultKey]))-2 );
|
668 |
}
|
669 |
+
$attString = apply_filters('em_event_output_placeholder', $attString, $this, $result, $target);
|
670 |
}
|
671 |
$event_string = str_replace($result, $attString ,$event_string );
|
672 |
}
|
673 |
|
674 |
//Now do dependent objects
|
675 |
+
$event_string = $this->location->output($event_string, $target);
|
676 |
+
$event_string = $this->category->output($event_string, $target);
|
677 |
return apply_filters('em_event_output', $event_string, $this, $target);
|
678 |
}
|
679 |
|
686 |
* @return boolean
|
687 |
*/
|
688 |
function save_events() {
|
689 |
+
if( $this->is_recurring() && $this->can_manage() ){
|
690 |
do_action('em_event_save_events_pre', $this); //actions/filters only run if event is recurring
|
691 |
global $wpdb;
|
692 |
$event_saves = array();
|
712 |
}
|
713 |
return apply_filters('em_event_save_events', !in_array(false, $event_saves), $this);
|
714 |
}
|
715 |
+
return apply_filters('em_event_save_events', false, $this);;
|
716 |
}
|
717 |
|
718 |
/**
|
724 |
global $wpdb;
|
725 |
do_action('em_event_delete_events_pre', $this);
|
726 |
//So we don't do something we'll regret later, we could just supply the get directly into the delete, but this is safer
|
727 |
+
$result = false;
|
728 |
+
if( $this->can_manage(true) ){
|
729 |
+
$EM_Events = EM_Events::get( array('recurrence_id'=>$this->id) );
|
730 |
+
$event_ids = array();
|
731 |
+
foreach($EM_Events as $EM_Event){
|
732 |
+
if($EM_Event->recurrence_id == $this->id){
|
733 |
+
$event_ids[] = $EM_Event->id; //ONLY ADD if id's match - hard coded
|
734 |
+
}
|
735 |
}
|
736 |
+
$result = EM_Events::delete( $event_ids );
|
737 |
}
|
738 |
+
return apply_filters('delete_events', $result, $this);
|
739 |
}
|
740 |
|
741 |
/**
|
763 |
return ( !$this->is_recurring() && !$this->is_recurrence() );
|
764 |
}
|
765 |
|
766 |
+
/**
|
767 |
+
* Can the user manage this event?
|
768 |
+
*/
|
769 |
+
function can_manage( $error_msg = false ){
|
770 |
+
$can_manage = ( get_option('dbem_permissions_events') || $this->author == get_current_user_id() || empty($this->id) || em_verify_admin() );
|
771 |
+
if($error_msg && !$can_manage){
|
772 |
+
$this->errors[] = __('You do not have permission to manage this event.','dbem');
|
773 |
+
}
|
774 |
+
return apply_filters('em_event_can_manage', $can_manage, $this);
|
775 |
+
}
|
776 |
+
|
777 |
/**
|
778 |
* Returns the days that match the recurrance array passed (unix timestamps)
|
779 |
* @param array $recurrence
|
964 |
* @param string $target
|
965 |
* @return mixed
|
966 |
*/
|
967 |
+
function em_event_output_placeholder($result,$event,$placeholder,$target='html'){
|
968 |
if( ($placeholder == "#_EXCERPT" || $placeholder == "#_LOCATIONEXCERPT") && $target == 'html' ){
|
969 |
$result = apply_filters('dbem_notes_excerpt', $result);
|
970 |
+
}elseif( $placeholder == '#_CONTACTEMAIL' && $target == 'html' ){
|
971 |
+
$result = em_ascii_encode($event->contact->user_email);
|
972 |
}elseif( $placeholder == "#_NOTES" || $placeholder == "#_EXCERPT" || $placeholder == "#_LOCATIONEXCERPT" ){
|
973 |
if($target == 'html'){
|
974 |
$result = apply_filters('dbem_notes', $result);
|
987 |
}
|
988 |
return $result;
|
989 |
}
|
990 |
+
add_filter('em_event_output_placeholder','em_event_output_placeholder',1,4);
|
991 |
?>
|
classes/em-events.php
CHANGED
@@ -17,6 +17,7 @@ class EM_Events extends EM_Object {
|
|
17 |
global $wpdb;
|
18 |
$events_table = $wpdb->prefix . EM_EVENTS_TABLE;
|
19 |
$locations_table = $wpdb->prefix . EM_LOCATIONS_TABLE;
|
|
|
20 |
|
21 |
//Quick version, we can accept an array of IDs, which is easy to retrieve
|
22 |
if( self::array_is_numeric($args) ){ //Array of numbers, assume they are event IDs to retreive
|
@@ -24,9 +25,10 @@ class EM_Events extends EM_Object {
|
|
24 |
$sql = "
|
25 |
SELECT * FROM $events_table
|
26 |
LEFT JOIN $locations_table ON {$locations_table}.location_id={$events_table}.location_id
|
|
|
27 |
WHERE event_id=".implode(" OR event_id=", $args)."
|
28 |
";
|
29 |
-
$results = $wpdb->get_results(apply_filters('em_events_get_sql',$sql));
|
30 |
$events = array();
|
31 |
foreach($results as $result){
|
32 |
$events[$result['event_id']] = new EM_Event($result);
|
@@ -55,6 +57,7 @@ class EM_Events extends EM_Object {
|
|
55 |
$sql = "
|
56 |
SELECT * FROM $events_table
|
57 |
LEFT JOIN $locations_table ON {$locations_table}.location_id={$events_table}.location_id
|
|
|
58 |
$where
|
59 |
$orderby_sql
|
60 |
$limit $offset
|
@@ -105,15 +108,20 @@ class EM_Events extends EM_Object {
|
|
105 |
$event_ids = $array;
|
106 |
}
|
107 |
if(self::array_is_numeric($event_ids)){
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
|
|
|
|
|
|
|
|
|
|
115 |
}
|
116 |
-
//TODO add error
|
117 |
return apply_filters('em_events_delete', true, $event_ids);
|
118 |
}
|
119 |
|
@@ -187,6 +195,20 @@ class EM_Events extends EM_Object {
|
|
187 |
$output = apply_filters('em_events_output', $output, $events, $args);
|
188 |
return $output;
|
189 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
/* Overrides EM_Object method to apply a filter to result
|
192 |
* @see wp-content/plugins/events-manager/classes/EM_Object#build_sql_conditions()
|
@@ -209,10 +231,20 @@ class EM_Events extends EM_Object {
|
|
209 |
* @uses EM_Object#get_default_search()
|
210 |
*/
|
211 |
function get_default_search( $array = array() ){
|
212 |
-
$defaults = array(
|
213 |
'orderby' => get_option('dbem_events_default_orderby'),
|
214 |
-
'order' => get_option('dbem_events_default_order')
|
|
|
215 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
return apply_filters('em_events_get_default_search', parent::get_default_search($defaults,$array), $array, $defaults);
|
217 |
}
|
218 |
}
|
17 |
global $wpdb;
|
18 |
$events_table = $wpdb->prefix . EM_EVENTS_TABLE;
|
19 |
$locations_table = $wpdb->prefix . EM_LOCATIONS_TABLE;
|
20 |
+
$categories_table = $wpdb->prefix . EM_CATEGORIES_TABLE;
|
21 |
|
22 |
//Quick version, we can accept an array of IDs, which is easy to retrieve
|
23 |
if( self::array_is_numeric($args) ){ //Array of numbers, assume they are event IDs to retreive
|
25 |
$sql = "
|
26 |
SELECT * FROM $events_table
|
27 |
LEFT JOIN $locations_table ON {$locations_table}.location_id={$events_table}.location_id
|
28 |
+
LEFT JOIN $categories_table ON {$categories_table}.category_id={$events_table}.event_category_id
|
29 |
WHERE event_id=".implode(" OR event_id=", $args)."
|
30 |
";
|
31 |
+
$results = $wpdb->get_results(apply_filters('em_events_get_sql',$sql),ARRAY_A);
|
32 |
$events = array();
|
33 |
foreach($results as $result){
|
34 |
$events[$result['event_id']] = new EM_Event($result);
|
57 |
$sql = "
|
58 |
SELECT * FROM $events_table
|
59 |
LEFT JOIN $locations_table ON {$locations_table}.location_id={$events_table}.location_id
|
60 |
+
LEFT JOIN $categories_table ON {$categories_table}.category_id={$events_table}.event_category_id
|
61 |
$where
|
62 |
$orderby_sql
|
63 |
$limit $offset
|
108 |
$event_ids = $array;
|
109 |
}
|
110 |
if(self::array_is_numeric($event_ids)){
|
111 |
+
//First we have to check that they're all deletable by this user.
|
112 |
+
if ( self::can_manage($event_ids) ) {
|
113 |
+
apply_filters('em_events_delete_pre', $event_ids);
|
114 |
+
$condition = implode(" OR event_id=", $event_ids);
|
115 |
+
//Delete all the bookings
|
116 |
+
$result_bookings = $wpdb->query("DELETE FROM ". $wpdb->prefix . EM_BOOKINGS_TABLE ." WHERE event_id=$condition;");
|
117 |
+
//Now delete the events
|
118 |
+
$result = $wpdb->query ( "DELETE FROM ". $wpdb->prefix . EM_EVENTS_TABLE ." WHERE event_id=$condition;" );
|
119 |
+
return apply_filters('em_events_delete', true, $event_ids);
|
120 |
+
}else{
|
121 |
+
return apply_filters('em_events_delete', true, $event_ids);
|
122 |
+
}
|
123 |
}
|
124 |
+
//TODO add better error feedback on events delete fails
|
125 |
return apply_filters('em_events_delete', true, $event_ids);
|
126 |
}
|
127 |
|
195 |
$output = apply_filters('em_events_output', $output, $events, $args);
|
196 |
return $output;
|
197 |
}
|
198 |
+
|
199 |
+
function can_manage($event_ids){
|
200 |
+
global $wpdb;
|
201 |
+
if( em_verify_admin() ){
|
202 |
+
return apply_filters('em_events_can_manage', true, $event_ids);
|
203 |
+
}
|
204 |
+
if( EM_Object::array_is_numeric($event_ids) ){
|
205 |
+
$condition = implode(" OR event_id=", $event_ids);
|
206 |
+
//Delete all the bookings
|
207 |
+
$results = $wpdb->query("SELECT event_author FROM ". $wpdb->prefix . EM_BOOKINGS_TABLE ." WHERE author_id != '". get_current_user_id() ."' event_id=$condition;");
|
208 |
+
return apply_filters('em_events_can_manage', (count($results) > 0), $event_ids);
|
209 |
+
}
|
210 |
+
return apply_filters('em_events_can_manage', false, $event_ids);
|
211 |
+
}
|
212 |
|
213 |
/* Overrides EM_Object method to apply a filter to result
|
214 |
* @see wp-content/plugins/events-manager/classes/EM_Object#build_sql_conditions()
|
231 |
* @uses EM_Object#get_default_search()
|
232 |
*/
|
233 |
function get_default_search( $array = array() ){
|
234 |
+
$defaults = array(
|
235 |
'orderby' => get_option('dbem_events_default_orderby'),
|
236 |
+
'order' => get_option('dbem_events_default_order'),
|
237 |
+
'rsvp' => false //if set to true, only events with bookings enabled are returned
|
238 |
);
|
239 |
+
//figure out default owning permissions
|
240 |
+
switch( get_option('dbem_permissions_categories') ){
|
241 |
+
case 0:
|
242 |
+
$defaults['owner'] = get_current_user_id();
|
243 |
+
break;
|
244 |
+
case 1:
|
245 |
+
$defaults['owner'] = false;
|
246 |
+
break;
|
247 |
+
}
|
248 |
return apply_filters('em_events_get_default_search', parent::get_default_search($defaults,$array), $array, $defaults);
|
249 |
}
|
250 |
}
|
classes/em-location.php
CHANGED
@@ -13,6 +13,7 @@ class EM_Location extends EM_Object {
|
|
13 |
var $longitude = '';
|
14 |
var $description = '';
|
15 |
var $image_url = '';
|
|
|
16 |
//Other Vars
|
17 |
var $fields = array(
|
18 |
'location_id' => array('name'=>'id','type'=>'%d'),
|
@@ -22,7 +23,8 @@ class EM_Location extends EM_Object {
|
|
22 |
//Not Used - 'location_province' => array('name'=>'province','type'=>'%s'),
|
23 |
'location_latitude' => array('name'=>'latitude','type'=>'%f'),
|
24 |
'location_longitude' => array('name'=>'longitude','type'=>'%f'),
|
25 |
-
'location_description' => array('name'=>'description','type'=>'%s')
|
|
|
26 |
);
|
27 |
var $required_fields;
|
28 |
var $feedback_message = "";
|
@@ -73,16 +75,19 @@ class EM_Location extends EM_Object {
|
|
73 |
}
|
74 |
|
75 |
function save(){
|
76 |
-
global $wpdb;
|
|
|
77 |
do_action('em_location_save_pre', $this);
|
78 |
$table = $wpdb->prefix.EM_LOCATIONS_TABLE;
|
79 |
$data = $this->to_array();
|
80 |
unset($data['location_id']);
|
81 |
unset($data['location_image_url']);
|
82 |
if($this->id != ''){
|
83 |
-
$where = array( 'location_id' => $this->id );
|
84 |
$wpdb->update($table, $data, $where, $this->get_types($data));
|
85 |
}else{
|
|
|
|
|
|
|
86 |
$wpdb->insert($table, $data, $this->get_types($data));
|
87 |
$this->id = $wpdb->insert_id;
|
88 |
}
|
@@ -193,11 +198,26 @@ class EM_Location extends EM_Object {
|
|
193 |
function has_events(){
|
194 |
global $wpdb;
|
195 |
$events_table = $wpdb->prefix.EM_EVENTS_TABLE;
|
196 |
-
$sql = "SELECT event_id FROM $events_table WHERE location_id = {$this->id}";
|
197 |
-
$affected_events = $wpdb->
|
198 |
return apply_filters('em_location_has_events', (count($affected_events) > 0), $this);
|
199 |
}
|
200 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
function output_single($target = 'html'){
|
202 |
$format = get_option ( 'dbem_single_location_format' );
|
203 |
return apply_filters('em_location_output_single', $this->output($format, $target), $this, $target);
|
@@ -267,6 +287,9 @@ class EM_Location extends EM_Object {
|
|
267 |
case '#_LOCATIONTOWN':
|
268 |
$replace = $this->town;
|
269 |
break;
|
|
|
|
|
|
|
270 |
default:
|
271 |
$match = false;
|
272 |
break;
|
13 |
var $longitude = '';
|
14 |
var $description = '';
|
15 |
var $image_url = '';
|
16 |
+
var $owner = '';
|
17 |
//Other Vars
|
18 |
var $fields = array(
|
19 |
'location_id' => array('name'=>'id','type'=>'%d'),
|
23 |
//Not Used - 'location_province' => array('name'=>'province','type'=>'%s'),
|
24 |
'location_latitude' => array('name'=>'latitude','type'=>'%f'),
|
25 |
'location_longitude' => array('name'=>'longitude','type'=>'%f'),
|
26 |
+
'location_description' => array('name'=>'description','type'=>'%s'),
|
27 |
+
'location_owner' => array('name'=>'owner','type'=>'%d')
|
28 |
);
|
29 |
var $required_fields;
|
30 |
var $feedback_message = "";
|
75 |
}
|
76 |
|
77 |
function save(){
|
78 |
+
global $wpdb, $current_user;
|
79 |
+
get_currentuserinfo();
|
80 |
do_action('em_location_save_pre', $this);
|
81 |
$table = $wpdb->prefix.EM_LOCATIONS_TABLE;
|
82 |
$data = $this->to_array();
|
83 |
unset($data['location_id']);
|
84 |
unset($data['location_image_url']);
|
85 |
if($this->id != ''){
|
|
|
86 |
$wpdb->update($table, $data, $where, $this->get_types($data));
|
87 |
}else{
|
88 |
+
$this->owner = $current_user->ID; //Record creator of event
|
89 |
+
$data['location_owner'] = $this->owner;
|
90 |
+
$where = array( 'location_id' => $this->id );
|
91 |
$wpdb->insert($table, $data, $this->get_types($data));
|
92 |
$this->id = $wpdb->insert_id;
|
93 |
}
|
198 |
function has_events(){
|
199 |
global $wpdb;
|
200 |
$events_table = $wpdb->prefix.EM_EVENTS_TABLE;
|
201 |
+
$sql = "SELECT count(event_id) as events_no FROM $events_table WHERE location_id = {$this->id}";
|
202 |
+
$affected_events = $wpdb->get_row($sql);
|
203 |
return apply_filters('em_location_has_events', (count($affected_events) > 0), $this);
|
204 |
}
|
205 |
|
206 |
+
function can_manage(){
|
207 |
+
return ( get_option('dbem_permissions_locations') == 2 || $this->owner == get_current_user_id() || empty($this->id) || em_verify_admin() );
|
208 |
+
}
|
209 |
+
|
210 |
+
function can_use(){
|
211 |
+
switch( get_option('dbem_permissions_locations') ){
|
212 |
+
case 0:
|
213 |
+
return $this->owner == get_current_user_id();
|
214 |
+
case 1:
|
215 |
+
return em_verify_admin($this->owner);
|
216 |
+
case 2:
|
217 |
+
return true;
|
218 |
+
}
|
219 |
+
}
|
220 |
+
|
221 |
function output_single($target = 'html'){
|
222 |
$format = get_option ( 'dbem_single_location_format' );
|
223 |
return apply_filters('em_location_output_single', $this->output($format, $target), $this, $target);
|
287 |
case '#_LOCATIONTOWN':
|
288 |
$replace = $this->town;
|
289 |
break;
|
290 |
+
case '#_LOCATIONID':
|
291 |
+
$replace = $this->id;
|
292 |
+
break;
|
293 |
default:
|
294 |
$match = false;
|
295 |
break;
|
classes/em-locations.php
CHANGED
@@ -20,7 +20,7 @@ class EM_Locations extends EM_Object {
|
|
20 |
if( self::array_is_numeric($args) && count() ){ //Array of numbers, assume they are event IDs to retreive
|
21 |
//We can just get all the events here and return them
|
22 |
$sql = "SELECT * FROM $locations_table WHERE location_id=".implode(" OR location_id=", $args);
|
23 |
-
$results = $wpdb->get_results($sql);
|
24 |
$events = array();
|
25 |
foreach($results as $result){
|
26 |
$locations[$result['location_id']] = new EM_Location($result);
|
@@ -158,6 +158,12 @@ class EM_Locations extends EM_Object {
|
|
158 |
}elseif( true == $args['eventless'] ){
|
159 |
$conditions['eventless'] = "{$events_table}.event_id IS NULL";
|
160 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
return apply_filters('em_locations_build_sql_conditions', $conditions, $args);
|
162 |
}
|
163 |
|
20 |
if( self::array_is_numeric($args) && count() ){ //Array of numbers, assume they are event IDs to retreive
|
21 |
//We can just get all the events here and return them
|
22 |
$sql = "SELECT * FROM $locations_table WHERE location_id=".implode(" OR location_id=", $args);
|
23 |
+
$results = $wpdb->get_results($sql,ARRAY_A);
|
24 |
$events = array();
|
25 |
foreach($results as $result){
|
26 |
$locations[$result['location_id']] = new EM_Location($result);
|
158 |
}elseif( true == $args['eventless'] ){
|
159 |
$conditions['eventless'] = "{$events_table}.event_id IS NULL";
|
160 |
}
|
161 |
+
//owner lookup
|
162 |
+
if( !empty($args['owner']) ){
|
163 |
+
if ( get_option('dbem_permissions_locations') < 1 && !em_verify_admin() ){
|
164 |
+
$conditions['owner'] = "location_owner=".get_current_user_id();
|
165 |
+
}
|
166 |
+
}
|
167 |
return apply_filters('em_locations_build_sql_conditions', $conditions, $args);
|
168 |
}
|
169 |
|
classes/em-object.php
CHANGED
@@ -18,7 +18,7 @@ class EM_Object {
|
|
18 |
//Create minimal defaults array, merge it with supplied defaults array
|
19 |
$super_defaults = array(
|
20 |
'limit' => false,
|
21 |
-
'scope' => 'future',
|
22 |
'order' => 'ASC', //hard-coded at end of this function
|
23 |
'orderby' => false,
|
24 |
'format' => '',
|
@@ -32,7 +32,9 @@ class EM_Object {
|
|
32 |
'month'=>'',
|
33 |
'year'=>'',
|
34 |
'pagination'=>false,
|
35 |
-
'array'=>false
|
|
|
|
|
36 |
);
|
37 |
//Return default if nothing passed
|
38 |
if( empty($defaults) && empty($array) ){
|
@@ -94,6 +96,7 @@ class EM_Object {
|
|
94 |
$defaults['limit'] = (is_numeric($defaults['limit'])) ? $defaults['limit']:$super_defaults['limit'];
|
95 |
$defaults['offset'] = (is_numeric($defaults['offset'])) ? $defaults['offset']:$super_defaults['offset'];
|
96 |
$defaults['recurring'] = ($defaults['recurring'] == true);
|
|
|
97 |
//Calculate offset in event page is set
|
98 |
if($defaults['page'] > 1){
|
99 |
$defaults['offset'] = $defaults['limit'] * ($defaults['page']-1);
|
@@ -121,6 +124,8 @@ class EM_Object {
|
|
121 |
$recurrence = $args['recurrence'];
|
122 |
$category = $args['category'];
|
123 |
$location = $args['location'];
|
|
|
|
|
124 |
$event = $args['event'];
|
125 |
$month = $args['month'];
|
126 |
$year = $args['year'];
|
@@ -212,7 +217,15 @@ class EM_Object {
|
|
212 |
}elseif( self::array_is_numeric($category) ){
|
213 |
$conditions['category'] = "( event_category_id = ". implode(' OR event_category_id = ', $category).")";
|
214 |
}
|
215 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
216 |
return apply_filters('em_object_build_sql_conditions', $conditions);
|
217 |
}
|
218 |
|
@@ -262,13 +275,15 @@ class EM_Object {
|
|
262 |
*/
|
263 |
function to_object( $array = array(), $addslashes = false ){
|
264 |
//Save core data
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
if(
|
269 |
-
$array[$key]
|
|
|
|
|
|
|
270 |
}
|
271 |
-
$this->$val['name'] = $array[$key];
|
272 |
}
|
273 |
}
|
274 |
}
|
@@ -366,6 +381,24 @@ class EM_Object {
|
|
366 |
}
|
367 |
return $array;
|
368 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
369 |
|
370 |
/**
|
371 |
* Will return true if this is a simple (non-assoc) numeric array, meaning it has at one or more numeric entries and nothing else
|
18 |
//Create minimal defaults array, merge it with supplied defaults array
|
19 |
$super_defaults = array(
|
20 |
'limit' => false,
|
21 |
+
'scope' => 'future',
|
22 |
'order' => 'ASC', //hard-coded at end of this function
|
23 |
'orderby' => false,
|
24 |
'format' => '',
|
32 |
'month'=>'',
|
33 |
'year'=>'',
|
34 |
'pagination'=>false,
|
35 |
+
'array'=>false,
|
36 |
+
'owner'=>false,
|
37 |
+
'rsvp'=>false
|
38 |
);
|
39 |
//Return default if nothing passed
|
40 |
if( empty($defaults) && empty($array) ){
|
96 |
$defaults['limit'] = (is_numeric($defaults['limit'])) ? $defaults['limit']:$super_defaults['limit'];
|
97 |
$defaults['offset'] = (is_numeric($defaults['offset'])) ? $defaults['offset']:$super_defaults['offset'];
|
98 |
$defaults['recurring'] = ($defaults['recurring'] == true);
|
99 |
+
$defaults['owner'] = (is_numeric($defaults['owner'])) ? $defaults['owner']:$super_defaults['owner'];
|
100 |
//Calculate offset in event page is set
|
101 |
if($defaults['page'] > 1){
|
102 |
$defaults['offset'] = $defaults['limit'] * ($defaults['page']-1);
|
124 |
$recurrence = $args['recurrence'];
|
125 |
$category = $args['category'];
|
126 |
$location = $args['location'];
|
127 |
+
$rsvp = $args['rsvp'];
|
128 |
+
$owner = $args['owner'];
|
129 |
$event = $args['event'];
|
130 |
$month = $args['month'];
|
131 |
$year = $args['year'];
|
217 |
}elseif( self::array_is_numeric($category) ){
|
218 |
$conditions['category'] = "( event_category_id = ". implode(' OR event_category_id = ', $category).")";
|
219 |
}
|
220 |
+
|
221 |
+
//If we want rsvped items, we usually check the event
|
222 |
+
if( $rsvp == 1 ){
|
223 |
+
$conditions['rsvp'] = 'event_rsvp=1';
|
224 |
+
}
|
225 |
+
//Default ownership belongs to an event, child objects can just overwrite this if needed.
|
226 |
+
if( is_numeric($owner) ){
|
227 |
+
$conditions['owner'] = 'event_author='.$owner;
|
228 |
+
}
|
229 |
return apply_filters('em_object_build_sql_conditions', $conditions);
|
230 |
}
|
231 |
|
275 |
*/
|
276 |
function to_object( $array = array(), $addslashes = false ){
|
277 |
//Save core data
|
278 |
+
if( is_array($array) ){
|
279 |
+
$array = apply_filters('em_to_object', $array);
|
280 |
+
foreach ( $this->fields as $key => $val ) {
|
281 |
+
if(array_key_exists($key, $array)){
|
282 |
+
if( !is_object($array[$key]) && !is_array($array[$key]) ){
|
283 |
+
$array[$key] = ($addslashes) ? stripslashes($array[$key]):$array[$key];
|
284 |
+
}
|
285 |
+
$this->$val['name'] = $array[$key];
|
286 |
}
|
|
|
287 |
}
|
288 |
}
|
289 |
}
|
381 |
}
|
382 |
return $array;
|
383 |
}
|
384 |
+
|
385 |
+
/**
|
386 |
+
* Send an email and log errors in this object
|
387 |
+
* @param string $subject
|
388 |
+
* @param string $body
|
389 |
+
* @param string $email
|
390 |
+
* @return string
|
391 |
+
*/
|
392 |
+
function email_send($subject, $body, $email){
|
393 |
+
global $EM_Mailer;
|
394 |
+
if( !$EM_Mailer->send($subject,$body,$email) ){
|
395 |
+
foreach($EM_Mailer->errors as $error){
|
396 |
+
$this->errors[] = $error;
|
397 |
+
}
|
398 |
+
return false;
|
399 |
+
}
|
400 |
+
return true;
|
401 |
+
}
|
402 |
|
403 |
/**
|
404 |
* Will return true if this is a simple (non-assoc) numeric array, meaning it has at one or more numeric entries and nothing else
|
classes/em-person.php
CHANGED
@@ -3,12 +3,14 @@
|
|
3 |
class EM_Person extends EM_Object{
|
4 |
//DB Fields
|
5 |
var $id = '';
|
|
|
6 |
var $name = '';
|
7 |
var $email = '';
|
8 |
var $phone = '';
|
9 |
//Other Vars
|
10 |
var $fields = array(
|
11 |
'person_id' => array('name'=>'id','type'=>'%d'),
|
|
|
12 |
'person_name' => array('name'=>'name','type'=>'%s'),
|
13 |
'person_email' => array('name'=>'email','type'=>'%s'),
|
14 |
'person_phone' => array('name'=>'phone','type'=>'%s')
|
@@ -23,7 +25,7 @@ class EM_Person extends EM_Object{
|
|
23 |
$person = array();
|
24 |
if( is_array($person_data) ){
|
25 |
$person = $person_data;
|
26 |
-
}elseif( $person_data
|
27 |
//Retreiving from the database
|
28 |
global $wpdb;
|
29 |
$sql = "SELECT * FROM ". $wpdb->prefix . EM_PEOPLE_TABLE ." WHERE person_id ='$person_data'";
|
@@ -58,8 +60,16 @@ class EM_Person extends EM_Object{
|
|
58 |
}
|
59 |
}
|
60 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
function save(){
|
62 |
global $wpdb;
|
|
|
63 |
if($this->validate()){
|
64 |
//Does this person already exist?
|
65 |
$this->load_similar();
|
@@ -68,17 +78,28 @@ class EM_Person extends EM_Object{
|
|
68 |
unset($data['person_id']);
|
69 |
if($this->id != ''){
|
70 |
$where = array( 'person_id' => $this->id );
|
71 |
-
$wpdb->update($table, $data, $where);
|
72 |
}else{
|
73 |
-
$wpdb->insert($table, $data);
|
74 |
$this->id = $wpdb->insert_id;
|
75 |
}
|
76 |
-
|
|
|
77 |
}else{
|
78 |
-
|
|
|
79 |
}
|
80 |
}
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
function validate(){
|
83 |
if( !preg_match('/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/', $this->email) ){
|
84 |
$this->errors[] = __('Please provide a valid email address.', 'dbem');
|
@@ -87,6 +108,16 @@ class EM_Person extends EM_Object{
|
|
87 |
return true;
|
88 |
}
|
89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
/**
|
91 |
* Checks agains the database to see if this user exists already
|
92 |
* @return boolean|int
|
@@ -112,6 +143,13 @@ class EM_Person extends EM_Object{
|
|
112 |
return true;
|
113 |
}
|
114 |
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
}
|
116 |
}
|
117 |
?>
|
3 |
class EM_Person extends EM_Object{
|
4 |
//DB Fields
|
5 |
var $id = '';
|
6 |
+
var $owner = '';
|
7 |
var $name = '';
|
8 |
var $email = '';
|
9 |
var $phone = '';
|
10 |
//Other Vars
|
11 |
var $fields = array(
|
12 |
'person_id' => array('name'=>'id','type'=>'%d'),
|
13 |
+
'person_owner' => array('name'=>'owner','type'=>'%d'),
|
14 |
'person_name' => array('name'=>'name','type'=>'%s'),
|
15 |
'person_email' => array('name'=>'email','type'=>'%s'),
|
16 |
'person_phone' => array('name'=>'phone','type'=>'%s')
|
25 |
$person = array();
|
26 |
if( is_array($person_data) ){
|
27 |
$person = $person_data;
|
28 |
+
}elseif( is_numeric($person_data) ){
|
29 |
//Retreiving from the database
|
30 |
global $wpdb;
|
31 |
$sql = "SELECT * FROM ". $wpdb->prefix . EM_PEOPLE_TABLE ." WHERE person_id ='$person_data'";
|
60 |
}
|
61 |
}
|
62 |
|
63 |
+
function get_post(){
|
64 |
+
$this->name = ( !empty($_REQUEST['person_name']) ) ? stripslashes($_REQUEST['person_name']) : '' ;
|
65 |
+
$this->email = ( !empty($_REQUEST['person_email']) ) ? $_REQUEST['person_email'] : '';
|
66 |
+
$this->phone = ( !empty($_REQUEST['person_phone']) ) ? $_REQUEST['person_phone'] : '';
|
67 |
+
return apply_filters('em_person_get_post', $this->validate(), $this);
|
68 |
+
}
|
69 |
+
|
70 |
function save(){
|
71 |
global $wpdb;
|
72 |
+
do_action('em_person_save_pre',$this);
|
73 |
if($this->validate()){
|
74 |
//Does this person already exist?
|
75 |
$this->load_similar();
|
78 |
unset($data['person_id']);
|
79 |
if($this->id != ''){
|
80 |
$where = array( 'person_id' => $this->id );
|
81 |
+
$result = $wpdb->update($table, $data, $where);
|
82 |
}else{
|
83 |
+
$result = $wpdb->insert($table, $data);
|
84 |
$this->id = $wpdb->insert_id;
|
85 |
}
|
86 |
+
$this->feedback_message = ($result) ? __('Changes saved.'): __('Could not edit person details.','dbem');
|
87 |
+
return apply_filters('em_save_delete', $result, $this);
|
88 |
}else{
|
89 |
+
$this->feedback_message = __('Could not edit person details.','dbem');
|
90 |
+
return apply_filters('em_save_delete', false, $this);
|
91 |
}
|
92 |
}
|
93 |
|
94 |
+
function delete(){
|
95 |
+
global $wpdb;
|
96 |
+
do_action('em_person_delete_pre', $this);
|
97 |
+
$results = array();
|
98 |
+
$results[] = $wpdb->query ( $wpdb->prepare("DELETE FROM ". $wpdb->prefix . EM_PEOPLE_TABLE ." WHERE person_id=%d", $this->id) );
|
99 |
+
$results[] = $wpdb->query ( $wpdb->prepare("DELETE FROM ". $wpdb->prefix . EM_BOOKINGS_TABLE ." WHERE person_id=%d", $this->id) );
|
100 |
+
return apply_filters('em_event_delete', !in_array(false,$results), $this);
|
101 |
+
}
|
102 |
+
|
103 |
function validate(){
|
104 |
if( !preg_match('/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/', $this->email) ){
|
105 |
$this->errors[] = __('Please provide a valid email address.', 'dbem');
|
108 |
return true;
|
109 |
}
|
110 |
|
111 |
+
function get_bookings(){
|
112 |
+
global $wpdb;
|
113 |
+
$results = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix.EM_BOOKINGS_TABLE." WHERE person_id={$this->id}",ARRAY_A);
|
114 |
+
$bookings = array();
|
115 |
+
foreach($results as $booking_data){
|
116 |
+
$bookings[] = new EM_Booking($booking_data);
|
117 |
+
}
|
118 |
+
return $bookings;
|
119 |
+
}
|
120 |
+
|
121 |
/**
|
122 |
* Checks agains the database to see if this user exists already
|
123 |
* @return boolean|int
|
143 |
return true;
|
144 |
}
|
145 |
return false;
|
146 |
+
}
|
147 |
+
|
148 |
+
/**
|
149 |
+
* Can the user manage this event?
|
150 |
+
*/
|
151 |
+
function can_manage(){
|
152 |
+
return ( get_option('dbem_permissions_events') || $this->owner == get_current_user_id() || em_verify_admin() );
|
153 |
}
|
154 |
}
|
155 |
?>
|
em-ajax.php
CHANGED
@@ -2,37 +2,95 @@
|
|
2 |
//AJAX function
|
3 |
function em_ajax_actions() {
|
4 |
//TODO Clean this up.... use a uniformed way of calling EM Ajax actions
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
$
|
23 |
-
|
24 |
-
|
25 |
-
$
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
}
|
28 |
-
echo EM_Object::json_encode($json_locations);
|
29 |
-
die();
|
30 |
-
}
|
31 |
-
|
32 |
-
if(isset($_REQUEST['ajaxCalendar']) && $_REQUEST['ajaxCalendar']) {
|
33 |
-
//FIXME if long events enabled originally, this won't show up on ajax call
|
34 |
-
echo EM_Calendar::output($_REQUEST);
|
35 |
-
die();
|
36 |
}
|
37 |
}
|
38 |
add_action('init','em_ajax_actions');
|
2 |
//AJAX function
|
3 |
function em_ajax_actions() {
|
4 |
//TODO Clean this up.... use a uniformed way of calling EM Ajax actions
|
5 |
+
if( !empty($_REQUEST['em_ajax']) || !empty($_REQUEST['em_ajax_action']) ){
|
6 |
+
if(isset($_REQUEST['dbem_ajax_action']) && $_REQUEST['dbem_ajax_action'] == 'booking_data') {
|
7 |
+
if(isset($_REQUEST['id'])){
|
8 |
+
$EM_Event = new EM_Event($_REQUEST['id']);
|
9 |
+
echo "[{bookedSeats:".$EM_Event->get_bookings()->get_booked_seats().", availableSeats:".$EM_Event->get_bookings()->get_available_seats()."}]";
|
10 |
+
}
|
11 |
+
die();
|
12 |
+
}
|
13 |
+
if(isset($_REQUEST['em_ajax_action']) && $_REQUEST['em_ajax_action'] == 'get_location') {
|
14 |
+
if(isset($_REQUEST['id'])){
|
15 |
+
$EM_Location = new EM_Location($_REQUEST['id']);
|
16 |
+
$location_array = $EM_Location->to_array();
|
17 |
+
$location_array['location_balloon'] = $EM_Location->output(get_option('dbem_location_baloon_format'));
|
18 |
+
echo EM_Object::json_encode($location_array);
|
19 |
+
}
|
20 |
+
die();
|
21 |
+
}
|
22 |
+
if(isset($_REQUEST['query']) && $_REQUEST['query'] == 'GlobalMapData') {
|
23 |
+
$locations = EM_Locations::get( $_REQUEST );
|
24 |
+
$json_locations = array();
|
25 |
+
foreach($locations as $location_key => $location) {
|
26 |
+
$json_locations[$location_key] = $location->to_array();
|
27 |
+
$json_locations[$location_key]['location_balloon'] = $location->output(get_option('dbem_map_text_format'));
|
28 |
+
}
|
29 |
+
echo EM_Object::json_encode($json_locations);
|
30 |
+
die();
|
31 |
+
}
|
32 |
+
|
33 |
+
if(isset($_REQUEST['ajaxCalendar']) && $_REQUEST['ajaxCalendar']) {
|
34 |
+
//FIXME if long events enabled originally, this won't show up on ajax call
|
35 |
+
echo EM_Calendar::output($_REQUEST);
|
36 |
+
die();
|
37 |
+
}
|
38 |
+
|
39 |
+
//EM Ajax requests require this flag.
|
40 |
+
if( is_admin() ){
|
41 |
+
//Admin operations
|
42 |
+
//Booking Actions
|
43 |
+
global $EM_Booking;
|
44 |
+
if( !empty($_REQUEST['bookings']) || is_object($EM_Booking) ){
|
45 |
+
if( is_object($EM_Booking) ){
|
46 |
+
$_REQUEST['bookings'] = $EM_Booking; //small hack to prevent unecessary db reads
|
47 |
+
}
|
48 |
+
$EM_Bookings = new EM_Bookings(); //Empty, not bound to event.
|
49 |
+
if( $_REQUEST['action'] == 'bookings_approve' ){
|
50 |
+
$EM_Bookings->approve($_REQUEST['bookings']);
|
51 |
+
echo $EM_Bookings->feedback_message;
|
52 |
+
die();
|
53 |
+
}elseif($_REQUEST['action'] == 'bookings_reject'){
|
54 |
+
$EM_Bookings->reject($_REQUEST['bookings']);
|
55 |
+
echo $EM_Bookings->feedback_message;
|
56 |
+
die();
|
57 |
+
}elseif($_REQUEST['action'] == 'bookings_unapprove'){
|
58 |
+
$EM_Bookings->unapprove($_REQUEST['bookings']);
|
59 |
+
echo $EM_Bookings->feedback_message;
|
60 |
+
die();
|
61 |
+
}elseif($_REQUEST['action'] == 'bookings_delete'){
|
62 |
+
//Just do it here, since we may be deleting bookings of different events.
|
63 |
+
if(EM_Object::array_is_numeric($_REQUEST['bookings'])){
|
64 |
+
$results = array();
|
65 |
+
foreach($booking_ids as $booking_id){
|
66 |
+
$EM_Booking = new EM_Booking($booking_ids);
|
67 |
+
$results[] = $EM_Booking->delete();
|
68 |
+
}
|
69 |
+
$result = !in_array(false,$results);
|
70 |
+
}elseif(is_numeric($booking_ids)){
|
71 |
+
$EM_Booking = new EM_Booking($booking_ids);
|
72 |
+
$result = $EM_Booking->delete();
|
73 |
+
}
|
74 |
+
if( $result ){
|
75 |
+
echo __('Booking Deleted','dbem');
|
76 |
+
}else{
|
77 |
+
echo '<span style="color:red">'.__('Booking deletion unsuccessful','dbem').'</span>';
|
78 |
+
}
|
79 |
+
die();
|
80 |
+
}
|
81 |
+
}
|
82 |
+
//Specific Oject Ajax
|
83 |
+
if( !empty($_REQUEST['em_obj']) ){
|
84 |
+
switch( $_REQUEST['em_obj'] ){
|
85 |
+
case 'em_bookings_events_table':
|
86 |
+
case 'em_bookings_pending_table':
|
87 |
+
case 'em_bookings_confirmed_table':
|
88 |
+
call_user_func($_REQUEST['em_obj']);
|
89 |
+
break;
|
90 |
+
}
|
91 |
+
die();
|
92 |
+
}
|
93 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
}
|
95 |
}
|
96 |
add_action('init','em_ajax_actions');
|
em-bookings.php
CHANGED
@@ -1,163 +1,163 @@
|
|
1 |
-
<?php
|
2 |
-
/* Contains functions to handle save and delete requests on the front-end for bookings */
|
3 |
-
global $dbem_form_messages_booking_delete;
|
4 |
-
$dbem_form_messages_booking_delete = array();
|
5 |
-
global $dbem_form_messages_booking_add;
|
6 |
-
$dbem_form_messages_booking_add = array();
|
7 |
-
|
8 |
-
/**
|
9 |
-
* Check if there's any actions to take for bookings
|
10 |
-
* @return null
|
11 |
-
*/
|
12 |
-
function em_actions_bookings() {
|
13 |
-
global $dbem_form_messages_booking_delete, $dbem_form_messages_booking_add;
|
14 |
-
global $wpdb;
|
15 |
-
global $EM_Event;
|
16 |
-
|
17 |
-
if( @get_class($EM_Event) == 'EM_Event' ){
|
18 |
-
//ADD/EDIT Booking
|
19 |
-
if (isset($_POST['eventAction']) && $_POST['eventAction'] == 'add_booking') {
|
20 |
-
//$EM_Event->get_bookings();
|
21 |
-
if( $EM_Event->get_bookings()->add( new EM_Booking($_POST) ) ){
|
22 |
-
$dbem_form_messages_booking_add['success'] = $EM_Event->get_bookings()->feedback_message;
|
23 |
-
}else{
|
24 |
-
$dbem_form_messages_booking_add['error'] = implode('<br />', $EM_Event->get_bookings()->errors);
|
25 |
-
}
|
26 |
-
}
|
27 |
-
//DELETE Booking
|
28 |
-
if (isset($_POST['eventAction']) && $_POST['eventAction'] == 'delete_booking') {
|
29 |
-
$EM_Person = new EM_Person();
|
30 |
-
if( $EM_Person->get(array('person_name' => $_POST['person_name'], 'person_email' => $_POST['person_email'])) ){
|
31 |
-
$deleted = 0;
|
32 |
-
foreach($EM_Event->get_bookings()->bookings as $EM_Booking){
|
33 |
-
if($EM_Booking->person->id == $EM_Person->id ){
|
34 |
-
$EM_Booking->
|
35 |
-
$deleted++;
|
36 |
-
}
|
37 |
-
}
|
38 |
-
}
|
39 |
-
if($deleted > 0){
|
40 |
-
$dbem_form_messages_booking_delete['success'] = __('Booking deleted', 'dbem');
|
41 |
-
}else{
|
42 |
-
$dbem_form_messages_booking_delete['error'] = __('There are no bookings associated to this name and e-mail', 'dbem');
|
43 |
-
}
|
44 |
-
}
|
45 |
-
}
|
46 |
-
}
|
47 |
-
add_action('init','em_actions_bookings');
|
48 |
-
|
49 |
-
/**
|
50 |
-
* Returns the booking form for the front-end, displayed when using placeholder #_ADDBOOKINGFORM
|
51 |
-
* @return string
|
52 |
-
*/
|
53 |
-
function em_add_booking_form() {
|
54 |
-
global $dbem_form_messages_booking_add, $EM_Event;
|
55 |
-
|
56 |
-
$destination = "?".$_SERVER['QUERY_STRING']."#dbem-rsvp";
|
57 |
-
$booked_places_options = array();
|
58 |
-
for ( $i = 1; $i <= 10; $i++ ) {
|
59 |
-
$booking_seats = (!empty($_POST['booking_seats']) && $_POST['booking_seats'] == $i) ? 'selected="selected"':'';
|
60 |
-
array_push($booked_places_options, "<option value='$i' $booking_seats>$i</option>");
|
61 |
-
}
|
62 |
-
ob_start();
|
63 |
-
?>
|
64 |
-
<div id="dbem-rsvp">
|
65 |
-
<a name="dbem-rsvp"></a>
|
66 |
-
<h3><?php _e('Book now!','dbem') ?></h3>
|
67 |
-
|
68 |
-
<?php if( !empty($dbem_form_messages_booking_add['success']) ) : ?>
|
69 |
-
<div class='dbem-rsvp-message-success'><?php echo $dbem_form_messages_booking_add['success'] ?></div>
|
70 |
-
<?php elseif( !empty($dbem_form_messages_booking_add['error']) ) : ?>
|
71 |
-
<div class='dbem-rsvp-message-error'><?php echo $dbem_form_messages_booking_add['error'] ?></div>
|
72 |
-
<?php elseif( !empty($dbem_form_messages_booking_add['message']) ) : ?>
|
73 |
-
<div class='dbem-rsvp-message'><?php echo $dbem_form_messages_booking_add['message'] ?></div>
|
74 |
-
<?php endif; ?>
|
75 |
-
|
76 |
-
<form id='dbem-rsvp-form' name='booking-form' method='post' action='<?php echo $destination ?>'>
|
77 |
-
<table class='dbem-rsvp-form'>
|
78 |
-
<tr><th scope='row'><?php _e('Name', 'dbem') ?>:</th><td><input type='text' name='person_name' value='<?php echo !empty($_POST['person_name']) ? $_POST['person_name'] : ''; ?>'/></td></tr>
|
79 |
-
<tr><th scope='row'><?php _e('E-Mail', 'dbem') ?>:</th><td><input type='text' name='person_email' value='<?php echo !empty($_POST['person_email']) ? $_POST['person_email'] : ''; ?>'/></td></tr>
|
80 |
-
<tr><th scope='row'><?php _e('Phone number', 'dbem') ?>:</th><td><input type='text' name='person_phone' value='<?php echo !empty($_POST['person_phone']) ? $_POST['person_phone'] : ''; ?>'/></td></tr>
|
81 |
-
<tr>
|
82 |
-
<th scope='row'><?php _e('Seats', 'dbem') ?>:</th>
|
83 |
-
<td>
|
84 |
-
<select name='booking_seats' >
|
85 |
-
<?php
|
86 |
-
foreach($booked_places_options as $option) {
|
87 |
-
echo $option ."\n";
|
88 |
-
}
|
89 |
-
?>
|
90 |
-
</select>
|
91 |
-
</td>
|
92 |
-
</tr>
|
93 |
-
<tr><th scope='row'><?php _e('Comment', 'dbem') ?>:</th><td><textarea name='booking_comment'><?php echo !empty($_POST['booking_comment']) ? $_POST['booking_comment']:'' ?></textarea></td></tr>
|
94 |
-
</table>
|
95 |
-
<p>
|
96 |
-
<input type='submit' value='<?php _e('Send your booking', 'dbem') ?>'/>
|
97 |
-
<input type='hidden' name='eventAction' value='add_booking'/>
|
98 |
-
<input type='hidden' name='event_id' value='<?php echo $EM_Event->id; ?>'/>
|
99 |
-
</p>
|
100 |
-
</form>
|
101 |
-
</div>
|
102 |
-
<script type="text/javascript">
|
103 |
-
jQuery(document).ready( function($){
|
104 |
-
if( $('#dbem-booking-delete').size() > 0 ){
|
105 |
-
var triggerText = '<?php ($_POST['eventAction'] == 'delete_booking') ? _e('Hide cancellation form', 'dbem') : _e('Cancel a booking', 'dbem'); ?>';
|
106 |
-
$('#dbem-rsvp input[type=submit]').after(' <a href="#" id="dbem-booking-cancel">'+triggerText+'</a>');
|
107 |
-
if( $('#dbem-booking-cancel').html() == '<?php _e('Cancel a booking', 'dbem'); ?>' ) { $('#dbem-booking-delete').hide(); }
|
108 |
-
$('#dbem-booking-cancel').click( function(event){
|
109 |
-
event.preventDefault();
|
110 |
-
if( $('#dbem-booking-cancel').html() == '<?php _e('Cancel a booking', 'dbem'); ?>' ){
|
111 |
-
$('#dbem-booking-cancel').html('<?php _e('Hide cancellation form', 'dbem'); ?>');
|
112 |
-
$('#dbem-booking-delete').slideDown();
|
113 |
-
}else{
|
114 |
-
$('#dbem-booking-cancel').html('<?php _e('Cancel a booking', 'dbem'); ?>');
|
115 |
-
$('#dbem-booking-delete').slideUp();
|
116 |
-
}
|
117 |
-
});
|
118 |
-
}
|
119 |
-
});
|
120 |
-
</script>
|
121 |
-
<?php
|
122 |
-
return ob_get_clean();
|
123 |
-
}
|
124 |
-
|
125 |
-
/**
|
126 |
-
* Booking removal in front end, called by placeholder #_REMOVEBOOKINGFORM
|
127 |
-
* @return string
|
128 |
-
*/
|
129 |
-
function em_delete_booking_form() {
|
130 |
-
global $dbem_form_messages_booking_delete, $EM_Event;
|
131 |
-
$destination = "?".$_SERVER['QUERY_STRING'];
|
132 |
-
ob_start();
|
133 |
-
?>
|
134 |
-
<div id="dbem-booking-delete">
|
135 |
-
<a name="dbem-booking-delete"></a>
|
136 |
-
<h3><?php _e('Cancel your booking', 'dbem') ?></h3>
|
137 |
-
|
138 |
-
<?php if( !empty($dbem_form_messages_booking_delete['success']) ) : ?>
|
139 |
-
<div class='dbem-rsvp-message-success'><?php echo $dbem_form_messages_booking_delete['success'] ?></div>
|
140 |
-
<?php elseif( !empty($dbem_form_messages_booking_delete['error']) ) : ?>
|
141 |
-
<div class='dbem-rsvp-message-error'><?php echo $dbem_form_messages_booking_delete['error'] ?></div>
|
142 |
-
<?php elseif( !empty($dbem_form_messages_booking_delete['message']) ) : ?>
|
143 |
-
<div class='dbem-rsvp-message'><?php echo $dbem_form_messages_booking_delete['message'] ?></div>
|
144 |
-
<?php endif; ?>
|
145 |
-
|
146 |
-
<form name='booking-delete-form' method='post' action='<?php echo $destination ?>#dbem-booking-delete'>
|
147 |
-
<table class='dbem-rsvp-form'>
|
148 |
-
<tr>
|
149 |
-
<th scope='row'><?php _e('Name', 'dbem') ?>:</th><td><input type='text' name='person_name' value='<?php echo !empty($_POST['person_name']) ? $_POST['person_name'] : ''; ?>'/></td>
|
150 |
-
</tr>
|
151 |
-
<tr>
|
152 |
-
<th scope='row'><?php _e('E-Mail', 'dbem') ?>:</th><td><input type='text' name='person_email' value='<?php echo !empty($_POST['person_email']) ? $_POST['person_email'] : ''; ?>'/></td>
|
153 |
-
</tr>
|
154 |
-
</table>
|
155 |
-
<input type='hidden' name='eventAction' value='delete_booking'/>
|
156 |
-
<input type='hidden' name='event_id' value='<?php echo $EM_Event->id; ?>'/>
|
157 |
-
<input type='submit' value='<?php _e('Cancel your booking', 'dbem') ?>'/>
|
158 |
-
</form>
|
159 |
-
</div>
|
160 |
-
<?php
|
161 |
-
return ob_get_clean();
|
162 |
-
}
|
163 |
?>
|
1 |
+
<?php
|
2 |
+
/* Contains functions to handle save and delete requests on the front-end for bookings */
|
3 |
+
global $dbem_form_messages_booking_delete;
|
4 |
+
$dbem_form_messages_booking_delete = array();
|
5 |
+
global $dbem_form_messages_booking_add;
|
6 |
+
$dbem_form_messages_booking_add = array();
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Check if there's any actions to take for bookings
|
10 |
+
* @return null
|
11 |
+
*/
|
12 |
+
function em_actions_bookings() {
|
13 |
+
global $dbem_form_messages_booking_delete, $dbem_form_messages_booking_add;
|
14 |
+
global $wpdb;
|
15 |
+
global $EM_Event;
|
16 |
+
|
17 |
+
if( @get_class($EM_Event) == 'EM_Event' ){
|
18 |
+
//ADD/EDIT Booking
|
19 |
+
if (isset($_POST['eventAction']) && $_POST['eventAction'] == 'add_booking') {
|
20 |
+
//$EM_Event->get_bookings();
|
21 |
+
if( $EM_Event->get_bookings()->add( new EM_Booking($_POST) ) ){
|
22 |
+
$dbem_form_messages_booking_add['success'] = $EM_Event->get_bookings()->feedback_message;
|
23 |
+
}else{
|
24 |
+
$dbem_form_messages_booking_add['error'] = implode('<br />', $EM_Event->get_bookings()->errors);
|
25 |
+
}
|
26 |
+
}
|
27 |
+
//DELETE Booking
|
28 |
+
if (isset($_POST['eventAction']) && $_POST['eventAction'] == 'delete_booking') {
|
29 |
+
$EM_Person = new EM_Person();
|
30 |
+
if( $EM_Person->get(array('person_name' => $_POST['person_name'], 'person_email' => $_POST['person_email'])) ){
|
31 |
+
$deleted = 0;
|
32 |
+
foreach($EM_Event->get_bookings()->bookings as $EM_Booking){
|
33 |
+
if($EM_Booking->person->id == $EM_Person->id ){
|
34 |
+
$EM_Booking->cancel();
|
35 |
+
$deleted++;
|
36 |
+
}
|
37 |
+
}
|
38 |
+
}
|
39 |
+
if($deleted > 0){
|
40 |
+
$dbem_form_messages_booking_delete['success'] = __('Booking deleted', 'dbem');
|
41 |
+
}else{
|
42 |
+
$dbem_form_messages_booking_delete['error'] = __('There are no bookings associated to this name and e-mail', 'dbem');
|
43 |
+
}
|
44 |
+
}
|
45 |
+
}
|
46 |
+
}
|
47 |
+
add_action('init','em_actions_bookings');
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Returns the booking form for the front-end, displayed when using placeholder #_ADDBOOKINGFORM
|
51 |
+
* @return string
|
52 |
+
*/
|
53 |
+
function em_add_booking_form() {
|
54 |
+
global $dbem_form_messages_booking_add, $EM_Event;
|
55 |
+
|
56 |
+
$destination = "?".$_SERVER['QUERY_STRING']."#dbem-rsvp";
|
57 |
+
$booked_places_options = array();
|
58 |
+
for ( $i = 1; $i <= 10; $i++ ) {
|
59 |
+
$booking_seats = (!empty($_POST['booking_seats']) && $_POST['booking_seats'] == $i) ? 'selected="selected"':'';
|
60 |
+
array_push($booked_places_options, "<option value='$i' $booking_seats>$i</option>");
|
61 |
+
}
|
62 |
+
ob_start();
|
63 |
+
?>
|
64 |
+
<div id="dbem-rsvp">
|
65 |
+
<a name="dbem-rsvp"></a>
|
66 |
+
<h3><?php _e('Book now!','dbem') ?></h3>
|
67 |
+
|
68 |
+
<?php if( !empty($dbem_form_messages_booking_add['success']) ) : ?>
|
69 |
+
<div class='dbem-rsvp-message-success'><?php echo $dbem_form_messages_booking_add['success'] ?></div>
|
70 |
+
<?php elseif( !empty($dbem_form_messages_booking_add['error']) ) : ?>
|
71 |
+
<div class='dbem-rsvp-message-error'><?php echo $dbem_form_messages_booking_add['error'] ?></div>
|
72 |
+
<?php elseif( !empty($dbem_form_messages_booking_add['message']) ) : ?>
|
73 |
+
<div class='dbem-rsvp-message'><?php echo $dbem_form_messages_booking_add['message'] ?></div>
|
74 |
+
<?php endif; ?>
|
75 |
+
|
76 |
+
<form id='dbem-rsvp-form' name='booking-form' method='post' action='<?php echo $destination ?>'>
|
77 |
+
<table class='dbem-rsvp-form'>
|
78 |
+
<tr><th scope='row'><?php _e('Name', 'dbem') ?>:</th><td><input type='text' name='person_name' value='<?php echo !empty($_POST['person_name']) ? $_POST['person_name'] : ''; ?>'/></td></tr>
|
79 |
+
<tr><th scope='row'><?php _e('E-Mail', 'dbem') ?>:</th><td><input type='text' name='person_email' value='<?php echo !empty($_POST['person_email']) ? $_POST['person_email'] : ''; ?>'/></td></tr>
|
80 |
+
<tr><th scope='row'><?php _e('Phone number', 'dbem') ?>:</th><td><input type='text' name='person_phone' value='<?php echo !empty($_POST['person_phone']) ? $_POST['person_phone'] : ''; ?>'/></td></tr>
|
81 |
+
<tr>
|
82 |
+
<th scope='row'><?php _e('Seats', 'dbem') ?>:</th>
|
83 |
+
<td>
|
84 |
+
<select name='booking_seats' >
|
85 |
+
<?php
|
86 |
+
foreach($booked_places_options as $option) {
|
87 |
+
echo $option ."\n";
|
88 |
+
}
|
89 |
+
?>
|
90 |
+
</select>
|
91 |
+
</td>
|
92 |
+
</tr>
|
93 |
+
<tr><th scope='row'><?php _e('Comment', 'dbem') ?>:</th><td><textarea name='booking_comment'><?php echo !empty($_POST['booking_comment']) ? $_POST['booking_comment']:'' ?></textarea></td></tr>
|
94 |
+
</table>
|
95 |
+
<p>
|
96 |
+
<input type='submit' value='<?php _e('Send your booking', 'dbem') ?>'/>
|
97 |
+
<input type='hidden' name='eventAction' value='add_booking'/>
|
98 |
+
<input type='hidden' name='event_id' value='<?php echo $EM_Event->id; ?>'/>
|
99 |
+
</p>
|
100 |
+
</form>
|
101 |
+
</div>
|
102 |
+
<script type="text/javascript">
|
103 |
+
jQuery(document).ready( function($){
|
104 |
+
if( $('#dbem-booking-delete').size() > 0 ){
|
105 |
+
var triggerText = '<?php ($_POST['eventAction'] == 'delete_booking') ? _e('Hide cancellation form', 'dbem') : _e('Cancel a booking', 'dbem'); ?>';
|
106 |
+
$('#dbem-rsvp input[type=submit]').after(' <a href="#" id="dbem-booking-cancel">'+triggerText+'</a>');
|
107 |
+
if( $('#dbem-booking-cancel').html() == '<?php _e('Cancel a booking', 'dbem'); ?>' ) { $('#dbem-booking-delete').hide(); }
|
108 |
+
$('#dbem-booking-cancel').click( function(event){
|
109 |
+
event.preventDefault();
|
110 |
+
if( $('#dbem-booking-cancel').html() == '<?php _e('Cancel a booking', 'dbem'); ?>' ){
|
111 |
+
$('#dbem-booking-cancel').html('<?php _e('Hide cancellation form', 'dbem'); ?>');
|
112 |
+
$('#dbem-booking-delete').slideDown();
|
113 |
+
}else{
|
114 |
+
$('#dbem-booking-cancel').html('<?php _e('Cancel a booking', 'dbem'); ?>');
|
115 |
+
$('#dbem-booking-delete').slideUp();
|
116 |
+
}
|
117 |
+
});
|
118 |
+
}
|
119 |
+
});
|
120 |
+
</script>
|
121 |
+
<?php
|
122 |
+
return ob_get_clean();
|
123 |
+
}
|
124 |
+
|
125 |
+
/**
|
126 |
+
* Booking removal in front end, called by placeholder #_REMOVEBOOKINGFORM
|
127 |
+
* @return string
|
128 |
+
*/
|
129 |
+
function em_delete_booking_form() {
|
130 |
+
global $dbem_form_messages_booking_delete, $EM_Event;
|
131 |
+
$destination = "?".$_SERVER['QUERY_STRING'];
|
132 |
+
ob_start();
|
133 |
+
?>
|
134 |
+
<div id="dbem-booking-delete">
|
135 |
+
<a name="dbem-booking-delete"></a>
|
136 |
+
<h3><?php _e('Cancel your booking', 'dbem') ?></h3>
|
137 |
+
|
138 |
+
<?php if( !empty($dbem_form_messages_booking_delete['success']) ) : ?>
|
139 |
+
<div class='dbem-rsvp-message-success'><?php echo $dbem_form_messages_booking_delete['success'] ?></div>
|
140 |
+
<?php elseif( !empty($dbem_form_messages_booking_delete['error']) ) : ?>
|
141 |
+
<div class='dbem-rsvp-message-error'><?php echo $dbem_form_messages_booking_delete['error'] ?></div>
|
142 |
+
<?php elseif( !empty($dbem_form_messages_booking_delete['message']) ) : ?>
|
143 |
+
<div class='dbem-rsvp-message'><?php echo $dbem_form_messages_booking_delete['message'] ?></div>
|
144 |
+
<?php endif; ?>
|
145 |
+
|
146 |
+
<form name='booking-delete-form' method='post' action='<?php echo $destination ?>#dbem-booking-delete'>
|
147 |
+
<table class='dbem-rsvp-form'>
|
148 |
+
<tr>
|
149 |
+
<th scope='row'><?php _e('Name', 'dbem') ?>:</th><td><input type='text' name='person_name' value='<?php echo !empty($_POST['person_name']) ? $_POST['person_name'] : ''; ?>'/></td>
|
150 |
+
</tr>
|
151 |
+
<tr>
|
152 |
+
<th scope='row'><?php _e('E-Mail', 'dbem') ?>:</th><td><input type='text' name='person_email' value='<?php echo !empty($_POST['person_email']) ? $_POST['person_email'] : ''; ?>'/></td>
|
153 |
+
</tr>
|
154 |
+
</table>
|
155 |
+
<input type='hidden' name='eventAction' value='delete_booking'/>
|
156 |
+
<input type='hidden' name='event_id' value='<?php echo $EM_Event->id; ?>'/>
|
157 |
+
<input type='submit' value='<?php _e('Cancel your booking', 'dbem') ?>'/>
|
158 |
+
</form>
|
159 |
+
</div>
|
160 |
+
<?php
|
161 |
+
return ob_get_clean();
|
162 |
+
}
|
163 |
?>
|
em-events.php
CHANGED
@@ -14,14 +14,16 @@ function em_content($content) {
|
|
14 |
global $wpdb, $EM_Event;
|
15 |
//TODO FILTER - filter em page content before placeholder replacing
|
16 |
//TODO any loop should put the current $EM_Event etc. into the global variable
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
if ( !empty($_REQUEST['calendar_day']) ) {
|
18 |
//Events for a specific day
|
19 |
-
$args =
|
20 |
-
'orderby' => get_option('dbem_events_default_orderby'),
|
21 |
-
'order' => get_option('dbem_events_default_order'),
|
22 |
-
'scope'=> $_REQUEST['calendar_day'],
|
23 |
-
'pagination' => 1
|
24 |
-
);
|
25 |
$page = ( !empty($_GET['page']) && is_numeric($_GET['page']) )? $_GET['page'] : 1;
|
26 |
$events = EM_Events::get( apply_filters('em_content_calendar_day_args', $args) ); //Get events first, so we know how many there are in advance
|
27 |
if ( count($events) > 1 || $page > 1 || get_option('dbem_display_calendar_day_single') == 1 ) {
|
@@ -46,11 +48,7 @@ function em_content($content) {
|
|
46 |
// Multiple events page
|
47 |
$scope = ( !empty($_REQUEST['scope']) ) ? EM_Object::sanitize($_REQUEST['scope']) : "future";
|
48 |
//If we have a $_GET['page'] var, use it to calculate the offset/limit ratios (safer than offset/limit get vars)
|
49 |
-
$args =
|
50 |
-
'orderby' => get_option('dbem_events_default_orderby'),
|
51 |
-
'order' => get_option('dbem_events_default_order'),
|
52 |
-
'scope' => $scope
|
53 |
-
);
|
54 |
if ( !empty($_REQUEST['category_id']) ) $args['category'] = $_REQUEST['category_id'];
|
55 |
if (get_option ( 'dbem_display_calendar_in_events_page' )){
|
56 |
$args['full'] = 1;
|
@@ -58,8 +56,14 @@ function em_content($content) {
|
|
58 |
$content = EM_Calendar::output( apply_filters('em_content_calendar_args', $args) );
|
59 |
}else{
|
60 |
$args['limit'] = get_option('dbem_events_default_limit');
|
61 |
-
$args['pagination'] = 1;
|
62 |
$args['page'] = ( !empty($_GET['page']) && is_numeric($_GET['page']) )? $_GET['page'] : 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
$content = EM_Events::output( apply_filters('em_content_events_args', $args) );
|
64 |
}
|
65 |
}
|
@@ -86,7 +90,7 @@ function em_events_page_title($content) {
|
|
86 |
|
87 |
if ( $post->ID == $events_page_id && $events_page_id != 0 ) {
|
88 |
if (isset ( $_REQUEST['calendar_day'] ) && $_REQUEST['calendar_day'] != '') {
|
89 |
-
$events = EM_Events::get(array('limit'=>2,'scope'=>$_REQUEST['calendar_day']));
|
90 |
if ( count($events) != 1 || get_option('dbem_display_calendar_day_single') == 1 ) {
|
91 |
//We only support dates for the calendar day list title, so we do a simple filter for the supplied calendar_day
|
92 |
$content = get_option ('dbem_list_date_title');
|
14 |
global $wpdb, $EM_Event;
|
15 |
//TODO FILTER - filter em page content before placeholder replacing
|
16 |
//TODO any loop should put the current $EM_Event etc. into the global variable
|
17 |
+
//general defaults
|
18 |
+
$args = array(
|
19 |
+
'orderby' => get_option('dbem_events_default_orderby'),
|
20 |
+
'order' => get_option('dbem_events_default_order'),
|
21 |
+
'owner' => false,
|
22 |
+
'pagination' => 1
|
23 |
+
);
|
24 |
if ( !empty($_REQUEST['calendar_day']) ) {
|
25 |
//Events for a specific day
|
26 |
+
$args['scope'] = $_REQUEST['calendar_day'];
|
|
|
|
|
|
|
|
|
|
|
27 |
$page = ( !empty($_GET['page']) && is_numeric($_GET['page']) )? $_GET['page'] : 1;
|
28 |
$events = EM_Events::get( apply_filters('em_content_calendar_day_args', $args) ); //Get events first, so we know how many there are in advance
|
29 |
if ( count($events) > 1 || $page > 1 || get_option('dbem_display_calendar_day_single') == 1 ) {
|
48 |
// Multiple events page
|
49 |
$scope = ( !empty($_REQUEST['scope']) ) ? EM_Object::sanitize($_REQUEST['scope']) : "future";
|
50 |
//If we have a $_GET['page'] var, use it to calculate the offset/limit ratios (safer than offset/limit get vars)
|
51 |
+
$args['scope'] = $scope;
|
|
|
|
|
|
|
|
|
52 |
if ( !empty($_REQUEST['category_id']) ) $args['category'] = $_REQUEST['category_id'];
|
53 |
if (get_option ( 'dbem_display_calendar_in_events_page' )){
|
54 |
$args['full'] = 1;
|
56 |
$content = EM_Calendar::output( apply_filters('em_content_calendar_args', $args) );
|
57 |
}else{
|
58 |
$args['limit'] = get_option('dbem_events_default_limit');
|
|
|
59 |
$args['page'] = ( !empty($_GET['page']) && is_numeric($_GET['page']) )? $_GET['page'] : 1;
|
60 |
+
|
61 |
+
/*calculate event list time range */
|
62 |
+
$time_limit = get_option('dbem_events_page_time_limit');
|
63 |
+
if ( is_numeric($time_limit) && $time_limit > 0 ){
|
64 |
+
$args['scope'] = date('Y-m-d').",".date('Y-m-t', strtotime('+'.($time_limit-1).' month'));
|
65 |
+
}
|
66 |
+
|
67 |
$content = EM_Events::output( apply_filters('em_content_events_args', $args) );
|
68 |
}
|
69 |
}
|
90 |
|
91 |
if ( $post->ID == $events_page_id && $events_page_id != 0 ) {
|
92 |
if (isset ( $_REQUEST['calendar_day'] ) && $_REQUEST['calendar_day'] != '') {
|
93 |
+
$events = EM_Events::get(array('limit'=>2,'scope'=>$_REQUEST['calendar_day'],'owner'=>false));
|
94 |
if ( count($events) != 1 || get_option('dbem_display_calendar_day_single') == 1 ) {
|
95 |
//We only support dates for the calendar day list title, so we do a simple filter for the supplied calendar_day
|
96 |
$content = get_option ('dbem_list_date_title');
|
em-functions.php
CHANGED
@@ -1,4 +1,18 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
function em_hello_to_new_user() {
|
3 |
if ( get_option ( 'dbem_hello_to_user' ) == 1 ) {
|
4 |
$current_user = wp_get_current_user ();
|
@@ -30,19 +44,19 @@ function em_paginate($link, $total, $limit, $page=1, $pagesToShow=10){
|
|
30 |
$placeholder = urlencode('%PAGE%');
|
31 |
$link = str_replace('%PAGE%', urlencode('%PAGE%'), $link); //To avoid url encoded/non encoded placeholders
|
32 |
//Add the back and first buttons
|
33 |
-
$string = ($page>1) ? '<a href="'.str_replace($placeholder,1,$link).'"><<</a> ' : '
|
34 |
-
$string .= ($page>1) ? ' <a href="'.str_replace($placeholder,$page-1,$link).'"><</a> ' : '
|
35 |
//Loop each page and create a link or just a bold number if its the current page
|
36 |
for ($i = $startPage ; $i < $startPage+$pagesToShow && $i <= $maxPages ; $i++){
|
37 |
if($i == $page){
|
38 |
-
$string .=
|
39 |
}else{
|
40 |
-
$string .= ' <a href="'.str_replace($placeholder,$i,$link).'">'.$i.'</a> ';
|
41 |
}
|
42 |
}
|
43 |
//Add the forward and last buttons
|
44 |
-
$string .= ($page < $maxPages) ? ' <a href="'.str_replace($placeholder,$page+1,$link).'">></a> ' :'
|
45 |
-
$string .= ($i-1 < $maxPages) ? ' <a href="'.str_replace($placeholder,$maxPages,$link).'">>></a> ' : '
|
46 |
//Return the string
|
47 |
return $string;
|
48 |
}
|
@@ -52,13 +66,37 @@ function em_paginate($link, $total, $limit, $page=1, $pagesToShow=10){
|
|
52 |
* Takes a url and appends GET params (supplied as an assoc array), it automatically detects if you already have a querystring there
|
53 |
* @param string $url
|
54 |
* @param array $params
|
|
|
|
|
|
|
55 |
*/
|
56 |
-
function em_add_get_params($url, $params=array(), $html=true, $encode=true){
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
$count = 0;
|
59 |
foreach($params as $key=>$value){
|
60 |
$value = ($encode) ? urlencode($value):$value;
|
61 |
-
if( $count == 0
|
62 |
$url .= "?{$key}=".$value;
|
63 |
}else{
|
64 |
$url .= ($html) ? "&{$key}=".$value:"&{$key}=".$value;
|
@@ -159,6 +197,24 @@ function em_options_textarea($title, $name, $description) {
|
|
159 |
<?php
|
160 |
}
|
161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
function em_options_radio_binary($title, $name, $description) {
|
163 |
$list_events_page = get_option($name); ?>
|
164 |
|
@@ -172,6 +228,7 @@ function em_options_radio_binary($title, $name, $description) {
|
|
172 |
</tr>
|
173 |
<?php
|
174 |
}
|
|
|
175 |
function em_options_select($title, $name, $list, $description) {
|
176 |
$option_value = get_option($name);
|
177 |
if( $name == 'dbem_events_page' && !is_object(get_page($option_value)) ){
|
1 |
<?php
|
2 |
+
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Currently, just is_super_admin() but allows scalability of permissions now.
|
6 |
+
* @param int $user_id
|
7 |
+
* @return boolean
|
8 |
+
*/
|
9 |
+
function em_verify_admin( $user_id = false ){
|
10 |
+
return is_super_admin($user_id);
|
11 |
+
}
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Intro paragraph to new users.
|
15 |
+
*/
|
16 |
function em_hello_to_new_user() {
|
17 |
if ( get_option ( 'dbem_hello_to_user' ) == 1 ) {
|
18 |
$current_user = wp_get_current_user ();
|
44 |
$placeholder = urlencode('%PAGE%');
|
45 |
$link = str_replace('%PAGE%', urlencode('%PAGE%'), $link); //To avoid url encoded/non encoded placeholders
|
46 |
//Add the back and first buttons
|
47 |
+
$string = ($page>1 && $startPage != 1) ? '<a class="prev page-numbers" href="'.str_replace($placeholder,1,$link).'"><<</a> ' : '';
|
48 |
+
$string .= ($page>1) ? ' <a class="prev page-numbers" href="'.str_replace($placeholder,$page-1,$link).'"><</a> ' : '';
|
49 |
//Loop each page and create a link or just a bold number if its the current page
|
50 |
for ($i = $startPage ; $i < $startPage+$pagesToShow && $i <= $maxPages ; $i++){
|
51 |
if($i == $page){
|
52 |
+
$string .= ' <strong><span class="page-numbers current">'.$i.'</span></strong>';
|
53 |
}else{
|
54 |
+
$string .= ' <a class="page-numbers" href="'.str_replace($placeholder,$i,$link).'">'.$i.'</a> ';
|
55 |
}
|
56 |
}
|
57 |
//Add the forward and last buttons
|
58 |
+
$string .= ($page < $maxPages) ? ' <a class="next page-numbers" href="'.str_replace($placeholder,$page+1,$link).'">></a> ' :' ' ;
|
59 |
+
$string .= ($i-1 < $maxPages) ? ' <a class="next page-numbers" href="'.str_replace($placeholder,$maxPages,$link).'">>></a> ' : ' ';
|
60 |
//Return the string
|
61 |
return $string;
|
62 |
}
|
66 |
* Takes a url and appends GET params (supplied as an assoc array), it automatically detects if you already have a querystring there
|
67 |
* @param string $url
|
68 |
* @param array $params
|
69 |
+
* @param bool $html
|
70 |
+
* @param bool $encode
|
71 |
+
* @return string
|
72 |
*/
|
73 |
+
function em_add_get_params($url, $params=array(), $html=true, $encode=true){
|
74 |
+
//Splig the url up to get the params and the page location
|
75 |
+
$url_parts = explode('?', $url);
|
76 |
+
$url = $url_parts[0];
|
77 |
+
$url_params_dirty = array();
|
78 |
+
if(count($url_parts) > 1){
|
79 |
+
$url_params_dirty = $url_parts[1];
|
80 |
+
}
|
81 |
+
//get the get params as an array
|
82 |
+
if( strstr($url_params_dirty, '&') !== false ){
|
83 |
+
$url_params_dirty = explode('&', $url_params_dirty);
|
84 |
+
}else{
|
85 |
+
$url_params_dirty = explode('&', $url_params_dirty);
|
86 |
+
}
|
87 |
+
//split further into associative array
|
88 |
+
$url_params = array();
|
89 |
+
foreach($url_params_dirty as $url_param){
|
90 |
+
$url_param = explode('=', $url_param);
|
91 |
+
$url_params[$url_param[0]] = $url_param[1];
|
92 |
+
}
|
93 |
+
//Merge it together
|
94 |
+
$params = array_merge($url_params, $params);
|
95 |
+
//Now build the array back up.
|
96 |
$count = 0;
|
97 |
foreach($params as $key=>$value){
|
98 |
$value = ($encode) ? urlencode($value):$value;
|
99 |
+
if( $count == 0 ){
|
100 |
$url .= "?{$key}=".$value;
|
101 |
}else{
|
102 |
$url .= ($html) ? "&{$key}=".$value:"&{$key}=".$value;
|
197 |
<?php
|
198 |
}
|
199 |
|
200 |
+
function em_options_radio($name, $options) {
|
201 |
+
$option = get_option($name);
|
202 |
+
?>
|
203 |
+
<tr valign="top" id='<?php echo $name;?>_row'>
|
204 |
+
<td colspan="2">
|
205 |
+
<table>
|
206 |
+
<?php foreach($options as $value => $text): ?>
|
207 |
+
<tr>
|
208 |
+
<td><input id="<?php echo $name ?>_<?php echo $value; ?>" name="<?php echo $name ?>" type="radio" value="<?php echo $value; ?>" <?php if($option == $value) echo "checked='checked'"; ?> /></td>
|
209 |
+
<td><?php echo $text ?></td>
|
210 |
+
</tr>
|
211 |
+
<?php endforeach; ?>
|
212 |
+
</table>
|
213 |
+
</td>
|
214 |
+
</tr>
|
215 |
+
<?php
|
216 |
+
}
|
217 |
+
|
218 |
function em_options_radio_binary($title, $name, $description) {
|
219 |
$list_events_page = get_option($name); ?>
|
220 |
|
228 |
</tr>
|
229 |
<?php
|
230 |
}
|
231 |
+
|
232 |
function em_options_select($title, $name, $list, $description) {
|
233 |
$option_value = get_option($name);
|
234 |
if( $name == 'dbem_events_page' && !is_object(get_page($option_value)) ){
|
em-install.php
CHANGED
@@ -13,6 +13,7 @@ function em_install() {
|
|
13 |
if( EM_VERSION > $old_version || $old_version == '' ){
|
14 |
// Creates the events table if necessary
|
15 |
em_create_events_table();
|
|
|
16 |
em_create_locations_table();
|
17 |
em_create_bookings_table();
|
18 |
em_create_people_table();
|
@@ -82,6 +83,28 @@ function em_create_events_table() {
|
|
82 |
}
|
83 |
}
|
84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
function em_create_locations_table() {
|
86 |
|
87 |
global $wpdb, $user_level;
|
@@ -91,6 +114,7 @@ function em_create_locations_table() {
|
|
91 |
$sql = "CREATE TABLE ".$table_name." (
|
92 |
location_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
93 |
location_name tinytext NOT NULL,
|
|
|
94 |
location_address tinytext NOT NULL,
|
95 |
location_town tinytext NOT NULL,
|
96 |
location_province tinytext,
|
@@ -127,6 +151,7 @@ function em_create_bookings_table() {
|
|
127 |
booking_seats int(5) NOT NULL,
|
128 |
booking_comment text DEFAULT NULL,
|
129 |
booking_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
130 |
PRIMARY KEY (booking_id)
|
131 |
) DEFAULT CHARSET=utf8 ;";
|
132 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
@@ -140,6 +165,7 @@ function em_create_people_table() {
|
|
140 |
|
141 |
$sql = "CREATE TABLE ".$table_name." (
|
142 |
person_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
|
|
143 |
person_name tinytext NOT NULL,
|
144 |
person_email tinytext NOT NULL,
|
145 |
person_phone tinytext NOT NULL,
|
@@ -158,6 +184,7 @@ function em_create_categories_table() {
|
|
158 |
// Creating the events table
|
159 |
$sql = "CREATE TABLE ".$table_name." (
|
160 |
category_id bigint(20) unsigned NOT NULL auto_increment,
|
|
|
161 |
category_name tinytext NOT NULL,
|
162 |
PRIMARY KEY (category_id)
|
163 |
) DEFAULT CHARSET=utf8 ;";
|
@@ -175,67 +202,123 @@ function em_create_categories_table() {
|
|
175 |
|
176 |
|
177 |
function em_add_options() {
|
178 |
-
$contact_person_email_body_localizable = __("#_BOOKINGNAME (#_BOOKINGEMAIL) will attend #_NAME on #
|
179 |
-
$
|
|
|
|
|
|
|
|
|
180 |
|
181 |
$dbem_options = array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
'dbem_event_list_item_format' => '<li>#j #M #Y - #H:#i<br/> #_EVENTLINK<br/>#_LOCATIONTOWN </li>',
|
183 |
'dbem_display_calendar_in_events_page' => 0,
|
184 |
'dbem_single_event_format' => '<h3>#_NAME</h3><p>#j #M #Y - #H:#i</p><p>#_LOCATIONTOWN</p>',
|
185 |
'dbem_event_page_title_format' => '#_NAME',
|
186 |
-
'dbem_list_events_page' => 1,
|
187 |
-
'dbem_events_page_title' => __('Events','dbem'),
|
188 |
'dbem_no_events_message' => __('No events','dbem'),
|
|
|
189 |
'dbem_location_page_title_format' => '#_LOCATIONNAME',
|
190 |
-
'dbem_location_baloon_format' => "<strong>#_LOCATIONNAME</strong><br/>#_LOCATIONADDRESS - #_LOCATIONTOWN<br/><a href='#_LOCATIONPAGEURL'>Details</a>",
|
191 |
'dbem_location_event_list_item_format' => "<li>#_LOCATIONNAME - #j #M #Y - #H:#i</li>",
|
192 |
'dbem_location_list_item_format' => '#_LOCATIONLINK<ul><li>#_LOCATIONADDRESS</li><li>#_LOCATIONTOWN</li></ul>',
|
193 |
'dbem_location_no_events_message' => __('<li>No events in this location</li>', 'dbem'),
|
194 |
'dbem_single_location_format' => '<p>#_LOCATIONADDRESS</p><p>#_LOCATIONTOWN</p>',
|
195 |
-
|
196 |
'dbem_rss_main_title' => get_bloginfo('title')." - ".__('Events'),
|
197 |
'dbem_rss_main_description' => get_bloginfo('description')." - ".__('Events'),
|
198 |
'dbem_rss_description_format' => "#j #M #y - #H:#i <br/>#_LOCATION <br/>#_LOCATIONADDRESS <br/>#_LOCATIONTOWN",
|
199 |
'dbem_rss_title_format' => "#_NAME",
|
|
|
200 |
'dbem_gmap_is_active'=> 1,
|
201 |
-
'
|
202 |
-
'
|
203 |
-
|
204 |
-
'dbem_respondent_email_body' => __(str_replace("<br/>", "\n\r", $respondent_email_body_localizable)),
|
205 |
'dbem_rsvp_mail_port' => 465,
|
206 |
'dbem_smtp_host' => 'localhost',
|
207 |
'dbem_mail_sender_name' => '',
|
208 |
'dbem_rsvp_mail_send_method' => 'smtp',
|
209 |
'dbem_rsvp_mail_SMTPAuth' => 1,
|
|
|
210 |
'dbem_image_max_width' => 700,
|
211 |
'dbem_image_max_height' => 700,
|
212 |
'dbem_image_max_size' => 204800,
|
|
|
213 |
'dbem_list_date_title' => __('Events', 'dbem').' - #j #M #y',
|
214 |
'dbem_full_calendar_event_format' => '<li>#_EVENTLINK</li>',
|
215 |
'dbem_full_calendar_long_events' => '0',
|
216 |
'dbem_small_calendar_event_title_format' => "#_NAME",
|
217 |
'dbem_small_calendar_event_title_separator' => ", ",
|
218 |
-
|
219 |
-
'dbem_use_select_for_locations' =>
|
220 |
-
'dbem_attributes_enabled' =>
|
221 |
-
'dbem_recurrence_enabled'=>
|
222 |
-
'dbem_rsvp_enabled'=>
|
223 |
-
'dbem_categories_enabled'=>
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
'dbem_disable_title_rewrites'=> false,
|
225 |
'dbem_title_html' => '<h2>#_PAGETITLE</h2>',
|
226 |
-
|
227 |
-
'
|
228 |
-
'
|
229 |
-
|
230 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
231 |
);
|
232 |
|
233 |
foreach($dbem_options as $key => $value){
|
234 |
add_option($key, $value);
|
235 |
}
|
236 |
//Customization for new options on updated plugins (not new installs)
|
237 |
-
if( get_option('dbem_version') != '' ){
|
238 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
239 |
}
|
240 |
}
|
241 |
|
13 |
if( EM_VERSION > $old_version || $old_version == '' ){
|
14 |
// Creates the events table if necessary
|
15 |
em_create_events_table();
|
16 |
+
em_create_events_meta_table();
|
17 |
em_create_locations_table();
|
18 |
em_create_bookings_table();
|
19 |
em_create_people_table();
|
83 |
}
|
84 |
}
|
85 |
|
86 |
+
function em_create_events_meta_table(){
|
87 |
+
global $wpdb, $user_level;
|
88 |
+
$table_name = $wpdb->prefix.EM_META_TABLE;
|
89 |
+
|
90 |
+
// Creating the events table
|
91 |
+
$sql = "CREATE TABLE ".$table_name." (
|
92 |
+
meta_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
93 |
+
object_id bigint(20) unsigned NOT NULL,
|
94 |
+
meta_key varchar(255) DEFAULT NULL,
|
95 |
+
meta_value longtext,
|
96 |
+
meta_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
97 |
+
KEY post_id (object_id),
|
98 |
+
KEY meta_key (meta_key),
|
99 |
+
PRIMARY KEY (meta_id)
|
100 |
+
) DEFAULT CHARSET=utf8 ";
|
101 |
+
|
102 |
+
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
103 |
+
|
104 |
+
$old_table_name = $wpdb->prefix.EM_OLD_LOCATIONS_TABLE;
|
105 |
+
dbDelta($sql);
|
106 |
+
}
|
107 |
+
|
108 |
function em_create_locations_table() {
|
109 |
|
110 |
global $wpdb, $user_level;
|
114 |
$sql = "CREATE TABLE ".$table_name." (
|
115 |
location_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
116 |
location_name tinytext NOT NULL,
|
117 |
+
location_owner bigint(20) unsigned DEFAULT 0 NOT NULL,
|
118 |
location_address tinytext NOT NULL,
|
119 |
location_town tinytext NOT NULL,
|
120 |
location_province tinytext,
|
151 |
booking_seats int(5) NOT NULL,
|
152 |
booking_comment text DEFAULT NULL,
|
153 |
booking_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
154 |
+
booking_status bool NOT NULL DEFAULT 1,
|
155 |
PRIMARY KEY (booking_id)
|
156 |
) DEFAULT CHARSET=utf8 ;";
|
157 |
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
|
165 |
|
166 |
$sql = "CREATE TABLE ".$table_name." (
|
167 |
person_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
168 |
+
person_owner bigint(20) unsigned DEFAULT 0 NOT NULL,
|
169 |
person_name tinytext NOT NULL,
|
170 |
person_email tinytext NOT NULL,
|
171 |
person_phone tinytext NOT NULL,
|
184 |
// Creating the events table
|
185 |
$sql = "CREATE TABLE ".$table_name." (
|
186 |
category_id bigint(20) unsigned NOT NULL auto_increment,
|
187 |
+
category_owner bigint(20) unsigned DEFAULT 0 NOT NULL,
|
188 |
category_name tinytext NOT NULL,
|
189 |
PRIMARY KEY (category_id)
|
190 |
) DEFAULT CHARSET=utf8 ;";
|
202 |
|
203 |
|
204 |
function em_add_options() {
|
205 |
+
$contact_person_email_body_localizable = __("#_BOOKINGNAME (#_BOOKINGEMAIL) will attend #_NAME on #F #j, #Y. He wants to reserve #_BOOKINGSPACES spaces.<br/> Now there are #_BOOKEDSPACES spaces reserved, #_AVAILABLESPACES are still available.<br/>Yours faithfully,<br/>Events Manager - http://wp-events-plugin.com",'dbem').__('<br/><br/>-------------------------------<br/>Powered by Events Manager - http://wp-events-plugin.com','dbem');
|
206 |
+
$contact_person_email_cancelled_body_localizable = __("#_BOOKINGNAME (#_BOOKINGEMAIL) cancelled his booking at #_NAME on #F #j, #Y. He wanted to reserve #_BOOKINGSPACES spaces.<br/> Now there are #_BOOKEDSPACES spaces reserved, #_AVAILABLESPACES are still available.<br/>Yours faithfully,<br/>Events Manager - http://wp-events-plugin.com",'dbem').__('<br/><br/>-------------------------------<br/>Powered by Events Manager - http://wp-events-plugin.com','dbem');
|
207 |
+
$respondent_email_body_localizable = __("Dear #_BOOKINGNAME, <br/>you have successfully reserved #_BOOKINGSPACES space/spaces for #_NAME.<br/>Yours faithfully,<br/>#_CONTACTNAME",'dbem').__('<br/><br/>-------------------------------<br/>Powered by Events Manager - http://wp-events-plugin.com','dbem');
|
208 |
+
$respondent_email_pending_body_localizable = __("Dear #_BOOKINGNAME, <br/>You have requested #_BOOKEDSPACES space/spaces for #_NAME.<br/>Your booking is currently pending approval by our administrators. Once approved you will receive an automatic confrimation.<br/>Yours faithfully,<br/>#_CONTACTNAME",'dbem').__('<br/><br/>-------------------------------<br/>Powered by Events Manager - http://wp-events-plugin.com','dbem');
|
209 |
+
$respondent_email_rejected_body_localizable = __("Dear #_BOOKINGNAME, <br/>Your requested booking for #_BOOKINGSPACES spaces at #_NAME on #F #j, #Y has been rejected.<br/>Yours faithfully,<br/>#_CONTACTNAME",'dbem').__('<br/><br/>-------------------------------<br/>Powered by Events Manager - http://wp-events-plugin.com','dbem');
|
210 |
+
$respondent_email_cancelled_body_localizable = __("Dear #_BOOKINGNAME, <br/>Your requested booking for #_BOOKINGSPACES spaces at #_NAME on #F #j, #Y has been cancelled.<br/>Yours faithfully,<br/>#_CONTACTNAME",'dbem').__('<br/><br/>-------------------------------<br/>Powered by Events Manager - http://wp-events-plugin.com','dbem');
|
211 |
|
212 |
$dbem_options = array(
|
213 |
+
//defaults
|
214 |
+
'dbem_default_category'=>0,
|
215 |
+
'dbem_default_location'=>0,
|
216 |
+
//Event List Options
|
217 |
+
'dbem_events_default_orderby' => 'start_date,start_time,name',
|
218 |
+
'dbem_events_default_order' => 'ASC',
|
219 |
+
'dbem_events_default_limit' => 10,
|
220 |
+
'dbem_permissions_events' => 0, //can others view other's events
|
221 |
+
'dbem_list_events_page' => 1,
|
222 |
+
//Event Formatting
|
223 |
+
'dbem_events_page_title' => __('Events','dbem'),
|
224 |
+
'dbem_events_page_time_limit' => 0,
|
225 |
'dbem_event_list_item_format' => '<li>#j #M #Y - #H:#i<br/> #_EVENTLINK<br/>#_LOCATIONTOWN </li>',
|
226 |
'dbem_display_calendar_in_events_page' => 0,
|
227 |
'dbem_single_event_format' => '<h3>#_NAME</h3><p>#j #M #Y - #H:#i</p><p>#_LOCATIONTOWN</p>',
|
228 |
'dbem_event_page_title_format' => '#_NAME',
|
|
|
|
|
229 |
'dbem_no_events_message' => __('No events','dbem'),
|
230 |
+
//Location Formatting
|
231 |
'dbem_location_page_title_format' => '#_LOCATIONNAME',
|
|
|
232 |
'dbem_location_event_list_item_format' => "<li>#_LOCATIONNAME - #j #M #Y - #H:#i</li>",
|
233 |
'dbem_location_list_item_format' => '#_LOCATIONLINK<ul><li>#_LOCATIONADDRESS</li><li>#_LOCATIONTOWN</li></ul>',
|
234 |
'dbem_location_no_events_message' => __('<li>No events in this location</li>', 'dbem'),
|
235 |
'dbem_single_location_format' => '<p>#_LOCATIONADDRESS</p><p>#_LOCATIONTOWN</p>',
|
236 |
+
//RSS Stuff
|
237 |
'dbem_rss_main_title' => get_bloginfo('title')." - ".__('Events'),
|
238 |
'dbem_rss_main_description' => get_bloginfo('description')." - ".__('Events'),
|
239 |
'dbem_rss_description_format' => "#j #M #y - #H:#i <br/>#_LOCATION <br/>#_LOCATIONADDRESS <br/>#_LOCATIONTOWN",
|
240 |
'dbem_rss_title_format' => "#_NAME",
|
241 |
+
//Google Maps
|
242 |
'dbem_gmap_is_active'=> 1,
|
243 |
+
'dbem_location_baloon_format' => "<strong>#_LOCATIONNAME</strong><br/>#_LOCATIONADDRESS - #_LOCATIONTOWN<br/><a href='#_LOCATIONPAGEURL'>Details</a>",
|
244 |
+
'dbem_map_text_format' => '<strong>#_LOCATION</strong><p>#_LOCATIONADDRESS</p><p>#_LOCATIONTOWN</p>',
|
245 |
+
//Email Config
|
|
|
246 |
'dbem_rsvp_mail_port' => 465,
|
247 |
'dbem_smtp_host' => 'localhost',
|
248 |
'dbem_mail_sender_name' => '',
|
249 |
'dbem_rsvp_mail_send_method' => 'smtp',
|
250 |
'dbem_rsvp_mail_SMTPAuth' => 1,
|
251 |
+
//Image Manipulation
|
252 |
'dbem_image_max_width' => 700,
|
253 |
'dbem_image_max_height' => 700,
|
254 |
'dbem_image_max_size' => 204800,
|
255 |
+
//Calendar Options
|
256 |
'dbem_list_date_title' => __('Events', 'dbem').' - #j #M #y',
|
257 |
'dbem_full_calendar_event_format' => '<li>#_EVENTLINK</li>',
|
258 |
'dbem_full_calendar_long_events' => '0',
|
259 |
'dbem_small_calendar_event_title_format' => "#_NAME",
|
260 |
'dbem_small_calendar_event_title_separator' => ", ",
|
261 |
+
//General Settings
|
262 |
+
'dbem_use_select_for_locations' => 0,
|
263 |
+
'dbem_attributes_enabled' => 1,
|
264 |
+
'dbem_recurrence_enabled'=> 1,
|
265 |
+
'dbem_rsvp_enabled'=> 1,
|
266 |
+
'dbem_categories_enabled'=> 1,
|
267 |
+
'dbem_placeholders_custom' => '',
|
268 |
+
//Privacy Settings
|
269 |
+
'dbem_permissions_events' => 0,
|
270 |
+
'dbem_permissions_locations' => 0,
|
271 |
+
'dbem_permissions_categories' => 0,
|
272 |
+
//Title rewriting compatability
|
273 |
'dbem_disable_title_rewrites'=> false,
|
274 |
'dbem_title_html' => '<h2>#_PAGETITLE</h2>',
|
275 |
+
//Bookings
|
276 |
+
'dbem_bookings_approval' => 1,
|
277 |
+
'dbem_bookings_notify_admin' => 0,
|
278 |
+
'dbem_default_contact_person' => 1,
|
279 |
+
'dbem_bookings_contact_email' => 1,
|
280 |
+
'dbem_contactperson_email_subject' => __("New booking",'dbem'),
|
281 |
+
'dbem_contactperson_email_body' => str_replace("<br/>", "\n\r", $contact_person_email_body_localizable),
|
282 |
+
'dbem_contactperson_email_cancelled_subject' => __("Booking Cancelled",'dbem'),
|
283 |
+
'dbem_contactperson_email_cancelled_body' => str_replace("<br/>", "\n\r", $contact_person_email_cancelled_body_localizable),
|
284 |
+
'dbem_bookings_email_pending_subject' => __("Reservation Pending",'dbem'),
|
285 |
+
'dbem_bookings_email_pending_body' => str_replace("<br/>", "\n\r", $respondent_email_pending_body_localizable),
|
286 |
+
'dbem_bookings_email_rejected_subject' => __("Reservation Rejected",'dbem'),
|
287 |
+
'dbem_bookings_email_rejected_body' => str_replace("<br/>", "\n\r", $respondent_email_rejected_body_localizable),
|
288 |
+
'dbem_bookings_email_confirmed_subject' => __('Booking Confirmed','dbem'),
|
289 |
+
'dbem_bookings_email_confirmed_body' => str_replace("<br/>", "\n\r", $respondent_email_body_localizable),
|
290 |
+
'dbem_bookings_email_cancelled_subject' => __('Booking Cancelled','dbem'),
|
291 |
+
'dbem_bookings_email_cancelled_body' => str_replace("<br/>", "\n\r", $respondent_email_cancelled_body_localizable),
|
292 |
+
//Flags
|
293 |
+
'dbem_hello_to_user' => 1,
|
294 |
);
|
295 |
|
296 |
foreach($dbem_options as $key => $value){
|
297 |
add_option($key, $value);
|
298 |
}
|
299 |
//Customization for new options on updated plugins (not new installs)
|
300 |
+
if( get_option('dbem_version') != '' && get_option('dbem_version') <= 3.091){
|
301 |
+
//New options, defaults for updates
|
302 |
+
add_option('dbem_admin_notice_3.0.91',1);
|
303 |
+
update_option('dbem_bookings_approval',0); //Previously in <3.0.9 bookings were never approvable
|
304 |
+
update_option('dbem_bookings_approval_warning',1); //One off warning for old EM users to activate this new feature
|
305 |
+
update_option('dbem_permissions_events',1); //set to 2, so updaters don't get a surprise!
|
306 |
+
update_option('dbem_permissions_locations',2); //set to 2, so updaters don't get a surprise!
|
307 |
+
update_option('dbem_permissions_categories',2); //set to 2, so updaters don't get a surprise!
|
308 |
+
//Contact person email flag
|
309 |
+
update_option('dbem_bookings_contact_email',get_option('dbem_rsvp_notify_contact'));
|
310 |
+
//Booking emails
|
311 |
+
if( get_option('dbem_respondent_email_body') != '' ){
|
312 |
+
update_option('dbem_bookings_email_confirmed_body', get_option('dbem_respondent_email_body'));
|
313 |
+
}
|
314 |
+
update_option('dbem_bookings_contact_email_subject', get_option('dbem_contactperson_email_subject'));
|
315 |
+
update_option('dbem_bookings_contact_email_body', get_option('dbem_contactperson_email_body'));
|
316 |
+
/* deleted options (won't do this in case some need to revert)
|
317 |
+
delete_option('dbem_rsvp_notify_contact');
|
318 |
+
delete_option('dbem_contactperson_email_subject');
|
319 |
+
delete_option('dbem_contactperson_email_body');
|
320 |
+
delete_option('dbem_respondent_email_body');
|
321 |
+
*/
|
322 |
}
|
323 |
}
|
324 |
|
events-manager.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Events Manager
|
4 |
-
Version: 3.0.
|
5 |
Plugin URI: http://wp-events-plugin.com
|
6 |
Description: Manage events specifying precise spatial data (Location, Town, Province, etc).
|
7 |
Author: Davide Benini, Marcus Sykes
|
@@ -62,6 +62,7 @@ include_once('classes/em-booking.php');
|
|
62 |
include_once('classes/em-bookings.php');
|
63 |
include_once('classes/em-calendar.php');
|
64 |
include_once('classes/em-category.php');
|
|
|
65 |
include_once('classes/em-event.php');
|
66 |
include_once('classes/em-events.php');
|
67 |
include_once('classes/em-location.php');
|
@@ -82,13 +83,21 @@ if( is_admin() ){
|
|
82 |
include_once('admin/em-locations.php');
|
83 |
include_once('admin/em-options.php');
|
84 |
include_once('admin/em-people.php');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
}
|
86 |
|
87 |
|
88 |
// Setting constants
|
89 |
-
define('EM_VERSION', 3.
|
90 |
define('EM_CATEGORIES_TABLE', 'em_categories'); //TABLE NAME
|
91 |
define('EM_EVENTS_TABLE','em_events'); //TABLE NAME
|
|
|
92 |
define('EM_RECURRENCE_TABLE','dbem_recurrence'); //TABLE NAME
|
93 |
define('EM_LOCATIONS_TABLE','em_locations'); //TABLE NAME
|
94 |
define('EM_BOOKINGS_TABLE','em_bookings'); //TABLE NAME
|
@@ -136,16 +145,27 @@ load_plugin_textdomain('dbem', false, dirname( plugin_basename( __FILE__ ) ).'/i
|
|
136 |
* @return null
|
137 |
*/
|
138 |
function em_load_event(){
|
139 |
-
global $EM_Event, $EM_Recurrences, $EM_Location, $EM_Mailer;
|
140 |
$EM_Recurrences = array();
|
141 |
if( isset( $_REQUEST['event_id'] ) && is_numeric($_REQUEST['event_id']) ){
|
142 |
$EM_Event = new EM_Event($_REQUEST['event_id']);
|
143 |
-
}
|
|
|
144 |
//Eventually we can just remove this.... each event has an event_id regardless of what it is.
|
145 |
$EM_Event = new EM_Event($_REQUEST['recurrence_id']);
|
146 |
-
}
|
|
|
147 |
$EM_Location = new EM_Location($_REQUEST['location_id']);
|
148 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
$EM_Mailer = new EM_Mailer();
|
150 |
define('EM_URI', get_permalink(get_option("dbem_events_page"))); //PAGE URI OF EM
|
151 |
define('EM_RSS_URI', get_bloginfo('wpurl')."/?dbem_rss=main"); //RSS PAGE URI
|
@@ -175,15 +195,29 @@ add_filter( 'plugin_row_meta', 'em_set_plugin_meta', 10, 2 );
|
|
175 |
// Create the Manage Events and the Options submenus
|
176 |
function em_create_events_submenu () {
|
177 |
if(function_exists('add_submenu_page')) {
|
178 |
-
//
|
179 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
// Add a submenu to the custom top-level menu:
|
181 |
$plugin_pages = array();
|
182 |
$plugin_pages[] = add_submenu_page('events-manager', __('Edit'),__('Edit'),EM_MIN_CAPABILITY,'events-manager','em_admin_events_page');
|
183 |
$plugin_pages[] = add_submenu_page('events-manager', __('Add new', 'dbem'), __('Add new','dbem'), EM_MIN_CAPABILITY, 'events-manager-event', "em_admin_event_page");
|
184 |
-
|
185 |
-
|
186 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
$plugin_pages[] = add_submenu_page('events-manager', __('Events Manager Settings','dbem'),__('Settings','dbem'), EM_SETTING_CAPABILITY, "events-manager-options", 'em_admin_options_page');
|
188 |
$plugin_pages[] = add_submenu_page('events-manager', __('Getting Help for Events Manager','dbem'),__('Help','dbem'), EM_SETTING_CAPABILITY, "events-manager-help", 'em_admin_help_page');
|
189 |
foreach($plugin_pages as $plugin_page){
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Events Manager
|
4 |
+
Version: 3.0.91
|
5 |
Plugin URI: http://wp-events-plugin.com
|
6 |
Description: Manage events specifying precise spatial data (Location, Town, Province, etc).
|
7 |
Author: Davide Benini, Marcus Sykes
|
62 |
include_once('classes/em-bookings.php');
|
63 |
include_once('classes/em-calendar.php');
|
64 |
include_once('classes/em-category.php');
|
65 |
+
include_once('classes/em-categories.php');
|
66 |
include_once('classes/em-event.php');
|
67 |
include_once('classes/em-events.php');
|
68 |
include_once('classes/em-location.php');
|
83 |
include_once('admin/em-locations.php');
|
84 |
include_once('admin/em-options.php');
|
85 |
include_once('admin/em-people.php');
|
86 |
+
//bookings folder
|
87 |
+
include_once('admin/bookings/em-cancelled.php');
|
88 |
+
include_once('admin/bookings/em-confirmed.php');
|
89 |
+
include_once('admin/bookings/em-events.php');
|
90 |
+
include_once('admin/bookings/em-rejected.php');
|
91 |
+
include_once('admin/bookings/em-pending.php');
|
92 |
+
include_once('admin/bookings/em-person.php');
|
93 |
}
|
94 |
|
95 |
|
96 |
// Setting constants
|
97 |
+
define('EM_VERSION', 3.091); //self expanatory
|
98 |
define('EM_CATEGORIES_TABLE', 'em_categories'); //TABLE NAME
|
99 |
define('EM_EVENTS_TABLE','em_events'); //TABLE NAME
|
100 |
+
define('EM_META_TABLE','em_meta'); //TABLE NAME
|
101 |
define('EM_RECURRENCE_TABLE','dbem_recurrence'); //TABLE NAME
|
102 |
define('EM_LOCATIONS_TABLE','em_locations'); //TABLE NAME
|
103 |
define('EM_BOOKINGS_TABLE','em_bookings'); //TABLE NAME
|
145 |
* @return null
|
146 |
*/
|
147 |
function em_load_event(){
|
148 |
+
global $EM_Event, $EM_Recurrences, $EM_Location, $EM_Mailer, $EM_Person, $EM_Booking, $EM_Category;
|
149 |
$EM_Recurrences = array();
|
150 |
if( isset( $_REQUEST['event_id'] ) && is_numeric($_REQUEST['event_id']) ){
|
151 |
$EM_Event = new EM_Event($_REQUEST['event_id']);
|
152 |
+
}
|
153 |
+
if( isset($_REQUEST['recurrence_id']) && is_numeric($_REQUEST['recurrence_id']) ){
|
154 |
//Eventually we can just remove this.... each event has an event_id regardless of what it is.
|
155 |
$EM_Event = new EM_Event($_REQUEST['recurrence_id']);
|
156 |
+
}
|
157 |
+
if( isset($_REQUEST['location_id']) && is_numeric($_REQUEST['location_id']) ){
|
158 |
$EM_Location = new EM_Location($_REQUEST['location_id']);
|
159 |
}
|
160 |
+
if( isset($_REQUEST['person_id']) && is_numeric($_REQUEST['person_id']) ){
|
161 |
+
$EM_Person = new EM_Person($_REQUEST['person_id']);
|
162 |
+
}
|
163 |
+
if( isset($_REQUEST['booking_id']) && is_numeric($_REQUEST['booking_id']) ){
|
164 |
+
$EM_Booking = new EM_Booking($_REQUEST['booking_id']);
|
165 |
+
}
|
166 |
+
if( isset($_REQUEST['category_id']) && is_numeric($_REQUEST['category_id']) ){
|
167 |
+
$EM_Category = new EM_Category($_REQUEST['category_id']);
|
168 |
+
}
|
169 |
$EM_Mailer = new EM_Mailer();
|
170 |
define('EM_URI', get_permalink(get_option("dbem_events_page"))); //PAGE URI OF EM
|
171 |
define('EM_RSS_URI', get_bloginfo('wpurl')."/?dbem_rss=main"); //RSS PAGE URI
|
195 |
// Create the Manage Events and the Options submenus
|
196 |
function em_create_events_submenu () {
|
197 |
if(function_exists('add_submenu_page')) {
|
198 |
+
//Count pending bookings
|
199 |
+
$num = '';
|
200 |
+
if( get_option('dbem_bookings_approval') == 1){
|
201 |
+
$bookings_pending_count = count(EM_Bookings::get(array('status'=>0)));
|
202 |
+
//TODO Add flexible permissions
|
203 |
+
if($bookings_pending_count > 0){
|
204 |
+
$num = '<span class="update-plugins count-'.$bookings_pending_count.'"><span class="plugin-count">'.$bookings_pending_count.'</span></span>';
|
205 |
+
}
|
206 |
+
}
|
207 |
+
add_object_page(__('Events', 'dbem'),__('Events', 'dbem').$num,EM_MIN_CAPABILITY,'events-manager','em_admin_events_page', '../wp-content/plugins/events-manager/includes/images/calendar-16.png');
|
208 |
// Add a submenu to the custom top-level menu:
|
209 |
$plugin_pages = array();
|
210 |
$plugin_pages[] = add_submenu_page('events-manager', __('Edit'),__('Edit'),EM_MIN_CAPABILITY,'events-manager','em_admin_events_page');
|
211 |
$plugin_pages[] = add_submenu_page('events-manager', __('Add new', 'dbem'), __('Add new','dbem'), EM_MIN_CAPABILITY, 'events-manager-event', "em_admin_event_page");
|
212 |
+
if( get_option('dbem_permissions_locations') != 1 || em_verify_admin() ){
|
213 |
+
$plugin_pages[] = add_submenu_page('events-manager', __('Locations', 'dbem'), __('Locations', 'dbem'), EM_MIN_CAPABILITY, 'events-manager-locations', "em_admin_locations_page");
|
214 |
+
}
|
215 |
+
if(get_option('dbem_rsvp_enabled') == 1){
|
216 |
+
$plugin_pages[] = add_submenu_page('events-manager', __('Bookings', 'dbem'), __('Bookings', 'dbem').$num, EM_MIN_CAPABILITY, 'events-manager-bookings', "em_bookings_page");
|
217 |
+
}
|
218 |
+
if( get_option('dbem_permissions_categories') != 1 || em_verify_admin() ){
|
219 |
+
$plugin_pages[] = add_submenu_page('events-manager', __('Event Categories','dbem'),__('Categories','dbem'), EM_MIN_CAPABILITY, "events-manager-categories", 'em_admin_categories_page');
|
220 |
+
}
|
221 |
$plugin_pages[] = add_submenu_page('events-manager', __('Events Manager Settings','dbem'),__('Settings','dbem'), EM_SETTING_CAPABILITY, "events-manager-options", 'em_admin_options_page');
|
222 |
$plugin_pages[] = add_submenu_page('events-manager', __('Getting Help for Events Manager','dbem'),__('Help','dbem'), EM_SETTING_CAPABILITY, "events-manager-help", 'em_admin_help_page');
|
223 |
foreach($plugin_pages as $plugin_page){
|
includes/css/events_manager.css
CHANGED
@@ -141,7 +141,8 @@ Please edit your theme's CSS to override this
|
|
141 |
.em-map-balloon .em-map-balloon-content {
|
142 |
margin:0px 0px 0px 0px !important;
|
143 |
padding:0px 0px 20px 0px !important;
|
144 |
-
font-size:12px !important;
|
|
|
145 |
width:auto !important;
|
146 |
max-width:none !important;
|
147 |
height:auto !important;
|
141 |
.em-map-balloon .em-map-balloon-content {
|
142 |
margin:0px 0px 0px 0px !important;
|
143 |
padding:0px 0px 20px 0px !important;
|
144 |
+
font-size:12px !important;
|
145 |
+
color:#000000 !important;
|
146 |
width:auto !important;
|
147 |
max-width:none !important;
|
148 |
height:auto !important;
|
includes/css/events_manager_admin.css
CHANGED
@@ -52,6 +52,21 @@ div#icon-events{
|
|
52 |
background:url('../images/calendar-32.png') no-repeat center;
|
53 |
}
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
/*Help Docs*/
|
56 |
.em-docs h3 a { font-size:16px; padding:20px 0px 10px; text-decoration:underline; display:block; }
|
57 |
.em-docs dl, .em-docs h2, .em-docs h3, .em-docs h4, .em-docs dl { clear:left; }
|
52 |
background:url('../images/calendar-32.png') no-repeat center;
|
53 |
}
|
54 |
|
55 |
+
/* Events Add Page */
|
56 |
+
#event-form #event-name, #location-form, #location-name { margin: 2px 0 7px; padding: 6px 5px; width: 100%; }
|
57 |
+
|
58 |
+
/* Google Map Object */
|
59 |
+
#location-balloon-content h3 { background:none; text-shadow:none; }
|
60 |
+
|
61 |
+
/* Options Page */
|
62 |
+
#dbem_options_form td, #dbem_options_form th { vertical-align:top; }
|
63 |
+
|
64 |
+
/* Widget Tables CSS */
|
65 |
+
.em_obj .table-wrap{
|
66 |
+
position:relative;
|
67 |
+
}
|
68 |
+
.em_obj #em-loading { position:absolute; width:100%; height:100%; background:#FFFFFF url(../images/loading.gif) 50% 50% no-repeat; left:0px; top:0px; opacity:0.8; filter:alpha(opacity=80)}
|
69 |
+
|
70 |
/*Help Docs*/
|
71 |
.em-docs h3 a { font-size:16px; padding:20px 0px 10px; text-decoration:underline; display:block; }
|
72 |
.em-docs dl, .em-docs h2, .em-docs h3, .em-docs h4, .em-docs dl { clear:left; }
|
includes/js/em_admin.js
CHANGED
@@ -1,221 +1,272 @@
|
|
1 |
-
jQuery(document).ready( function($) {
|
2 |
-
// Managing bookings delete operations
|
3 |
-
$('a.bookingdelbutton').click( function(){
|
4 |
-
eventId = (jQuery(this).parents('table:first').attr('id').split("-"))[3];
|
5 |
-
idToRemove = (jQuery(this).parents('tr:first').attr('id').split("-"))[1];
|
6 |
-
$.ajax({
|
7 |
-
type: "POST",
|
8 |
-
url: "admin.php?page=events-manager-
|
9 |
-
data: "booking_id="+ idToRemove,
|
10 |
-
success: function(){
|
11 |
-
$('tr#booking-' + idToRemove).fadeOut('slow');
|
12 |
-
$.getJSON("admin.php?page=events-manager-people&dbem_ajax_action=booking_data",{id: eventId, ajax: 'true'}, function(data){
|
13 |
-
booked = data[0].bookedSeats;
|
14 |
-
available = data[0].availableSeats;
|
15 |
-
$('td#booked-seats').text(booked);
|
16 |
-
$('td#available-seats').text(available);
|
17 |
-
});
|
18 |
-
}
|
19 |
-
});
|
20 |
-
});
|
21 |
-
|
22 |
-
//
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
var
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
$(
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
metaCopy
|
67 |
-
metaCopy.find('[name=mtm_1_ref]').attr(
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
var
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
});
|
152 |
-
var
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
document.
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
$('#em-map
|
176 |
-
map.
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
})
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready( function($) {
|
2 |
+
// Managing bookings delete operations -old
|
3 |
+
$('a.bookingdelbutton').click( function(){
|
4 |
+
eventId = (jQuery(this).parents('table:first').attr('id').split("-"))[3];
|
5 |
+
idToRemove = (jQuery(this).parents('tr:first').attr('id').split("-"))[1];
|
6 |
+
$.ajax({
|
7 |
+
type: "POST",
|
8 |
+
url: "admin.php?page=events-manager-bookings&action=remove_booking",
|
9 |
+
data: "booking_id="+ idToRemove,
|
10 |
+
success: function(){
|
11 |
+
$('tr#booking-' + idToRemove).fadeOut('slow');
|
12 |
+
$.getJSON("admin.php?page=events-manager-people&dbem_ajax_action=booking_data",{id: eventId, ajax: 'true'}, function(data){
|
13 |
+
booked = data[0].bookedSeats;
|
14 |
+
available = data[0].availableSeats;
|
15 |
+
$('td#booked-seats').text(booked);
|
16 |
+
$('td#available-seats').text(available);
|
17 |
+
});
|
18 |
+
}
|
19 |
+
});
|
20 |
+
});
|
21 |
+
|
22 |
+
//Manageing Bookings
|
23 |
+
//Widgets and filter submissions
|
24 |
+
$('.em_bookings_events_table form, .em_bookings_pending_table form').live('submit', function(e){
|
25 |
+
var el = $(this);
|
26 |
+
var url = em_ajaxify( el.attr('action') );
|
27 |
+
el.parents('.wrap').find('.table-wrap').first().append('<div id="em-loading" />');
|
28 |
+
$.get( url, el.serializeArray(), function(data){
|
29 |
+
el.parents('.wrap').first().replaceWith(data);
|
30 |
+
});
|
31 |
+
return false;
|
32 |
+
});
|
33 |
+
//Pagination link clicks
|
34 |
+
$('.em_bookings_events_table .tablenav-pages a, .em_bookings_pending_table .tablenav-pages a').live('click', function(){
|
35 |
+
var el = $(this);
|
36 |
+
var url = em_ajaxify( el.attr('href') );
|
37 |
+
el.parents('.wrap').find('.table-wrap').first().append('<div id="em-loading" />');
|
38 |
+
$.get( url, function(data){
|
39 |
+
el.parents('.wrap').first().replaceWith(data);
|
40 |
+
});
|
41 |
+
return false;
|
42 |
+
});
|
43 |
+
//Approve/Reject Links
|
44 |
+
$('.em-bookings-approve,.em-bookings-reject,.em-bookings-unapprove,.em-bookings-delete').live('click', function(){
|
45 |
+
var el = $(this);
|
46 |
+
console.log(el);
|
47 |
+
if( el.hasClass('em-bookings-delete') ){
|
48 |
+
if( !confirm("Are you sure you want to delete?") ){ return false; }
|
49 |
+
}
|
50 |
+
var url = em_ajaxify( el.attr('href'));
|
51 |
+
var td = el.parents('td').first();
|
52 |
+
td.html("Loading...");
|
53 |
+
td.load( url );
|
54 |
+
return false;
|
55 |
+
});
|
56 |
+
|
57 |
+
//Attributes
|
58 |
+
$('#mtm_add_tag').click( function(event){
|
59 |
+
event.preventDefault();
|
60 |
+
//Get All meta rows
|
61 |
+
var metas = $('#mtm_body').children();
|
62 |
+
//Copy first row and change values
|
63 |
+
var metaCopy = $(metas[0]).clone(true);
|
64 |
+
newId = metas.length + 1;
|
65 |
+
metaCopy.attr('id', 'mtm_'+newId);
|
66 |
+
metaCopy.find('a').attr('rel', newId);
|
67 |
+
metaCopy.find('[name=mtm_1_ref]').attr({
|
68 |
+
name:'mtm_'+newId+'_ref' ,
|
69 |
+
value:''
|
70 |
+
});
|
71 |
+
metaCopy.find('[name=mtm_1_content]').attr({
|
72 |
+
name:'mtm_'+newId+'_content' ,
|
73 |
+
value:''
|
74 |
+
});
|
75 |
+
metaCopy.find('[name=mtm_1_name]').attr({
|
76 |
+
name:'mtm_'+newId+'_name' ,
|
77 |
+
value:''
|
78 |
+
});
|
79 |
+
//Insert into end of file
|
80 |
+
$('#mtm_body').append(metaCopy);
|
81 |
+
//Duplicate the last entry, remove values and rename id
|
82 |
+
});
|
83 |
+
$('#mtm_body a').click( function(event){
|
84 |
+
event.preventDefault();
|
85 |
+
//Only remove if there's more than 1 meta tag
|
86 |
+
if($('#mtm_body').children().length > 1){
|
87 |
+
//Remove the item
|
88 |
+
var parents = $(this).parents('#mtm_body tr').first().remove();
|
89 |
+
//Renumber all the items
|
90 |
+
$('#mtm_body').children().each( function(i){
|
91 |
+
metaCopy = $(this);
|
92 |
+
oldId = metaCopy.attr('id').replace('mtm_','');
|
93 |
+
newId = i+1;
|
94 |
+
metaCopy.attr('id', 'mtm_'+newId);
|
95 |
+
metaCopy.find('a').attr('rel', newId);
|
96 |
+
metaCopy.find('[name=mtm_'+ oldId +'_ref]').attr('name', 'mtm_'+newId+'_ref');
|
97 |
+
metaCopy.find('[name=mtm_'+ oldId +'_content]').attr('name', 'mtm_'+newId+'_content');
|
98 |
+
metaCopy.find('[name=mtm_'+ oldId +'_name]').attr( 'name', 'mtm_'+newId+'_name');
|
99 |
+
});
|
100 |
+
}else{
|
101 |
+
metaCopy = $(this).parents('#mtm_body tr').first();
|
102 |
+
metaCopy.find('[name=mtm_1_ref]').attr('value', '');
|
103 |
+
metaCopy.find('[name=mtm_1_content]').attr('value', '');
|
104 |
+
metaCopy.find('[name=mtm_1_name]').attr( 'value', '');
|
105 |
+
alert("If you don't want any meta tags, just leave the text boxes blank and submit");
|
106 |
+
}
|
107 |
+
});
|
108 |
+
|
109 |
+
//Datepicker
|
110 |
+
if( $('#date-to-submit').length > 0 ){
|
111 |
+
$("#localised-date").datepicker({
|
112 |
+
altField: "#date-to-submit",
|
113 |
+
altFormat: "yy-mm-dd",
|
114 |
+
changeMonth: true,
|
115 |
+
changeYear: true
|
116 |
+
});
|
117 |
+
$("#localised-end-date").datepicker({
|
118 |
+
altField: "#end-date-to-submit",
|
119 |
+
altFormat: "yy-mm-dd",
|
120 |
+
changeMonth: true,
|
121 |
+
changeYear: true
|
122 |
+
});
|
123 |
+
if( $('#date-to-submit').val() != '' ){
|
124 |
+
date_dateFormat = $("#localised-date").datepicker('option', 'dateFormat');
|
125 |
+
start_date_formatted = $.datepicker.formatDate( date_dateFormat, $.datepicker.parseDate('yy-mm-dd', $('#date-to-submit').val()) );
|
126 |
+
end_date_formatted = $.datepicker.formatDate( date_dateFormat, $.datepicker.parseDate('yy-mm-dd', $('#end-date-to-submit').val()) );
|
127 |
+
$("#localised-date").val(start_date_formatted);
|
128 |
+
$("#localised-end-date").val(end_date_formatted);
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
|
133 |
+
//Location stuff - only needed if inputs for location exist
|
134 |
+
if( $('select#location-select-id, input#location-name').length > 0 ){
|
135 |
+
|
136 |
+
//Load map
|
137 |
+
if($('#em-map').length > 0){
|
138 |
+
var em_LatLng = new google.maps.LatLng(0, 0);
|
139 |
+
var map = new google.maps.Map( document.getElementById('em-map'), {
|
140 |
+
zoom: 14,
|
141 |
+
center: em_LatLng,
|
142 |
+
mapTypeId: google.maps.MapTypeId.ROADMAP,
|
143 |
+
mapTypeControl: false
|
144 |
+
});
|
145 |
+
var marker = new google.maps.Marker({
|
146 |
+
position: em_LatLng,
|
147 |
+
map: map
|
148 |
+
});
|
149 |
+
var infoWindow = new google.maps.InfoWindow({
|
150 |
+
content: ''
|
151 |
+
});
|
152 |
+
var geocoder = new google.maps.Geocoder();
|
153 |
+
google.maps.event.addListener(infoWindow, 'domready', function() {
|
154 |
+
document.getElementById('location-balloon-content').parentNode.style.overflow='';
|
155 |
+
document.getElementById('location-balloon-content').parentNode.parentNode.style.overflow='';
|
156 |
+
});
|
157 |
+
}
|
158 |
+
|
159 |
+
//Add listeners for changes to address
|
160 |
+
var get_map_by_id = function(id){
|
161 |
+
if($('#em-map').length > 0){
|
162 |
+
$.getJSON(document.URL,{ em_ajax_action:'get_location', id:id }, function(data){
|
163 |
+
if( data.location_latitude!=0 && data.location_longitude!=0 ){
|
164 |
+
loc_latlng = new google.maps.LatLng(data.location_latitude, data.location_longitude);
|
165 |
+
marker.setPosition(loc_latlng);
|
166 |
+
marker.setTitle( data.location_name );
|
167 |
+
$('#em-map').show();
|
168 |
+
$('#em-map-404').hide();
|
169 |
+
map.setCenter(loc_latlng);
|
170 |
+
map.panBy(40,-55);
|
171 |
+
infoWindow.setContent( '<div id="location-balloon-content">'+ data.location_balloon +'</div>');
|
172 |
+
infoWindow.open(map, marker);
|
173 |
+
google.maps.event.trigger(map, 'resize');
|
174 |
+
}else{
|
175 |
+
$('#em-map').hide();
|
176 |
+
$('#em-map-404').show();
|
177 |
+
}
|
178 |
+
});
|
179 |
+
}
|
180 |
+
}
|
181 |
+
$('#location-select-id').change( function(){get_map_by_id($(this).val())} );
|
182 |
+
$('#location-town, #location-address').change( function(){
|
183 |
+
var address = $('#location-address').val() + ', ' + $('#location-town').val();
|
184 |
+
if( address != '' && $('#em-map').length > 0 ){
|
185 |
+
geocoder.geocode( { 'address': address }, function(results, status) {
|
186 |
+
if (status == google.maps.GeocoderStatus.OK) {
|
187 |
+
marker.setPosition(results[0].geometry.location);
|
188 |
+
marker.setTitle( $('#location-name, #location-select-id').first().val() );
|
189 |
+
$('#location-latitude').val(results[0].geometry.location.lat());
|
190 |
+
$('#location-longitude').val(results[0].geometry.location.lng());
|
191 |
+
$('#em-map').show();
|
192 |
+
$('#em-map-404').hide();
|
193 |
+
google.maps.event.trigger(map, 'resize');
|
194 |
+
map.setCenter(results[0].geometry.location);
|
195 |
+
map.panBy(40,-55);
|
196 |
+
infoWindow.setContent(
|
197 |
+
'<div id="location-balloon-content"><strong>' +
|
198 |
+
$('#location-name').val() +
|
199 |
+
'</strong><br/>' +
|
200 |
+
$('#location-address').val() +
|
201 |
+
'<br/>' + $('#location-town').val()+
|
202 |
+
'</div>'
|
203 |
+
);
|
204 |
+
infoWindow.open(map, marker);
|
205 |
+
} else {
|
206 |
+
$('#em-map').hide();
|
207 |
+
$('#em-map-404').show();
|
208 |
+
}
|
209 |
+
});
|
210 |
+
}
|
211 |
+
});
|
212 |
+
|
213 |
+
$("input#location-town, select#location-select-id").triggerHandler('change');
|
214 |
+
|
215 |
+
//Finally, add autocomplete here
|
216 |
+
//Autocomplete
|
217 |
+
/* for jquery-ui-1.8.5
|
218 |
+
$( "#event-form input#location-name" ).autocomplete({
|
219 |
+
source: '../wp-content/plugins/events-manager/admin/locations-search.php',
|
220 |
+
minLength: 2,
|
221 |
+
select: function( event, ui ) {
|
222 |
+
$("input#location-address").val(ui.item.address);
|
223 |
+
$("input#location-town").val(ui.item.town);
|
224 |
+
if($('#em-map').length > 0){
|
225 |
+
get_map_by_id(ui.item.id);
|
226 |
+
}
|
227 |
+
}
|
228 |
+
});
|
229 |
+
*/
|
230 |
+
$( "#event-form input#location-name" ).autocomplete( '../wp-content/plugins/events-manager/admin/em-locations-search.php', {
|
231 |
+
multiple: true,
|
232 |
+
width: 350,
|
233 |
+
scroll:false,
|
234 |
+
selectFirst: false,
|
235 |
+
dataType: "json",
|
236 |
+
parse: function(data) {
|
237 |
+
return $.map(data, function(row) {
|
238 |
+
return {
|
239 |
+
data: row,
|
240 |
+
value: row.value,
|
241 |
+
result: row.value
|
242 |
+
}
|
243 |
+
});
|
244 |
+
},
|
245 |
+
formatItem: function(item) {
|
246 |
+
return item.value + '<br><span style="font-size:11px"><em>'+ item.address + ', ' + item.town;
|
247 |
+
},
|
248 |
+
formatResult: function(item){
|
249 |
+
return item.value;
|
250 |
+
}
|
251 |
+
}).result(function(e, item) {
|
252 |
+
e.preventDefault();
|
253 |
+
$( "input#location-name" ).val(item.value);
|
254 |
+
$('input#location-address').val(item.address);
|
255 |
+
$('input#location-town').val(item.town);
|
256 |
+
get_map_by_id(item.id);
|
257 |
+
});
|
258 |
+
}
|
259 |
+
});
|
260 |
+
|
261 |
+
|
262 |
+
//Take a url and add em_ajax param to it
|
263 |
+
function em_ajaxify(url){
|
264 |
+
if ( url.search('em_ajax=0') != -1){
|
265 |
+
url = url.replace('em_ajax=0','em_ajax=1');
|
266 |
+
}else if( url.search(/\?/) != -1 ){
|
267 |
+
url = url + "&em_ajax=1";
|
268 |
+
}else{
|
269 |
+
url = url + "?em_ajax=1";
|
270 |
+
}
|
271 |
+
return url;
|
272 |
+
}
|
includes/js/em_calendar_ajax.js
CHANGED
@@ -1,12 +1,19 @@
|
|
1 |
//inserted at wp_head
|
2 |
jQuery(document).ready( function($) {
|
3 |
-
|
4 |
-
|
5 |
$('a.em-calnav, a.em-calnav').live('click', function(e){
|
6 |
e.preventDefault();
|
7 |
-
$(this).
|
8 |
-
|
|
|
9 |
} );
|
10 |
-
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
});
|
1 |
//inserted at wp_head
|
2 |
jQuery(document).ready( function($) {
|
|
|
|
|
3 |
$('a.em-calnav, a.em-calnav').live('click', function(e){
|
4 |
e.preventDefault();
|
5 |
+
$(this).closest('.em-calendar-wrapper').prepend('<div class="loading" id="em-loading"></div>');
|
6 |
+
var url = em_ajaxify($(this).attr('href'));
|
7 |
+
$(this).closest('.em-calendar-wrapper').load(url);
|
8 |
} );
|
9 |
+
var em_ajaxify = function(url){
|
10 |
+
if ( url.search('em_ajax=0') != -1){
|
11 |
+
url = url.replace('em_ajax=0','em_ajax=1');
|
12 |
+
}else if( url.search(/\?/) != -1 ){
|
13 |
+
url = url + "&em_ajax=1";
|
14 |
+
}else{
|
15 |
+
url = url + "?em_ajax=1";
|
16 |
+
}
|
17 |
+
return url;
|
18 |
+
}
|
19 |
});
|
includes/js/em_maps.js
CHANGED
@@ -26,7 +26,7 @@ function em_maps() {
|
|
26 |
position: em_LatLng,
|
27 |
map: maps[map_id]
|
28 |
});
|
29 |
-
var infowindow = new google.maps.InfoWindow({ content: document.getElementById('em-location-map-info-'+map_id).
|
30 |
infowindow.open(maps[map_id],marker);
|
31 |
});
|
32 |
jQuery('.em-locations-map').each( function(index){
|
26 |
position: em_LatLng,
|
27 |
map: maps[map_id]
|
28 |
});
|
29 |
+
var infowindow = new google.maps.InfoWindow({ content: document.getElementById('em-location-map-info-'+map_id).firstElementChild });
|
30 |
infowindow.open(maps[map_id],marker);
|
31 |
});
|
32 |
jQuery('.em-locations-map').each( function(index){
|
includes/langs/dbem-nl_NL.mo
ADDED
Binary file
|
includes/langs/dbem-nl_NL.po
ADDED
@@ -0,0 +1,1577 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Translation of the WordPress plugin Events Manager 3.0.4 by Davide Benini, Marcus Sykes.
|
2 |
+
# Copyright (C) 2010 Davide Benini, Marcus Sykes
|
3 |
+
# This file is distributed under the same license as the Events Manager package.
|
4 |
+
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
5 |
+
#
|
6 |
+
msgid ""
|
7 |
+
msgstr ""
|
8 |
+
"Project-Id-Version: Events Manager 3.0.4\n"
|
9 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/events-manager\n"
|
10 |
+
"POT-Creation-Date: 2010-10-22 13:29+0000\n"
|
11 |
+
"PO-Revision-Date: 2011-01-23 23:50+0100\n"
|
12 |
+
"Last-Translator: Dennis Lutz <dennis@wipeout.nl>\n"
|
13 |
+
"Language-Team: \n"
|
14 |
+
"MIME-Version: 1.0\n"
|
15 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
+
"Content-Transfer-Encoding: 8bit\n"
|
17 |
+
|
18 |
+
# Dutch translation by Dennis Lutz
|
19 |
+
#: admin/admin.php:125
|
20 |
+
#: admin/categories.php:76
|
21 |
+
#: admin/categories.php:83
|
22 |
+
#: admin/event.php:279
|
23 |
+
#: admin/events.php:192
|
24 |
+
#: admin/locations.php:103
|
25 |
+
#: admin/locations.php:111
|
26 |
+
#: admin/people.php:39
|
27 |
+
#: bookings.php:78
|
28 |
+
#: bookings.php:149
|
29 |
+
msgid "Name"
|
30 |
+
msgstr "Naam"
|
31 |
+
|
32 |
+
#: admin/admin.php:126
|
33 |
+
msgid "Date"
|
34 |
+
msgstr "Datum"
|
35 |
+
|
36 |
+
#: admin/admin.php:127
|
37 |
+
#: admin/event.php:338
|
38 |
+
#: admin/events.php:194
|
39 |
+
msgid "Location"
|
40 |
+
msgstr "Locatie"
|
41 |
+
|
42 |
+
#: admin/admin.php:128
|
43 |
+
#: admin/locations.php:104
|
44 |
+
#: admin/locations.php:112
|
45 |
+
msgid "Address"
|
46 |
+
msgstr "Adres"
|
47 |
+
|
48 |
+
#: admin/admin.php:129
|
49 |
+
#: admin/locations.php:105
|
50 |
+
#: admin/locations.php:113
|
51 |
+
msgid "Town"
|
52 |
+
msgstr "Plaats"
|
53 |
+
|
54 |
+
#: admin/admin.php:143
|
55 |
+
msgid "Some required fields are missing:"
|
56 |
+
msgstr "Er ontbreken verplichte velden"
|
57 |
+
|
58 |
+
#: admin/admin.php:146
|
59 |
+
msgid "Since the event is repeated, you must specify an end date"
|
60 |
+
msgstr "Aangezien dit een herhaald evenement is, dient u een einddatum op te geven"
|
61 |
+
|
62 |
+
#: admin/bookings.php:17
|
63 |
+
msgid "Bookings deleted"
|
64 |
+
msgstr "Boekingen verwijderd"
|
65 |
+
|
66 |
+
#: admin/categories.php:56
|
67 |
+
#: events-manager.php:227
|
68 |
+
msgid "Categories"
|
69 |
+
msgstr "Categorieën"
|
70 |
+
|
71 |
+
#: admin/categories.php:75
|
72 |
+
#: admin/categories.php:82
|
73 |
+
msgid "ID"
|
74 |
+
msgstr "ID"
|
75 |
+
|
76 |
+
#: admin/categories.php:106
|
77 |
+
msgid "No categories have been inserted yet!"
|
78 |
+
msgstr "Er zijn nog geen categorieën opgegeven"
|
79 |
+
|
80 |
+
#: admin/categories.php:118
|
81 |
+
#: admin/categories.php:126
|
82 |
+
msgid "Add category"
|
83 |
+
msgstr "Categorie toevoegen"
|
84 |
+
|
85 |
+
#: admin/categories.php:122
|
86 |
+
#: admin/categories.php:164
|
87 |
+
msgid "Category name"
|
88 |
+
msgstr "Categorie naam"
|
89 |
+
|
90 |
+
#: admin/categories.php:124
|
91 |
+
#: admin/categories.php:166
|
92 |
+
msgid "The name of the category"
|
93 |
+
msgstr "De naam van de categorie"
|
94 |
+
|
95 |
+
#: admin/categories.php:148
|
96 |
+
msgid "Edit category"
|
97 |
+
msgstr "Categorie aanpassen"
|
98 |
+
|
99 |
+
#: admin/categories.php:169
|
100 |
+
msgid "Update category"
|
101 |
+
msgstr "Categorie bijwerken"
|
102 |
+
|
103 |
+
#: admin/event.php:4
|
104 |
+
#: admin/events.php:72
|
105 |
+
msgid "Insert New Event"
|
106 |
+
msgstr "Nieuw evenement aanmaken"
|
107 |
+
|
108 |
+
#: admin/event.php:31
|
109 |
+
msgid "Mon"
|
110 |
+
msgstr "Maa"
|
111 |
+
|
112 |
+
#: admin/event.php:31
|
113 |
+
msgid "Tue"
|
114 |
+
msgstr "Din"
|
115 |
+
|
116 |
+
#: admin/event.php:31
|
117 |
+
msgid "Wed"
|
118 |
+
msgstr "Woe"
|
119 |
+
|
120 |
+
#: admin/event.php:31
|
121 |
+
msgid "Thu"
|
122 |
+
msgstr "Don"
|
123 |
+
|
124 |
+
#: admin/event.php:31
|
125 |
+
msgid "Fri"
|
126 |
+
msgstr "Vri"
|
127 |
+
|
128 |
+
#: admin/event.php:31
|
129 |
+
msgid "Sat"
|
130 |
+
msgstr "Zat"
|
131 |
+
|
132 |
+
#: admin/event.php:31
|
133 |
+
msgid "Sun"
|
134 |
+
msgstr "Zon"
|
135 |
+
|
136 |
+
#: admin/event.php:42
|
137 |
+
msgid "WARNING: This is a recurring event."
|
138 |
+
msgstr "LET OP: Dit is een terugkerend evenement."
|
139 |
+
|
140 |
+
#: admin/event.php:44
|
141 |
+
msgid "Modifying these data all the events linked to this recurrence will be rescheduled"
|
142 |
+
msgstr "Wanneer deze gegevens worden aangepast, zullen alle gerelateerde evenementen worden aangepast"
|
143 |
+
|
144 |
+
#: admin/event.php:46
|
145 |
+
msgid "and all booking information will be deleted!"
|
146 |
+
msgstr "en alle boekingsinformatie zal worden verwijderd!"
|
147 |
+
|
148 |
+
#: admin/event.php:49
|
149 |
+
msgid "WARNING: This is a recurrence."
|
150 |
+
msgstr "LET OP: dit is een herhaling"
|
151 |
+
|
152 |
+
#: admin/event.php:51
|
153 |
+
msgid "If you change these data and save, this will become an independent event."
|
154 |
+
msgstr "Wanneer u deze gegevens aanpast en opslaat, wordt dit een op zich zelf staand evenement."
|
155 |
+
|
156 |
+
#: admin/event.php:66
|
157 |
+
msgid "Recurrence"
|
158 |
+
msgstr "Herhaling"
|
159 |
+
|
160 |
+
#: admin/event.php:73
|
161 |
+
msgid "Repeated event"
|
162 |
+
msgstr "Herhaald evenement"
|
163 |
+
|
164 |
+
#: admin/event.php:80
|
165 |
+
msgid "Daily"
|
166 |
+
msgstr "Dagelijks"
|
167 |
+
|
168 |
+
#: admin/event.php:80
|
169 |
+
msgid "Weekly"
|
170 |
+
msgstr "Wekelijks"
|
171 |
+
|
172 |
+
#: admin/event.php:80
|
173 |
+
msgid "Monthly"
|
174 |
+
msgstr "Maandelijks"
|
175 |
+
|
176 |
+
#: admin/event.php:86
|
177 |
+
#: admin/event.php:109
|
178 |
+
msgid "Every"
|
179 |
+
msgstr "Elke"
|
180 |
+
|
181 |
+
#: admin/event.php:89
|
182 |
+
msgid "day"
|
183 |
+
msgstr "dag"
|
184 |
+
|
185 |
+
#: admin/event.php:91
|
186 |
+
msgid "days"
|
187 |
+
msgstr "dagen"
|
188 |
+
|
189 |
+
#: admin/event.php:93
|
190 |
+
msgid "week"
|
191 |
+
msgstr "week"
|
192 |
+
|
193 |
+
#: admin/event.php:95
|
194 |
+
msgid "weeks"
|
195 |
+
msgstr "weken"
|
196 |
+
|
197 |
+
#: admin/event.php:97
|
198 |
+
msgid "month"
|
199 |
+
msgstr "maand"
|
200 |
+
|
201 |
+
#: admin/event.php:99
|
202 |
+
msgid "months"
|
203 |
+
msgstr "maanden"
|
204 |
+
|
205 |
+
#: admin/event.php:112
|
206 |
+
msgid "first"
|
207 |
+
msgstr "eerste"
|
208 |
+
|
209 |
+
#: admin/event.php:112
|
210 |
+
msgid "second"
|
211 |
+
msgstr "tweede"
|
212 |
+
|
213 |
+
#: admin/event.php:112
|
214 |
+
msgid "third"
|
215 |
+
msgstr "derde"
|
216 |
+
|
217 |
+
#: admin/event.php:112
|
218 |
+
msgid "fourth"
|
219 |
+
msgstr "vierde"
|
220 |
+
|
221 |
+
#: admin/event.php:112
|
222 |
+
msgid "last"
|
223 |
+
msgstr "laatste"
|
224 |
+
|
225 |
+
#: admin/event.php:123
|
226 |
+
msgid "Check if your event happens more than once according to a regular pattern"
|
227 |
+
msgstr "Controlleer of dit evenement meer dan eens voorkomt, volgens een vast patroon"
|
228 |
+
|
229 |
+
#: admin/event.php:130
|
230 |
+
#: admin/events.php:36
|
231 |
+
#: admin/events.php:255
|
232 |
+
msgid "Reschedule"
|
233 |
+
msgstr "Opnieuw plannen"
|
234 |
+
|
235 |
+
#: admin/event.php:135
|
236 |
+
msgid "This is't a recurrent event"
|
237 |
+
msgstr "Dit is geen terugkerend evenement"
|
238 |
+
|
239 |
+
#: admin/event.php:147
|
240 |
+
msgid "Contact Person"
|
241 |
+
msgstr "Neem contact op met"
|
242 |
+
|
243 |
+
#: admin/event.php:150
|
244 |
+
msgid "Contact"
|
245 |
+
msgstr "Contact"
|
246 |
+
|
247 |
+
#: admin/event.php:151
|
248 |
+
msgid "Select..."
|
249 |
+
msgstr "Selecteer"
|
250 |
+
|
251 |
+
#: admin/event.php:158
|
252 |
+
msgid "RSVP"
|
253 |
+
msgstr "RSVP"
|
254 |
+
|
255 |
+
#: admin/event.php:162
|
256 |
+
msgid "Enable registration for this event"
|
257 |
+
msgstr "Registratie voor dit evenement aanzetten"
|
258 |
+
|
259 |
+
#: admin/event.php:173
|
260 |
+
#: admin/event.php:192
|
261 |
+
msgid "Spaces"
|
262 |
+
msgstr "Plaatsen"
|
263 |
+
|
264 |
+
#: admin/event.php:185
|
265 |
+
msgid "responses so far"
|
266 |
+
msgstr "reacties tot nu toe"
|
267 |
+
|
268 |
+
#: admin/event.php:191
|
269 |
+
msgid "Responder"
|
270 |
+
msgstr "Respondent"
|
271 |
+
|
272 |
+
#: admin/event.php:197
|
273 |
+
msgid "Booked spaces"
|
274 |
+
msgstr "Geboekte plaatsen"
|
275 |
+
|
276 |
+
#: admin/event.php:198
|
277 |
+
msgid "Available spaces"
|
278 |
+
msgstr "Beschikbare plaatsen"
|
279 |
+
|
280 |
+
#: admin/event.php:208
|
281 |
+
msgid "Comment:"
|
282 |
+
msgstr "Commentaar:"
|
283 |
+
|
284 |
+
#: admin/event.php:226
|
285 |
+
msgid "Printable view"
|
286 |
+
msgstr "Afdrukbaar beeld"
|
287 |
+
|
288 |
+
#: admin/event.php:234
|
289 |
+
msgid "No responses yet!"
|
290 |
+
msgstr "Nog geen reacties"
|
291 |
+
|
292 |
+
#: admin/event.php:251
|
293 |
+
#: admin/events.php:228
|
294 |
+
msgid "Category"
|
295 |
+
msgstr "Categorie"
|
296 |
+
|
297 |
+
#: admin/event.php:254
|
298 |
+
msgid "Category:"
|
299 |
+
msgstr "Categorie:"
|
300 |
+
|
301 |
+
#: admin/event.php:284
|
302 |
+
msgid "The event name. Example: Birthday party"
|
303 |
+
msgstr "Naam van het evenement. Bijv. Verjaardagsfeestje"
|
304 |
+
|
305 |
+
#: admin/event.php:289
|
306 |
+
msgid "Event date"
|
307 |
+
msgstr "Datum evenement"
|
308 |
+
|
309 |
+
#: admin/event.php:292
|
310 |
+
msgid "Recurrence dates"
|
311 |
+
msgstr "Herhalingsdata"
|
312 |
+
|
313 |
+
#: admin/event.php:302
|
314 |
+
msgid "The event date."
|
315 |
+
msgstr "De datum van het evenement"
|
316 |
+
|
317 |
+
#: admin/event.php:305
|
318 |
+
msgid "When not reoccurring, this event spans between the beginning and end date."
|
319 |
+
msgstr "Wanneer het geen herhaald evenement is, wordt aangenomen dat het van begin tot einddatum duurt."
|
320 |
+
|
321 |
+
#: admin/event.php:310
|
322 |
+
msgid "The recurrence beginning and end date."
|
323 |
+
msgstr "Begin en einddatum van de herhaling"
|
324 |
+
|
325 |
+
#: admin/event.php:316
|
326 |
+
msgid "Event time"
|
327 |
+
msgstr "Tijd van het evenement"
|
328 |
+
|
329 |
+
#: admin/event.php:323
|
330 |
+
msgid "The time of the event beginning and end"
|
331 |
+
msgstr "De begin- en eindtijd van het evenement"
|
332 |
+
|
333 |
+
#: admin/event.php:328
|
334 |
+
msgid "Coordinates"
|
335 |
+
msgstr "Coördinaten"
|
336 |
+
|
337 |
+
#: admin/event.php:347
|
338 |
+
msgid "Location:"
|
339 |
+
msgstr "Locatie:"
|
340 |
+
|
341 |
+
#: admin/event.php:364
|
342 |
+
msgid "The name of the location where the event takes place. You can use the name of a venue, a square, etc"
|
343 |
+
msgstr "De naam van de locatie waar het evenement plaatsvindt."
|
344 |
+
|
345 |
+
#: admin/event.php:369
|
346 |
+
msgid "Name:"
|
347 |
+
msgstr "Naam:"
|
348 |
+
|
349 |
+
#: admin/event.php:372
|
350 |
+
msgid "Select a location for your event"
|
351 |
+
msgstr "Selecteer een locatie voor dit evenement"
|
352 |
+
|
353 |
+
#: admin/event.php:376
|
354 |
+
msgid "Address:"
|
355 |
+
msgstr "Adres"
|
356 |
+
|
357 |
+
#: admin/event.php:379
|
358 |
+
msgid "The address of the location where the event takes place. Example: 21, Dominick Street"
|
359 |
+
msgstr "Het adres van de locatie waar het evenemt zal plaatsvinden."
|
360 |
+
|
361 |
+
#: admin/event.php:383
|
362 |
+
msgid "Town:"
|
363 |
+
msgstr "Plaatsnaam"
|
364 |
+
|
365 |
+
#: admin/event.php:386
|
366 |
+
msgid "The town where the location is located. If you're using the Google Map integration and want to avoid geotagging ambiguities include the country in the town field. Example: Verona, Italy."
|
367 |
+
msgstr "De plaats waar de locatie is geleven. Bij gebruik van Google Map integratie, kunt u hier ook de landnaam invullen, om foutieve geologische informatie te voorkomen. Bijv Delft, Netherlands"
|
368 |
+
|
369 |
+
#: admin/event.php:395
|
370 |
+
#: admin/locations.php:181
|
371 |
+
#: admin/locations.php:265
|
372 |
+
msgid "Location not found"
|
373 |
+
msgstr "Locatie niet gevonden"
|
374 |
+
|
375 |
+
#: admin/event.php:406
|
376 |
+
msgid "Details"
|
377 |
+
msgstr "Details"
|
378 |
+
|
379 |
+
#: admin/event.php:413
|
380 |
+
msgid "Details about the event"
|
381 |
+
msgstr "Details over het evenement"
|
382 |
+
|
383 |
+
#: admin/event.php:420
|
384 |
+
msgid "Attributes"
|
385 |
+
msgstr "Attributen"
|
386 |
+
|
387 |
+
#: admin/event.php:475
|
388 |
+
msgid "Not defined in templates"
|
389 |
+
msgstr "Niet in de sjabloon gedefinieerd"
|
390 |
+
|
391 |
+
#: admin/event.php:519
|
392 |
+
msgid "In order to use attributes, you must define some in your templates, otherwise they'll never show. Go to Events > Settings to add attribute placeholders."
|
393 |
+
msgstr "Om attributen te kunnen gebruiken dient u deze te definieren in uw sjabloon. Ga naar Evenementen > Instellingen om markeringen toe te voegen."
|
394 |
+
|
395 |
+
#: admin/event.php:531
|
396 |
+
msgid "Submit Event"
|
397 |
+
msgstr "Evenement toevoegen"
|
398 |
+
|
399 |
+
#: admin/event.php:542
|
400 |
+
msgid "Are you sure you want to reschedule this recurring event? If you do this, you will lose all booking information and the old recurring events will be deleted."
|
401 |
+
msgstr "Weet u zeker dat u het schema wil aanpassen? alle reserveringsinformatie zal worden verwijderd!"
|
402 |
+
|
403 |
+
#: admin/event.php:552
|
404 |
+
msgid "Are you sure you want to disable bookings? If you do this and save, you will lose all previous bookings. If you wish to prevent further bookings, reduce the number of seats available to the amount of bookings you currently have"
|
405 |
+
msgstr "Weet u zeker dat u boekingen wil uitschakelen? Als u dat doet en toepast, zullen alle boekingen uit het verleden verloren gaan. Wanneer u wil voorkomen dat er nog meer geboekt wordt voor dit evenement, kunt u het aantal beschiklare plaatsen verminderen."
|
406 |
+
|
407 |
+
#: admin/events.php:51
|
408 |
+
#: admin/events.php:61
|
409 |
+
#: admin/locations.php:42
|
410 |
+
#: admin/locations.php:60
|
411 |
+
msgid "Ach, there's a problem here:"
|
412 |
+
msgstr "Oei, er is hier een probleem:"
|
413 |
+
|
414 |
+
#: admin/events.php:74
|
415 |
+
#: admin/events.php:85
|
416 |
+
msgid "Edit Event"
|
417 |
+
msgstr "Evenement aanpassen"
|
418 |
+
|
419 |
+
#: admin/events.php:98
|
420 |
+
msgid "Past Events"
|
421 |
+
msgstr "Evenementen uit het verleden"
|
422 |
+
|
423 |
+
#: admin/events.php:101
|
424 |
+
msgid "All Events"
|
425 |
+
msgstr "Alle evenementen"
|
426 |
+
|
427 |
+
#: admin/events.php:104
|
428 |
+
msgid "Future Events"
|
429 |
+
msgstr "Aankomende evenementen"
|
430 |
+
|
431 |
+
#: admin/events.php:116
|
432 |
+
#: admin/events.php:136
|
433 |
+
#: widgets/events.php:72
|
434 |
+
msgid "Past events"
|
435 |
+
msgstr "Evenementen uit het verleden"
|
436 |
+
|
437 |
+
#: admin/events.php:117
|
438 |
+
#: admin/events.php:137
|
439 |
+
#: widgets/events.php:71
|
440 |
+
msgid "All events"
|
441 |
+
msgstr "Alle evenementen"
|
442 |
+
|
443 |
+
#: admin/events.php:118
|
444 |
+
#: admin/events.php:138
|
445 |
+
#: widgets/events.php:70
|
446 |
+
msgid "Future events"
|
447 |
+
msgstr "Evenementen in de toekomst"
|
448 |
+
|
449 |
+
#: admin/events.php:143
|
450 |
+
msgid "Total"
|
451 |
+
msgstr "Totaal"
|
452 |
+
|
453 |
+
#: admin/events.php:151
|
454 |
+
msgid "Bulk Actions"
|
455 |
+
msgstr "Bulk acties"
|
456 |
+
|
457 |
+
#: admin/events.php:152
|
458 |
+
msgid "Delete selected"
|
459 |
+
msgstr "Verwijder geselecteerde"
|
460 |
+
|
461 |
+
#: admin/events.php:154
|
462 |
+
msgid "Apply"
|
463 |
+
msgstr "Toepassen"
|
464 |
+
|
465 |
+
#: admin/events.php:165
|
466 |
+
msgid "Filter"
|
467 |
+
msgstr "Filter"
|
468 |
+
|
469 |
+
#: admin/events.php:171
|
470 |
+
msgid "Previous Page"
|
471 |
+
msgstr "Vorige pagina"
|
472 |
+
|
473 |
+
#: admin/events.php:173
|
474 |
+
msgid "Next Page"
|
475 |
+
msgstr "Volgende pagina"
|
476 |
+
|
477 |
+
#: admin/events.php:182
|
478 |
+
msgid "no events"
|
479 |
+
msgstr "geen evenementen"
|
480 |
+
|
481 |
+
#: admin/events.php:195
|
482 |
+
msgid "Date and time"
|
483 |
+
msgstr "Datum en tijd"
|
484 |
+
|
485 |
+
#: admin/events.php:207
|
486 |
+
#: admin/events.php:208
|
487 |
+
msgid "D d M Y"
|
488 |
+
msgstr "D d < Y"
|
489 |
+
|
490 |
+
#: admin/events.php:232
|
491 |
+
msgid "Duplicate this event"
|
492 |
+
msgstr "Dupliceer dit evenement"
|
493 |
+
|
494 |
+
#: admin/locations.php:20
|
495 |
+
msgid "Locations Deleted"
|
496 |
+
msgstr "Locaties verwijderd"
|
497 |
+
|
498 |
+
#: admin/locations.php:36
|
499 |
+
msgid "The location has been updated."
|
500 |
+
msgstr "De locatie is aangepast"
|
501 |
+
|
502 |
+
#: admin/locations.php:55
|
503 |
+
msgid "The location has been added."
|
504 |
+
msgstr "De locatie is toegevoegd"
|
505 |
+
|
506 |
+
#: admin/locations.php:83
|
507 |
+
#: events-manager.php:225
|
508 |
+
msgid "Locations"
|
509 |
+
msgstr "Locaties"
|
510 |
+
|
511 |
+
#: admin/locations.php:138
|
512 |
+
msgid "No venues have been inserted yet!"
|
513 |
+
msgstr "Er zijn nog geen plaatsen ingevoerd"
|
514 |
+
|
515 |
+
#: admin/locations.php:148
|
516 |
+
#: admin/locations.php:203
|
517 |
+
msgid "Add location"
|
518 |
+
msgstr "Locatie toevoegen"
|
519 |
+
|
520 |
+
#: admin/locations.php:152
|
521 |
+
#: admin/locations.php:235
|
522 |
+
msgid "Location name"
|
523 |
+
msgstr "Locatienaam"
|
524 |
+
|
525 |
+
#: admin/locations.php:154
|
526 |
+
#: admin/locations.php:237
|
527 |
+
msgid "The name of the location"
|
528 |
+
msgstr "Naam van de locatie"
|
529 |
+
|
530 |
+
#: admin/locations.php:158
|
531 |
+
#: admin/locations.php:241
|
532 |
+
msgid "Location address"
|
533 |
+
msgstr "Locatie adres"
|
534 |
+
|
535 |
+
#: admin/locations.php:160
|
536 |
+
#: admin/locations.php:243
|
537 |
+
msgid "The address of the location"
|
538 |
+
msgstr "Adres van de locatie"
|
539 |
+
|
540 |
+
#: admin/locations.php:164
|
541 |
+
#: admin/locations.php:248
|
542 |
+
msgid "Location town"
|
543 |
+
msgstr "Plaatsnaam locatie"
|
544 |
+
|
545 |
+
#: admin/locations.php:166
|
546 |
+
msgid "The town of the location"
|
547 |
+
msgstr "De plaats waar de locatie zich bevindt"
|
548 |
+
|
549 |
+
#: admin/locations.php:189
|
550 |
+
#: admin/locations.php:285
|
551 |
+
msgid "Location image"
|
552 |
+
msgstr "Afbeelding van de locatie"
|
553 |
+
|
554 |
+
#: admin/locations.php:191
|
555 |
+
msgid "Select an image to upload"
|
556 |
+
msgstr "Selecteer een afbeelding om te uploaden"
|
557 |
+
|
558 |
+
#: admin/locations.php:195
|
559 |
+
#: admin/locations.php:274
|
560 |
+
msgid "Location description"
|
561 |
+
msgstr "Omschrijving locatie"
|
562 |
+
|
563 |
+
#: admin/locations.php:200
|
564 |
+
#: admin/locations.php:280
|
565 |
+
msgid "A description of the Location. You may include any kind of info here."
|
566 |
+
msgstr "Een omschrijving van de locatie."
|
567 |
+
|
568 |
+
#: admin/locations.php:221
|
569 |
+
msgid "Edit location"
|
570 |
+
msgstr "Locatie aanpassen"
|
571 |
+
|
572 |
+
#: admin/locations.php:250
|
573 |
+
msgid "The town where the location is located"
|
574 |
+
msgstr "De plaats waar de locatie zich bevindt"
|
575 |
+
|
576 |
+
#: admin/locations.php:262
|
577 |
+
msgid "Location map"
|
578 |
+
msgstr "Kaart van de locatie"
|
579 |
+
|
580 |
+
#: admin/locations.php:290
|
581 |
+
msgid "No image uploaded for this location yet"
|
582 |
+
msgstr "er is nog geen afbeelding voor deze locatie"
|
583 |
+
|
584 |
+
#: admin/locations.php:295
|
585 |
+
msgid "Upload/change picture"
|
586 |
+
msgstr "Upload of vervang afbeelding"
|
587 |
+
|
588 |
+
#: admin/locations.php:299
|
589 |
+
msgid "Update location"
|
590 |
+
msgstr "Locatiewijzigingen toepassen"
|
591 |
+
|
592 |
+
#: admin/options.php:16
|
593 |
+
msgid "Changes saved."
|
594 |
+
msgstr "Wijzigingen zijn opgeslagen"
|
595 |
+
|
596 |
+
#: admin/options.php:28
|
597 |
+
#: admin/options.php:240
|
598 |
+
msgid "Save Changes"
|
599 |
+
msgstr "Wijzigingen opslaan"
|
600 |
+
|
601 |
+
#: admin/options.php:28
|
602 |
+
msgid "All"
|
603 |
+
msgstr "Alle"
|
604 |
+
|
605 |
+
#: admin/options.php:32
|
606 |
+
msgid "Collapse All"
|
607 |
+
msgstr "Alles inklappen"
|
608 |
+
|
609 |
+
#: admin/options.php:33
|
610 |
+
msgid "Expand All"
|
611 |
+
msgstr "Alles uitklappen"
|
612 |
+
|
613 |
+
#: admin/options.php:51
|
614 |
+
msgid "Event Manager Options"
|
615 |
+
msgstr "Event Manager opties"
|
616 |
+
|
617 |
+
#: admin/options.php:61
|
618 |
+
#: admin/options.php:78
|
619 |
+
#: admin/options.php:106
|
620 |
+
#: admin/options.php:125
|
621 |
+
#: admin/options.php:140
|
622 |
+
#: admin/options.php:156
|
623 |
+
#: admin/options.php:171
|
624 |
+
#: admin/options.php:192
|
625 |
+
#: admin/options.php:208
|
626 |
+
#: admin/options.php:227
|
627 |
+
msgid "Click to toggle"
|
628 |
+
msgstr "Klik om aan/uit te zetten"
|
629 |
+
|
630 |
+
#: admin/options.php:61
|
631 |
+
msgid "General options"
|
632 |
+
msgstr "Algemente opties"
|
633 |
+
|
634 |
+
#: admin/options.php:65
|
635 |
+
msgid "Use dropdown for locations?"
|
636 |
+
msgstr "Dropdown voor locaties gebruiken?"
|
637 |
+
|
638 |
+
#: admin/options.php:65
|
639 |
+
msgid "Select yes to select location from a drow-down menu; location selection will be faster, but you will lose the ability to insert locations with events"
|
640 |
+
msgstr "Selecteer 'ja' om de locatie uit een dropdown lijst te selecteren. Daarmee vervalt de mogelijkheid om locaties toe te voegen bij evenementen"
|
641 |
+
|
642 |
+
#: admin/options.php:66
|
643 |
+
msgid "Use recurrence?"
|
644 |
+
msgstr "Herhaling gebruiken?"
|
645 |
+
|
646 |
+
#: admin/options.php:66
|
647 |
+
msgid "Select yes to enable the recurrence features feature"
|
648 |
+
msgstr "Selecteer ja om de herhalingsopties te gebruiken"
|
649 |
+
|
650 |
+
#: admin/options.php:67
|
651 |
+
msgid "Use RSVP?"
|
652 |
+
msgstr "RSCP gebruiken?"
|
653 |
+
|
654 |
+
#: admin/options.php:67
|
655 |
+
msgid "Select yes to enable the RSVP feature"
|
656 |
+
msgstr "Selecteer ja om RSVPoptie aan te zetten"
|
657 |
+
|
658 |
+
#: admin/options.php:68
|
659 |
+
msgid "Use categories?"
|
660 |
+
msgstr "Categorieën gebruiken?"
|
661 |
+
|
662 |
+
#: admin/options.php:68
|
663 |
+
msgid "Select yes to enable the category features"
|
664 |
+
msgstr "Selecteer ja om de categorie-opties aan te zetten"
|
665 |
+
|
666 |
+
#: admin/options.php:69
|
667 |
+
msgid "Use attributes?"
|
668 |
+
msgstr "Attributen gebruiken?"
|
669 |
+
|
670 |
+
#: admin/options.php:69
|
671 |
+
msgid "Select yes to enable the attributes feature"
|
672 |
+
msgstr "Selecteer ja om de attributen-optie aan te zetten"
|
673 |
+
|
674 |
+
#: admin/options.php:78
|
675 |
+
#: admin/options.php:92
|
676 |
+
msgid "Events page"
|
677 |
+
msgstr "Evenementen pagina"
|
678 |
+
|
679 |
+
#: admin/options.php:87
|
680 |
+
msgid "[No Events Page]"
|
681 |
+
msgstr "[Geen evenementen pagina]"
|
682 |
+
|
683 |
+
#: admin/options.php:92
|
684 |
+
msgid "This option allows you to select which page to use as an events page"
|
685 |
+
msgstr "Met deze optie kunt u de pagina kiezen die als evenemtenpagina dienst doet"
|
686 |
+
|
687 |
+
#: admin/options.php:95
|
688 |
+
msgid "Show events page in lists?"
|
689 |
+
msgstr "Evenemeten-pagina in lijsten weergeven?"
|
690 |
+
|
691 |
+
#: admin/options.php:95
|
692 |
+
msgid "Check this option if you want the events page to appear together with other pages in pages lists."
|
693 |
+
msgstr "Met deze optie wordt de evenemetenpagina samen met de andere pagina's in d epaginalijsten getoond."
|
694 |
+
|
695 |
+
#: admin/options.php:96
|
696 |
+
msgid "Display calendar in events page?"
|
697 |
+
msgstr "Kalender op de evenentenpagina weergeven?"
|
698 |
+
|
699 |
+
#: admin/options.php:96
|
700 |
+
msgid "This options allows to display the calendar in the events page, instead of the default list. It is recommended not to display both the calendar widget and a calendar page."
|
701 |
+
msgstr "Met deze optie wordt een kalender op de evenementenpagina weergegeven, in plaats van de lijst met eveneten. Wij raden af om de kalender en de widget samen te gebruiken."
|
702 |
+
|
703 |
+
#: admin/options.php:97
|
704 |
+
msgid "Disable title rewriting?"
|
705 |
+
msgstr "Titel herschrijven uitzetten?"
|
706 |
+
|
707 |
+
#: admin/options.php:97
|
708 |
+
msgid "Some wordpress themes don't follow best practices when generating navigation menus, and so the automatic title rewriting feature may cause problems, if your menus aren't working correctly on the event pages, try setting this to 'Yes', and provide an appropriate HTML title format below."
|
709 |
+
msgstr "Bij sommige wordpress thema's is het genereren van navigatiemenu's niet goed geregeld, waardoor het automatisch herschrijven voor problemen kan zorgen. Wanneer uw menu's niet correct werken op de evenementenpagina's kunt u deze optie op 'ja' zetten en hieronder de titel in correct HTML formaat invullen."
|
710 |
+
|
711 |
+
#: admin/options.php:98
|
712 |
+
msgid "Event Manager titles"
|
713 |
+
msgstr "Evenement manager titels"
|
714 |
+
|
715 |
+
#: admin/options.php:98
|
716 |
+
msgid "This only setting only matters if you selected 'Yes' to above. You will notice the events page titles aren't being rewritten, and you have a new title underneath the default page name. This is where you control the HTML of this title. Make sure you keep the #_PAGETITLE placeholder here, as that's what is rewritten by events manager. To control what's rewritten in this title, see settings further down for page titles."
|
717 |
+
msgstr "Deze optie heeft alleen nut als u hierboven 'ja' hebt ingevuld. You will notice the events page titles aren't being rewritten, and you have a new title underneath the default page name. This is where you control the HTML of this title. Make sure you keep the #_PAGETITLE placeholder here, as that's what is rewritten by events manager. To control what's rewritten in this title, see settings further down for page titles."
|
718 |
+
|
719 |
+
#: admin/options.php:106
|
720 |
+
msgid "Events format"
|
721 |
+
msgstr "Opmaak evenementen"
|
722 |
+
|
723 |
+
#: admin/options.php:110
|
724 |
+
msgid "Default event list format header"
|
725 |
+
msgstr "Opmaak voor de header van de lijst"
|
726 |
+
|
727 |
+
#: admin/options.php:110
|
728 |
+
msgid "This content will appear just above your code for the default event list format. Default is blank"
|
729 |
+
msgstr "Dit zal worden getoond boven de code voor de standaard evenementenlijst."
|
730 |
+
|
731 |
+
#: admin/options.php:111
|
732 |
+
msgid "Default event list format"
|
733 |
+
msgstr "Standaard opmaak voor lijst"
|
734 |
+
|
735 |
+
#: admin/options.php:111
|
736 |
+
msgid "The format of any events in a list.<br/>Insert one or more of the following placeholders: <code>#_NAME</code>, <code>#_LOCATION</code>, <code>#_ADDRESS</code>, <code>#_TOWN</code>, <code>#_NOTES</code>.<br/> Use <code>#_EXCERPT</code> to show <code>#_NOTES</code> until you place a <!–– more ––> marker.<br/> Use <code>#_LINKEDNAME</code> for the event name with a link to the given event page.<br/> Use <code>#_EVENTPAGEURL</code> to print the event page URL and make your own customised links.<br/> Use <code>#_LOCATIONPAGEURL</code> to print the location page URL and make your own customised links.<br/>Use <code>#_EDITEVENTLINK</code> to add add a link to edit page for the event, which will appear only when a user is logged in.<br/>To insert date and time values, use <a href=\"http://www.php.net/manual/en/function.date.php\">PHP time format characters</a> with a <code>#</code> symbol before them, i.e. <code>#m</code>, <code>#M</code>, <code>#j</code>, etc.<br/> For the end time, put <code>#@</code> in front of the character, ie. <code>#@h</code>, <code>#@i</code>, etc.<br/> You can also create a date format without prepending <code>#</code> by wrapping it in #_{} or #@_{} (e.g. <code>#_{d/m/Y}</code>). If there is no end date, the value is not shown.<br/>Feel free to use HTML tags as <code>li</code>, <code>br</code> and so on.<br/>For custom attributes, you use <code>#_ATT{key}{alternative text}</code>, the second braces are optional and will appear if the attribute is not defined or left blank for that event. This key will appear as an option when adding attributes to your event."
|
737 |
+
msgstr "Opmaak van elke evenement in de lijst.<br/>Voeg een of meer van deze markeringen toe: <code>#_NAME</code>, <code>#_LOCATION</code>, <code>#_ADDRESS</code>, <code>#_TOWN</code>, <code>#_NOTES</code>.<br/> <code>#_EXCERPT</code> om <code>#_NOTES</code> te tonen tot in de tekst <!–– more ––> voorkomt.<br/> Gebruik <code>#_LINKEDNAME</code> voor de naam van het evenement met een link naar de pagina van het evenement.<br/> Gebruik <code>#_EVENTPAGEURL</code> om de URL weer te geven.<br/> Gebruik <code>#_LOCATIONPAGEURL</code> om de URL naar de locatie weer te geven.<br/>Gebruik <code>#_EDITEVENTLINK</code> p, een link naar de beheerpagina van het evenement te tonen, deze wordt alleen aan ingelogde gebruikers getoond.<br/>Gebruik <a href=\"http://www.php.net/manual/nl/function.date.php\">PHP time format characters</a> met een <code>#</code> symbool ervoor om datum en tijd weer te geveb bijv. <code>#m</code>, <code>#M</code>, <code>#j</code>, etc.<br/> Voor de eindtijd kunt u <code>#@</code> voor het teken zetten, bijv. <code>#@h</code>, <code>#@i</code>, etc.<br/> U kunt ook datumformaat zonder <code>#</code> gebruiken door het tussen #_{} of #@_{} te zetten (bijv. <code>#_{d/m/Y}</code>). Als er geen einddatums is wordt de waarde niet getoond.<br/>Gebruik gerust HTML tags zoals <code>li</code>, <code>br</code> etc.<br/>Voor uw eigen attributen kunt u <code>#_ATT{key}{alternative text}</code> gebruiken, de tweede haken zijn optioneel en worden gebruikt als het attribuut niet is gedefinieerd of wanneer het leeg is voor het betreffende evenement."
|
738 |
+
|
739 |
+
#: admin/options.php:112
|
740 |
+
msgid "Default event list format footer"
|
741 |
+
msgstr "Opmaak van de voettekst van een evenementenlijst"
|
742 |
+
|
743 |
+
#: admin/options.php:112
|
744 |
+
msgid "This content will appear just below your code for the default event list format. Default is blank"
|
745 |
+
msgstr "Deze tekst zal onder de code van de standaard evenementenlijst verschijnen."
|
746 |
+
|
747 |
+
#: admin/options.php:113
|
748 |
+
msgid "Single event page title format"
|
749 |
+
msgstr "Opmaak voor de titel van een pagina met een enkel evenement"
|
750 |
+
|
751 |
+
#: admin/options.php:113
|
752 |
+
msgid "The format of a single event page title. Follow the previous formatting instructions."
|
753 |
+
msgstr "Opmaak voor de titel van een pagina met een enkel evenement"
|
754 |
+
|
755 |
+
#: admin/options.php:114
|
756 |
+
msgid "Default single event format"
|
757 |
+
msgstr "Standaard opmaak van een evenement"
|
758 |
+
|
759 |
+
#: admin/options.php:114
|
760 |
+
msgid "The format of a single event page.<br/>Follow the previous formatting instructions. <br/>Use <code>#_MAP</code> to insert a map.<br/>Use <code>#_CONTACTNAME</code>, <code>#_CONTACTEMAIL</code>, <code>#_CONTACTPHONE</code> to insert respectively the name, e-mail address and phone number of the designated contact person. <br/>Use <code>#_ADDBOOKINGFORM</code> to insert a form to allow the user to respond to your events reserving one or more places (RSVP).<br/> Use <code>#_REMOVEBOOKINGFORM</code> to insert a form where users, inserting their name and e-mail address, can remove their bookings."
|
761 |
+
msgstr "Opmaak van een pagina met een evenement. <br/>Gebruik <code>#_MAP</code> om een kaart in te voegen.<br/><code>#_CONTACTNAME</code>, <code>#_CONTACTEMAIL</code>, <code>#_CONTACTPHONE</code> vppr naam, emailadresm en telefoonnummer van contactpersoon in te voegen. <br/>Gebruik <code>#_ADDBOOKINGFORM</code> om het boekingsformulier te tonen (bij gebruik van RSVP).<br/> Gebruik<code>#_REMOVEBOOKINGFORM</code> om het annuleringsformulier te tonen."
|
762 |
+
|
763 |
+
#: admin/options.php:115
|
764 |
+
msgid "Events page title"
|
765 |
+
msgstr "Titel van evenementen pagina"
|
766 |
+
|
767 |
+
#: admin/options.php:115
|
768 |
+
msgid "The title on the multiple events page."
|
769 |
+
msgstr "De titel op een pagina met meerdere evenementen"
|
770 |
+
|
771 |
+
#: admin/options.php:116
|
772 |
+
msgid "No events message"
|
773 |
+
msgstr "Geen evenement bericht"
|
774 |
+
|
775 |
+
#: admin/options.php:116
|
776 |
+
msgid "The message displayed when no events are available."
|
777 |
+
msgstr "Het bericht dat wordt weergegeven wanneer geen evenementen beschikbaar zijn."
|
778 |
+
|
779 |
+
#: admin/options.php:117
|
780 |
+
msgid "List events by date title"
|
781 |
+
msgstr "Evenementen per datum en titel sorteren"
|
782 |
+
|
783 |
+
#: admin/options.php:117
|
784 |
+
msgid "If viewing a page for events on a specific dates, this is the title that would show up. To insert date values, use <a href=\"http://www.php.net/manual/en/function.date.php\">PHP time format characters</a> with a <code>#</code> symbol before them, i.e. <code>#m</code>, <code>#M</code>, <code>#j</code>, etc.<br/>"
|
785 |
+
msgstr "Wanneer u een pagina met evenementen op een specifieke dag bekijkt, wordt deze titel gebruikt. Gebruik <a href=\"http://www.php.net/manual/nl/function.date.php\">PHP time format characters</a> met een <code>#</code>teken ervoor, bijv. <code>#m</code>, <code>#M</code>, <code>#j</code>, etc.<br/>"
|
786 |
+
|
787 |
+
#: admin/options.php:125
|
788 |
+
msgid "Calendar format"
|
789 |
+
msgstr "Kalender opmaak"
|
790 |
+
|
791 |
+
#: admin/options.php:129
|
792 |
+
msgid "Small calendar title"
|
793 |
+
msgstr "Kleine kalender titel"
|
794 |
+
|
795 |
+
#: admin/options.php:129
|
796 |
+
msgid "The format of the title, corresponding to the text that appears when hovering on an eventful calendar day."
|
797 |
+
msgstr "De opmaak van de titel, corresponderend met de tekst die verschijnt wanneer de muisaanwijzer boven een dag met evenement zweeft."
|
798 |
+
|
799 |
+
#: admin/options.php:130
|
800 |
+
msgid "Small calendar title separator"
|
801 |
+
msgstr "Kleine kalender titel scheidingsteken"
|
802 |
+
|
803 |
+
#: admin/options.php:130
|
804 |
+
msgid "The separator appearing on the above title when more than one events are taking place on the same day."
|
805 |
+
msgstr "Het scheidingsteken dat boven de titel staan wanneer meer dan een evenementen op dezelfde dag plaatsvinden"
|
806 |
+
|
807 |
+
#: admin/options.php:131
|
808 |
+
msgid "Full calendar events format"
|
809 |
+
msgstr "opmaak voor volledige kalender evenementen"
|
810 |
+
|
811 |
+
#: admin/options.php:131
|
812 |
+
msgid "The format of each event when displayed in the full calendar. Remember to include <code>li</code> tags before and after the event."
|
813 |
+
msgstr "De opmaak die wordt gebruikt wanneer een evenement volledig wordt weergegeven in de kalender. Vergeet niet om de <code>li</code> tags voor en na het evenement te zetten."
|
814 |
+
|
815 |
+
#: admin/options.php:132
|
816 |
+
msgid "Show list on day with single event?"
|
817 |
+
msgstr "Laat de lijst zien op een dag met een enkel evenement?"
|
818 |
+
|
819 |
+
#: admin/options.php:132
|
820 |
+
msgid "By default, if a calendar day only has one event, it display a single event when clicking on the link of that calendar date. If you select Yes here, you will get always see a list of events."
|
821 |
+
msgstr "Standaard wordt, wanneer slechts een evenement op een dag plaatsvindt. Wanneer deze optie aanstaat wordt altijd ene lijst met evenementen getoond."
|
822 |
+
|
823 |
+
#: admin/options.php:140
|
824 |
+
msgid "Locations format"
|
825 |
+
msgstr "Locatie opmaak"
|
826 |
+
|
827 |
+
#: admin/options.php:144
|
828 |
+
msgid "Single location page title format"
|
829 |
+
msgstr "Enele locatie titel opmaak"
|
830 |
+
|
831 |
+
#: admin/options.php:144
|
832 |
+
msgid "The format of a single location page title.<br/>Follow the previous formatting instructions."
|
833 |
+
msgstr "Het formaat van de titel op pagina van een enkele locatie.<br/>Volg eerder genoemde opmaak instructies."
|
834 |
+
|
835 |
+
#: admin/options.php:145
|
836 |
+
msgid "Default single location page format"
|
837 |
+
msgstr "Standaard opmaak voor een pagina met een enkele locatie."
|
838 |
+
|
839 |
+
#: admin/options.php:145
|
840 |
+
msgid "The format of a single location page.<br/>Insert one or more of the following placeholders: <code>#_NAME</code>, <code>#_ADDRESS</code>, <code>#_TOWN</code>, <code>#_DESCRIPTION</code>.<br/> Use <code>#_MAP</code> to display a map of the event location, and <code>#_IMAGE</code> to display an image of the location.<br/> Use <code>#_NEXTEVENTS</code> to insert a list of the upcoming events, <code>#_PASTEVENTS</code> for a list of past events, <code>#_ALLEVENTS</code> for a list of all events taking place in this location."
|
841 |
+
msgstr "Opmaak voor een pagina met een enkele locatie<br/>Gebruik een van de volgende verwijzingen:<code>#_NAME</code>, <code>#_ADDRESS</code>, <code>#_TOWN</code>, <code>#_DESCRIPTION</code>.<br/> Gebruik <code>#_MAP</code> om een kaart met de locatie van het evenement toe te voegen, en <code>#_IMAGE</code> om een afbeelding van de locatie te tonen.<br/> Gebruik <code>#_NEXTEVENTS</code> om een lijst met volgende evenementen te tonen, <code>#_PASTEVENTS</code> voor een lijst met evenementen in het verleden, <code>#_ALLEVENTS</code> voor een lijst met alle evenementen op deze locatie."
|
842 |
+
|
843 |
+
#: admin/options.php:146
|
844 |
+
msgid "Default location baloon format"
|
845 |
+
msgstr "Standaard locatie ballon opmaak"
|
846 |
+
|
847 |
+
#: admin/options.php:146
|
848 |
+
msgid "The format of of the text appearing in the baloon describing the location in the map.<br/>Insert one or more of the following placeholders: <code>#_NAME</code>, <code>#_ADDRESS</code>, <code>#_TOWN</code>, <code>#_DESCRIPTION</code> or <code>#_IMAGE</code>."
|
849 |
+
msgstr "De opmaak voor de tekst die in de ballon op de kaart wordt weergegeven.<br/>Gebruik een of meer van de volgende verwijzingen: <code>#_NAME</code>, <code>#_ADDRESS</code>, <code>#_TOWN</code>, <code>#_DESCRIPTION</code> of <code>#_IMAGE</code>."
|
850 |
+
|
851 |
+
#: admin/options.php:147
|
852 |
+
msgid "Default location event list format"
|
853 |
+
msgstr "Opmaak voor standaard locatielijst"
|
854 |
+
|
855 |
+
#: admin/options.php:147
|
856 |
+
msgid "The format of the events the list inserted in the location page through the <code>#_NEXTEVENTS</code>, <code>#_PASTEVENTS</code> and <code>#_ALLEVENTS</code> element. <br/> Follow the events formatting instructions"
|
857 |
+
msgstr "Opmaak van de evenementenlijst in de locatiepagina met <code>#_NEXTEVENTS</code>, <code>#_PASTEVENTS</code> en <code>#_ALLEVENTS</code>"
|
858 |
+
|
859 |
+
#: admin/options.php:148
|
860 |
+
msgid "Default no events message"
|
861 |
+
msgstr "Standaard 'geen evenement' bericht"
|
862 |
+
|
863 |
+
#: admin/options.php:148
|
864 |
+
msgid "The message to be displayed in the list generated by <code>#_NEXTEVENTS</code>, <code>#_PASTEVENTS</code> and <code>#_ALLEVENTS</code> when no events are available."
|
865 |
+
msgstr "Dit bericht wordt in de lijst getoond bij <code>#_NEXTEVENTS</code>, <code>#_PASTEVENTS</code> en <code>#_ALLEVENTS</code> wanneer geen evenementen beschikbaar zijn."
|
866 |
+
|
867 |
+
#: admin/options.php:156
|
868 |
+
msgid "RSS feed format"
|
869 |
+
msgstr "RSS feed format"
|
870 |
+
|
871 |
+
#: admin/options.php:160
|
872 |
+
msgid "RSS main title"
|
873 |
+
msgstr "RSS titel"
|
874 |
+
|
875 |
+
#: admin/options.php:160
|
876 |
+
msgid "The main title of your RSS events feed."
|
877 |
+
msgstr "De algemene titel van uw RSS feed"
|
878 |
+
|
879 |
+
#: admin/options.php:161
|
880 |
+
msgid "RSS main description"
|
881 |
+
msgstr "Omschrijving van uw RSS feed"
|
882 |
+
|
883 |
+
#: admin/options.php:161
|
884 |
+
msgid "The main description of your RSS events feed."
|
885 |
+
msgstr "De omschrijving van uw RSS feed"
|
886 |
+
|
887 |
+
#: admin/options.php:162
|
888 |
+
msgid "RSS title format"
|
889 |
+
msgstr "opmaak van uw RSS titel"
|
890 |
+
|
891 |
+
#: admin/options.php:162
|
892 |
+
msgid "The format of the title of each item in the events RSS feed."
|
893 |
+
msgstr "De opmaak van de titel van ieder evenement in de RSS feed"
|
894 |
+
|
895 |
+
#: admin/options.php:163
|
896 |
+
msgid "RSS description format"
|
897 |
+
msgstr "Opmaak van de omschrijving in de RSS feed"
|
898 |
+
|
899 |
+
#: admin/options.php:163
|
900 |
+
msgid "The format of the description of each item in the events RSS feed. Follow the previous formatting instructions."
|
901 |
+
msgstr "De opmaak van de tekst van elk evenement in de RSS feed"
|
902 |
+
|
903 |
+
#: admin/options.php:171
|
904 |
+
msgid "Maps and geotagging"
|
905 |
+
msgstr "Kaarten en geotagging"
|
906 |
+
|
907 |
+
#: admin/options.php:176
|
908 |
+
msgid "Enable Google Maps integration?"
|
909 |
+
msgstr "Google Maps integratie aanzetten?"
|
910 |
+
|
911 |
+
#: admin/options.php:178
|
912 |
+
#: functions.php:114
|
913 |
+
msgid "Yes"
|
914 |
+
msgstr "Ja"
|
915 |
+
|
916 |
+
#: admin/options.php:179
|
917 |
+
#: functions.php:115
|
918 |
+
msgid "No"
|
919 |
+
msgstr "Nee"
|
920 |
+
|
921 |
+
#: admin/options.php:180
|
922 |
+
msgid "Check this option to enable Goggle Map integration."
|
923 |
+
msgstr "Zet deze optie aan om Google Maps integratie aan te zetten"
|
924 |
+
|
925 |
+
#: admin/options.php:184
|
926 |
+
msgid "Map text format"
|
927 |
+
msgstr "Opmaak van tekst in de kaart"
|
928 |
+
|
929 |
+
#: admin/options.php:184
|
930 |
+
msgid "The format the text appearing in the event page map cloud.<br/>Follow the previous formatting instructions."
|
931 |
+
msgstr "Opmaak van de tekst in de kaart 'cloud'."
|
932 |
+
|
933 |
+
#: admin/options.php:192
|
934 |
+
msgid "RSVP and bookings"
|
935 |
+
msgstr "RSVP en boekingen"
|
936 |
+
|
937 |
+
#: admin/options.php:196
|
938 |
+
msgid "Default contact person"
|
939 |
+
msgstr "Standaard contactpersoon"
|
940 |
+
|
941 |
+
#: admin/options.php:196
|
942 |
+
msgid "Select the default contact person. This user will be employed whenever a contact person is not explicitly specified for an event"
|
943 |
+
msgstr "Selecteer de standaard contactpersoon. Deze gebruiker zal gewaarschuwd worden wanneer geen specifiek contactpersoon voor een evenement is aangewezen."
|
944 |
+
|
945 |
+
#: admin/options.php:197
|
946 |
+
msgid "Enable the RSVP e-mail notifications?"
|
947 |
+
msgstr "RSVP e-mail notificaties aanzetten?"
|
948 |
+
|
949 |
+
#: admin/options.php:197
|
950 |
+
msgid "Check this option if you want to receive an email when someone books places for your events."
|
951 |
+
msgstr "Zet deze optie aan wanneer u een email wil ontvangen wanneer iemand plaatsen boekt voor een van uw evenementen."
|
952 |
+
|
953 |
+
#: admin/options.php:198
|
954 |
+
#: admin/options.php:199
|
955 |
+
msgid "Contact person email format"
|
956 |
+
msgstr "Opmaak van de email aan contactpersoon"
|
957 |
+
|
958 |
+
#: admin/options.php:198
|
959 |
+
msgid "The format or the email which will be sent to the contact person. Follow the events formatting instructions. <br/>Use <code>#_RESPNAME</code>, <code>#_RESPEMAIL</code> and <code>#_RESPPHONE</code> to display respectively the name, e-mail, address and phone of the respondent.<br/>Use <code>#_SPACES</code> to display the number of spaces reserved by the respondent. Use <code>#_COMMENT</code> to display the respondent's comment. <br/> Use <code>#_BOOKEDSEATS</code> and <code>#_AVAILABLESEATS</code> to display respectively the number of booked and available seats."
|
960 |
+
msgstr "Opmaak van de email die verzonden wordt aan de contactpersoon. <code>#_RESPNAME</code>, <code>#_RESPEMAIL</code> en <code>#_RESPPHONE</code> voor naam, email, adres en telefoonnummer van de respondent.<br/>Gebruik <code>#_SPACES</code> om aantal plaatsen die respondent reserveerde te tonen. <code>#_COMMENT</code> om commentaar van de respondent te tonen. <br/> Gebrruik <code>#_BOOKEDSEATS</code> en <code>#_AVAILABLESEATS</code> om aantal gereserveerde en aantal beschikbare plaatsen te tonen."
|
961 |
+
|
962 |
+
#: admin/options.php:199
|
963 |
+
msgid "The format or the email which will be sent to reposdent. Follow the events formatting instructions. <br/>Use <code>#_RESPNAME</code> to display the name of the respondent.<br/>Use <code>#_CONTACTNAME</code> and <code>#_CONTACTEMAIL</code> a to display respectively the name and e-mail of the contact person.<br/>Use <code>#_SPACES</code> to display the number of spaces reserved by the respondent. Use <code>#_COMMENT</code> to display the respondent's comment."
|
964 |
+
msgstr "Opmaak van de mail die naar de respondent wordt gestuurd.<br/><code>#_RESPNAME</code>voor naam van de respondent.<br/> <code>#_CONTACTNAME</code> en <code>#_CONTACTEMAIL</code>voor naam en email van de contactpersoon.<br/>gebruik <code>#_SPACES</code> om aantal plaatsen die respondent reserveerde te tonen en <code>#_COMMENT</code> om respondent's opmerkingen te tonen."
|
965 |
+
|
966 |
+
#: admin/options.php:200
|
967 |
+
msgid "Default notification receiver address"
|
968 |
+
msgstr "Standaard adres voor de ontvanger van notificaties"
|
969 |
+
|
970 |
+
#: admin/options.php:200
|
971 |
+
msgid "Insert the address of the receiver of your notifications"
|
972 |
+
msgstr "Voer het adres in van de ontvanger van notificaties"
|
973 |
+
|
974 |
+
#: admin/options.php:208
|
975 |
+
msgid "Email Settings"
|
976 |
+
msgstr "Email instellingen"
|
977 |
+
|
978 |
+
#: admin/options.php:212
|
979 |
+
msgid "Notification sender name"
|
980 |
+
msgstr "Naam van afzender notificatie"
|
981 |
+
|
982 |
+
#: admin/options.php:212
|
983 |
+
msgid "Insert the display name of the notification sender."
|
984 |
+
msgstr "Voer de naam in van de afzender van de notificatie"
|
985 |
+
|
986 |
+
#: admin/options.php:213
|
987 |
+
msgid "Notification sender address"
|
988 |
+
msgstr "Adres van afzender notificatie"
|
989 |
+
|
990 |
+
#: admin/options.php:213
|
991 |
+
msgid "Insert the address of the notification sender. It must corresponds with your gmail account user"
|
992 |
+
msgstr "Voer het adres in van de afzender van notificaties. Het moet corresponderen met uw mail account gebruiker"
|
993 |
+
|
994 |
+
#: admin/options.php:214
|
995 |
+
msgid "The port through which you e-mail notifications will be sent. Make sure the firewall doesn't block this port"
|
996 |
+
msgstr "De poort die gebruikt wordt voor email notificaties."
|
997 |
+
|
998 |
+
#: admin/options.php:215
|
999 |
+
msgid "Mail sending method"
|
1000 |
+
msgstr "Mail verzend methode"
|
1001 |
+
|
1002 |
+
#: admin/options.php:215
|
1003 |
+
msgid "PHP mail function"
|
1004 |
+
msgstr "PHP mail functie"
|
1005 |
+
|
1006 |
+
#: admin/options.php:215
|
1007 |
+
msgid "Select the method to send email notification."
|
1008 |
+
msgstr "Selecteer de methode die gebruikt wordt om email te verzenden"
|
1009 |
+
|
1010 |
+
#: admin/options.php:216
|
1011 |
+
msgid "Use SMTP authentication?"
|
1012 |
+
msgstr "SMTP authenticatie gebruiken?"
|
1013 |
+
|
1014 |
+
#: admin/options.php:216
|
1015 |
+
msgid "SMTP authenticatio is often needed. If you use GMail, make sure to set this parameter to Yes"
|
1016 |
+
msgstr "Vaak is authentivatie nodig voor SMTP. Zet op 'ja' wanneer u Gmail gebruikt"
|
1017 |
+
|
1018 |
+
#: admin/options.php:217
|
1019 |
+
msgid "The SMTP host. Usually it corresponds to 'localhost'. If you use GMail, set this value to 'ssl://smtp.gmail.com:465'."
|
1020 |
+
msgstr "De SMTP host. vaak is het 'localhost'. Bij gebruik van GMail: 'ssl://smtp.gmail.com:465'."
|
1021 |
+
|
1022 |
+
#: admin/options.php:218
|
1023 |
+
msgid "SMTP username"
|
1024 |
+
msgstr "SMTP gebruikersnaam"
|
1025 |
+
|
1026 |
+
#: admin/options.php:218
|
1027 |
+
msgid "Insert the username to be used to access your SMTP server."
|
1028 |
+
msgstr "Voer de gebruikersnaam in voor uw SMTP server."
|
1029 |
+
|
1030 |
+
#: admin/options.php:219
|
1031 |
+
msgid "SMTP password"
|
1032 |
+
msgstr "SMTP wachtwoord"
|
1033 |
+
|
1034 |
+
#: admin/options.php:219
|
1035 |
+
msgid "Insert the password to be used to access your SMTP server"
|
1036 |
+
msgstr "Voer het wachtwoord in dat nodig is voor uw SMTP server"
|
1037 |
+
|
1038 |
+
#: admin/options.php:227
|
1039 |
+
msgid "Images size"
|
1040 |
+
msgstr "Afmeting van afbeeldingen"
|
1041 |
+
|
1042 |
+
#: admin/options.php:231
|
1043 |
+
msgid "Maximum width (px)"
|
1044 |
+
msgstr "<acimum breedte (pixels)"
|
1045 |
+
|
1046 |
+
#: admin/options.php:231
|
1047 |
+
msgid "The maximum allowed width for images uploades"
|
1048 |
+
msgstr "De macimaal atoelaatbare breedte voor afbeeldingen"
|
1049 |
+
|
1050 |
+
#: admin/options.php:232
|
1051 |
+
msgid "Maximum height (px)"
|
1052 |
+
msgstr "Maximum hoogte (pixels)"
|
1053 |
+
|
1054 |
+
#: admin/options.php:232
|
1055 |
+
msgid "The maximum allowed width for images uploaded, in pixels"
|
1056 |
+
msgstr "De maximaal toelaatbare hoogte van afbeeldingen"
|
1057 |
+
|
1058 |
+
#: admin/options.php:233
|
1059 |
+
msgid "Maximum size (bytes)"
|
1060 |
+
msgstr "Maximum bestandsgrootte (bytes)"
|
1061 |
+
|
1062 |
+
#: admin/options.php:233
|
1063 |
+
msgid "The maximum allowed size for images uploaded, in pixels"
|
1064 |
+
msgstr "De maximale groote van afbeeldingen, in pixels."
|
1065 |
+
|
1066 |
+
#: admin/people.php:36
|
1067 |
+
msgid "Bookings data"
|
1068 |
+
msgstr "Boeking gegevens"
|
1069 |
+
|
1070 |
+
#: admin/people.php:40
|
1071 |
+
msgid "E-mail"
|
1072 |
+
msgstr "E-mail"
|
1073 |
+
|
1074 |
+
#: admin/people.php:41
|
1075 |
+
#: bookings.php:80
|
1076 |
+
msgid "Phone number"
|
1077 |
+
msgstr "Telefoonnummer"
|
1078 |
+
|
1079 |
+
#: admin/people.php:42
|
1080 |
+
#: bookings.php:82
|
1081 |
+
msgid "Seats"
|
1082 |
+
msgstr "Aantal plaatsen"
|
1083 |
+
|
1084 |
+
#: admin/people.php:43
|
1085 |
+
#: bookings.php:93
|
1086 |
+
msgid "Comment"
|
1087 |
+
msgstr "Opmerking"
|
1088 |
+
|
1089 |
+
#: admin/people.php:57
|
1090 |
+
msgid "Booked"
|
1091 |
+
msgstr "Geboekd"
|
1092 |
+
|
1093 |
+
#: admin/people.php:62
|
1094 |
+
msgid "Available"
|
1095 |
+
msgstr "Beschikbaar"
|
1096 |
+
|
1097 |
+
#: admin/people.php:78
|
1098 |
+
msgid "No people have responded to your events yet!"
|
1099 |
+
msgstr "Er zijn nog geen reakties op uw evenementen!"
|
1100 |
+
|
1101 |
+
#: admin/people.php:81
|
1102 |
+
msgid "This table collects the data about the people who responded to your events"
|
1103 |
+
msgstr "Deze tabel verzamelt gegevens van de mensen die gereageerd hebben op uw evenementen"
|
1104 |
+
|
1105 |
+
#: admin/people.php:118
|
1106 |
+
msgid "Phone"
|
1107 |
+
msgstr "Telefoon"
|
1108 |
+
|
1109 |
+
#. #-#-#-#-# plugin.pot (Events Manager 3.0.4) #-#-#-#-#
|
1110 |
+
#. Plugin Name of the plugin/theme
|
1111 |
+
#: admin/people.php:118
|
1112 |
+
msgid "Events Manager"
|
1113 |
+
msgstr "Events Manager"
|
1114 |
+
|
1115 |
+
#: admin/support.php:10
|
1116 |
+
#: events-manager.php:229
|
1117 |
+
msgid "Getting Help for Events Manager"
|
1118 |
+
msgstr "Hulp nodig bij Events Manager"
|
1119 |
+
|
1120 |
+
#: bookings.php:40
|
1121 |
+
msgid "Booking deleted"
|
1122 |
+
msgstr "Boeking verwijderd"
|
1123 |
+
|
1124 |
+
#: bookings.php:42
|
1125 |
+
msgid "There are no bookings associated to this name and e-mail"
|
1126 |
+
msgstr "Er zijn geen boekingen voor deze naam/e-mail"
|
1127 |
+
|
1128 |
+
#: bookings.php:66
|
1129 |
+
msgid "Book now!"
|
1130 |
+
msgstr "Reserveer nu!"
|
1131 |
+
|
1132 |
+
#: bookings.php:79
|
1133 |
+
#: bookings.php:152
|
1134 |
+
msgid "E-Mail"
|
1135 |
+
msgstr "Email"
|
1136 |
+
|
1137 |
+
#: bookings.php:96
|
1138 |
+
msgid "Send your booking"
|
1139 |
+
msgstr "Verzend uw reservering"
|
1140 |
+
|
1141 |
+
#: bookings.php:105
|
1142 |
+
#: bookings.php:111
|
1143 |
+
msgid "Hide cancellation form"
|
1144 |
+
msgstr "Annuleringsscherm verbergen"
|
1145 |
+
|
1146 |
+
#: bookings.php:105
|
1147 |
+
#: bookings.php:107
|
1148 |
+
#: bookings.php:110
|
1149 |
+
#: bookings.php:114
|
1150 |
+
msgid "Cancel a booking"
|
1151 |
+
msgstr "Een reservering annuleren"
|
1152 |
+
|
1153 |
+
#: bookings.php:136
|
1154 |
+
#: bookings.php:157
|
1155 |
+
msgid "Cancel your booking"
|
1156 |
+
msgstr "Annuleer uw reservering"
|
1157 |
+
|
1158 |
+
#: classes/booking.php:74
|
1159 |
+
msgid "There was a problem saving the booking."
|
1160 |
+
msgstr "Er was een probleem bij het opslaan van de reservering"
|
1161 |
+
|
1162 |
+
#: classes/booking.php:80
|
1163 |
+
msgid "Your booking has been recorded"
|
1164 |
+
msgstr "Uw reservering is verwerkt"
|
1165 |
+
|
1166 |
+
#: classes/bookings.php:78
|
1167 |
+
msgid "Booking successful."
|
1168 |
+
msgstr "Reservering gelukt"
|
1169 |
+
|
1170 |
+
#: classes/bookings.php:80
|
1171 |
+
msgid "However, we were not able to send you an email."
|
1172 |
+
msgstr "We konden u echter geen emailbericht verzenden"
|
1173 |
+
|
1174 |
+
#: classes/bookings.php:88
|
1175 |
+
msgid "Booking could not be created"
|
1176 |
+
msgstr "Reservering kon niet worden aangemaakt"
|
1177 |
+
|
1178 |
+
#: classes/bookings.php:91
|
1179 |
+
msgid "Booking cannot be made, not enough seats available!"
|
1180 |
+
msgstr "Reservering mislukt, niet voldoende plaatsen beschikbaar!"
|
1181 |
+
|
1182 |
+
#: classes/bookings.php:183
|
1183 |
+
msgid "Reservation confirmed"
|
1184 |
+
msgstr "Reservering is bevestigd"
|
1185 |
+
|
1186 |
+
#: classes/bookings.php:186
|
1187 |
+
msgid "New booking"
|
1188 |
+
msgstr "Nieuwe reservering"
|
1189 |
+
|
1190 |
+
#: classes/event.php:207
|
1191 |
+
msgid "There was a problem saving the location so event was not saved."
|
1192 |
+
msgstr "Er ging iets mis bij opslaan van de locatie. evenement is niet opgeslagen"
|
1193 |
+
|
1194 |
+
#: classes/event.php:227
|
1195 |
+
#: classes/event.php:255
|
1196 |
+
msgid "Something went wrong with the recurrence update..."
|
1197 |
+
msgstr "Er ging iets fout met opslaan van terugkerend evenement"
|
1198 |
+
|
1199 |
+
#: classes/event.php:228
|
1200 |
+
#: classes/event.php:256
|
1201 |
+
msgid "There was a problem saving the recurring events."
|
1202 |
+
msgstr "Er ging iets fout met opslaan van terugkerende evenementen"
|
1203 |
+
|
1204 |
+
#: classes/event.php:233
|
1205 |
+
msgid "New recurrent event inserted!"
|
1206 |
+
msgstr "Nieuw herhalend evenement toegevoegd!"
|
1207 |
+
|
1208 |
+
#: classes/event.php:237
|
1209 |
+
msgid "New event successfully inserted!"
|
1210 |
+
msgstr "Nieuw evenement is toegevoegd"
|
1211 |
+
|
1212 |
+
#: classes/event.php:240
|
1213 |
+
#: classes/event.php:263
|
1214 |
+
msgid "Could not save the event details due to a database error."
|
1215 |
+
msgstr "Er ging iets fout in de database, evenement is niet opgeslagen"
|
1216 |
+
|
1217 |
+
#: classes/event.php:259
|
1218 |
+
msgid "Recurrence updated!"
|
1219 |
+
msgstr "Herhaling is opgeslagen"
|
1220 |
+
|
1221 |
+
#: classes/event.php:267
|
1222 |
+
msgid "updated"
|
1223 |
+
msgstr "aangepast"
|
1224 |
+
|
1225 |
+
#: classes/event.php:329
|
1226 |
+
msgid "Missing fields: "
|
1227 |
+
msgstr "Ontbrekende velden"
|
1228 |
+
|
1229 |
+
#: classes/event.php:332
|
1230 |
+
msgid "Since the event is repeated, you must specify an event date."
|
1231 |
+
msgstr "Aangezien het een herhalend evenement betreft, dient u een datum aan te geven"
|
1232 |
+
|
1233 |
+
#: classes/event.php:410
|
1234 |
+
#: events-manager.php:223
|
1235 |
+
msgid "Edit"
|
1236 |
+
msgstr "Aanpassen"
|
1237 |
+
|
1238 |
+
#: classes/event.php:410
|
1239 |
+
msgid "Event"
|
1240 |
+
msgstr "Evenement"
|
1241 |
+
|
1242 |
+
#: classes/event.php:536
|
1243 |
+
msgid "N/A"
|
1244 |
+
msgstr "Niet beschikbaar"
|
1245 |
+
|
1246 |
+
#: classes/event.php:792
|
1247 |
+
msgid "Sunday"
|
1248 |
+
msgstr "Zondag"
|
1249 |
+
|
1250 |
+
#: classes/event.php:792
|
1251 |
+
msgid "Monday"
|
1252 |
+
msgstr "Maandag"
|
1253 |
+
|
1254 |
+
#: classes/event.php:792
|
1255 |
+
msgid "Tuesday"
|
1256 |
+
msgstr "Dinsdag"
|
1257 |
+
|
1258 |
+
#: classes/event.php:792
|
1259 |
+
msgid "Wednesday"
|
1260 |
+
msgstr "Woensdag"
|
1261 |
+
|
1262 |
+
#: classes/event.php:792
|
1263 |
+
msgid "Thursday"
|
1264 |
+
msgstr "Donderdag"
|
1265 |
+
|
1266 |
+
#: classes/event.php:792
|
1267 |
+
msgid "Friday"
|
1268 |
+
msgstr "Vrijdag"
|
1269 |
+
|
1270 |
+
#: classes/event.php:792
|
1271 |
+
msgid "Saturday"
|
1272 |
+
msgstr "Zaterdag"
|
1273 |
+
|
1274 |
+
#: classes/event.php:793
|
1275 |
+
#, php-format
|
1276 |
+
msgid "the first %s of the month"
|
1277 |
+
msgstr "de eerste %s van de maand"
|
1278 |
+
|
1279 |
+
#: classes/event.php:793
|
1280 |
+
#, php-format
|
1281 |
+
msgid "the second %s of the month"
|
1282 |
+
msgstr "de tweede %s van de maand"
|
1283 |
+
|
1284 |
+
#: classes/event.php:793
|
1285 |
+
#, php-format
|
1286 |
+
msgid "the third %s of the month"
|
1287 |
+
msgstr "de derde %s van de maand"
|
1288 |
+
|
1289 |
+
#: classes/event.php:793
|
1290 |
+
#, php-format
|
1291 |
+
msgid "the fourth %s of the month"
|
1292 |
+
msgstr "de vierde %s van de maand"
|
1293 |
+
|
1294 |
+
#: classes/event.php:793
|
1295 |
+
#, php-format
|
1296 |
+
msgid "the last %s of the month"
|
1297 |
+
msgstr "de laatste %s van de maand"
|
1298 |
+
|
1299 |
+
#: classes/event.php:794
|
1300 |
+
#, php-format
|
1301 |
+
msgid "From %1$s to %2$s"
|
1302 |
+
msgstr "Van %1$s tot %2$s"
|
1303 |
+
|
1304 |
+
#: classes/event.php:797
|
1305 |
+
msgid "everyday"
|
1306 |
+
msgstr "Elke dag"
|
1307 |
+
|
1308 |
+
#: classes/event.php:799
|
1309 |
+
#, php-format
|
1310 |
+
msgid "every %s days"
|
1311 |
+
msgstr "elke %s dagen"
|
1312 |
+
|
1313 |
+
#: classes/event.php:809
|
1314 |
+
#, php-format
|
1315 |
+
msgid "every %s weeks"
|
1316 |
+
msgstr "elke %s weken"
|
1317 |
+
|
1318 |
+
#: classes/event.php:820
|
1319 |
+
#, php-format
|
1320 |
+
msgid "every %s months"
|
1321 |
+
msgstr "elke %s maanden"
|
1322 |
+
|
1323 |
+
#: classes/location.php:39
|
1324 |
+
msgid "The location name"
|
1325 |
+
msgstr "Naam van de locatie"
|
1326 |
+
|
1327 |
+
#: classes/location.php:39
|
1328 |
+
msgid "The location address"
|
1329 |
+
msgstr "Adres van de locatie"
|
1330 |
+
|
1331 |
+
#: classes/location.php:39
|
1332 |
+
msgid "The location town"
|
1333 |
+
msgstr "Plaats van de locatie"
|
1334 |
+
|
1335 |
+
#: classes/location.php:130
|
1336 |
+
msgid "The image could not be loaded"
|
1337 |
+
msgstr "Afbeelding kon niet worden geladen"
|
1338 |
+
|
1339 |
+
#: classes/location.php:158
|
1340 |
+
msgid " is missing!"
|
1341 |
+
msgstr "ontbreekt!"
|
1342 |
+
|
1343 |
+
#: classes/location.php:166
|
1344 |
+
msgid "The image file is too big! Maximum size:"
|
1345 |
+
msgstr "De afbeelding is te groot! Maximale groote:"
|
1346 |
+
|
1347 |
+
#: classes/location.php:172
|
1348 |
+
msgid "The image is too big! Maximum size allowed:"
|
1349 |
+
msgstr "De afbeelding is te groot! Maximale groote:"
|
1350 |
+
|
1351 |
+
#: classes/location.php:175
|
1352 |
+
msgid "The image is in a wrong format!"
|
1353 |
+
msgstr "Afbeelding is in een ongeldig formaat!"
|
1354 |
+
|
1355 |
+
#: classes/mailer.php:61
|
1356 |
+
msgid "Please supply a valid email format."
|
1357 |
+
msgstr "Geef a.u.b. een geldig emailadres op"
|
1358 |
+
|
1359 |
+
#: classes/map.php:20
|
1360 |
+
#: classes/map.php:48
|
1361 |
+
msgid "Loading Map...."
|
1362 |
+
msgstr "KJaart wordt geladen ..."
|
1363 |
+
|
1364 |
+
#: classes/map.php:61
|
1365 |
+
msgid "Map Unavailable"
|
1366 |
+
msgstr "Kaart is niet beschikbaar"
|
1367 |
+
|
1368 |
+
#: classes/person.php:84
|
1369 |
+
msgid "Please provide a valid email address."
|
1370 |
+
msgstr "Geef a.u.b. een geldig emailadres op"
|
1371 |
+
|
1372 |
+
#: events-manager.php:101
|
1373 |
+
#: events-manager.php:104
|
1374 |
+
#: events-manager.php:220
|
1375 |
+
#: install.php:186
|
1376 |
+
#: install.php:187
|
1377 |
+
#: template-tags.php:16
|
1378 |
+
#: widgets/events.php:42
|
1379 |
+
msgid "Events"
|
1380 |
+
msgstr "Evenementen"
|
1381 |
+
|
1382 |
+
#: events-manager.php:111
|
1383 |
+
#: install.php:178
|
1384 |
+
#: widgets/events.php:31
|
1385 |
+
msgid "No events"
|
1386 |
+
msgstr "Geen evenementen"
|
1387 |
+
|
1388 |
+
#: events-manager.php:117
|
1389 |
+
msgid "<li>No events in this location</li>"
|
1390 |
+
msgstr "<li>Geen evenementen op deze locatie</li>"
|
1391 |
+
|
1392 |
+
#: events-manager.php:208
|
1393 |
+
#: events-manager.php:228
|
1394 |
+
msgid "Settings"
|
1395 |
+
msgstr "Instellingen"
|
1396 |
+
|
1397 |
+
#: events-manager.php:224
|
1398 |
+
msgid "Add new"
|
1399 |
+
msgstr "Toevoegen"
|
1400 |
+
|
1401 |
+
#: events-manager.php:226
|
1402 |
+
msgid "People"
|
1403 |
+
msgstr "Mensen"
|
1404 |
+
|
1405 |
+
#: events-manager.php:227
|
1406 |
+
msgid "Event Categories"
|
1407 |
+
msgstr "Evenement categorieën"
|
1408 |
+
|
1409 |
+
#: events-manager.php:228
|
1410 |
+
msgid "Events Manager Settings"
|
1411 |
+
msgstr "Instellingen van Events Manager"
|
1412 |
+
|
1413 |
+
#: events-manager.php:229
|
1414 |
+
msgid "Help"
|
1415 |
+
msgstr "Help"
|
1416 |
+
|
1417 |
+
#: events-manager.php:256
|
1418 |
+
msgid "Add an event"
|
1419 |
+
msgstr "Evenement toevoegen"
|
1420 |
+
|
1421 |
+
#: events-manager.php:272
|
1422 |
+
#, php-format
|
1423 |
+
msgid "This page corresponds to <strong>Events Manager</strong> events page. Its content will be overriden by <strong>Events Manager</strong>. If you want to display your content, you can can assign another page to <strong>Events Manager</strong> in the the <a href='%s'>Settings</a>. "
|
1424 |
+
msgstr "Deze pagina hoort bij de <strong>Events manager</strong> evenementenpagina. De inhoud zal worden overschreven door <strong>Events manager</strong>. Om inhoud te tonen, kunt u een andere pagina aan <strong>Events manager</strong> toewijzen in de <a href='%s'>Instellingen</a>. "
|
1425 |
+
|
1426 |
+
#: events-manager.php:283
|
1427 |
+
#, php-format
|
1428 |
+
msgid "Uh Oh! For some reason wordpress could not create an events page for you (or you just deleted it). Not to worry though, all you have to do is create an empty page, name it whatever you want, and select it as your events page in your <a href=\"%s\">options page</a>. Sorry for the extra step! If you know what you are doing, you may have done this on purpose, if so <a href=\"%s\">ignore this message</a>"
|
1429 |
+
msgstr "O jee! Om de een of andere reden kon Wordpress de evenementen pagina niet aanmaken (of u hebt het verwijderd).Geen zorgen. Maak gewoon een lege pagina aan en selecteer deze als uw evenementenpagina in de <a href=\"%s\">opties pagina</a>.Excuses voor de extra moeite die u moet nemen. Misschien heeft u het bewust gedaan. In dat geval kunt u <a href=\"%s\">dit bericht negeren</a>"
|
1430 |
+
|
1431 |
+
#: functions.php:5
|
1432 |
+
#, php-format
|
1433 |
+
msgid ""
|
1434 |
+
"<p>Hey, <strong>%s</strong>, welcome to <strong>Events Manager</strong>! We hope you like it around here.</p> \r\n"
|
1435 |
+
"\t\t<p>Now it's time to insert events lists through <a href='%s' title='Widgets page'>widgets</a>, <a href='%s' title='Template tags documentation'>template tags</a> or <a href='%s' title='Shortcodes documentation'>shortcodes</a>.</p>\r\n"
|
1436 |
+
"\t\t<p>By the way, have you taken a look at the <a href='%s' title='Change settings'>Settings page</a>? That's where you customize the way events and locations are displayed.</p>\r\n"
|
1437 |
+
"\t\t<p>What? Tired of seeing this advice? I hear you, <a href='%s' title='Don't show this advice again'>click here</a> and you won't see this again!</p>"
|
1438 |
+
msgstr ""
|
1439 |
+
"<p>Hallo, <strong>%s</strong>, welkom bij <strong>Events manager</strong>! We hopen dat het hier bevalt.</p> \r\n"
|
1440 |
+
" \t\t<p>Het moment is gekomen om evenementen toe te voegen met de <a href='%s' title='Widgets page'>widgets</a>, <a href='%s' title='Template tags documentation'>sjabloon tags</a> of de <a href='%s' title='Shortcodes documentation'>shortcodes</a>.</p>\r\n"
|
1441 |
+
"\t\t<p>Heeft u al een kijkje genomen in de <a href='%s' title='Wijzig instellingen'>instellingen</a>? Daar kan van alles worden ingesteld voor de evenementen en locaties.</p>\r\n"
|
1442 |
+
"\t\t<p> Wat? Bent u dit advies beu? Okay, okay , <a href='%s' title='Advies niet meer tonen'>klik hier</a>en u zult het bericht niet meer zien!</p>"
|
1443 |
+
|
1444 |
+
#: install.php:161
|
1445 |
+
msgid "Uncategorized"
|
1446 |
+
msgstr "Zonder Categorie"
|
1447 |
+
|
1448 |
+
#: install.php:169
|
1449 |
+
msgid "#_RESPNAME (#_RESPEMAIL) will attend #_NAME on #m #d, #Y. He wants to reserve #_SPACES spaces.<br/> Now there are #_RESERVEDSPACES spaces reserved, #_AVAILABLESPACES are still available.<br/>Yours faithfully,<br/>Events Manager"
|
1450 |
+
msgstr "#_RESPNAME (#_RESPEMAIL) wil #_NAME op #m #d, #Y bijwonen en wil #_BOOKEDSPACES plaatsen reserveren.Er zijn nu #_BOOKEDSPACES plaatsen gereserveerd, #_AVAILABLESPACES van de #_SPACES plaatsen nog beschikbaar.Automagische groeten,Uw website"
|
1451 |
+
|
1452 |
+
#: install.php:170
|
1453 |
+
msgid "Dear #_RESPNAME, <br/>you have successfully reserved #_SPACES space/spaces for #_NAME.<br/>Yours faithfully,<br/> #_CONTACTPERSON"
|
1454 |
+
msgstr "Beste #_RESPNAME, Wij hebben uw reserveringverzoek voor #_BOOKEDSPACES plaatsen voor #_NAME in goede orde ontvangen.Met vriendelijke groet, #_CONTACTPERSON"
|
1455 |
+
|
1456 |
+
#: install.php:305
|
1457 |
+
msgid "We could not mirgrate old recurrence data over. DONT WORRY! You can just delete the current plugin, and re-install the previous 2.2.2 version and you wont lose any of your data. Either way, please contact the developers to let them know of this bug."
|
1458 |
+
msgstr "We konden de oude herhalings gegevens niet migreren. Geen zorgen. U kunt de huidige plugin verwijderen en de vorige versie installeren. U verliest zo geen gegevens. Neem wel even contact op met de ontwikkelaars over deze 'bug'."
|
1459 |
+
|
1460 |
+
#: install.php:467
|
1461 |
+
msgid "Events Manager successfully imported your events, please check your records to verify."
|
1462 |
+
msgstr "Uw evenementen zijn succesvol geïmporteerd. Check de gegevens voor de zekerheid."
|
1463 |
+
|
1464 |
+
#: install.php:483
|
1465 |
+
#, php-format
|
1466 |
+
msgid "Something has gone wrong when importing your old event. See the <a href=\"%s\">support page</a> for more information. <a href=\"%s\">Dismiss this message</a>"
|
1467 |
+
msgstr "Er ging iets mis tijdens de import van een oud evenement. Check de <a href=\"%s\">support pagina</a> voor meer informatie. <a href=\"%s\">Negeer dit bericht</a>"
|
1468 |
+
|
1469 |
+
#: locations.php:35
|
1470 |
+
msgid "Ach, some problems here:"
|
1471 |
+
msgstr "Oei, problemen hier:"
|
1472 |
+
|
1473 |
+
#: widgets/calendar.php:9
|
1474 |
+
msgid "Display your events in a calendar widget."
|
1475 |
+
msgstr "Laat evenemeten zien in een kalender widget"
|
1476 |
+
|
1477 |
+
#: widgets/calendar.php:10
|
1478 |
+
msgid "Events Calendar"
|
1479 |
+
msgstr "Evenementen kalender"
|
1480 |
+
|
1481 |
+
#: widgets/calendar.php:32
|
1482 |
+
msgid "Calendar"
|
1483 |
+
msgstr "Kalender"
|
1484 |
+
|
1485 |
+
#: widgets/calendar.php:41
|
1486 |
+
#: widgets/events.php:60
|
1487 |
+
#: widgets/locations.php:60
|
1488 |
+
msgid "Title"
|
1489 |
+
msgstr "Titel"
|
1490 |
+
|
1491 |
+
#: widgets/calendar.php:45
|
1492 |
+
msgid "Show Long Events?"
|
1493 |
+
msgstr "Lange evenementen tonen?"
|
1494 |
+
|
1495 |
+
#: widgets/events.php:9
|
1496 |
+
msgid "Display a list of events on Events Manager."
|
1497 |
+
msgstr "Laat een lijst van evenementen zin op Events Manager"
|
1498 |
+
|
1499 |
+
#: widgets/events.php:64
|
1500 |
+
msgid "Number of events"
|
1501 |
+
msgstr "Aantal evenementen"
|
1502 |
+
|
1503 |
+
#: widgets/events.php:68
|
1504 |
+
msgid "Scope of the events"
|
1505 |
+
msgstr "Scope van evenementen"
|
1506 |
+
|
1507 |
+
#: widgets/events.php:76
|
1508 |
+
msgid "Order of the events"
|
1509 |
+
msgstr "Volgorde van evenementen"
|
1510 |
+
|
1511 |
+
#: widgets/events.php:78
|
1512 |
+
#: widgets/locations.php:78
|
1513 |
+
msgid "Ascendant"
|
1514 |
+
msgstr "Oplopend"
|
1515 |
+
|
1516 |
+
#: widgets/events.php:79
|
1517 |
+
#: widgets/locations.php:79
|
1518 |
+
msgid "Descendant"
|
1519 |
+
msgstr "Aflopend"
|
1520 |
+
|
1521 |
+
#: widgets/events.php:83
|
1522 |
+
#: widgets/locations.php:83
|
1523 |
+
msgid "List item format"
|
1524 |
+
msgstr "Opmaak van de lijst"
|
1525 |
+
|
1526 |
+
#: widgets/locations.php:9
|
1527 |
+
msgid "Display a list of event locations on Events Manager."
|
1528 |
+
msgstr "Laat een lijst van evenementlocaties zien in de Events Manager."
|
1529 |
+
|
1530 |
+
#: widgets/locations.php:31
|
1531 |
+
msgid "No locations"
|
1532 |
+
msgstr "Geen Locaties"
|
1533 |
+
|
1534 |
+
#: widgets/locations.php:42
|
1535 |
+
msgid "Event Locations"
|
1536 |
+
msgstr "Locaties van evenementen"
|
1537 |
+
|
1538 |
+
#: widgets/locations.php:64
|
1539 |
+
msgid "Show number of locations"
|
1540 |
+
msgstr "Laat het aantal locaties zien"
|
1541 |
+
|
1542 |
+
#: widgets/locations.php:68
|
1543 |
+
msgid "Scope of the locations"
|
1544 |
+
msgstr "groep van locaties"
|
1545 |
+
|
1546 |
+
#: widgets/locations.php:70
|
1547 |
+
msgid "Locations with upcoming events"
|
1548 |
+
msgstr "Locaties waar evenementen zullen plaatsvinden"
|
1549 |
+
|
1550 |
+
#: widgets/locations.php:71
|
1551 |
+
msgid "All locations"
|
1552 |
+
msgstr "Alle locaties"
|
1553 |
+
|
1554 |
+
#: widgets/locations.php:72
|
1555 |
+
msgid "Locations with past events "
|
1556 |
+
msgstr "Locaties waar evenementen hebben plaatsgevonden"
|
1557 |
+
|
1558 |
+
#: widgets/locations.php:76
|
1559 |
+
msgid "Order of the locations"
|
1560 |
+
msgstr "Volgorde van de locaties"
|
1561 |
+
|
1562 |
+
#. Plugin URI of the plugin/theme
|
1563 |
+
msgid "http://davidebenini.it/wordpress-plugins/events-manager/"
|
1564 |
+
msgstr "http://davidebenini.it/wordpress-plugins/events-manager/"
|
1565 |
+
|
1566 |
+
#. Description of the plugin/theme
|
1567 |
+
msgid "Manage events specifying precise spatial data (Location, Town, Province, etc)."
|
1568 |
+
msgstr "Beheer evenementen in detail"
|
1569 |
+
|
1570 |
+
#. Author of the plugin/theme
|
1571 |
+
msgid "Davide Benini, Marcus Sykes"
|
1572 |
+
msgstr "Davide Benini, Marcus Sykes"
|
1573 |
+
|
1574 |
+
#. Author URI of the plugin/theme
|
1575 |
+
msgid "http://www.davidebenini.it/blog"
|
1576 |
+
msgstr "http://www.davidebenini.it/blog"
|
1577 |
+
|
includes/langs/events-manager.pot
CHANGED
@@ -1,685 +1,771 @@
|
|
1 |
-
#
|
2 |
-
# Copyright (C) 2010 Davide Benini, Marcus Sykes
|
3 |
# This file is distributed under the same license as the Events Manager package.
|
4 |
-
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
|
5 |
-
#
|
6 |
-
#, fuzzy
|
7 |
msgid ""
|
8 |
msgstr ""
|
9 |
-
"Project-Id-Version: Events Manager 3.0.
|
10 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/events-manager\n"
|
11 |
-
"POT-Creation-Date:
|
|
|
|
|
|
|
12 |
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
-
"MIME-Version: 1.0\n"
|
16 |
-
"Content-Type: text/plain; charset=utf-8\n"
|
17 |
-
"Content-Transfer-Encoding: 8bit\n"
|
18 |
|
19 |
-
#:
|
20 |
-
|
21 |
-
#: admin/locations.php:111 admin/people.php:39 bookings.php:78
|
22 |
-
#: bookings.php:149
|
23 |
-
msgid "Name"
|
24 |
msgstr ""
|
25 |
|
26 |
-
#:
|
27 |
-
msgid "
|
28 |
msgstr ""
|
29 |
|
30 |
-
#:
|
31 |
-
msgid "
|
32 |
msgstr ""
|
33 |
|
34 |
-
#:
|
35 |
-
|
|
|
36 |
msgstr ""
|
37 |
|
38 |
-
#:
|
39 |
-
msgid "
|
40 |
msgstr ""
|
41 |
|
42 |
-
#:
|
43 |
-
msgid "
|
44 |
msgstr ""
|
45 |
|
46 |
-
#:
|
47 |
-
msgid "
|
48 |
msgstr ""
|
49 |
|
50 |
-
#:
|
51 |
-
msgid "
|
52 |
msgstr ""
|
53 |
|
54 |
-
#:
|
55 |
-
msgid "
|
56 |
msgstr ""
|
57 |
|
58 |
-
#:
|
59 |
-
msgid "
|
60 |
msgstr ""
|
61 |
|
62 |
-
#:
|
63 |
-
msgid "
|
64 |
msgstr ""
|
65 |
|
66 |
-
#:
|
67 |
-
msgid "
|
68 |
msgstr ""
|
69 |
|
70 |
-
#:
|
71 |
-
msgid "
|
72 |
msgstr ""
|
73 |
|
74 |
-
#:
|
75 |
-
msgid "
|
76 |
msgstr ""
|
77 |
|
78 |
-
#:
|
79 |
-
msgid "
|
80 |
msgstr ""
|
81 |
|
82 |
-
#:
|
83 |
-
msgid "
|
84 |
msgstr ""
|
85 |
|
86 |
-
#:
|
87 |
-
msgid "
|
88 |
msgstr ""
|
89 |
|
90 |
-
#:
|
91 |
-
msgid "
|
92 |
msgstr ""
|
93 |
|
94 |
-
#:
|
95 |
-
msgid "
|
96 |
msgstr ""
|
97 |
|
98 |
-
#:
|
99 |
-
msgid "
|
100 |
msgstr ""
|
101 |
|
102 |
-
#:
|
103 |
-
|
|
|
|
|
104 |
msgstr ""
|
105 |
|
106 |
-
#:
|
107 |
-
msgid "
|
108 |
msgstr ""
|
109 |
|
110 |
-
#:
|
111 |
-
msgid "
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: admin/
|
115 |
-
|
|
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: admin/
|
119 |
-
|
|
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: admin/
|
123 |
-
|
124 |
-
"
|
125 |
-
"rescheduled"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#:
|
129 |
-
msgid "
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: admin/
|
133 |
-
msgid "
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: admin/
|
137 |
-
msgid ""
|
138 |
-
"If you change these data and save, this will become an independent event."
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: admin/
|
142 |
-
msgid "
|
143 |
msgstr ""
|
144 |
|
145 |
-
#:
|
146 |
-
msgid "
|
147 |
msgstr ""
|
148 |
|
149 |
-
#:
|
150 |
-
msgid "
|
151 |
msgstr ""
|
152 |
|
153 |
-
#:
|
154 |
-
msgid "
|
155 |
msgstr ""
|
156 |
|
157 |
-
#:
|
158 |
-
msgid "
|
159 |
msgstr ""
|
160 |
|
161 |
-
#:
|
162 |
-
msgid "
|
163 |
msgstr ""
|
164 |
|
165 |
-
#:
|
166 |
-
msgid "
|
167 |
msgstr ""
|
168 |
|
169 |
-
#:
|
170 |
-
msgid "
|
171 |
msgstr ""
|
172 |
|
173 |
-
#:
|
174 |
-
msgid "
|
175 |
msgstr ""
|
176 |
|
177 |
-
#:
|
178 |
-
msgid "
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: admin/
|
182 |
-
msgid "
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: admin/
|
186 |
-
msgid "
|
187 |
msgstr ""
|
188 |
|
189 |
-
#:
|
190 |
-
msgid "
|
191 |
msgstr ""
|
192 |
|
193 |
-
#:
|
194 |
-
msgid "
|
195 |
msgstr ""
|
196 |
|
197 |
-
#:
|
198 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: admin/
|
202 |
-
msgid "
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: admin/
|
206 |
-
msgid "
|
207 |
msgstr ""
|
208 |
|
209 |
-
#:
|
210 |
-
msgid ""
|
211 |
-
"Check if your event happens more than once according to a regular pattern"
|
212 |
msgstr ""
|
213 |
|
214 |
-
#:
|
215 |
-
msgid "
|
216 |
msgstr ""
|
217 |
|
218 |
-
#:
|
219 |
-
msgid "
|
220 |
msgstr ""
|
221 |
|
222 |
-
#:
|
223 |
-
msgid "
|
224 |
msgstr ""
|
225 |
|
226 |
-
#:
|
227 |
-
msgid "
|
228 |
msgstr ""
|
229 |
|
230 |
-
#:
|
231 |
-
msgid "
|
232 |
msgstr ""
|
233 |
|
234 |
-
#:
|
235 |
-
msgid "
|
236 |
msgstr ""
|
237 |
|
238 |
-
#:
|
239 |
-
msgid "
|
240 |
msgstr ""
|
241 |
|
242 |
-
#:
|
243 |
-
msgid "
|
244 |
msgstr ""
|
245 |
|
246 |
-
#:
|
247 |
-
msgid "
|
248 |
msgstr ""
|
249 |
|
250 |
-
#:
|
251 |
-
msgid "
|
252 |
msgstr ""
|
253 |
|
254 |
-
#:
|
255 |
-
msgid "
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: admin/
|
259 |
-
msgid "
|
260 |
msgstr ""
|
261 |
|
262 |
-
#:
|
263 |
-
msgid "
|
264 |
msgstr ""
|
265 |
|
266 |
-
#:
|
267 |
-
msgid "
|
268 |
msgstr ""
|
269 |
|
270 |
-
#:
|
271 |
-
msgid "
|
|
|
|
|
272 |
msgstr ""
|
273 |
|
274 |
-
#:
|
275 |
-
msgid "
|
276 |
msgstr ""
|
277 |
|
278 |
-
#:
|
279 |
-
msgid "
|
|
|
|
|
|
|
280 |
msgstr ""
|
281 |
|
282 |
-
#:
|
283 |
-
msgid "
|
284 |
msgstr ""
|
285 |
|
286 |
-
#:
|
287 |
-
msgid "
|
288 |
msgstr ""
|
289 |
|
290 |
-
#:
|
291 |
-
msgid "
|
292 |
msgstr ""
|
293 |
|
294 |
-
#:
|
295 |
-
msgid "
|
296 |
msgstr ""
|
297 |
|
298 |
-
#:
|
299 |
-
msgid ""
|
300 |
-
"When not reoccurring, this event spans between the beginning and end date."
|
301 |
msgstr ""
|
302 |
|
303 |
-
#: admin/
|
304 |
-
|
|
|
305 |
msgstr ""
|
306 |
|
307 |
-
#:
|
308 |
-
msgid "
|
309 |
msgstr ""
|
310 |
|
311 |
-
#:
|
312 |
-
msgid "
|
313 |
msgstr ""
|
314 |
|
315 |
-
#:
|
316 |
-
msgid "
|
317 |
msgstr ""
|
318 |
|
319 |
-
#:
|
320 |
-
msgid "
|
321 |
msgstr ""
|
322 |
|
323 |
-
#:
|
324 |
-
msgid ""
|
325 |
-
"The name of the location where the event takes place. You can use the name "
|
326 |
-
"of a venue, a square, etc"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#:
|
330 |
-
|
|
|
331 |
msgstr ""
|
332 |
|
333 |
-
#:
|
334 |
-
msgid "
|
335 |
msgstr ""
|
336 |
|
337 |
-
#:
|
338 |
-
msgid "
|
339 |
msgstr ""
|
340 |
|
341 |
-
#:
|
342 |
-
msgid ""
|
343 |
-
"The address of the location where the event takes place. Example: 21, "
|
344 |
-
"Dominick Street"
|
345 |
msgstr ""
|
346 |
|
347 |
-
#:
|
348 |
-
msgid "
|
|
|
|
|
|
|
|
|
349 |
msgstr ""
|
350 |
|
351 |
-
#:
|
352 |
msgid ""
|
353 |
-
"
|
354 |
-
"
|
355 |
-
"the town field. Example: Verona, Italy."
|
356 |
msgstr ""
|
357 |
|
358 |
-
#:
|
359 |
-
msgid "
|
|
|
|
|
360 |
msgstr ""
|
361 |
|
362 |
-
#:
|
363 |
-
msgid "
|
364 |
msgstr ""
|
365 |
|
366 |
-
#:
|
367 |
-
msgid "
|
368 |
msgstr ""
|
369 |
|
370 |
-
#:
|
371 |
-
msgid "
|
372 |
msgstr ""
|
373 |
|
374 |
-
#:
|
375 |
-
msgid "
|
376 |
msgstr ""
|
377 |
|
378 |
-
#:
|
379 |
-
msgid ""
|
380 |
-
"In order to use attributes, you must define some in your templates, "
|
381 |
-
"otherwise they'll never show. Go to Events > Settings to add attribute "
|
382 |
-
"placeholders."
|
383 |
msgstr ""
|
384 |
|
385 |
-
#:
|
386 |
-
msgid "
|
387 |
msgstr ""
|
388 |
|
389 |
-
#:
|
390 |
-
msgid ""
|
391 |
-
|
392 |
-
|
393 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
394 |
msgstr ""
|
395 |
|
396 |
-
#:
|
397 |
msgid ""
|
398 |
-
"
|
399 |
-
"lose all previous bookings. If you wish to prevent further bookings, reduce "
|
400 |
-
"the number of seats available to the amount of bookings you currently have"
|
401 |
msgstr ""
|
402 |
|
403 |
-
#:
|
404 |
-
#: admin/
|
405 |
-
|
|
|
|
|
406 |
msgstr ""
|
407 |
|
408 |
-
#:
|
409 |
-
msgid "
|
410 |
msgstr ""
|
411 |
|
412 |
-
#:
|
413 |
-
msgid "
|
414 |
msgstr ""
|
415 |
|
416 |
-
#:
|
417 |
-
msgid "
|
418 |
msgstr ""
|
419 |
|
420 |
-
#:
|
421 |
-
msgid "
|
422 |
msgstr ""
|
423 |
|
424 |
-
#:
|
425 |
-
msgid "
|
426 |
msgstr ""
|
427 |
|
428 |
-
#:
|
429 |
-
msgid "
|
430 |
msgstr ""
|
431 |
|
432 |
-
#:
|
433 |
-
msgid "
|
434 |
msgstr ""
|
435 |
|
436 |
-
#:
|
437 |
-
msgid "
|
438 |
msgstr ""
|
439 |
|
440 |
-
#:
|
441 |
-
msgid "
|
442 |
msgstr ""
|
443 |
|
444 |
-
#:
|
445 |
-
msgid "
|
446 |
msgstr ""
|
447 |
|
448 |
-
#:
|
449 |
-
msgid "
|
450 |
msgstr ""
|
451 |
|
452 |
-
#:
|
453 |
-
msgid "
|
454 |
msgstr ""
|
455 |
|
456 |
-
#:
|
457 |
-
msgid "
|
458 |
msgstr ""
|
459 |
|
460 |
-
#:
|
461 |
-
msgid "
|
462 |
msgstr ""
|
463 |
|
464 |
-
#:
|
465 |
-
msgid "
|
466 |
msgstr ""
|
467 |
|
468 |
-
#:
|
469 |
-
msgid "
|
470 |
msgstr ""
|
471 |
|
472 |
-
#:
|
473 |
-
msgid "
|
474 |
msgstr ""
|
475 |
|
476 |
-
#:
|
477 |
-
msgid "
|
478 |
msgstr ""
|
479 |
|
480 |
-
#:
|
481 |
-
msgid "
|
482 |
msgstr ""
|
483 |
|
484 |
-
#:
|
485 |
-
msgid "
|
486 |
msgstr ""
|
487 |
|
488 |
-
#:
|
489 |
-
msgid "
|
490 |
msgstr ""
|
491 |
|
492 |
-
#:
|
493 |
-
msgid "
|
494 |
msgstr ""
|
495 |
|
496 |
-
#:
|
497 |
-
msgid "
|
498 |
msgstr ""
|
499 |
|
500 |
-
#:
|
501 |
-
msgid "
|
502 |
msgstr ""
|
503 |
|
504 |
-
#:
|
505 |
-
msgid "
|
506 |
msgstr ""
|
507 |
|
508 |
-
#:
|
509 |
-
msgid "
|
510 |
msgstr ""
|
511 |
|
512 |
-
#:
|
513 |
-
|
|
|
|
|
|
|
|
|
514 |
msgstr ""
|
515 |
|
516 |
-
#:
|
517 |
-
msgid "
|
518 |
msgstr ""
|
519 |
|
520 |
-
#:
|
521 |
-
msgid "
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: admin/
|
525 |
-
msgid "
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: admin/
|
529 |
-
msgid "
|
530 |
msgstr ""
|
531 |
|
532 |
-
#:
|
533 |
-
msgid "
|
534 |
msgstr ""
|
535 |
|
536 |
-
#:
|
537 |
-
msgid "
|
538 |
msgstr ""
|
539 |
|
540 |
-
#:
|
541 |
-
|
|
|
542 |
msgstr ""
|
543 |
|
544 |
-
#:
|
545 |
-
msgid "
|
546 |
msgstr ""
|
547 |
|
548 |
-
#: admin/
|
549 |
-
msgid "
|
550 |
msgstr ""
|
551 |
|
552 |
-
#: admin/
|
553 |
-
msgid "Location
|
554 |
msgstr ""
|
555 |
|
556 |
-
#: admin/
|
557 |
-
msgid "
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: admin/
|
561 |
-
msgid "
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: admin/
|
565 |
-
msgid "
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: admin/options.php:
|
569 |
-
msgid "
|
570 |
msgstr ""
|
571 |
|
572 |
-
#: admin/options.php:
|
573 |
msgid "Save Changes"
|
574 |
msgstr ""
|
575 |
|
576 |
-
#: admin/options.php:
|
577 |
msgid "All"
|
578 |
msgstr ""
|
579 |
|
580 |
-
#: admin/options.php:
|
581 |
msgid "Collapse All"
|
582 |
msgstr ""
|
583 |
|
584 |
-
#: admin/options.php:
|
585 |
msgid "Expand All"
|
586 |
msgstr ""
|
587 |
|
588 |
-
#: admin/options.php:
|
589 |
msgid "Event Manager Options"
|
590 |
msgstr ""
|
591 |
|
592 |
-
#: admin/options.php:
|
593 |
-
#: admin/options.php:
|
594 |
-
#: admin/options.php:
|
595 |
-
#: admin/options.php:
|
596 |
msgid "Click to toggle"
|
597 |
msgstr ""
|
598 |
|
599 |
-
#: admin/options.php:
|
600 |
msgid "General options"
|
601 |
msgstr ""
|
602 |
|
603 |
-
#: admin/options.php:
|
604 |
msgid "Use dropdown for locations?"
|
605 |
msgstr ""
|
606 |
|
607 |
-
#: admin/options.php:
|
608 |
msgid ""
|
609 |
"Select yes to select location from a drow-down menu; location selection will "
|
610 |
"be faster, but you will lose the ability to insert locations with events"
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: admin/options.php:
|
614 |
msgid "Use recurrence?"
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: admin/options.php:
|
618 |
msgid "Select yes to enable the recurrence features feature"
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: admin/options.php:
|
622 |
msgid "Use RSVP?"
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: admin/options.php:
|
626 |
msgid "Select yes to enable the RSVP feature"
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: admin/options.php:
|
630 |
msgid "Use categories?"
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: admin/options.php:
|
634 |
msgid "Select yes to enable the category features"
|
635 |
msgstr ""
|
636 |
|
637 |
-
#: admin/options.php:
|
638 |
msgid "Use attributes?"
|
639 |
msgstr ""
|
640 |
|
641 |
-
#: admin/options.php:
|
642 |
msgid "Select yes to enable the attributes feature"
|
643 |
msgstr ""
|
644 |
|
645 |
-
#: admin/options.php:
|
646 |
-
msgid "
|
647 |
msgstr ""
|
648 |
|
649 |
-
#: admin/options.php:
|
650 |
-
msgid "
|
651 |
msgstr ""
|
652 |
|
653 |
-
#: admin/options.php:
|
654 |
-
msgid "
|
|
|
655 |
msgstr ""
|
656 |
|
657 |
-
#: admin/options.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
658 |
msgid "Show events page in lists?"
|
659 |
msgstr ""
|
660 |
|
661 |
-
#: admin/options.php:
|
662 |
msgid ""
|
663 |
"Check this option if you want the events page to appear together with other "
|
664 |
"pages in pages lists."
|
665 |
msgstr ""
|
666 |
|
667 |
-
#: admin/options.php:
|
668 |
msgid "Display calendar in events page?"
|
669 |
msgstr ""
|
670 |
|
671 |
-
#: admin/options.php:
|
672 |
msgid ""
|
673 |
"This options allows to display the calendar in the events page, instead of "
|
674 |
"the default list. It is recommended not to display both the calendar widget "
|
675 |
"and a calendar page."
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: admin/options.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
679 |
msgid "Disable title rewriting?"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#: admin/options.php:
|
683 |
msgid ""
|
684 |
"Some wordpress themes don't follow best practices when generating navigation "
|
685 |
"menus, and so the automatic title rewriting feature may cause problems, if "
|
@@ -687,11 +773,11 @@ msgid ""
|
|
687 |
"'Yes', and provide an appropriate HTML title format below."
|
688 |
msgstr ""
|
689 |
|
690 |
-
#: admin/options.php:
|
691 |
msgid "Event Manager titles"
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: admin/options.php:
|
695 |
msgid ""
|
696 |
"This only setting only matters if you selected 'Yes' to above. You will "
|
697 |
"notice the events page titles aren't being rewritten, and you have a new "
|
@@ -701,953 +787,1576 @@ msgid ""
|
|
701 |
"this title, see settings further down for page titles."
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: admin/options.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
705 |
msgid "Events format"
|
706 |
msgstr ""
|
707 |
|
708 |
-
#: admin/options.php:
|
709 |
msgid "Default event list format header"
|
710 |
msgstr ""
|
711 |
|
712 |
-
#: admin/options.php:
|
713 |
msgid ""
|
714 |
"This content will appear just above your code for the default event list "
|
715 |
"format. Default is blank"
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: admin/options.php:
|
719 |
msgid "Default event list format"
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: admin/options.php:
|
723 |
-
msgid ""
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
"code> to show <code>#_NOTES</code> until you place a <!–– "
|
728 |
-
"more ––> marker.<br/> Use <code>#_LINKEDNAME</code> for the "
|
729 |
-
"event name with a link to the given event page.<br/> Use "
|
730 |
-
"<code>#_EVENTPAGEURL</code> to print the event page URL and make your own "
|
731 |
-
"customised links.<br/> Use <code>#_LOCATIONPAGEURL</code> to print the "
|
732 |
-
"location page URL and make your own customised links.<br/>Use "
|
733 |
-
"<code>#_EDITEVENTLINK</code> to add add a link to edit page for the event, "
|
734 |
-
"which will appear only when a user is logged in.<br/>To insert date and time "
|
735 |
-
"values, use <a href=\"http://www.php.net/manual/en/function.date.php\">PHP "
|
736 |
-
"time format characters</a> with a <code>#</code> symbol before them, i.e. "
|
737 |
-
"<code>#m</code>, <code>#M</code>, <code>#j</code>, etc.<br/> For the end "
|
738 |
-
"time, put <code>#@</code> in front of the character, ie. <code>#@h</code>, "
|
739 |
-
"<code>#@i</code>, etc.<br/> You can also create a date format without "
|
740 |
-
"prepending <code>#</code> by wrapping it in #_{} or #@_{} (e.g. <code>#_{d/m/"
|
741 |
-
"Y}</code>). If there is no end date, the value is not shown.<br/>Feel free "
|
742 |
-
"to use HTML tags as <code>li</code>, <code>br</code> and so on.<br/>For "
|
743 |
-
"custom attributes, you use <code>#_ATT{key}{alternative text}</code>, the "
|
744 |
-
"second braces are optional and will appear if the attribute is not defined "
|
745 |
-
"or left blank for that event. This key will appear as an option when adding "
|
746 |
-
"attributes to your event."
|
747 |
-
msgstr ""
|
748 |
-
|
749 |
-
#: admin/options.php:112
|
750 |
msgid "Default event list format footer"
|
751 |
msgstr ""
|
752 |
|
753 |
-
#: admin/options.php:
|
754 |
msgid ""
|
755 |
"This content will appear just below your code for the default event list "
|
756 |
"format. Default is blank"
|
757 |
msgstr ""
|
758 |
|
759 |
-
#: admin/options.php:
|
760 |
msgid "Single event page title format"
|
761 |
msgstr ""
|
762 |
|
763 |
-
#: admin/options.php:
|
764 |
-
msgid ""
|
765 |
-
"The format of a single event page title. Follow the previous formatting "
|
766 |
-
"instructions."
|
767 |
msgstr ""
|
768 |
|
769 |
-
#: admin/options.php:
|
770 |
msgid "Default single event format"
|
771 |
msgstr ""
|
772 |
|
773 |
-
#: admin/options.php:
|
774 |
-
msgid ""
|
775 |
-
"The format of a single event page.<br/>Follow the previous formatting "
|
776 |
-
"instructions. <br/>Use <code>#_MAP</code> to insert a map.<br/>Use "
|
777 |
-
"<code>#_CONTACTNAME</code>, <code>#_CONTACTEMAIL</code>, "
|
778 |
-
"<code>#_CONTACTPHONE</code> to insert respectively the name, e-mail address "
|
779 |
-
"and phone number of the designated contact person. <br/>Use "
|
780 |
-
"<code>#_ADDBOOKINGFORM</code> to insert a form to allow the user to respond "
|
781 |
-
"to your events reserving one or more places (RSVP).<br/> Use "
|
782 |
-
"<code>#_REMOVEBOOKINGFORM</code> to insert a form where users, inserting "
|
783 |
-
"their name and e-mail address, can remove their bookings."
|
784 |
msgstr ""
|
785 |
|
786 |
-
#: admin/options.php:
|
787 |
msgid "Events page title"
|
788 |
msgstr ""
|
789 |
|
790 |
-
#: admin/options.php:
|
791 |
msgid "The title on the multiple events page."
|
792 |
msgstr ""
|
793 |
|
794 |
-
#: admin/options.php:
|
795 |
msgid "No events message"
|
796 |
msgstr ""
|
797 |
|
798 |
-
#: admin/options.php:
|
799 |
msgid "The message displayed when no events are available."
|
800 |
msgstr ""
|
801 |
|
802 |
-
#: admin/options.php:
|
803 |
msgid "List events by date title"
|
804 |
msgstr ""
|
805 |
|
806 |
-
#: admin/options.php:
|
807 |
msgid ""
|
808 |
-
"If viewing a page for events on a specific
|
809 |
"would show up. To insert date values, use <a href=\"http://www.php.net/"
|
810 |
"manual/en/function.date.php\">PHP time format characters</a> with a "
|
811 |
"<code>#</code> symbol before them, i.e. <code>#m</code>, <code>#M</code>, "
|
812 |
"<code>#j</code>, etc.<br/>"
|
813 |
msgstr ""
|
814 |
|
815 |
-
#: admin/options.php:
|
816 |
msgid "Calendar format"
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: admin/options.php:
|
820 |
msgid "Small calendar title"
|
821 |
msgstr ""
|
822 |
|
823 |
-
#: admin/options.php:
|
824 |
msgid ""
|
825 |
"The format of the title, corresponding to the text that appears when "
|
826 |
"hovering on an eventful calendar day."
|
827 |
msgstr ""
|
828 |
|
829 |
-
#: admin/options.php:
|
830 |
msgid "Small calendar title separator"
|
831 |
msgstr ""
|
832 |
|
833 |
-
#: admin/options.php:
|
834 |
msgid ""
|
835 |
"The separator appearing on the above title when more than one events are "
|
836 |
"taking place on the same day."
|
837 |
msgstr ""
|
838 |
|
839 |
-
#: admin/options.php:
|
840 |
msgid "Full calendar events format"
|
841 |
msgstr ""
|
842 |
|
843 |
-
#: admin/options.php:
|
844 |
msgid ""
|
845 |
"The format of each event when displayed in the full calendar. Remember to "
|
846 |
"include <code>li</code> tags before and after the event."
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: admin/options.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
850 |
msgid "Show list on day with single event?"
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: admin/options.php:
|
854 |
msgid ""
|
855 |
"By default, if a calendar day only has one event, it display a single event "
|
856 |
"when clicking on the link of that calendar date. If you select Yes here, you "
|
857 |
"will get always see a list of events."
|
858 |
msgstr ""
|
859 |
|
860 |
-
#: admin/options.php:
|
861 |
msgid "Locations format"
|
862 |
msgstr ""
|
863 |
|
864 |
-
#: admin/options.php:
|
865 |
msgid "Single location page title format"
|
866 |
msgstr ""
|
867 |
|
868 |
-
#: admin/options.php:
|
869 |
-
msgid ""
|
870 |
-
"The format of a single location page title.<br/>Follow the previous "
|
871 |
-
"formatting instructions."
|
872 |
msgstr ""
|
873 |
|
874 |
-
#: admin/options.php:
|
875 |
msgid "Default single location page format"
|
876 |
msgstr ""
|
877 |
|
878 |
-
#: admin/options.php:
|
879 |
-
msgid ""
|
880 |
-
"The format of a single location page.<br/>Insert one or more of the "
|
881 |
-
"following placeholders: <code>#_NAME</code>, <code>#_ADDRESS</code>, "
|
882 |
-
"<code>#_TOWN</code>, <code>#_DESCRIPTION</code>.<br/> Use <code>#_MAP</code> "
|
883 |
-
"to display a map of the event location, and <code>#_IMAGE</code> to display "
|
884 |
-
"an image of the location.<br/> Use <code>#_NEXTEVENTS</code> to insert a "
|
885 |
-
"list of the upcoming events, <code>#_PASTEVENTS</code> for a list of past "
|
886 |
-
"events, <code>#_ALLEVENTS</code> for a list of all events taking place in "
|
887 |
-
"this location."
|
888 |
msgstr ""
|
889 |
|
890 |
-
#: admin/options.php:
|
891 |
-
msgid "Default location
|
892 |
msgstr ""
|
893 |
|
894 |
-
#: admin/options.php:
|
895 |
msgid ""
|
896 |
"The format of of the text appearing in the baloon describing the location in "
|
897 |
-
"the map
|
898 |
-
"code>, <code>#_ADDRESS</code>, <code>#_TOWN</code>, <code>#_DESCRIPTION</"
|
899 |
-
"code> or <code>#_IMAGE</code>."
|
900 |
msgstr ""
|
901 |
|
902 |
-
#: admin/options.php:
|
903 |
msgid "Default location event list format"
|
904 |
msgstr ""
|
905 |
|
906 |
-
#: admin/options.php:
|
907 |
msgid ""
|
908 |
"The format of the events the list inserted in the location page through the "
|
909 |
"<code>#_NEXTEVENTS</code>, <code>#_PASTEVENTS</code> and <code>#_ALLEVENTS</"
|
910 |
-
"code> element.
|
911 |
msgstr ""
|
912 |
|
913 |
-
#: admin/options.php:
|
914 |
msgid "Default no events message"
|
915 |
msgstr ""
|
916 |
|
917 |
-
#: admin/options.php:
|
918 |
msgid ""
|
919 |
"The message to be displayed in the list generated by <code>#_NEXTEVENTS</"
|
920 |
"code>, <code>#_PASTEVENTS</code> and <code>#_ALLEVENTS</code> when no events "
|
921 |
"are available."
|
922 |
msgstr ""
|
923 |
|
924 |
-
#: admin/options.php:
|
925 |
msgid "RSS feed format"
|
926 |
msgstr ""
|
927 |
|
928 |
-
#: admin/options.php:
|
929 |
msgid "RSS main title"
|
930 |
msgstr ""
|
931 |
|
932 |
-
#: admin/options.php:
|
933 |
msgid "The main title of your RSS events feed."
|
934 |
msgstr ""
|
935 |
|
936 |
-
#: admin/options.php:
|
937 |
msgid "RSS main description"
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: admin/options.php:
|
941 |
msgid "The main description of your RSS events feed."
|
942 |
msgstr ""
|
943 |
|
944 |
-
#: admin/options.php:
|
945 |
msgid "RSS title format"
|
946 |
msgstr ""
|
947 |
|
948 |
-
#: admin/options.php:
|
949 |
msgid "The format of the title of each item in the events RSS feed."
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: admin/options.php:
|
953 |
msgid "RSS description format"
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: admin/options.php:
|
957 |
-
msgid ""
|
958 |
-
"The format of the description of each item in the events RSS feed. Follow "
|
959 |
-
"the previous formatting instructions."
|
960 |
msgstr ""
|
961 |
|
962 |
-
#: admin/options.php:
|
963 |
msgid "Maps and geotagging"
|
964 |
msgstr ""
|
965 |
|
966 |
-
#: admin/options.php:
|
967 |
msgid "Enable Google Maps integration?"
|
968 |
msgstr ""
|
969 |
|
970 |
-
#: admin/options.php:
|
971 |
-
msgid "Yes"
|
972 |
-
msgstr ""
|
973 |
-
|
974 |
-
#: admin/options.php:179 functions.php:115
|
975 |
-
msgid "No"
|
976 |
-
msgstr ""
|
977 |
-
|
978 |
-
#: admin/options.php:180
|
979 |
msgid "Check this option to enable Goggle Map integration."
|
980 |
msgstr ""
|
981 |
|
982 |
-
#: admin/options.php:
|
983 |
msgid "Map text format"
|
984 |
msgstr ""
|
985 |
|
986 |
-
#: admin/options.php:
|
987 |
-
msgid ""
|
988 |
-
"The format the text appearing in the event page map cloud.<br/>Follow the "
|
989 |
-
"previous formatting instructions."
|
990 |
msgstr ""
|
991 |
|
992 |
-
#: admin/options.php:
|
993 |
msgid "RSVP and bookings"
|
994 |
msgstr ""
|
995 |
|
996 |
-
#: admin/options.php:
|
997 |
msgid "Default contact person"
|
998 |
msgstr ""
|
999 |
|
1000 |
-
#: admin/options.php:
|
1001 |
msgid ""
|
1002 |
"Select the default contact person. This user will be employed whenever a "
|
1003 |
"contact person is not explicitly specified for an event"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
-
#: admin/options.php:
|
1007 |
-
msgid "
|
1008 |
msgstr ""
|
1009 |
|
1010 |
-
#: admin/options.php:
|
1011 |
msgid ""
|
1012 |
-
"
|
1013 |
-
"for your events."
|
1014 |
msgstr ""
|
1015 |
|
1016 |
-
#: admin/options.php:
|
1017 |
-
msgid "
|
1018 |
msgstr ""
|
1019 |
|
1020 |
-
#: admin/options.php:
|
1021 |
msgid ""
|
1022 |
-
"
|
1023 |
-
"
|
1024 |
-
"<code>#_RESPEMAIL</code> and <code>#_RESPPHONE</code> to display "
|
1025 |
-
"respectively the name, e-mail, address and phone of the respondent.<br/>Use "
|
1026 |
-
"<code>#_SPACES</code> to display the number of spaces reserved by the "
|
1027 |
-
"respondent. Use <code>#_COMMENT</code> to display the respondent's comment. "
|
1028 |
-
"<br/> Use <code>#_BOOKEDSEATS</code> and <code>#_AVAILABLESEATS</code> to "
|
1029 |
-
"display respectively the number of booked and available seats."
|
1030 |
msgstr ""
|
1031 |
|
1032 |
-
#: admin/options.php:
|
1033 |
-
msgid ""
|
1034 |
-
"The format or the email which will be sent to reposdent. Follow the events "
|
1035 |
-
"formatting instructions. <br/>Use <code>#_RESPNAME</code> to display the "
|
1036 |
-
"name of the respondent.<br/>Use <code>#_CONTACTNAME</code> and "
|
1037 |
-
"<code>#_CONTACTEMAIL</code> a to display respectively the name and e-mail of "
|
1038 |
-
"the contact person.<br/>Use <code>#_SPACES</code> to display the number of "
|
1039 |
-
"spaces reserved by the respondent. Use <code>#_COMMENT</code> to display the "
|
1040 |
-
"respondent's comment."
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: admin/options.php:
|
1044 |
-
msgid "
|
|
|
|
|
|
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: admin/options.php:
|
1048 |
-
msgid "
|
1049 |
msgstr ""
|
1050 |
|
1051 |
-
#: admin/options.php:
|
1052 |
-
msgid "
|
|
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: admin/options.php:
|
1056 |
-
msgid "
|
1057 |
msgstr ""
|
1058 |
|
1059 |
-
#: admin/options.php:
|
1060 |
-
msgid "
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: admin/options.php:
|
1064 |
-
msgid "
|
1065 |
msgstr ""
|
1066 |
|
1067 |
-
#: admin/options.php:
|
1068 |
msgid ""
|
1069 |
-
"
|
1070 |
-
"gmail account user"
|
1071 |
msgstr ""
|
1072 |
|
1073 |
-
#: admin/options.php:
|
1074 |
-
msgid ""
|
1075 |
-
"The port through which you e-mail notifications will be sent. Make sure the "
|
1076 |
-
"firewall doesn't block this port"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: admin/options.php:
|
1080 |
-
msgid "
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: admin/options.php:
|
1084 |
-
msgid "
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: admin/options.php:
|
1088 |
-
msgid "
|
|
|
|
|
|
|
|
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: admin/options.php:
|
1092 |
-
msgid "
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: admin/options.php:
|
1096 |
-
msgid ""
|
1097 |
-
"SMTP authenticatio is often needed. If you use GMail, make sure to set this "
|
1098 |
-
"parameter to Yes"
|
1099 |
msgstr ""
|
1100 |
|
1101 |
-
#: admin/options.php:
|
1102 |
-
msgid ""
|
1103 |
-
"The SMTP host. Usually it corresponds to 'localhost'. If you use GMail, set "
|
1104 |
-
"this value to 'ssl://smtp.gmail.com:465'."
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: admin/options.php:
|
1108 |
-
msgid "
|
|
|
|
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: admin/options.php:
|
1112 |
-
msgid "
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: admin/options.php:
|
1116 |
-
msgid "
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: admin/options.php:
|
1120 |
-
msgid "
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: admin/options.php:
|
1124 |
-
msgid "
|
|
|
|
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: admin/options.php:
|
1128 |
-
msgid "
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: admin/options.php:
|
1132 |
-
msgid "
|
|
|
|
|
|
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: admin/options.php:
|
1136 |
-
msgid "
|
1137 |
msgstr ""
|
1138 |
|
1139 |
-
#: admin/options.php:
|
1140 |
-
msgid "
|
|
|
|
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: admin/options.php:
|
1144 |
-
msgid "
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: admin/options.php:
|
1148 |
-
msgid "
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: admin/
|
1152 |
-
msgid "
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: admin/
|
1156 |
-
msgid "
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: admin/
|
1160 |
-
msgid "
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: admin/
|
1164 |
-
msgid "
|
1165 |
msgstr ""
|
1166 |
|
1167 |
-
#: admin/
|
1168 |
-
msgid "
|
1169 |
msgstr ""
|
1170 |
|
1171 |
-
#: admin/
|
1172 |
-
msgid "
|
1173 |
msgstr ""
|
1174 |
|
1175 |
-
#: admin/
|
1176 |
-
msgid "
|
1177 |
msgstr ""
|
1178 |
|
1179 |
-
#: admin/
|
1180 |
-
msgid "
|
|
|
|
|
1181 |
msgstr ""
|
1182 |
|
1183 |
-
#: admin/
|
1184 |
-
msgid ""
|
1185 |
-
"This table collects the data about the people who responded to your events"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
-
#: admin/
|
1189 |
-
msgid "
|
1190 |
msgstr ""
|
1191 |
|
1192 |
-
|
1193 |
-
|
1194 |
-
#: admin/people.php:118
|
1195 |
-
msgid "Events Manager"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: admin/
|
1199 |
-
msgid "
|
1200 |
msgstr ""
|
1201 |
|
1202 |
-
#:
|
1203 |
-
msgid "
|
|
|
|
|
1204 |
msgstr ""
|
1205 |
|
1206 |
-
#:
|
1207 |
-
msgid "
|
|
|
|
|
1208 |
msgstr ""
|
1209 |
|
1210 |
-
#:
|
1211 |
-
msgid "
|
1212 |
msgstr ""
|
1213 |
|
1214 |
-
#:
|
1215 |
-
msgid "
|
1216 |
msgstr ""
|
1217 |
|
1218 |
-
#:
|
1219 |
-
msgid "
|
1220 |
msgstr ""
|
1221 |
|
1222 |
-
#:
|
1223 |
-
msgid "
|
1224 |
msgstr ""
|
1225 |
|
1226 |
-
#:
|
1227 |
-
msgid "
|
1228 |
msgstr ""
|
1229 |
|
1230 |
-
#:
|
1231 |
-
msgid "
|
1232 |
msgstr ""
|
1233 |
|
1234 |
-
#:
|
1235 |
-
msgid "
|
1236 |
msgstr ""
|
1237 |
|
1238 |
-
#:
|
1239 |
-
msgid "
|
1240 |
msgstr ""
|
1241 |
|
1242 |
-
#:
|
1243 |
-
msgid "
|
1244 |
msgstr ""
|
1245 |
|
1246 |
-
#:
|
1247 |
-
msgid "
|
1248 |
msgstr ""
|
1249 |
|
1250 |
-
#:
|
1251 |
-
msgid "
|
1252 |
msgstr ""
|
1253 |
|
1254 |
-
#:
|
1255 |
-
msgid "
|
1256 |
msgstr ""
|
1257 |
|
1258 |
-
#:
|
1259 |
-
msgid "
|
|
|
|
|
1260 |
msgstr ""
|
1261 |
|
1262 |
-
#:
|
1263 |
-
msgid "
|
|
|
|
|
|
|
|
|
1264 |
msgstr ""
|
1265 |
|
1266 |
-
#:
|
1267 |
-
msgid "
|
1268 |
msgstr ""
|
1269 |
|
1270 |
-
#:
|
1271 |
-
msgid "
|
|
|
|
|
1272 |
msgstr ""
|
1273 |
|
1274 |
-
#:
|
1275 |
-
msgid "
|
|
|
1276 |
msgstr ""
|
1277 |
|
1278 |
-
#:
|
1279 |
-
msgid "
|
1280 |
msgstr ""
|
1281 |
|
1282 |
-
#:
|
1283 |
-
msgid "
|
1284 |
msgstr ""
|
1285 |
|
1286 |
-
#:
|
1287 |
-
msgid "
|
|
|
|
|
|
|
1288 |
msgstr ""
|
1289 |
|
1290 |
-
#:
|
1291 |
-
msgid "
|
|
|
|
|
1292 |
msgstr ""
|
1293 |
|
1294 |
-
#:
|
1295 |
-
msgid "
|
|
|
1296 |
msgstr ""
|
1297 |
|
1298 |
-
#:
|
1299 |
-
msgid "
|
1300 |
msgstr ""
|
1301 |
|
1302 |
-
#:
|
1303 |
-
msgid "
|
1304 |
msgstr ""
|
1305 |
|
1306 |
-
#:
|
1307 |
-
msgid "
|
|
|
|
|
1308 |
msgstr ""
|
1309 |
|
1310 |
-
#:
|
1311 |
-
msgid "
|
|
|
|
|
1312 |
msgstr ""
|
1313 |
|
1314 |
-
#:
|
1315 |
-
msgid "
|
1316 |
msgstr ""
|
1317 |
|
1318 |
-
#:
|
1319 |
-
msgid "
|
1320 |
msgstr ""
|
1321 |
|
1322 |
-
#:
|
1323 |
-
msgid "
|
1324 |
msgstr ""
|
1325 |
|
1326 |
-
#:
|
1327 |
-
msgid "
|
1328 |
msgstr ""
|
1329 |
|
1330 |
-
#:
|
1331 |
-
msgid "
|
1332 |
msgstr ""
|
1333 |
|
1334 |
-
#:
|
1335 |
-
msgid "
|
1336 |
msgstr ""
|
1337 |
|
1338 |
-
#:
|
1339 |
-
msgid "
|
1340 |
msgstr ""
|
1341 |
|
1342 |
-
#:
|
1343 |
-
msgid "
|
1344 |
msgstr ""
|
1345 |
|
1346 |
-
#:
|
1347 |
-
|
1348 |
-
msgid "the first %s of the month"
|
1349 |
msgstr ""
|
1350 |
|
1351 |
-
#:
|
1352 |
-
|
1353 |
-
msgid "the second %s of the month"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#:
|
1357 |
-
|
1358 |
-
|
|
|
1359 |
msgstr ""
|
1360 |
|
1361 |
-
#:
|
1362 |
-
|
1363 |
-
msgid "
|
1364 |
msgstr ""
|
1365 |
|
1366 |
-
#:
|
1367 |
-
|
1368 |
-
msgid "the last %s of the month"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
-
#:
|
1372 |
-
|
1373 |
-
msgid "From %1$s to %2$s"
|
1374 |
msgstr ""
|
1375 |
|
1376 |
-
#:
|
1377 |
-
msgid "
|
1378 |
msgstr ""
|
1379 |
|
1380 |
-
#:
|
1381 |
-
|
1382 |
-
msgid "every %s days"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#:
|
1386 |
-
|
1387 |
-
msgid "every %s weeks"
|
1388 |
msgstr ""
|
1389 |
|
1390 |
-
#:
|
1391 |
-
|
1392 |
-
msgid "every %s months"
|
1393 |
msgstr ""
|
1394 |
|
1395 |
-
#:
|
1396 |
-
msgid "
|
1397 |
msgstr ""
|
1398 |
|
1399 |
-
#:
|
1400 |
-
msgid "
|
1401 |
msgstr ""
|
1402 |
|
1403 |
-
#:
|
1404 |
-
msgid "
|
1405 |
msgstr ""
|
1406 |
|
1407 |
-
#:
|
1408 |
-
msgid "
|
1409 |
msgstr ""
|
1410 |
|
1411 |
-
#:
|
1412 |
-
msgid "
|
1413 |
msgstr ""
|
1414 |
|
1415 |
-
#:
|
1416 |
-
|
|
|
1417 |
msgstr ""
|
1418 |
|
1419 |
-
#:
|
1420 |
-
msgid "
|
1421 |
msgstr ""
|
1422 |
|
1423 |
-
#:
|
1424 |
-
msgid "
|
1425 |
msgstr ""
|
1426 |
|
1427 |
-
#:
|
1428 |
-
msgid "
|
1429 |
msgstr ""
|
1430 |
|
1431 |
-
#:
|
1432 |
-
msgid "
|
1433 |
msgstr ""
|
1434 |
|
1435 |
-
#:
|
1436 |
-
msgid "
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#:
|
1440 |
-
msgid "
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#:
|
1444 |
-
|
1445 |
-
|
|
|
1446 |
msgstr ""
|
1447 |
|
1448 |
-
#:
|
1449 |
-
msgid "
|
1450 |
msgstr ""
|
1451 |
|
1452 |
-
#:
|
1453 |
-
msgid "
|
1454 |
msgstr ""
|
1455 |
|
1456 |
-
#:
|
1457 |
-
msgid "
|
|
|
|
|
1458 |
msgstr ""
|
1459 |
|
1460 |
-
#:
|
1461 |
-
msgid "
|
1462 |
msgstr ""
|
1463 |
|
1464 |
-
#:
|
1465 |
-
msgid "
|
1466 |
msgstr ""
|
1467 |
|
1468 |
-
#:
|
1469 |
-
msgid "
|
1470 |
msgstr ""
|
1471 |
|
1472 |
-
#:
|
1473 |
-
msgid "
|
1474 |
msgstr ""
|
1475 |
|
1476 |
-
#:
|
1477 |
-
msgid "
|
1478 |
msgstr ""
|
1479 |
|
1480 |
-
#:
|
1481 |
-
msgid "
|
1482 |
msgstr ""
|
1483 |
|
1484 |
-
#:
|
1485 |
-
|
1486 |
-
msgid ""
|
1487 |
-
"This page corresponds to <strong>Events Manager</strong> events page. Its "
|
1488 |
-
"content will be overriden by <strong>Events Manager</strong>. If you want to "
|
1489 |
-
"display your content, you can can assign another page to <strong>Events "
|
1490 |
-
"Manager</strong> in the the <a href='%s'>Settings</a>. "
|
1491 |
msgstr ""
|
1492 |
|
1493 |
-
#:
|
1494 |
-
|
1495 |
-
msgid ""
|
1496 |
-
"Uh Oh! For some reason wordpress could not create an events page for you (or "
|
1497 |
-
"you just deleted it). Not to worry though, all you have to do is create an "
|
1498 |
-
"empty page, name it whatever you want, and select it as your events page in "
|
1499 |
-
"your <a href=\"%s\">options page</a>. Sorry for the extra step! If you know "
|
1500 |
-
"what you are doing, you may have done this on purpose, if so <a href=\"%s"
|
1501 |
-
"\">ignore this message</a>"
|
1502 |
msgstr ""
|
1503 |
|
1504 |
-
#:
|
1505 |
-
#, php-format
|
1506 |
msgid ""
|
1507 |
"<p>Hey, <strong>%s</strong>, welcome to <strong>Events Manager</strong>! We "
|
1508 |
"hope you like it around here.</p> \r\n"
|
1509 |
-
"\t\t<p>Now it's time to insert events lists through <a href='%s' "
|
1510 |
"title='Widgets page'>widgets</a>, <a href='%s' title='Template tags "
|
1511 |
"documentation'>template tags</a> or <a href='%s' title='Shortcodes "
|
1512 |
"documentation'>shortcodes</a>.</p>\r\n"
|
1513 |
-
"\t\t<p>By the way, have you taken a look at the <a href='%s' title='Change "
|
1514 |
"settings'>Settings page</a>? That's where you customize the way events and "
|
1515 |
"locations are displayed.</p>\r\n"
|
1516 |
-
"\t\t<p>What? Tired of seeing this advice? I hear you, <a href='%s' "
|
1517 |
"title='Don't show this advice again'>click here</a> and you won't see this "
|
1518 |
"again!</p>"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
-
#:
|
1522 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1523 |
msgstr ""
|
1524 |
|
1525 |
-
#:
|
1526 |
msgid ""
|
1527 |
-
"
|
1528 |
-
"
|
1529 |
-
"
|
1530 |
-
">
|
|
|
|
|
1531 |
msgstr ""
|
1532 |
|
1533 |
-
#:
|
1534 |
msgid ""
|
1535 |
-
"
|
1536 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1537 |
msgstr ""
|
1538 |
|
1539 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1540 |
msgid ""
|
1541 |
-
"
|
1542 |
-
"
|
1543 |
-
|
1544 |
-
|
|
|
|
|
1545 |
msgstr ""
|
1546 |
|
1547 |
-
#:
|
1548 |
msgid ""
|
1549 |
-
"
|
1550 |
-
"to
|
|
|
1551 |
msgstr ""
|
1552 |
|
1553 |
-
#:
|
1554 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1555 |
msgid ""
|
1556 |
-
"
|
1557 |
-
"
|
1558 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1559 |
msgstr ""
|
1560 |
|
1561 |
-
#:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1562 |
msgid "Ach, some problems here:"
|
1563 |
msgstr ""
|
1564 |
|
1565 |
-
#:
|
1566 |
-
msgid "
|
1567 |
msgstr ""
|
1568 |
|
1569 |
-
#:
|
1570 |
-
msgid "
|
|
|
|
|
|
|
|
|
1571 |
msgstr ""
|
1572 |
|
1573 |
-
#:
|
1574 |
-
|
|
|
|
|
|
|
1575 |
msgstr ""
|
1576 |
|
1577 |
-
#:
|
1578 |
-
msgid "
|
|
|
|
|
|
|
|
|
1579 |
msgstr ""
|
1580 |
|
1581 |
-
#:
|
1582 |
-
msgid "
|
|
|
|
|
1583 |
msgstr ""
|
1584 |
|
1585 |
-
#:
|
1586 |
-
msgid "
|
|
|
|
|
|
|
|
|
1587 |
msgstr ""
|
1588 |
|
1589 |
-
#:
|
1590 |
-
msgid "
|
|
|
|
|
|
|
1591 |
msgstr ""
|
1592 |
|
1593 |
-
#:
|
1594 |
-
msgid "
|
|
|
|
|
|
|
1595 |
msgstr ""
|
1596 |
|
1597 |
-
#:
|
1598 |
-
msgid "
|
1599 |
msgstr ""
|
1600 |
|
1601 |
-
#:
|
1602 |
-
msgid "
|
1603 |
msgstr ""
|
1604 |
|
1605 |
-
#:
|
1606 |
-
msgid "
|
1607 |
msgstr ""
|
1608 |
|
1609 |
-
#:
|
1610 |
-
msgid "
|
1611 |
msgstr ""
|
1612 |
|
1613 |
-
#:
|
1614 |
-
msgid "
|
1615 |
msgstr ""
|
1616 |
|
1617 |
-
#:
|
1618 |
-
msgid "
|
1619 |
msgstr ""
|
1620 |
|
1621 |
-
|
1622 |
-
|
|
|
|
|
|
|
|
|
|
|
1623 |
msgstr ""
|
1624 |
|
1625 |
-
#:
|
1626 |
-
msgid "
|
|
|
|
|
1627 |
msgstr ""
|
1628 |
|
1629 |
-
#:
|
1630 |
-
msgid "
|
|
|
|
|
|
|
1631 |
msgstr ""
|
1632 |
|
1633 |
-
#:
|
1634 |
-
msgid "
|
1635 |
msgstr ""
|
1636 |
|
1637 |
-
#:
|
1638 |
-
msgid "
|
1639 |
msgstr ""
|
1640 |
|
1641 |
-
#:
|
1642 |
-
msgid "
|
1643 |
msgstr ""
|
1644 |
|
1645 |
-
#:
|
1646 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1647 |
msgstr ""
|
1648 |
|
|
|
|
|
|
|
|
|
|
|
1649 |
#. Plugin URI of the plugin/theme
|
1650 |
-
|
|
|
|
|
1651 |
msgstr ""
|
1652 |
|
1653 |
#. Description of the plugin/theme
|
@@ -1659,7 +2368,3 @@ msgstr ""
|
|
1659 |
#. Author of the plugin/theme
|
1660 |
msgid "Davide Benini, Marcus Sykes"
|
1661 |
msgstr ""
|
1662 |
-
|
1663 |
-
#. Author URI of the plugin/theme
|
1664 |
-
msgid "http://www.davidebenini.it/blog"
|
1665 |
-
msgstr ""
|
1 |
+
# Copyright (C) 2010 Events Manager
|
|
|
2 |
# This file is distributed under the same license as the Events Manager package.
|
|
|
|
|
|
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Events Manager 3.0.9\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/events-manager\n"
|
7 |
+
"POT-Creation-Date: 2011-02-01 19:28:55+00:00\n"
|
8 |
+
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
+
"Content-Transfer-Encoding: 8bit\n"
|
11 |
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
|
|
|
|
|
14 |
|
15 |
+
#: widgets/em-calendar.php:9
|
16 |
+
msgid "Display your events in a calendar widget."
|
|
|
|
|
|
|
17 |
msgstr ""
|
18 |
|
19 |
+
#: widgets/em-calendar.php:10
|
20 |
+
msgid "Events Calendar"
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: widgets/em-calendar.php:40
|
24 |
+
msgid "Calendar"
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: widgets/em-calendar.php:49 widgets/em-locations.php:61
|
28 |
+
#: widgets/em-events.php:70
|
29 |
+
msgid "Title"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: widgets/em-calendar.php:53
|
33 |
+
msgid "Show Long Events?"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: widgets/em-locations.php:9
|
37 |
+
msgid "Display a list of event locations on Events Manager."
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: widgets/em-locations.php:32
|
41 |
+
msgid "No locations"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: widgets/em-locations.php:43
|
45 |
+
msgid "Event Locations"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: widgets/em-locations.php:65
|
49 |
+
msgid "Show number of locations"
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: widgets/em-locations.php:69
|
53 |
+
msgid "Scope of the locations"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: widgets/em-locations.php:71
|
57 |
+
msgid "Locations with upcoming events"
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: widgets/em-locations.php:72
|
61 |
+
msgid "All locations"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: widgets/em-locations.php:73
|
65 |
+
msgid "Locations with past events "
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: widgets/em-locations.php:77
|
69 |
+
msgid "Order of the locations"
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: widgets/em-locations.php:79
|
73 |
+
msgid "Ascendant"
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: widgets/em-locations.php:80
|
77 |
+
msgid "Descendant"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: widgets/em-locations.php:84 widgets/em-events.php:142
|
81 |
+
msgid "List item format"
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: widgets/em-events.php:9
|
85 |
+
msgid "Display a list of events on Events Manager."
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: widgets/em-events.php:38 em-install.php:229
|
89 |
+
msgid "No events"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: widgets/em-events.php:41 widgets/em-events.php:61 widgets/em-events.php:151
|
93 |
+
msgid "all events"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: widgets/em-events.php:53 em-template-tags.php:74 em-install.php:223
|
97 |
+
#: em-install.php:237 em-install.php:238 em-install.php:256 em-install.php:334
|
98 |
+
#: events-manager.php:207
|
99 |
+
msgid "Events"
|
100 |
msgstr ""
|
101 |
|
102 |
+
#: widgets/em-events.php:74
|
103 |
+
msgid "Number of events"
|
104 |
msgstr ""
|
105 |
|
106 |
+
#: widgets/em-events.php:78
|
107 |
+
msgid "Scope of the events"
|
108 |
msgstr ""
|
109 |
|
110 |
+
#: widgets/em-events.php:80 admin/bookings/em-events.php:15
|
111 |
+
#: admin/em-events.php:19 admin/em-events.php:61
|
112 |
+
msgid "Future events"
|
113 |
msgstr ""
|
114 |
|
115 |
+
#: widgets/em-events.php:81 admin/bookings/em-events.php:14
|
116 |
+
#: admin/em-events.php:18 admin/em-events.php:60
|
117 |
+
msgid "All events"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: widgets/em-events.php:82 admin/bookings/em-events.php:13
|
121 |
+
#: admin/em-events.php:17 admin/em-events.php:59
|
122 |
+
msgid "Past events"
|
|
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: widgets/em-events.php:86
|
126 |
+
msgid "Time Limit"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: widgets/em-events.php:88 admin/em-options.php:196
|
130 |
+
msgid "no limit"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: widgets/em-events.php:89 admin/em-options.php:197
|
134 |
+
msgid "This month"
|
|
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: widgets/em-events.php:90 admin/em-options.php:198
|
138 |
+
msgid "Next two months"
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: widgets/em-events.php:91
|
142 |
+
msgid "Next three month"
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: widgets/em-events.php:92
|
146 |
+
msgid "Next six month"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: widgets/em-events.php:93
|
150 |
+
msgid "Next twelve month"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: widgets/em-events.php:108
|
154 |
+
msgid "Order By"
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: widgets/em-events.php:112
|
158 |
+
msgid "start date, start time, event name"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: widgets/em-events.php:113
|
162 |
+
msgid "name, start date, start time"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: widgets/em-events.php:114
|
166 |
+
msgid "name, end date, end time"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: widgets/em-events.php:115
|
170 |
+
msgid "end date, end time, event name"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: widgets/em-events.php:126
|
174 |
+
msgid "Order"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: widgets/em-events.php:130 admin/em-options.php:167
|
178 |
+
msgid "Ascending"
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: widgets/em-events.php:131 admin/em-options.php:168
|
182 |
+
msgid "Descending"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: widgets/em-events.php:146
|
186 |
+
msgid "Show all events link at bottom?"
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: widgets/em-events.php:150
|
190 |
+
msgid "All events link text?"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: em-functions.php:19
|
194 |
+
msgid ""
|
195 |
+
"<p>Hey, <strong>%s</strong>, welcome to <strong>Events Manager</strong>! We "
|
196 |
+
"hope you like it around here.</p> \r\n"
|
197 |
+
"\t\t<p>Now it's time to insert events lists through <a href='%s' "
|
198 |
+
"title='Widgets page'>widgets</a>, <a href='%s' title='Template tags "
|
199 |
+
"documentation'>template tags</a> or <a href='%s' title='Shortcodes "
|
200 |
+
"documentation'>shortcodes</a>.</p>\r\n"
|
201 |
+
"\t\t<p>By the way, have you taken a look at the <a href='%s' title='Change "
|
202 |
+
"settings'>Settings page</a>? That's where you customize the way events and "
|
203 |
+
"locations are displayed.</p>\r\n"
|
204 |
+
"\t\t<p>What? Tired of seeing this advice? I hear you, <a href='%s' "
|
205 |
+
"title='Don't show this advice again'>click here</a> and you won't see this "
|
206 |
+
"again!</p>"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: em-functions.php:224 admin/em-options.php:295
|
210 |
+
msgid "Yes"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: em-functions.php:225 admin/em-options.php:296
|
214 |
+
msgid "No"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: em-ajax.php:75
|
218 |
+
msgid "Booking Deleted"
|
|
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: em-ajax.php:77
|
222 |
+
msgid "Booking deletion unsuccessful"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: classes/em-map.php:21 classes/em-map.php:46
|
226 |
+
msgid "Loading Map...."
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: classes/em-map.php:55
|
230 |
+
msgid "Map Unavailable"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: classes/em-location.php:41
|
234 |
+
msgid "The location name"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: classes/em-location.php:41
|
238 |
+
msgid "The location address"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: classes/em-location.php:41
|
242 |
+
msgid "The location town"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: classes/em-location.php:143
|
246 |
+
msgid "The image could not be loaded"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: classes/em-location.php:174
|
250 |
+
msgid " is missing!"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: classes/em-location.php:182
|
254 |
+
msgid "The image file is too big! Maximum size:"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: classes/em-location.php:188
|
258 |
+
msgid "The image is too big! Maximum size allowed:"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: classes/em-location.php:191
|
262 |
+
msgid "The image is in a wrong format!"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: classes/em-person.php:86 admin/em-options.php:23
|
266 |
+
msgid "Changes saved."
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: classes/em-person.php:86 classes/em-person.php:89
|
270 |
+
msgid "Could not edit person details."
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: classes/em-person.php:105
|
274 |
+
msgid "Please provide a valid email address."
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: classes/em-bookings.php:83
|
278 |
+
msgid ""
|
279 |
+
"Booking successful, pending confirmation (you will also receive an email "
|
280 |
+
"once confirmed)."
|
281 |
msgstr ""
|
282 |
|
283 |
+
#: classes/em-bookings.php:85
|
284 |
+
msgid "Booking successful."
|
285 |
msgstr ""
|
286 |
|
287 |
+
#: classes/em-bookings.php:88
|
288 |
+
msgid ""
|
289 |
+
"However, there were some problems whilst sending confirmation emails to you "
|
290 |
+
"and/or the event contact person. You may want to contact them directly and "
|
291 |
+
"letting them know of this error."
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: classes/em-bookings.php:100
|
295 |
+
msgid "Booking could not be created"
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: classes/em-bookings.php:103
|
299 |
+
msgid "Booking cannot be made, not enough seats available!"
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: classes/em-bookings.php:163
|
303 |
+
msgid "Bookings %s. Mails Sent."
|
304 |
msgstr ""
|
305 |
|
306 |
+
#: classes/em-bookings.php:167
|
307 |
+
msgid "An error occurred."
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: classes/em-bookings.php:418
|
311 |
+
msgid "Booking details for \"%s\" as of %s"
|
|
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: classes/em-booking.php:71 admin/bookings/em-events.php:136
|
315 |
+
#: admin/em-events.php:174
|
316 |
+
msgid "Pending"
|
317 |
msgstr ""
|
318 |
|
319 |
+
#: classes/em-booking.php:72
|
320 |
+
msgid "Approved"
|
321 |
msgstr ""
|
322 |
|
323 |
+
#: classes/em-booking.php:73
|
324 |
+
msgid "Rejected"
|
325 |
msgstr ""
|
326 |
|
327 |
+
#: classes/em-booking.php:74
|
328 |
+
msgid "Cacncelled"
|
329 |
msgstr ""
|
330 |
|
331 |
+
#: classes/em-booking.php:101
|
332 |
+
msgid "Changes saved"
|
333 |
msgstr ""
|
334 |
|
335 |
+
#: classes/em-booking.php:105
|
336 |
+
msgid "Your booking has been recorded"
|
|
|
|
|
337 |
msgstr ""
|
338 |
|
339 |
+
#: classes/em-booking.php:108 classes/em-booking.php:109
|
340 |
+
#: classes/em-booking.php:113 classes/em-booking.php:114
|
341 |
+
msgid "There was a problem saving the booking."
|
342 |
msgstr ""
|
343 |
|
344 |
+
#: classes/em-booking.php:239
|
345 |
+
msgid "Booking %s."
|
346 |
msgstr ""
|
347 |
|
348 |
+
#: classes/em-booking.php:241
|
349 |
+
msgid "Mail Sent."
|
350 |
msgstr ""
|
351 |
|
352 |
+
#: classes/em-booking.php:244
|
353 |
+
msgid "ERROR : Mail Not Sent."
|
|
|
|
|
354 |
msgstr ""
|
355 |
|
356 |
+
#: classes/em-booking.php:250
|
357 |
+
msgid "Booking could not be %s."
|
358 |
+
msgstr ""
|
359 |
+
|
360 |
+
#: classes/em-booking.php:265
|
361 |
+
msgid "Booking note successfully added."
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: classes/em-booking.php:338
|
365 |
msgid ""
|
366 |
+
"Confirmation email could not be sent to contact person. Registrant should "
|
367 |
+
"have gotten their email (only admin see this warning)."
|
|
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: classes/em-booking.php:345
|
371 |
+
msgid ""
|
372 |
+
"Confirmation email could not be sent to admin. Registrant should have gotten "
|
373 |
+
"their email (only admin see this warning)."
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: classes/em-category.php:25
|
377 |
+
msgid "The category name"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: classes/em-category.php:90 classes/em-event.php:407
|
381 |
+
msgid "Missing fields: "
|
382 |
msgstr ""
|
383 |
|
384 |
+
#: classes/em-event.php:274
|
385 |
+
msgid "There was a problem saving the location so event was not saved."
|
386 |
msgstr ""
|
387 |
|
388 |
+
#: classes/em-event.php:300 classes/em-event.php:329
|
389 |
+
msgid "Something went wrong with the recurrence update..."
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: classes/em-event.php:301 classes/em-event.php:330
|
393 |
+
msgid "There was a problem saving the recurring events."
|
|
|
|
|
|
|
394 |
msgstr ""
|
395 |
|
396 |
+
#: classes/em-event.php:306
|
397 |
+
msgid "New recurrent event inserted!"
|
398 |
msgstr ""
|
399 |
|
400 |
+
#: classes/em-event.php:310
|
401 |
+
msgid "New event successfully inserted!"
|
402 |
+
msgstr ""
|
403 |
+
|
404 |
+
#: classes/em-event.php:313 classes/em-event.php:337
|
405 |
+
msgid "Could not save the event details due to a database error."
|
406 |
+
msgstr ""
|
407 |
+
|
408 |
+
#: classes/em-event.php:333
|
409 |
+
msgid "Recurrence updated!"
|
410 |
+
msgstr ""
|
411 |
+
|
412 |
+
#: classes/em-event.php:341
|
413 |
+
msgid "updated"
|
414 |
+
msgstr ""
|
415 |
+
|
416 |
+
#: classes/em-event.php:384
|
417 |
+
msgid "You are now viewing the duplicated event"
|
418 |
+
msgstr ""
|
419 |
+
|
420 |
+
#: classes/em-event.php:410
|
421 |
+
msgid "Since the event is repeated, you must specify an event date."
|
422 |
+
msgstr ""
|
423 |
+
|
424 |
+
#: classes/em-event.php:414
|
425 |
+
msgid "Events cannot start after they end."
|
426 |
msgstr ""
|
427 |
|
428 |
+
#: classes/em-event.php:417
|
429 |
msgid ""
|
430 |
+
"Dates must have correct formatting. Please use the date picker provided."
|
|
|
|
|
431 |
msgstr ""
|
432 |
|
433 |
+
#: classes/em-event.php:552 admin/bookings/em-cancelled.php:108
|
434 |
+
#: admin/bookings/em-confirmed.php:108 admin/bookings/em-person.php:124
|
435 |
+
#: admin/bookings/em-rejected.php:108 admin/bookings/em-pending.php:130
|
436 |
+
#: events-manager.php:210
|
437 |
+
msgid "Edit"
|
438 |
msgstr ""
|
439 |
|
440 |
+
#: classes/em-event.php:552 admin/bookings/em-events.php:101
|
441 |
+
msgid "Event"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: classes/em-event.php:603
|
445 |
+
msgid "N/A"
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: classes/em-event.php:613
|
449 |
+
msgid "Profile"
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: classes/em-event.php:772
|
453 |
+
msgid "You do not have permission to manage this event."
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: classes/em-event.php:892
|
457 |
+
msgid "Sunday"
|
458 |
msgstr ""
|
459 |
|
460 |
+
#: classes/em-event.php:892
|
461 |
+
msgid "Monday"
|
462 |
msgstr ""
|
463 |
|
464 |
+
#: classes/em-event.php:892
|
465 |
+
msgid "Tuesday"
|
466 |
msgstr ""
|
467 |
|
468 |
+
#: classes/em-event.php:892
|
469 |
+
msgid "Wednesday"
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: classes/em-event.php:892
|
473 |
+
msgid "Thursday"
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: classes/em-event.php:892
|
477 |
+
msgid "Friday"
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: classes/em-event.php:892
|
481 |
+
msgid "Saturday"
|
482 |
msgstr ""
|
483 |
|
484 |
+
#: classes/em-event.php:893
|
485 |
+
msgid "the first %s of the month"
|
486 |
msgstr ""
|
487 |
|
488 |
+
#: classes/em-event.php:893
|
489 |
+
msgid "the second %s of the month"
|
490 |
msgstr ""
|
491 |
|
492 |
+
#: classes/em-event.php:893
|
493 |
+
msgid "the third %s of the month"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: classes/em-event.php:893
|
497 |
+
msgid "the fourth %s of the month"
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: classes/em-event.php:893
|
501 |
+
msgid "the last %s of the month"
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: classes/em-event.php:894
|
505 |
+
msgid "From %1$s to %2$s"
|
506 |
msgstr ""
|
507 |
|
508 |
+
#: classes/em-event.php:896
|
509 |
+
msgid "everyday"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: classes/em-event.php:898
|
513 |
+
msgid "every %s days"
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: classes/em-event.php:908
|
517 |
+
msgid "every week"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: classes/em-event.php:910
|
521 |
+
msgid "every %s weeks"
|
522 |
msgstr ""
|
523 |
|
524 |
+
#: classes/em-event.php:922
|
525 |
+
msgid "every %s months"
|
526 |
msgstr ""
|
527 |
|
528 |
+
#: classes/em-mailer.php:67
|
529 |
+
msgid "Please supply a valid email format."
|
530 |
msgstr ""
|
531 |
|
532 |
+
#: em-bookings.php:40
|
533 |
+
msgid "Booking deleted"
|
534 |
msgstr ""
|
535 |
|
536 |
+
#: em-bookings.php:42
|
537 |
+
msgid "There are no bookings associated to this name and e-mail"
|
538 |
msgstr ""
|
539 |
|
540 |
+
#: em-bookings.php:66
|
541 |
+
msgid "Book now!"
|
542 |
msgstr ""
|
543 |
|
544 |
+
#: em-bookings.php:78 em-bookings.php:149 admin/em-categories.php:66
|
545 |
+
#: admin/em-categories.php:73 admin/em-bookings.php:255
|
546 |
+
#: admin/em-bookings.php:267 admin/em-admin.php:225 admin/em-locations.php:103
|
547 |
+
#: admin/em-locations.php:111 admin/em-events.php:130 admin/em-people.php:57
|
548 |
+
#: admin/em-people.php:145 admin/em-event.php:339
|
549 |
+
msgid "Name"
|
550 |
msgstr ""
|
551 |
|
552 |
+
#: em-bookings.php:79 em-bookings.php:152
|
553 |
+
msgid "E-Mail"
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: em-bookings.php:80 admin/em-people.php:147
|
557 |
+
msgid "Phone number"
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: em-bookings.php:82 admin/em-people.php:148
|
561 |
+
msgid "Seats"
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: em-bookings.php:93 admin/em-bookings.php:274 admin/em-people.php:149
|
565 |
+
msgid "Comment"
|
566 |
msgstr ""
|
567 |
|
568 |
+
#: em-bookings.php:96
|
569 |
+
msgid "Send your booking"
|
570 |
msgstr ""
|
571 |
|
572 |
+
#: em-bookings.php:105 em-bookings.php:111
|
573 |
+
msgid "Hide cancellation form"
|
574 |
msgstr ""
|
575 |
|
576 |
+
#: em-bookings.php:105 em-bookings.php:107 em-bookings.php:110
|
577 |
+
#: em-bookings.php:114
|
578 |
+
msgid "Cancel a booking"
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: em-bookings.php:136 em-bookings.php:157
|
582 |
+
msgid "Cancel your booking"
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: admin/em-options.php:35 admin/em-help.php:17
|
586 |
+
msgid "Event Related Placeholders"
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: admin/em-options.php:36 admin/em-help.php:19
|
590 |
+
msgid "Location Related Placeholders"
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: admin/em-options.php:37 admin/em-help.php:21
|
594 |
+
msgid "Booking Related Placeholders"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: admin/em-options.php:38
|
598 |
+
msgid "This accepts %s and %s placeholders."
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: admin/em-options.php:39
|
602 |
+
msgid "This accepts %s placeholders."
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: admin/em-options.php:40
|
606 |
+
msgid "This accepts %s, %s and %s placeholders."
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: admin/em-options.php:42 admin/em-options.php:432
|
610 |
msgid "Save Changes"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: admin/em-options.php:42
|
614 |
msgid "All"
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: admin/em-options.php:46
|
618 |
msgid "Collapse All"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: admin/em-options.php:47
|
622 |
msgid "Expand All"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: admin/em-options.php:76
|
626 |
msgid "Event Manager Options"
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: admin/em-options.php:86 admin/em-options.php:124 admin/em-options.php:222
|
630 |
+
#: admin/em-options.php:241 admin/em-options.php:257 admin/em-options.php:273
|
631 |
+
#: admin/em-options.php:288 admin/em-options.php:309 admin/em-options.php:360
|
632 |
+
#: admin/em-options.php:379 admin/em-options.php:393
|
633 |
msgid "Click to toggle"
|
634 |
msgstr ""
|
635 |
|
636 |
+
#: admin/em-options.php:86
|
637 |
msgid "General options"
|
638 |
msgstr ""
|
639 |
|
640 |
+
#: admin/em-options.php:90
|
641 |
msgid "Use dropdown for locations?"
|
642 |
msgstr ""
|
643 |
|
644 |
+
#: admin/em-options.php:90
|
645 |
msgid ""
|
646 |
"Select yes to select location from a drow-down menu; location selection will "
|
647 |
"be faster, but you will lose the ability to insert locations with events"
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: admin/em-options.php:91
|
651 |
msgid "Use recurrence?"
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: admin/em-options.php:91
|
655 |
msgid "Select yes to enable the recurrence features feature"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: admin/em-options.php:92
|
659 |
msgid "Use RSVP?"
|
660 |
msgstr ""
|
661 |
|
662 |
+
#: admin/em-options.php:92
|
663 |
msgid "Select yes to enable the RSVP feature"
|
664 |
msgstr ""
|
665 |
|
666 |
+
#: admin/em-options.php:93
|
667 |
msgid "Use categories?"
|
668 |
msgstr ""
|
669 |
|
670 |
+
#: admin/em-options.php:93
|
671 |
msgid "Select yes to enable the category features"
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: admin/em-options.php:94
|
675 |
msgid "Use attributes?"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: admin/em-options.php:94
|
679 |
msgid "Select yes to enable the attributes feature"
|
680 |
msgstr ""
|
681 |
|
682 |
+
#: admin/em-options.php:98
|
683 |
+
msgid "no default category"
|
684 |
msgstr ""
|
685 |
|
686 |
+
#: admin/em-options.php:103
|
687 |
+
msgid "Default Category"
|
688 |
msgstr ""
|
689 |
|
690 |
+
#: admin/em-options.php:103
|
691 |
+
msgid ""
|
692 |
+
"This option allows you to select the default category when adding an event."
|
693 |
msgstr ""
|
694 |
|
695 |
+
#: admin/em-options.php:103 admin/em-options.php:112
|
696 |
+
msgid "(not applicable with event ownership on presently, coming soon!)"
|
697 |
+
msgstr ""
|
698 |
+
|
699 |
+
#: admin/em-options.php:107
|
700 |
+
msgid "no default location"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: admin/em-options.php:112
|
704 |
+
msgid "Default Location"
|
705 |
+
msgstr ""
|
706 |
+
|
707 |
+
#: admin/em-options.php:112
|
708 |
+
msgid ""
|
709 |
+
"This option allows you to select the default location when adding an event."
|
710 |
+
msgstr ""
|
711 |
+
|
712 |
+
#: admin/em-options.php:114
|
713 |
+
msgid "Custom Placeholders"
|
714 |
+
msgstr ""
|
715 |
+
|
716 |
+
#: admin/em-options.php:114
|
717 |
+
msgid ""
|
718 |
+
"You can add custom placeholders here, one per line in this format <code>#_ATT"
|
719 |
+
"{key}</code>. They will not appear on event pages unless you insert them "
|
720 |
+
"into another template below, but you may want to store extra information "
|
721 |
+
"about an event for other uses. <a href='%s'>More information on placeholders."
|
722 |
+
"</a>"
|
723 |
+
msgstr ""
|
724 |
+
|
725 |
+
#: admin/em-options.php:124 admin/em-options.php:138
|
726 |
+
msgid "Events page"
|
727 |
+
msgstr ""
|
728 |
+
|
729 |
+
#: admin/em-options.php:133
|
730 |
+
msgid "[No Events Page]"
|
731 |
+
msgstr ""
|
732 |
+
|
733 |
+
#: admin/em-options.php:138
|
734 |
+
msgid "This option allows you to select which page to use as an events page"
|
735 |
+
msgstr ""
|
736 |
+
|
737 |
+
#: admin/em-options.php:141
|
738 |
msgid "Show events page in lists?"
|
739 |
msgstr ""
|
740 |
|
741 |
+
#: admin/em-options.php:141
|
742 |
msgid ""
|
743 |
"Check this option if you want the events page to appear together with other "
|
744 |
"pages in pages lists."
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: admin/em-options.php:142
|
748 |
msgid "Display calendar in events page?"
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: admin/em-options.php:142
|
752 |
msgid ""
|
753 |
"This options allows to display the calendar in the events page, instead of "
|
754 |
"the default list. It is recommended not to display both the calendar widget "
|
755 |
"and a calendar page."
|
756 |
msgstr ""
|
757 |
|
758 |
+
#: admin/em-options.php:142
|
759 |
+
msgid ""
|
760 |
+
"If you would like to show events that span over more than one day, see the "
|
761 |
+
"Calendar section on this page."
|
762 |
+
msgstr ""
|
763 |
+
|
764 |
+
#: admin/em-options.php:143
|
765 |
msgid "Disable title rewriting?"
|
766 |
msgstr ""
|
767 |
|
768 |
+
#: admin/em-options.php:143
|
769 |
msgid ""
|
770 |
"Some wordpress themes don't follow best practices when generating navigation "
|
771 |
"menus, and so the automatic title rewriting feature may cause problems, if "
|
773 |
"'Yes', and provide an appropriate HTML title format below."
|
774 |
msgstr ""
|
775 |
|
776 |
+
#: admin/em-options.php:144
|
777 |
msgid "Event Manager titles"
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: admin/em-options.php:144
|
781 |
msgid ""
|
782 |
"This only setting only matters if you selected 'Yes' to above. You will "
|
783 |
"notice the events page titles aren't being rewritten, and you have a new "
|
787 |
"this title, see settings further down for page titles."
|
788 |
msgstr ""
|
789 |
|
790 |
+
#: admin/em-options.php:145
|
791 |
+
msgid "Event List Limits"
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: admin/em-options.php:145
|
795 |
+
msgid "This will control how many events are shown on one list by default."
|
796 |
+
msgstr ""
|
797 |
+
|
798 |
+
#: admin/em-options.php:148
|
799 |
+
msgid "Default event list ordering"
|
800 |
+
msgstr ""
|
801 |
+
|
802 |
+
#: admin/em-options.php:153
|
803 |
+
msgid "Order by start date, start time, then event name"
|
804 |
+
msgstr ""
|
805 |
+
|
806 |
+
#: admin/em-options.php:154
|
807 |
+
msgid "Order by name, start date, then start time"
|
808 |
+
msgstr ""
|
809 |
+
|
810 |
+
#: admin/em-options.php:155
|
811 |
+
msgid "Order by name, end date, then end time"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: admin/em-options.php:156
|
815 |
+
msgid "Order by end date, end time, then event name"
|
816 |
+
msgstr ""
|
817 |
+
|
818 |
+
#: admin/em-options.php:170
|
819 |
+
msgid "All Ascending"
|
820 |
+
msgstr ""
|
821 |
+
|
822 |
+
#: admin/em-options.php:173
|
823 |
+
msgid "All Descending"
|
824 |
+
msgstr ""
|
825 |
+
|
826 |
+
#: admin/em-options.php:187
|
827 |
+
msgid ""
|
828 |
+
"When Events Manager displays lists of events the default behaviour is "
|
829 |
+
"ordering by start date in ascending order. To change this, modify the values "
|
830 |
+
"above."
|
831 |
+
msgstr ""
|
832 |
+
|
833 |
+
#: admin/em-options.php:191
|
834 |
+
msgid "Event list range limit"
|
835 |
+
msgstr ""
|
836 |
+
|
837 |
+
#: admin/em-options.php:199
|
838 |
+
msgid "Next three months"
|
839 |
+
msgstr ""
|
840 |
+
|
841 |
+
#: admin/em-options.php:200
|
842 |
+
msgid "Next six months"
|
843 |
+
msgstr ""
|
844 |
+
|
845 |
+
#: admin/em-options.php:201
|
846 |
+
msgid "Next twelve months"
|
847 |
+
msgstr ""
|
848 |
+
|
849 |
+
#: admin/em-options.php:211
|
850 |
+
msgid ""
|
851 |
+
"Only show events starting within a certain time limit on the events page. "
|
852 |
+
"Default is no time limit is applied."
|
853 |
+
msgstr ""
|
854 |
+
|
855 |
+
#: admin/em-options.php:222
|
856 |
msgid "Events format"
|
857 |
msgstr ""
|
858 |
|
859 |
+
#: admin/em-options.php:226
|
860 |
msgid "Default event list format header"
|
861 |
msgstr ""
|
862 |
|
863 |
+
#: admin/em-options.php:226
|
864 |
msgid ""
|
865 |
"This content will appear just above your code for the default event list "
|
866 |
"format. Default is blank"
|
867 |
msgstr ""
|
868 |
|
869 |
+
#: admin/em-options.php:227
|
870 |
msgid "Default event list format"
|
871 |
msgstr ""
|
872 |
|
873 |
+
#: admin/em-options.php:227
|
874 |
+
msgid "The format of any events in a list."
|
875 |
+
msgstr ""
|
876 |
+
|
877 |
+
#: admin/em-options.php:228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
878 |
msgid "Default event list format footer"
|
879 |
msgstr ""
|
880 |
|
881 |
+
#: admin/em-options.php:228
|
882 |
msgid ""
|
883 |
"This content will appear just below your code for the default event list "
|
884 |
"format. Default is blank"
|
885 |
msgstr ""
|
886 |
|
887 |
+
#: admin/em-options.php:229
|
888 |
msgid "Single event page title format"
|
889 |
msgstr ""
|
890 |
|
891 |
+
#: admin/em-options.php:229
|
892 |
+
msgid "The format of a single event page title."
|
|
|
|
|
893 |
msgstr ""
|
894 |
|
895 |
+
#: admin/em-options.php:230
|
896 |
msgid "Default single event format"
|
897 |
msgstr ""
|
898 |
|
899 |
+
#: admin/em-options.php:230
|
900 |
+
msgid "The format of a single event page."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
901 |
msgstr ""
|
902 |
|
903 |
+
#: admin/em-options.php:231
|
904 |
msgid "Events page title"
|
905 |
msgstr ""
|
906 |
|
907 |
+
#: admin/em-options.php:231
|
908 |
msgid "The title on the multiple events page."
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: admin/em-options.php:232
|
912 |
msgid "No events message"
|
913 |
msgstr ""
|
914 |
|
915 |
+
#: admin/em-options.php:232
|
916 |
msgid "The message displayed when no events are available."
|
917 |
msgstr ""
|
918 |
|
919 |
+
#: admin/em-options.php:233
|
920 |
msgid "List events by date title"
|
921 |
msgstr ""
|
922 |
|
923 |
+
#: admin/em-options.php:233
|
924 |
msgid ""
|
925 |
+
"If viewing a page for events on a specific date, this is the title that "
|
926 |
"would show up. To insert date values, use <a href=\"http://www.php.net/"
|
927 |
"manual/en/function.date.php\">PHP time format characters</a> with a "
|
928 |
"<code>#</code> symbol before them, i.e. <code>#m</code>, <code>#M</code>, "
|
929 |
"<code>#j</code>, etc.<br/>"
|
930 |
msgstr ""
|
931 |
|
932 |
+
#: admin/em-options.php:241
|
933 |
msgid "Calendar format"
|
934 |
msgstr ""
|
935 |
|
936 |
+
#: admin/em-options.php:245
|
937 |
msgid "Small calendar title"
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: admin/em-options.php:245
|
941 |
msgid ""
|
942 |
"The format of the title, corresponding to the text that appears when "
|
943 |
"hovering on an eventful calendar day."
|
944 |
msgstr ""
|
945 |
|
946 |
+
#: admin/em-options.php:246
|
947 |
msgid "Small calendar title separator"
|
948 |
msgstr ""
|
949 |
|
950 |
+
#: admin/em-options.php:246
|
951 |
msgid ""
|
952 |
"The separator appearing on the above title when more than one events are "
|
953 |
"taking place on the same day."
|
954 |
msgstr ""
|
955 |
|
956 |
+
#: admin/em-options.php:247
|
957 |
msgid "Full calendar events format"
|
958 |
msgstr ""
|
959 |
|
960 |
+
#: admin/em-options.php:247
|
961 |
msgid ""
|
962 |
"The format of each event when displayed in the full calendar. Remember to "
|
963 |
"include <code>li</code> tags before and after the event."
|
964 |
msgstr ""
|
965 |
|
966 |
+
#: admin/em-options.php:248
|
967 |
+
msgid "Show long events on calendar pages?"
|
968 |
+
msgstr ""
|
969 |
+
|
970 |
+
#: admin/em-options.php:248
|
971 |
+
msgid ""
|
972 |
+
"If you are showing a calendar on the events page (see Events format section "
|
973 |
+
"on this page), you have the option of showing events that span over days on "
|
974 |
+
"each day it occurs."
|
975 |
+
msgstr ""
|
976 |
+
|
977 |
+
#: admin/em-options.php:249
|
978 |
msgid "Show list on day with single event?"
|
979 |
msgstr ""
|
980 |
|
981 |
+
#: admin/em-options.php:249
|
982 |
msgid ""
|
983 |
"By default, if a calendar day only has one event, it display a single event "
|
984 |
"when clicking on the link of that calendar date. If you select Yes here, you "
|
985 |
"will get always see a list of events."
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: admin/em-options.php:257
|
989 |
msgid "Locations format"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: admin/em-options.php:261
|
993 |
msgid "Single location page title format"
|
994 |
msgstr ""
|
995 |
|
996 |
+
#: admin/em-options.php:261
|
997 |
+
msgid "The format of a single location page title."
|
|
|
|
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: admin/em-options.php:262
|
1001 |
msgid "Default single location page format"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: admin/em-options.php:262
|
1005 |
+
msgid "The format of a single location page."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: admin/em-options.php:263
|
1009 |
+
msgid "Default location balloon format"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: admin/em-options.php:263
|
1013 |
msgid ""
|
1014 |
"The format of of the text appearing in the baloon describing the location in "
|
1015 |
+
"the map."
|
|
|
|
|
1016 |
msgstr ""
|
1017 |
|
1018 |
+
#: admin/em-options.php:264
|
1019 |
msgid "Default location event list format"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
+
#: admin/em-options.php:264
|
1023 |
msgid ""
|
1024 |
"The format of the events the list inserted in the location page through the "
|
1025 |
"<code>#_NEXTEVENTS</code>, <code>#_PASTEVENTS</code> and <code>#_ALLEVENTS</"
|
1026 |
+
"code> element."
|
1027 |
msgstr ""
|
1028 |
|
1029 |
+
#: admin/em-options.php:265
|
1030 |
msgid "Default no events message"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
+
#: admin/em-options.php:265
|
1034 |
msgid ""
|
1035 |
"The message to be displayed in the list generated by <code>#_NEXTEVENTS</"
|
1036 |
"code>, <code>#_PASTEVENTS</code> and <code>#_ALLEVENTS</code> when no events "
|
1037 |
"are available."
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: admin/em-options.php:273
|
1041 |
msgid "RSS feed format"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: admin/em-options.php:277
|
1045 |
msgid "RSS main title"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
+
#: admin/em-options.php:277
|
1049 |
msgid "The main title of your RSS events feed."
|
1050 |
msgstr ""
|
1051 |
|
1052 |
+
#: admin/em-options.php:278
|
1053 |
msgid "RSS main description"
|
1054 |
msgstr ""
|
1055 |
|
1056 |
+
#: admin/em-options.php:278
|
1057 |
msgid "The main description of your RSS events feed."
|
1058 |
msgstr ""
|
1059 |
|
1060 |
+
#: admin/em-options.php:279
|
1061 |
msgid "RSS title format"
|
1062 |
msgstr ""
|
1063 |
|
1064 |
+
#: admin/em-options.php:279
|
1065 |
msgid "The format of the title of each item in the events RSS feed."
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: admin/em-options.php:280
|
1069 |
msgid "RSS description format"
|
1070 |
msgstr ""
|
1071 |
|
1072 |
+
#: admin/em-options.php:280
|
1073 |
+
msgid "The format of the description of each item in the events RSS feed."
|
|
|
|
|
1074 |
msgstr ""
|
1075 |
|
1076 |
+
#: admin/em-options.php:288
|
1077 |
msgid "Maps and geotagging"
|
1078 |
msgstr ""
|
1079 |
|
1080 |
+
#: admin/em-options.php:293
|
1081 |
msgid "Enable Google Maps integration?"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
+
#: admin/em-options.php:297
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1085 |
msgid "Check this option to enable Goggle Map integration."
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: admin/em-options.php:301
|
1089 |
msgid "Map text format"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: admin/em-options.php:301
|
1093 |
+
msgid "The text format inside the map balloons."
|
|
|
|
|
1094 |
msgstr ""
|
1095 |
|
1096 |
+
#: admin/em-options.php:309
|
1097 |
msgid "RSVP and bookings"
|
1098 |
msgstr ""
|
1099 |
|
1100 |
+
#: admin/em-options.php:313
|
1101 |
msgid "Default contact person"
|
1102 |
msgstr ""
|
1103 |
|
1104 |
+
#: admin/em-options.php:313
|
1105 |
msgid ""
|
1106 |
"Select the default contact person. This user will be employed whenever a "
|
1107 |
"contact person is not explicitly specified for an event"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: admin/em-options.php:314
|
1111 |
+
msgid "Approval Required?"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: admin/em-options.php:314
|
1115 |
msgid ""
|
1116 |
+
"Bookings will not be confirmed until the event administrator approves it."
|
|
|
1117 |
msgstr ""
|
1118 |
|
1119 |
+
#: admin/em-options.php:315
|
1120 |
+
msgid "Email events admin?"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
+
#: admin/em-options.php:315
|
1124 |
msgid ""
|
1125 |
+
"If you would like every event booking confirmation email sent to an "
|
1126 |
+
"administrator write their email here (leave blank to not send an email)."
|
|
|
|
|
|
|
|
|
|
|
|
|
1127 |
msgstr ""
|
1128 |
|
1129 |
+
#: admin/em-options.php:316
|
1130 |
+
msgid "Email contact person?"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1131 |
msgstr ""
|
1132 |
|
1133 |
+
#: admin/em-options.php:316
|
1134 |
+
msgid ""
|
1135 |
+
"Check this option if you want the event contact to receive an email when "
|
1136 |
+
"someone books places. An email will be sent when a booking is first made "
|
1137 |
+
"(regardless if confirmed or pending)"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: admin/em-options.php:318
|
1141 |
+
msgid "Contact person booking confirmed"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: admin/em-options.php:319
|
1145 |
+
msgid ""
|
1146 |
+
"An email will be sent to the event contact when a booking is first made."
|
1147 |
msgstr ""
|
1148 |
|
1149 |
+
#: admin/em-options.php:321
|
1150 |
+
msgid "Contact person email subject"
|
1151 |
msgstr ""
|
1152 |
|
1153 |
+
#: admin/em-options.php:322
|
1154 |
+
msgid "Contact person email"
|
1155 |
msgstr ""
|
1156 |
|
1157 |
+
#: admin/em-options.php:324
|
1158 |
+
msgid "Contact person booking cancelled"
|
1159 |
msgstr ""
|
1160 |
|
1161 |
+
#: admin/em-options.php:325
|
1162 |
msgid ""
|
1163 |
+
"An email will be sent to the event contact if someone cancels their booking."
|
|
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: admin/em-options.php:327
|
1167 |
+
msgid "Contact person cancellation subject"
|
|
|
|
|
1168 |
msgstr ""
|
1169 |
|
1170 |
+
#: admin/em-options.php:328
|
1171 |
+
msgid "Contact person cancellation email"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: admin/em-options.php:330
|
1175 |
+
msgid "Confirmed booking email"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: admin/em-options.php:331
|
1179 |
+
msgid ""
|
1180 |
+
"This is sent when a person's booking is confirmed. This will be sent "
|
1181 |
+
"automatically if approvals are required and the booking is approved. If "
|
1182 |
+
"approvals are disabled, this is sent out when a user first submits their "
|
1183 |
+
"booking."
|
1184 |
msgstr ""
|
1185 |
|
1186 |
+
#: admin/em-options.php:333
|
1187 |
+
msgid "Booking confirmed email subject"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
+
#: admin/em-options.php:334
|
1191 |
+
msgid "Booking confirmed email"
|
|
|
|
|
1192 |
msgstr ""
|
1193 |
|
1194 |
+
#: admin/em-options.php:336
|
1195 |
+
msgid "Pending booking email"
|
|
|
|
|
1196 |
msgstr ""
|
1197 |
|
1198 |
+
#: admin/em-options.php:337
|
1199 |
+
msgid ""
|
1200 |
+
"This will be sent to the person when they first submit their booking. Not "
|
1201 |
+
"relevant if bookings don't require approval."
|
1202 |
msgstr ""
|
1203 |
|
1204 |
+
#: admin/em-options.php:339
|
1205 |
+
msgid "Booking pending email subject"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
+
#: admin/em-options.php:340
|
1209 |
+
msgid "Booking pending email"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
+
#: admin/em-options.php:342
|
1213 |
+
msgid "Rejected booking email"
|
1214 |
msgstr ""
|
1215 |
|
1216 |
+
#: admin/em-options.php:343
|
1217 |
+
msgid ""
|
1218 |
+
"This will be sent automatically when a booking is rejected. Not relevant if "
|
1219 |
+
"bookings don't require approval."
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: admin/em-options.php:345
|
1223 |
+
msgid "Booking rejected email subject"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
+
#: admin/em-options.php:345
|
1227 |
+
msgid ""
|
1228 |
+
"The subject of the email sent to the person making a booking that is "
|
1229 |
+
"awaiting administrator approval. Not relevant if bookings don't require "
|
1230 |
+
"approval."
|
1231 |
msgstr ""
|
1232 |
|
1233 |
+
#: admin/em-options.php:346
|
1234 |
+
msgid "Booking rejected email"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
+
#: admin/em-options.php:346
|
1238 |
+
msgid ""
|
1239 |
+
"The body of the email which will be sent to the person if the booking is "
|
1240 |
+
"rejected. Not relevant if bookings don't require approval."
|
1241 |
msgstr ""
|
1242 |
|
1243 |
+
#: admin/em-options.php:349
|
1244 |
+
msgid "Booking cancelled"
|
1245 |
msgstr ""
|
1246 |
|
1247 |
+
#: admin/em-options.php:350
|
1248 |
+
msgid "This will be sent when a user cancels their booking."
|
1249 |
msgstr ""
|
1250 |
|
1251 |
+
#: admin/em-options.php:352
|
1252 |
+
msgid "Booking cancelled email subject"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
+
#: admin/em-options.php:353
|
1256 |
+
msgid "Booking cancelled email"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
+
#: admin/em-options.php:360
|
1260 |
+
msgid "Email Settings"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
+
#: admin/em-options.php:364
|
1264 |
+
msgid "Notification sender name"
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: admin/em-options.php:364
|
1268 |
+
msgid "Insert the display name of the notification sender."
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: admin/em-options.php:365
|
1272 |
+
msgid "Notification sender address"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: admin/em-options.php:365
|
1276 |
+
msgid "Insert the address of the notification sender."
|
1277 |
msgstr ""
|
1278 |
|
1279 |
+
#: admin/em-options.php:366
|
1280 |
+
msgid ""
|
1281 |
+
"The port through which you e-mail notifications will be sent. Make sure the "
|
1282 |
+
"firewall doesn't block this port"
|
1283 |
msgstr ""
|
1284 |
|
1285 |
+
#: admin/em-options.php:367
|
1286 |
+
msgid "Mail sending method"
|
|
|
1287 |
msgstr ""
|
1288 |
|
1289 |
+
#: admin/em-options.php:367
|
1290 |
+
msgid "PHP mail function"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
+
#: admin/em-options.php:367
|
1294 |
+
msgid "Select the method to send email notification."
|
|
|
|
|
1295 |
msgstr ""
|
1296 |
|
1297 |
+
#: admin/em-options.php:368
|
1298 |
+
msgid "Use SMTP authentication?"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
+
#: admin/em-options.php:368
|
1302 |
+
msgid ""
|
1303 |
+
"SMTP authentication is often needed. If you use GMail, make sure to set this "
|
1304 |
+
"parameter to Yes"
|
1305 |
msgstr ""
|
1306 |
|
1307 |
+
#: admin/em-options.php:369
|
1308 |
+
msgid ""
|
1309 |
+
"The SMTP host. Usually it corresponds to 'localhost'. If you use GMail, set "
|
1310 |
+
"this value to 'ssl://smtp.gmail.com:465'."
|
1311 |
msgstr ""
|
1312 |
|
1313 |
+
#: admin/em-options.php:370
|
1314 |
+
msgid "SMTP username"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
+
#: admin/em-options.php:370
|
1318 |
+
msgid "Insert the username to be used to access your SMTP server."
|
1319 |
msgstr ""
|
1320 |
|
1321 |
+
#: admin/em-options.php:371
|
1322 |
+
msgid "SMTP password"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
+
#: admin/em-options.php:371
|
1326 |
+
msgid "Insert the password to be used to access your SMTP server"
|
1327 |
msgstr ""
|
1328 |
|
1329 |
+
#: admin/em-options.php:379
|
1330 |
+
msgid "Images size"
|
1331 |
msgstr ""
|
1332 |
|
1333 |
+
#: admin/em-options.php:383
|
1334 |
+
msgid "Maximum width (px)"
|
1335 |
msgstr ""
|
1336 |
|
1337 |
+
#: admin/em-options.php:383
|
1338 |
+
msgid "The maximum allowed width for images uploades"
|
1339 |
msgstr ""
|
1340 |
|
1341 |
+
#: admin/em-options.php:384
|
1342 |
+
msgid "Maximum height (px)"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
+
#: admin/em-options.php:384
|
1346 |
+
msgid "The maximum allowed height for images uploaded, in pixels"
|
1347 |
msgstr ""
|
1348 |
|
1349 |
+
#: admin/em-options.php:385
|
1350 |
+
msgid "Maximum size (bytes)"
|
1351 |
msgstr ""
|
1352 |
|
1353 |
+
#: admin/em-options.php:385
|
1354 |
+
msgid "The maximum allowed size for images uploaded, in pixels"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
+
#: admin/em-options.php:393
|
1358 |
+
msgid "Management Permission Options"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
+
#: admin/em-options.php:397
|
1362 |
+
msgid ""
|
1363 |
+
"Warning: Changing these values may result in exposing previously hidden "
|
1364 |
+
"information to all users."
|
1365 |
msgstr ""
|
1366 |
|
1367 |
+
#: admin/em-options.php:398
|
1368 |
+
msgid ""
|
1369 |
+
"Note that currently \"users\" are considered as wordpress contributor users "
|
1370 |
+
"upwards, as they can create and manage events (we're working on that). "
|
1371 |
+
"Wordpress administrators can control all events/locations/categories/etc. on "
|
1372 |
+
"Events Manager."
|
1373 |
msgstr ""
|
1374 |
|
1375 |
+
#: admin/em-options.php:400
|
1376 |
+
msgid "Event Permissions"
|
1377 |
msgstr ""
|
1378 |
|
1379 |
+
#: admin/em-options.php:403
|
1380 |
+
msgid ""
|
1381 |
+
"Every user can create and manage their own events. Users can't view or "
|
1382 |
+
"modify each others' events and booking data"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
+
#: admin/em-options.php:404
|
1386 |
+
msgid ""
|
1387 |
+
"Every user can create/edit/delete any event on this site. (not recommended)"
|
1388 |
msgstr ""
|
1389 |
|
1390 |
+
#: admin/em-options.php:408
|
1391 |
+
msgid "Location Permissions"
|
1392 |
msgstr ""
|
1393 |
|
1394 |
+
#: admin/em-options.php:411
|
1395 |
+
msgid "Every user can create and manage their own location."
|
1396 |
msgstr ""
|
1397 |
|
1398 |
+
#: admin/em-options.php:411
|
1399 |
+
msgid ""
|
1400 |
+
"In future releases of Events Manager, sharing locations with more than one "
|
1401 |
+
"user will be possible in this option, as well as connecting different user "
|
1402 |
+
"defined locations to prevent duplicate listings."
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: admin/em-options.php:412
|
1406 |
+
msgid ""
|
1407 |
+
"Only event administrators can create and edit locations. User must choose "
|
1408 |
+
"from these available locations."
|
1409 |
msgstr ""
|
1410 |
|
1411 |
+
#: admin/em-options.php:413
|
1412 |
+
msgid ""
|
1413 |
+
"Everyone can create/edit/delete all locations on this site. (not recommended)"
|
1414 |
msgstr ""
|
1415 |
|
1416 |
+
#: admin/em-options.php:417
|
1417 |
+
msgid "Category Permissions"
|
1418 |
msgstr ""
|
1419 |
|
1420 |
+
#: admin/em-options.php:420
|
1421 |
+
msgid "Every user can create and manage their own category."
|
1422 |
msgstr ""
|
1423 |
|
1424 |
+
#: admin/em-options.php:421
|
1425 |
+
msgid ""
|
1426 |
+
"Only event administrators can create and edit categories. User must choose "
|
1427 |
+
"from these available categories."
|
1428 |
msgstr ""
|
1429 |
|
1430 |
+
#: admin/em-options.php:422
|
1431 |
+
msgid ""
|
1432 |
+
"Everyone can create/edit/delete all categories on the system. (not "
|
1433 |
+
"recommended)"
|
1434 |
msgstr ""
|
1435 |
|
1436 |
+
#: admin/em-categories.php:10
|
1437 |
+
msgid "The category has been added."
|
1438 |
msgstr ""
|
1439 |
|
1440 |
+
#: admin/em-categories.php:12
|
1441 |
+
msgid "The category has been updated."
|
1442 |
msgstr ""
|
1443 |
|
1444 |
+
#: admin/em-categories.php:22 admin/em-locations.php:39 admin/em-event.php:100
|
1445 |
+
msgid "Ach, there's a problem here:"
|
1446 |
msgstr ""
|
1447 |
|
1448 |
+
#: admin/em-categories.php:32
|
1449 |
+
msgid "Categories Deleted"
|
1450 |
msgstr ""
|
1451 |
|
1452 |
+
#: admin/em-categories.php:46 events-manager.php:219
|
1453 |
+
msgid "Categories"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
+
#: admin/em-categories.php:65 admin/em-categories.php:72
|
1457 |
+
msgid "ID"
|
1458 |
msgstr ""
|
1459 |
|
1460 |
+
#: admin/em-categories.php:96
|
1461 |
+
msgid "No categories have been inserted yet!"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
+
#: admin/em-categories.php:108 admin/em-categories.php:116
|
1465 |
+
msgid "Add category"
|
1466 |
msgstr ""
|
1467 |
|
1468 |
+
#: admin/em-categories.php:112 admin/em-categories.php:163
|
1469 |
+
msgid "Category name"
|
|
|
1470 |
msgstr ""
|
1471 |
|
1472 |
+
#: admin/em-categories.php:114 admin/em-categories.php:165
|
1473 |
+
msgid "The name of the category"
|
|
|
1474 |
msgstr ""
|
1475 |
|
1476 |
+
#: admin/em-categories.php:137 admin/em-bookings.php:100
|
1477 |
+
#: admin/em-bookings.php:150 admin/em-locations.php:144
|
1478 |
+
#: admin/em-people.php:124 admin/em-event.php:54
|
1479 |
+
msgid "Unauthorized Access"
|
1480 |
msgstr ""
|
1481 |
|
1482 |
+
#: admin/em-categories.php:137 admin/em-bookings.php:100
|
1483 |
+
#: admin/em-bookings.php:150 admin/em-people.php:124 admin/em-event.php:54
|
1484 |
+
msgid "You do not have the rights to manage this event."
|
1485 |
msgstr ""
|
1486 |
|
1487 |
+
#: admin/em-categories.php:147
|
1488 |
+
msgid "Edit category"
|
|
|
1489 |
msgstr ""
|
1490 |
|
1491 |
+
#: admin/em-categories.php:168
|
1492 |
+
msgid "Update category"
|
|
|
1493 |
msgstr ""
|
1494 |
|
1495 |
+
#: admin/em-bookings.php:82
|
1496 |
+
msgid "Event Bookings Dashboard"
|
1497 |
msgstr ""
|
1498 |
|
1499 |
+
#: admin/em-bookings.php:84 admin/em-bookings.php:130
|
1500 |
+
msgid "Pending Bookings"
|
|
|
1501 |
msgstr ""
|
1502 |
|
1503 |
+
#: admin/em-bookings.php:86
|
1504 |
+
msgid "Events With Bookings Enabled"
|
|
|
1505 |
msgstr ""
|
1506 |
|
1507 |
+
#: admin/em-bookings.php:112
|
1508 |
+
msgid "Manage %s Bookings"
|
|
|
1509 |
msgstr ""
|
1510 |
|
1511 |
+
#: admin/em-bookings.php:113
|
1512 |
+
msgid "View/Edit Event"
|
1513 |
msgstr ""
|
1514 |
|
1515 |
+
#: admin/em-bookings.php:115 admin/em-event.php:280
|
1516 |
+
msgid "export csv"
|
1517 |
msgstr ""
|
1518 |
|
1519 |
+
#: admin/em-bookings.php:117
|
1520 |
+
msgid "Event Name"
|
1521 |
msgstr ""
|
1522 |
|
1523 |
+
#: admin/em-bookings.php:118
|
1524 |
+
msgid "Seats confirmed"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
+
#: admin/em-bookings.php:120 admin/em-admin.php:226
|
1528 |
+
msgid "Date"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
+
#: admin/em-bookings.php:126 admin/em-admin.php:227 admin/em-locations.php:196
|
1532 |
+
#: admin/em-events.php:132 admin/em-event.php:398
|
1533 |
+
msgid "Location"
|
1534 |
msgstr ""
|
1535 |
|
1536 |
+
#: admin/em-bookings.php:132
|
1537 |
+
msgid "Confirmed Bookings"
|
1538 |
msgstr ""
|
1539 |
|
1540 |
+
#: admin/em-bookings.php:134
|
1541 |
+
msgid "Rejected Bookings"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
+
#: admin/em-bookings.php:136
|
1545 |
+
msgid "Cancelled Bookings"
|
1546 |
msgstr ""
|
1547 |
|
1548 |
+
#: admin/em-bookings.php:160
|
1549 |
+
msgid "Edit Booking"
|
1550 |
msgstr ""
|
1551 |
|
1552 |
+
#: admin/em-bookings.php:167
|
1553 |
+
msgid "Booking Details"
|
1554 |
msgstr ""
|
1555 |
|
1556 |
+
#: admin/em-bookings.php:182
|
1557 |
+
msgid "Booking Notes"
|
1558 |
msgstr ""
|
1559 |
|
1560 |
+
#: admin/em-bookings.php:185
|
1561 |
+
msgid ""
|
1562 |
+
"You can add private notes below for internal reference that only event "
|
1563 |
+
"managers will see."
|
1564 |
msgstr ""
|
1565 |
|
1566 |
+
#: admin/em-bookings.php:190
|
1567 |
+
msgid "wrote"
|
1568 |
msgstr ""
|
1569 |
|
1570 |
+
#: admin/em-bookings.php:222
|
1571 |
+
msgid "Manage Person's Booking"
|
1572 |
msgstr ""
|
1573 |
|
1574 |
+
#: admin/em-bookings.php:223
|
1575 |
+
msgid ""
|
1576 |
+
"Are you sure you want to delete this person? All bookings corresponding to "
|
1577 |
+
"this person will be deleted and this is not reversible."
|
1578 |
msgstr ""
|
1579 |
|
1580 |
+
#: admin/em-bookings.php:223
|
1581 |
+
msgid "Delete Person"
|
1582 |
msgstr ""
|
1583 |
|
1584 |
+
#: admin/em-bookings.php:230
|
1585 |
+
msgid "Personal Details"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
+
#: admin/em-bookings.php:240
|
1589 |
+
msgid "Past And Present Bookings"
|
1590 |
msgstr ""
|
1591 |
|
1592 |
+
#: admin/em-bookings.php:257
|
1593 |
+
msgid "Date/Time"
|
1594 |
msgstr ""
|
1595 |
|
1596 |
+
#: admin/em-bookings.php:268 admin/em-people.php:58 admin/em-people.php:187
|
1597 |
+
msgid "Phone"
|
1598 |
msgstr ""
|
1599 |
|
1600 |
+
#: admin/em-bookings.php:269 admin/em-people.php:59 admin/em-people.php:146
|
1601 |
+
msgid "E-mail"
|
1602 |
msgstr ""
|
1603 |
|
1604 |
+
#: admin/em-bookings.php:273 admin/em-event.php:257
|
1605 |
+
msgid "Spaces"
|
|
|
|
|
|
|
|
|
|
|
1606 |
msgstr ""
|
1607 |
|
1608 |
+
#: admin/em-bookings.php:277 admin/em-people.php:62
|
1609 |
+
msgid "Save"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1610 |
msgstr ""
|
1611 |
|
1612 |
+
#: admin/em-admin.php:20
|
|
|
1613 |
msgid ""
|
1614 |
"<p>Hey, <strong>%s</strong>, welcome to <strong>Events Manager</strong>! We "
|
1615 |
"hope you like it around here.</p> \r\n"
|
1616 |
+
"\t\t\t<p>Now it's time to insert events lists through <a href='%s' "
|
1617 |
"title='Widgets page'>widgets</a>, <a href='%s' title='Template tags "
|
1618 |
"documentation'>template tags</a> or <a href='%s' title='Shortcodes "
|
1619 |
"documentation'>shortcodes</a>.</p>\r\n"
|
1620 |
+
"\t\t\t<p>By the way, have you taken a look at the <a href='%s' title='Change "
|
1621 |
"settings'>Settings page</a>? That's where you customize the way events and "
|
1622 |
"locations are displayed.</p>\r\n"
|
1623 |
+
"\t\t\t<p>What? Tired of seeing this advice? I hear you, <a href='%s' "
|
1624 |
"title='Don't show this advice again'>click here</a> and you won't see this "
|
1625 |
"again!</p>"
|
1626 |
msgstr ""
|
1627 |
|
1628 |
+
#: admin/em-admin.php:38
|
1629 |
+
msgid ""
|
1630 |
+
"<strong>Events Manager has some new features!</strong><ul><li>Bookings can "
|
1631 |
+
"now be approved before they count towards your event's space allocations.</"
|
1632 |
+
"li><li>Events now have owners, and you can restrict users so they can only "
|
1633 |
+
"manage events/locations/categories they create.<br/><br/>These new "
|
1634 |
+
"permissions are enabled by default, but since you upgraded it has been "
|
1635 |
+
"disabled to maintain the previous plugin behaviour. You can re-enable it "
|
1636 |
+
"from the <a href=\"%s\">settings page</a>. <a href=\"%s\">Dismiss</a>"
|
1637 |
msgstr ""
|
1638 |
|
1639 |
+
#: admin/em-admin.php:51
|
1640 |
msgid ""
|
1641 |
+
"Uh Oh! For some reason wordpress could not create an events page for you (or "
|
1642 |
+
"you just deleted it). Not to worry though, all you have to do is create an "
|
1643 |
+
"empty page, name it whatever you want, and select it as your events page in "
|
1644 |
+
"your <a href=\"%s\">settings page</a>. Sorry for the extra step! If you know "
|
1645 |
+
"what you are doing, you may have done this on purpose, if so <a href=\"%s"
|
1646 |
+
"\">ignore this message</a>"
|
1647 |
msgstr ""
|
1648 |
|
1649 |
+
#: admin/em-admin.php:59
|
1650 |
msgid ""
|
1651 |
+
"This page corresponds to <strong>Events Manager</strong> events page. Its "
|
1652 |
+
"content will be overriden by <strong>Events Manager</strong>. If you want to "
|
1653 |
+
"display your content, you can can assign another page to <strong>Events "
|
1654 |
+
"Manager</strong> in the the <a href='%s'>Settings</a>. "
|
1655 |
+
msgstr ""
|
1656 |
+
|
1657 |
+
#: admin/em-admin.php:79
|
1658 |
+
msgid "Displaying %s–%s of %s"
|
1659 |
+
msgstr ""
|
1660 |
+
|
1661 |
+
#: admin/em-admin.php:228 admin/em-locations.php:104
|
1662 |
+
#: admin/em-locations.php:112
|
1663 |
+
msgid "Address"
|
1664 |
+
msgstr ""
|
1665 |
+
|
1666 |
+
#: admin/em-admin.php:229 admin/em-locations.php:105
|
1667 |
+
#: admin/em-locations.php:113
|
1668 |
+
msgid "Town"
|
1669 |
+
msgstr ""
|
1670 |
+
|
1671 |
+
#: admin/em-admin.php:243
|
1672 |
+
msgid "Some required fields are missing:"
|
1673 |
+
msgstr ""
|
1674 |
+
|
1675 |
+
#: admin/em-admin.php:246
|
1676 |
+
msgid "Since the event is repeated, you must specify an end date"
|
1677 |
+
msgstr ""
|
1678 |
+
|
1679 |
+
#: admin/bookings/em-cancelled.php:34 admin/bookings/em-cancelled.php:36
|
1680 |
+
#: admin/bookings/em-confirmed.php:35 admin/bookings/em-confirmed.php:37
|
1681 |
+
#: admin/bookings/em-person.php:40 admin/bookings/em-person.php:42
|
1682 |
+
#: admin/bookings/em-rejected.php:34 admin/bookings/em-rejected.php:36
|
1683 |
+
#: admin/bookings/em-pending.php:49 admin/bookings/em-pending.php:51
|
1684 |
+
msgid "Search"
|
1685 |
+
msgstr ""
|
1686 |
+
|
1687 |
+
#: admin/bookings/em-cancelled.php:45 admin/bookings/em-confirmed.php:46
|
1688 |
+
#: admin/bookings/em-person.php:51 admin/bookings/em-rejected.php:45
|
1689 |
+
#: admin/bookings/em-pending.php:60 admin/bookings/em-events.php:56
|
1690 |
+
#: admin/em-locations.php:83 admin/em-events.php:86
|
1691 |
+
msgid "Bulk Actions"
|
1692 |
+
msgstr ""
|
1693 |
+
|
1694 |
+
#: admin/bookings/em-cancelled.php:48 admin/bookings/em-cancelled.php:107
|
1695 |
+
#: admin/bookings/em-confirmed.php:49 admin/bookings/em-person.php:54
|
1696 |
+
#: admin/bookings/em-person.php:116 admin/bookings/em-rejected.php:48
|
1697 |
+
#: admin/bookings/em-rejected.php:107 admin/bookings/em-pending.php:63
|
1698 |
+
#: admin/bookings/em-pending.php:128
|
1699 |
+
msgid "Approve"
|
1700 |
+
msgstr ""
|
1701 |
+
|
1702 |
+
#: admin/bookings/em-cancelled.php:51 admin/bookings/em-confirmed.php:52
|
1703 |
+
#: admin/bookings/em-person.php:57 admin/bookings/em-rejected.php:51
|
1704 |
+
#: admin/bookings/em-pending.php:66
|
1705 |
+
msgid "Decline"
|
1706 |
+
msgstr ""
|
1707 |
+
|
1708 |
+
#: admin/bookings/em-cancelled.php:109 admin/bookings/em-person.php:125
|
1709 |
+
#: admin/bookings/em-rejected.php:109
|
1710 |
+
msgid "Delete"
|
1711 |
+
msgstr ""
|
1712 |
+
|
1713 |
+
#: admin/bookings/em-cancelled.php:121
|
1714 |
+
msgid "No cancelled bookings."
|
1715 |
+
msgstr ""
|
1716 |
+
|
1717 |
+
#: admin/bookings/em-confirmed.php:107 admin/bookings/em-person.php:119
|
1718 |
+
msgid "Unapprove"
|
1719 |
+
msgstr ""
|
1720 |
+
|
1721 |
+
#: admin/bookings/em-confirmed.php:120 admin/bookings/em-person.php:137
|
1722 |
+
msgid "No confirmed bookings."
|
1723 |
+
msgstr ""
|
1724 |
+
|
1725 |
+
#: admin/bookings/em-person.php:122 admin/bookings/em-pending.php:129
|
1726 |
+
msgid "Reject"
|
1727 |
+
msgstr ""
|
1728 |
+
|
1729 |
+
#: admin/bookings/em-rejected.php:121
|
1730 |
+
msgid "No rejected bookings."
|
1731 |
+
msgstr ""
|
1732 |
+
|
1733 |
+
#: admin/bookings/em-pending.php:142
|
1734 |
+
msgid "No pending bookings."
|
1735 |
+
msgstr ""
|
1736 |
+
|
1737 |
+
#: admin/bookings/em-events.php:29 admin/em-events.php:32
|
1738 |
+
msgid "Past Events"
|
1739 |
+
msgstr ""
|
1740 |
+
|
1741 |
+
#: admin/bookings/em-events.php:32 admin/em-events.php:35
|
1742 |
+
msgid "All Events"
|
1743 |
+
msgstr ""
|
1744 |
+
|
1745 |
+
#: admin/bookings/em-events.php:35 admin/em-events.php:38
|
1746 |
+
msgid "Future Events"
|
1747 |
msgstr ""
|
1748 |
|
1749 |
+
#: admin/bookings/em-events.php:50 admin/em-events.php:75
|
1750 |
+
msgid "Total"
|
1751 |
+
msgstr ""
|
1752 |
+
|
1753 |
+
#: admin/bookings/em-events.php:57 admin/em-locations.php:84
|
1754 |
+
#: admin/em-events.php:87
|
1755 |
+
msgid "Delete selected"
|
1756 |
+
msgstr ""
|
1757 |
+
|
1758 |
+
#: admin/bookings/em-events.php:59 admin/em-locations.php:86
|
1759 |
+
#: admin/em-events.php:89
|
1760 |
+
msgid "Apply"
|
1761 |
+
msgstr ""
|
1762 |
+
|
1763 |
+
#: admin/bookings/em-events.php:71 admin/em-events.php:100
|
1764 |
+
msgid "Filter"
|
1765 |
+
msgstr ""
|
1766 |
+
|
1767 |
+
#. TODO localize
|
1768 |
+
#. TODO localize
|
1769 |
+
#: admin/bookings/em-events.php:91 admin/em-events.php:120
|
1770 |
+
msgid "no events"
|
1771 |
+
msgstr ""
|
1772 |
+
|
1773 |
+
#: admin/bookings/em-events.php:102 admin/em-events.php:133
|
1774 |
+
msgid "Date and time"
|
1775 |
+
msgstr ""
|
1776 |
+
|
1777 |
+
#: admin/bookings/em-events.php:134 admin/em-events.php:172
|
1778 |
+
msgid "Booked Seats"
|
1779 |
+
msgstr ""
|
1780 |
+
|
1781 |
+
#: admin/em-locations.php:21
|
1782 |
+
msgid "Locations Deleted"
|
1783 |
+
msgstr ""
|
1784 |
+
|
1785 |
+
#: admin/em-locations.php:26
|
1786 |
+
msgid "The location has been added."
|
1787 |
+
msgstr ""
|
1788 |
+
|
1789 |
+
#: admin/em-locations.php:28
|
1790 |
+
msgid "The location has been updated."
|
1791 |
+
msgstr ""
|
1792 |
+
|
1793 |
+
#: admin/em-locations.php:65 events-manager.php:213
|
1794 |
+
msgid "Locations"
|
1795 |
+
msgstr ""
|
1796 |
+
|
1797 |
+
#: admin/em-locations.php:66 admin/em-events.php:55
|
1798 |
+
msgid "Add New"
|
1799 |
+
msgstr ""
|
1800 |
+
|
1801 |
+
#: admin/em-locations.php:132
|
1802 |
+
msgid "No venues have been inserted yet!"
|
1803 |
+
msgstr ""
|
1804 |
+
|
1805 |
+
#: admin/em-locations.php:144
|
1806 |
+
msgid "You do not have the rights to manage this location."
|
1807 |
+
msgstr ""
|
1808 |
+
|
1809 |
+
#: admin/em-locations.php:149
|
1810 |
+
msgid "Add location"
|
1811 |
+
msgstr ""
|
1812 |
+
|
1813 |
+
#: admin/em-locations.php:152
|
1814 |
+
msgid "Edit location"
|
1815 |
+
msgstr ""
|
1816 |
+
|
1817 |
+
#: admin/em-locations.php:176
|
1818 |
+
msgid "Location Name"
|
1819 |
+
msgstr ""
|
1820 |
+
|
1821 |
+
#: admin/em-locations.php:181
|
1822 |
+
msgid "The name of the location"
|
1823 |
+
msgstr ""
|
1824 |
+
|
1825 |
+
#: admin/em-locations.php:186 admin/em-event.php:388
|
1826 |
+
msgid "Coordinates"
|
1827 |
+
msgstr ""
|
1828 |
+
|
1829 |
+
#: admin/em-locations.php:204 admin/em-event.php:436
|
1830 |
+
msgid "Address:"
|
1831 |
+
msgstr ""
|
1832 |
+
|
1833 |
+
#: admin/em-locations.php:207 admin/em-event.php:439
|
1834 |
msgid ""
|
1835 |
+
"The address of the location where the event takes place. Example: 21, "
|
1836 |
+
"Dominick Street"
|
1837 |
+
msgstr ""
|
1838 |
+
|
1839 |
+
#: admin/em-locations.php:211 admin/em-event.php:443
|
1840 |
+
msgid "Town:"
|
1841 |
msgstr ""
|
1842 |
|
1843 |
+
#: admin/em-locations.php:214 admin/em-event.php:446
|
1844 |
msgid ""
|
1845 |
+
"The town where the location is located. If you're using the Google Map "
|
1846 |
+
"integration and want to avoid geotagging ambiguities include the country in "
|
1847 |
+
"the town field. Example: Verona, Italy."
|
1848 |
msgstr ""
|
1849 |
|
1850 |
+
#: admin/em-locations.php:222 admin/em-event.php:455
|
1851 |
+
msgid "Location not found"
|
1852 |
+
msgstr ""
|
1853 |
+
|
1854 |
+
#: admin/em-locations.php:234 admin/em-event.php:466
|
1855 |
+
msgid "Details"
|
1856 |
+
msgstr ""
|
1857 |
+
|
1858 |
+
#: admin/em-locations.php:241
|
1859 |
+
msgid "Details about the location"
|
1860 |
+
msgstr ""
|
1861 |
+
|
1862 |
+
#: admin/em-locations.php:247
|
1863 |
+
msgid "Location image"
|
1864 |
+
msgstr ""
|
1865 |
+
|
1866 |
+
#: admin/em-locations.php:253
|
1867 |
+
msgid "No image uploaded for this location yet"
|
1868 |
+
msgstr ""
|
1869 |
+
|
1870 |
+
#: admin/em-locations.php:256
|
1871 |
+
msgid "Upload/change picture"
|
1872 |
+
msgstr ""
|
1873 |
+
|
1874 |
+
#: admin/em-locations.php:262
|
1875 |
+
msgid "Update location"
|
1876 |
+
msgstr ""
|
1877 |
+
|
1878 |
+
#: admin/em-help.php:10 events-manager.php:222
|
1879 |
+
msgid "Getting Help for Events Manager"
|
1880 |
+
msgstr ""
|
1881 |
+
|
1882 |
+
#: admin/em-help.php:15
|
1883 |
+
msgid "Placeholders for customizing event pages"
|
1884 |
+
msgstr ""
|
1885 |
+
|
1886 |
+
#: admin/em-help.php:16
|
1887 |
msgid ""
|
1888 |
+
"In the <a href='%s'>settings page</a>, you'll find various textboxes where "
|
1889 |
+
"you can edit how event information looks, such as for event and location "
|
1890 |
+
"lists. Using the placeholders below, you can choose what information should "
|
1891 |
+
"be displayed."
|
1892 |
+
msgstr ""
|
1893 |
+
|
1894 |
+
#: admin/em-events.php:78 admin/em-events.php:80
|
1895 |
+
msgid "Search Events"
|
1896 |
+
msgstr ""
|
1897 |
+
|
1898 |
+
#: admin/em-events.php:167 admin/em-event.php:305
|
1899 |
+
msgid "Category"
|
1900 |
+
msgstr ""
|
1901 |
+
|
1902 |
+
#: admin/em-events.php:180
|
1903 |
+
msgid "Duplicate this event"
|
1904 |
+
msgstr ""
|
1905 |
+
|
1906 |
+
#: admin/em-events.php:203 admin/em-event.php:61 admin/em-event.php:208
|
1907 |
+
msgid "Reschedule"
|
1908 |
+
msgstr ""
|
1909 |
+
|
1910 |
+
#: admin/em-people.php:81
|
1911 |
+
msgid "No people have responded to your events yet!"
|
1912 |
+
msgstr ""
|
1913 |
+
|
1914 |
+
#: admin/em-people.php:84
|
1915 |
+
msgid ""
|
1916 |
+
"This table collects the data about the people who responded to your events"
|
1917 |
+
msgstr ""
|
1918 |
+
|
1919 |
+
#: admin/em-people.php:142
|
1920 |
+
msgid "Bookings data"
|
1921 |
+
msgstr ""
|
1922 |
+
|
1923 |
+
#: admin/em-people.php:163
|
1924 |
+
msgid "Booked"
|
1925 |
+
msgstr ""
|
1926 |
+
|
1927 |
+
#: admin/em-people.php:168
|
1928 |
+
msgid "Available"
|
1929 |
+
msgstr ""
|
1930 |
+
|
1931 |
+
#. #-#-#-#-# plugin.pot (Events Manager 3.0.9) #-#-#-#-#
|
1932 |
+
#. Plugin Name of the plugin/theme
|
1933 |
+
#: admin/em-people.php:187
|
1934 |
+
msgid "Events Manager"
|
1935 |
+
msgstr ""
|
1936 |
+
|
1937 |
+
#: admin/em-event.php:30
|
1938 |
+
msgid "There was an error duplicating the event. Try again maybe?"
|
1939 |
+
msgstr ""
|
1940 |
+
|
1941 |
+
#: admin/em-event.php:63
|
1942 |
+
msgid "Edit Event"
|
1943 |
+
msgstr ""
|
1944 |
+
|
1945 |
+
#: admin/em-event.php:67
|
1946 |
+
msgid "Insert New Event"
|
1947 |
+
msgstr ""
|
1948 |
+
|
1949 |
+
#: admin/em-event.php:94
|
1950 |
+
msgid "Mon"
|
1951 |
+
msgstr ""
|
1952 |
+
|
1953 |
+
#: admin/em-event.php:94
|
1954 |
+
msgid "Tue"
|
1955 |
+
msgstr ""
|
1956 |
+
|
1957 |
+
#: admin/em-event.php:94
|
1958 |
+
msgid "Wed"
|
1959 |
+
msgstr ""
|
1960 |
+
|
1961 |
+
#: admin/em-event.php:94
|
1962 |
+
msgid "Thu"
|
1963 |
+
msgstr ""
|
1964 |
+
|
1965 |
+
#: admin/em-event.php:94
|
1966 |
+
msgid "Fri"
|
1967 |
+
msgstr ""
|
1968 |
+
|
1969 |
+
#: admin/em-event.php:94
|
1970 |
+
msgid "Sat"
|
1971 |
+
msgstr ""
|
1972 |
+
|
1973 |
+
#: admin/em-event.php:94
|
1974 |
+
msgid "Sun"
|
1975 |
+
msgstr ""
|
1976 |
+
|
1977 |
+
#: admin/em-event.php:120
|
1978 |
+
msgid "WARNING: This is a recurring event."
|
1979 |
+
msgstr ""
|
1980 |
+
|
1981 |
+
#: admin/em-event.php:122
|
1982 |
+
msgid ""
|
1983 |
+
"Modifying these data all the events linked to this recurrence will be "
|
1984 |
+
"rescheduled"
|
1985 |
+
msgstr ""
|
1986 |
+
|
1987 |
+
#: admin/em-event.php:124
|
1988 |
+
msgid "and all booking information will be deleted!"
|
1989 |
+
msgstr ""
|
1990 |
+
|
1991 |
+
#. TODO Terminology confusing with methods, maybe worth changing?
|
1992 |
+
#: admin/em-event.php:127
|
1993 |
+
msgid "WARNING: This is a recurrence."
|
1994 |
+
msgstr ""
|
1995 |
+
|
1996 |
+
#: admin/em-event.php:129
|
1997 |
+
msgid ""
|
1998 |
+
"If you change these data and save, this will become an independent event."
|
1999 |
+
msgstr ""
|
2000 |
+
|
2001 |
+
#: admin/em-event.php:144
|
2002 |
+
msgid "Recurrence"
|
2003 |
+
msgstr ""
|
2004 |
+
|
2005 |
+
#: admin/em-event.php:151
|
2006 |
+
msgid "Repeated event"
|
2007 |
+
msgstr ""
|
2008 |
+
|
2009 |
+
#: admin/em-event.php:158
|
2010 |
+
msgid "Daily"
|
2011 |
+
msgstr ""
|
2012 |
+
|
2013 |
+
#: admin/em-event.php:158
|
2014 |
+
msgid "Weekly"
|
2015 |
+
msgstr ""
|
2016 |
+
|
2017 |
+
#: admin/em-event.php:158
|
2018 |
+
msgid "Monthly"
|
2019 |
+
msgstr ""
|
2020 |
+
|
2021 |
+
#: admin/em-event.php:164 admin/em-event.php:187
|
2022 |
+
msgid "Every"
|
2023 |
+
msgstr ""
|
2024 |
+
|
2025 |
+
#: admin/em-event.php:167
|
2026 |
+
msgid "day"
|
2027 |
+
msgstr ""
|
2028 |
+
|
2029 |
+
#: admin/em-event.php:169
|
2030 |
+
msgid "days"
|
2031 |
+
msgstr ""
|
2032 |
+
|
2033 |
+
#: admin/em-event.php:171
|
2034 |
+
msgid "week"
|
2035 |
+
msgstr ""
|
2036 |
+
|
2037 |
+
#: admin/em-event.php:173
|
2038 |
+
msgid "weeks"
|
2039 |
+
msgstr ""
|
2040 |
+
|
2041 |
+
#: admin/em-event.php:175
|
2042 |
+
msgid "month"
|
2043 |
+
msgstr ""
|
2044 |
+
|
2045 |
+
#: admin/em-event.php:177
|
2046 |
+
msgid "months"
|
2047 |
+
msgstr ""
|
2048 |
+
|
2049 |
+
#: admin/em-event.php:190
|
2050 |
+
msgid "first"
|
2051 |
+
msgstr ""
|
2052 |
+
|
2053 |
+
#: admin/em-event.php:190
|
2054 |
+
msgid "second"
|
2055 |
+
msgstr ""
|
2056 |
+
|
2057 |
+
#: admin/em-event.php:190
|
2058 |
+
msgid "third"
|
2059 |
+
msgstr ""
|
2060 |
+
|
2061 |
+
#: admin/em-event.php:190
|
2062 |
+
msgid "fourth"
|
2063 |
+
msgstr ""
|
2064 |
+
|
2065 |
+
#: admin/em-event.php:190
|
2066 |
+
msgid "last"
|
2067 |
msgstr ""
|
2068 |
|
2069 |
+
#: admin/em-event.php:201
|
2070 |
+
msgid ""
|
2071 |
+
"Check if your event happens more than once according to a regular pattern"
|
2072 |
+
msgstr ""
|
2073 |
+
|
2074 |
+
#: admin/em-event.php:213
|
2075 |
+
msgid "This is't a recurrent event"
|
2076 |
+
msgstr ""
|
2077 |
+
|
2078 |
+
#: admin/em-event.php:226
|
2079 |
+
msgid "Contact Person"
|
2080 |
+
msgstr ""
|
2081 |
+
|
2082 |
+
#: admin/em-event.php:229
|
2083 |
+
msgid "Contact"
|
2084 |
+
msgstr ""
|
2085 |
+
|
2086 |
+
#: admin/em-event.php:231
|
2087 |
+
msgid "Select..."
|
2088 |
+
msgstr ""
|
2089 |
+
|
2090 |
+
#: admin/em-event.php:242
|
2091 |
+
msgid "RSVP"
|
2092 |
+
msgstr ""
|
2093 |
+
|
2094 |
+
#: admin/em-event.php:246
|
2095 |
+
msgid "Enable registration for this event"
|
2096 |
+
msgstr ""
|
2097 |
+
|
2098 |
+
#: admin/em-event.php:269
|
2099 |
+
msgid "Available Spaces"
|
2100 |
+
msgstr ""
|
2101 |
+
|
2102 |
+
#: admin/em-event.php:270
|
2103 |
+
msgid "Confirmed Spaces"
|
2104 |
+
msgstr ""
|
2105 |
+
|
2106 |
+
#: admin/em-event.php:271
|
2107 |
+
msgid "Pending Spaces"
|
2108 |
+
msgstr ""
|
2109 |
+
|
2110 |
+
#: admin/em-event.php:278
|
2111 |
+
msgid "manage bookings"
|
2112 |
+
msgstr ""
|
2113 |
+
|
2114 |
+
#: admin/em-event.php:279
|
2115 |
+
msgid "printable view"
|
2116 |
+
msgstr ""
|
2117 |
+
|
2118 |
+
#: admin/em-event.php:288
|
2119 |
+
msgid "No responses yet!"
|
2120 |
+
msgstr ""
|
2121 |
+
|
2122 |
+
#: admin/em-event.php:310
|
2123 |
+
msgid "Category:"
|
2124 |
+
msgstr ""
|
2125 |
+
|
2126 |
+
#: admin/em-event.php:312
|
2127 |
+
msgid "no category"
|
2128 |
+
msgstr ""
|
2129 |
+
|
2130 |
+
#: admin/em-event.php:326
|
2131 |
+
msgid "No categories available, <a href=\"%s\">create one here first</a>"
|
2132 |
+
msgstr ""
|
2133 |
+
|
2134 |
+
#: admin/em-event.php:344
|
2135 |
+
msgid "The event name. Example: Birthday party"
|
2136 |
+
msgstr ""
|
2137 |
+
|
2138 |
+
#: admin/em-event.php:349
|
2139 |
+
msgid "Event date"
|
2140 |
+
msgstr ""
|
2141 |
+
|
2142 |
+
#: admin/em-event.php:352
|
2143 |
+
msgid "Recurrence dates"
|
2144 |
+
msgstr ""
|
2145 |
+
|
2146 |
+
#: admin/em-event.php:362
|
2147 |
+
msgid "The event date."
|
2148 |
+
msgstr ""
|
2149 |
+
|
2150 |
+
#: admin/em-event.php:365
|
2151 |
+
msgid ""
|
2152 |
+
"When not reoccurring, this event spans between the beginning and end date."
|
2153 |
+
msgstr ""
|
2154 |
+
|
2155 |
+
#: admin/em-event.php:370
|
2156 |
+
msgid "The recurrence beginning and end date."
|
2157 |
+
msgstr ""
|
2158 |
+
|
2159 |
+
#: admin/em-event.php:376
|
2160 |
+
msgid "Event time"
|
2161 |
+
msgstr ""
|
2162 |
+
|
2163 |
+
#: admin/em-event.php:383
|
2164 |
+
msgid "The time of the event beginning and end"
|
2165 |
+
msgstr ""
|
2166 |
+
|
2167 |
+
#: admin/em-event.php:407
|
2168 |
+
msgid "Location:"
|
2169 |
+
msgstr ""
|
2170 |
+
|
2171 |
+
#: admin/em-event.php:424
|
2172 |
+
msgid ""
|
2173 |
+
"The name of the location where the event takes place. You can use the name "
|
2174 |
+
"of a venue, a square, etc"
|
2175 |
+
msgstr ""
|
2176 |
+
|
2177 |
+
#: admin/em-event.php:429
|
2178 |
+
msgid "Name:"
|
2179 |
+
msgstr ""
|
2180 |
+
|
2181 |
+
#: admin/em-event.php:432
|
2182 |
+
msgid "Select a location for your event"
|
2183 |
+
msgstr ""
|
2184 |
+
|
2185 |
+
#: admin/em-event.php:473
|
2186 |
+
msgid "Details about the event"
|
2187 |
+
msgstr ""
|
2188 |
+
|
2189 |
+
#: admin/em-event.php:480
|
2190 |
+
msgid "Attributes"
|
2191 |
+
msgstr ""
|
2192 |
+
|
2193 |
+
#: admin/em-event.php:536
|
2194 |
+
msgid "Not defined in templates"
|
2195 |
+
msgstr ""
|
2196 |
+
|
2197 |
+
#: admin/em-event.php:580
|
2198 |
+
msgid ""
|
2199 |
+
"In order to use attributes, you must define some in your templates, "
|
2200 |
+
"otherwise they'll never show. Go to Events > Settings to add attribute "
|
2201 |
+
"placeholders."
|
2202 |
+
msgstr ""
|
2203 |
+
|
2204 |
+
#: admin/em-event.php:592
|
2205 |
+
msgid "Submit Event"
|
2206 |
+
msgstr ""
|
2207 |
+
|
2208 |
+
#: admin/em-event.php:606
|
2209 |
+
msgid ""
|
2210 |
+
"Are you sure you want to reschedule this recurring event? If you do this, "
|
2211 |
+
"you will lose all booking information and the old recurring events will be "
|
2212 |
+
"deleted."
|
2213 |
+
msgstr ""
|
2214 |
+
|
2215 |
+
#: admin/em-event.php:616
|
2216 |
+
msgid ""
|
2217 |
+
"Are you sure you want to disable bookings? If you do this and save, you will "
|
2218 |
+
"lose all previous bookings. If you wish to prevent further bookings, reduce "
|
2219 |
+
"the number of seats available to the amount of bookings you currently have"
|
2220 |
+
msgstr ""
|
2221 |
+
|
2222 |
+
#: em-template-tags-depreciated.php:146
|
2223 |
msgid "Ach, some problems here:"
|
2224 |
msgstr ""
|
2225 |
|
2226 |
+
#: em-install.php:197
|
2227 |
+
msgid "Uncategorized"
|
2228 |
msgstr ""
|
2229 |
|
2230 |
+
#: em-install.php:205
|
2231 |
+
msgid ""
|
2232 |
+
"#_BOOKINGNAME (#_BOOKINGEMAIL) will attend #_NAME on #F #j, #Y. He wants to "
|
2233 |
+
"reserve #_BOOKINGSPACES spaces.<br/> Now there are #_BOOKEDSPACES spaces "
|
2234 |
+
"reserved, #_AVAILABLESPACES are still available.<br/>Yours faithfully,<br/"
|
2235 |
+
">Events Manager - http://wp-events-plugin.com"
|
2236 |
msgstr ""
|
2237 |
|
2238 |
+
#: em-install.php:205 em-install.php:206 em-install.php:207 em-install.php:208
|
2239 |
+
#: em-install.php:209 em-install.php:210
|
2240 |
+
msgid ""
|
2241 |
+
"<br/><br/>-------------------------------<br/>Powered by Events Manager - "
|
2242 |
+
"http://wp-events-plugin.com"
|
2243 |
msgstr ""
|
2244 |
|
2245 |
+
#: em-install.php:206
|
2246 |
+
msgid ""
|
2247 |
+
"#_BOOKINGNAME (#_BOOKINGEMAIL) cancelled his booking at #_NAME on #F #j, #Y. "
|
2248 |
+
"He wanted to reserve #_BOOKINGSPACES spaces.<br/> Now there are "
|
2249 |
+
"#_BOOKEDSPACES spaces reserved, #_AVAILABLESPACES are still available.<br/"
|
2250 |
+
">Yours faithfully,<br/>Events Manager - http://wp-events-plugin.com"
|
2251 |
msgstr ""
|
2252 |
|
2253 |
+
#: em-install.php:207
|
2254 |
+
msgid ""
|
2255 |
+
"Dear #_BOOKINGNAME, <br/>you have successfully reserved #_BOOKINGSPACES "
|
2256 |
+
"space/spaces for #_NAME.<br/>Yours faithfully,<br/>#_CONTACTNAME"
|
2257 |
msgstr ""
|
2258 |
|
2259 |
+
#: em-install.php:208
|
2260 |
+
msgid ""
|
2261 |
+
"Dear #_BOOKINGNAME, <br/>You have requested #_BOOKEDSPACES space/spaces for "
|
2262 |
+
"#_NAME.<br/>Your booking is currently pending approval by our "
|
2263 |
+
"administrators. Once approved you will receive an automatic confrimation.<br/"
|
2264 |
+
">Yours faithfully,<br/>#_CONTACTNAME"
|
2265 |
msgstr ""
|
2266 |
|
2267 |
+
#: em-install.php:209
|
2268 |
+
msgid ""
|
2269 |
+
"Dear #_BOOKINGNAME, <br/>Your requested booking for #_BOOKINGSPACES spaces "
|
2270 |
+
"at #_NAME on #F #j, #Y has been rejected.<br/>Yours faithfully,<br/"
|
2271 |
+
">#_CONTACTNAME"
|
2272 |
msgstr ""
|
2273 |
|
2274 |
+
#: em-install.php:210
|
2275 |
+
msgid ""
|
2276 |
+
"Dear #_BOOKINGNAME, <br/>Your requested booking for #_BOOKINGSPACES spaces "
|
2277 |
+
"at #_NAME on #F #j, #Y has been cancelled.<br/>Yours faithfully,<br/"
|
2278 |
+
">#_CONTACTNAME"
|
2279 |
msgstr ""
|
2280 |
|
2281 |
+
#: em-install.php:234
|
2282 |
+
msgid "<li>No events in this location</li>"
|
2283 |
msgstr ""
|
2284 |
|
2285 |
+
#: em-install.php:280
|
2286 |
+
msgid "New booking"
|
2287 |
msgstr ""
|
2288 |
|
2289 |
+
#: em-install.php:282 em-install.php:290
|
2290 |
+
msgid "Booking Cancelled"
|
2291 |
msgstr ""
|
2292 |
|
2293 |
+
#: em-install.php:284
|
2294 |
+
msgid "Reservation Pending"
|
2295 |
msgstr ""
|
2296 |
|
2297 |
+
#: em-install.php:286
|
2298 |
+
msgid "Reservation Rejected"
|
2299 |
msgstr ""
|
2300 |
|
2301 |
+
#: em-install.php:288
|
2302 |
+
msgid "Booking Confirmed"
|
2303 |
msgstr ""
|
2304 |
|
2305 |
+
#. FIXME Better fallback in case of bad install
|
2306 |
+
#: em-install.php:407
|
2307 |
+
msgid ""
|
2308 |
+
"We could not mirgrate old recurrence data over. DONT WORRY! You can just "
|
2309 |
+
"delete the current plugin, and re-install the previous 2.2.2 version and you "
|
2310 |
+
"wont lose any of your data. Either way, please contact the developers to let "
|
2311 |
+
"them know of this bug."
|
2312 |
msgstr ""
|
2313 |
|
2314 |
+
#: em-install.php:569
|
2315 |
+
msgid ""
|
2316 |
+
"Events Manager successfully imported your events, please check your records "
|
2317 |
+
"to verify."
|
2318 |
msgstr ""
|
2319 |
|
2320 |
+
#: em-install.php:585
|
2321 |
+
msgid ""
|
2322 |
+
"Something has gone wrong when importing your old event. See the <a href=\"%s"
|
2323 |
+
"\">support page</a> for more information. <a href=\"%s\">Dismiss this "
|
2324 |
+
"message</a>"
|
2325 |
msgstr ""
|
2326 |
|
2327 |
+
#: events-manager.php:187 events-manager.php:221
|
2328 |
+
msgid "Settings"
|
2329 |
msgstr ""
|
2330 |
|
2331 |
+
#: events-manager.php:211
|
2332 |
+
msgid "Add new"
|
2333 |
msgstr ""
|
2334 |
|
2335 |
+
#: events-manager.php:216
|
2336 |
+
msgid "Bookings"
|
2337 |
msgstr ""
|
2338 |
|
2339 |
+
#: events-manager.php:219
|
2340 |
+
msgid "Event Categories"
|
2341 |
+
msgstr ""
|
2342 |
+
|
2343 |
+
#: events-manager.php:221
|
2344 |
+
msgid "Events Manager Settings"
|
2345 |
+
msgstr ""
|
2346 |
+
|
2347 |
+
#: events-manager.php:222
|
2348 |
+
msgid "Help"
|
2349 |
msgstr ""
|
2350 |
|
2351 |
+
#: events-manager.php:250
|
2352 |
+
msgid "Add an event"
|
2353 |
+
msgstr ""
|
2354 |
+
|
2355 |
+
#. #-#-#-#-# plugin.pot (Events Manager 3.0.9) #-#-#-#-#
|
2356 |
#. Plugin URI of the plugin/theme
|
2357 |
+
#. #-#-#-#-# plugin.pot (Events Manager 3.0.9) #-#-#-#-#
|
2358 |
+
#. Author URI of the plugin/theme
|
2359 |
+
msgid "http://wp-events-plugin.com"
|
2360 |
msgstr ""
|
2361 |
|
2362 |
#. Description of the plugin/theme
|
2368 |
#. Author of the plugin/theme
|
2369 |
msgid "Davide Benini, Marcus Sykes"
|
2370 |
msgstr ""
|
|
|
|
|
|
|
|
includes/sample-placeholers/booking-email.html
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
----------
|
2 |
+
Event Details:
|
3 |
+
#_NAME at #_LOCATION on #j #M #Y #@_{ \u\n\t\i\l j M Y}
|
4 |
+
|
5 |
+
----------
|
6 |
+
Booking Person Details:
|
7 |
+
|
8 |
+
#__BOOKINGNAME : #_BOOKINGNAME
|
9 |
+
#__BOOKINGEMAIL : #_BOOKINGEMAIL
|
10 |
+
#__BOOKINGPHONE : #_BOOKINGPHONE
|
11 |
+
#__BOOKINGSPACES : #_BOOKINGSPACES
|
12 |
+
#__BOOKINGCOMMENT : #_BOOKINGCOMMENT
|
13 |
+
|
14 |
+
----------
|
15 |
+
Event Booking Stats:
|
16 |
+
|
17 |
+
#__AVAILABLESPACES : #_AVAILABLESPACES
|
18 |
+
#__BOOKEDSPACES : #_BOOKEDSPACES
|
19 |
+
#__SPACES: #_SPACES
|
20 |
+
|
21 |
+
----------
|
22 |
+
Contact Details :
|
23 |
+
|
24 |
+
#__CONTACTNAME : #_CONTACTNAME
|
25 |
+
#__CONTACTUSERNAME : #_CONTACTUSERNAME
|
26 |
+
#__CONTACTEMAIL : #_CONTACTEMAIL
|
27 |
+
#__CONTACTPHONE : #_CONTACTPHONE
|
28 |
+
#__CONTACTAVATAR : #_CONTACTAVATAR
|
29 |
+
#__CONTACTPROFILELINK : #_CONTACTPROFILELINK
|
30 |
+
#__CONTACTPROFILEURL : #_CONTACTPROFILEURL
|
31 |
+
#__CONTACTID : #_CONTACTID
|
includes/sample-placeholers/event-single.html
CHANGED
@@ -11,31 +11,44 @@
|
|
11 |
<th>What? </th>
|
12 |
<td>
|
13 |
<h3>#_NAME</h3>
|
|
|
|
|
|
|
|
|
|
|
14 |
#_NOTES
|
15 |
</td>
|
16 |
</tr>
|
17 |
<tr>
|
18 |
<th>
|
|
|
19 |
Price<br />
|
20 |
Dress Code<br />
|
21 |
-
Available Seats
|
22 |
</th>
|
23 |
<td>
|
24 |
#_ATT{Price}{Free}<br />
|
25 |
#_ATT{Dress Code}{Informal}<br />
|
26 |
-
#
|
|
|
27 |
</td>
|
28 |
</tr>
|
29 |
<tr>
|
30 |
<th>Who? </th>
|
31 |
<td>
|
32 |
-
#_CONTACTNAME (aka #
|
33 |
-
#
|
34 |
-
#
|
|
|
|
|
35 |
</td>
|
36 |
</tr>
|
37 |
<tr>
|
38 |
-
<
|
|
|
|
|
|
|
|
|
|
|
39 |
<p>#_ADDBOOKINGFORM</p>
|
40 |
<p>#_REMOVEBOOKINGFORM</p>
|
41 |
</td>
|
@@ -43,23 +56,25 @@
|
|
43 |
<tr>
|
44 |
<th>Where? </th>
|
45 |
<td>
|
46 |
-
|
47 |
-
|
48 |
-
|
|
|
|
|
49 |
Links - #_LOCATIONPAGEURL or #_LOCATIONURL or #_LOCATIONLINK
|
50 |
</p>
|
51 |
-
#
|
52 |
<br />
|
53 |
-
#
|
54 |
<br />
|
55 |
<h3>Upcoming Events at #_LOCATION</h3>
|
56 |
-
#
|
57 |
<br />
|
58 |
<h3>Previous Events at #_LOCATION</h3>
|
59 |
-
#
|
60 |
<br />
|
61 |
<h3>All Events at #_LOCATION</h3>
|
62 |
-
#
|
63 |
</td>
|
64 |
</tr>
|
65 |
</table>
|
11 |
<th>What? </th>
|
12 |
<td>
|
13 |
<h3>#_NAME</h3>
|
14 |
+
<p>
|
15 |
+
Event ID : #_EVENTID<br />
|
16 |
+
Category Name : #_CATEGORY <br />
|
17 |
+
Category ID : #_CATEGORYID<br />
|
18 |
+
</p>
|
19 |
#_NOTES
|
20 |
</td>
|
21 |
</tr>
|
22 |
<tr>
|
23 |
<th>
|
24 |
+
<strong>ATTRIBUTE EXAMPLES</strong>
|
25 |
Price<br />
|
26 |
Dress Code<br />
|
|
|
27 |
</th>
|
28 |
<td>
|
29 |
#_ATT{Price}{Free}<br />
|
30 |
#_ATT{Dress Code}{Informal}<br />
|
31 |
+
#_AVAILABLESPACES / #_SPACES<br />
|
32 |
+
|
33 |
</td>
|
34 |
</tr>
|
35 |
<tr>
|
36 |
<th>Who? </th>
|
37 |
<td>
|
38 |
+
#_CONTACTAVATAR #_CONTACTNAME (aka #_CONTACTUSERNAME)<br />
|
39 |
+
User ID : #_CONTACTID<br />
|
40 |
+
Email : #_CONTACTEMAIL<br />
|
41 |
+
Phone : #_CONTACTPHONE<br />
|
42 |
+
URL : #_CONTACTPROFILEURL - #_CONTACTPROFILELINK<br />
|
43 |
</td>
|
44 |
</tr>
|
45 |
<tr>
|
46 |
+
<th>Bookings</th>
|
47 |
+
<td>
|
48 |
+
Total Spaces : #_SPACES<br />
|
49 |
+
Booked Spaces : #_BOOKEDSPACES<br />
|
50 |
+
Available Spaces : #_AVAILABLESPACES<br />
|
51 |
+
|
52 |
<p>#_ADDBOOKINGFORM</p>
|
53 |
<p>#_REMOVEBOOKINGFORM</p>
|
54 |
</td>
|
56 |
<tr>
|
57 |
<th>Where? </th>
|
58 |
<td>
|
59 |
+
Location Image :
|
60 |
+
#_LOCATIONIMAGE
|
61 |
+
<p>
|
62 |
+
#_LOCATIONNAME, #_LOCATIONADDRESS, #_LOCATIONTOWN<br/>
|
63 |
+
ID - #_LOCATIONID<br />
|
64 |
Links - #_LOCATIONPAGEURL or #_LOCATIONURL or #_LOCATIONLINK
|
65 |
</p>
|
66 |
+
#_LOCATIONEXCERPT
|
67 |
<br />
|
68 |
+
#_LOCATIONMAP
|
69 |
<br />
|
70 |
<h3>Upcoming Events at #_LOCATION</h3>
|
71 |
+
#_LOCATIONNEXTEVENTS
|
72 |
<br />
|
73 |
<h3>Previous Events at #_LOCATION</h3>
|
74 |
+
#_LOCATIONPASTEVENTS
|
75 |
<br />
|
76 |
<h3>All Events at #_LOCATION</h3>
|
77 |
+
#_LOCATIONALLEVENTS
|
78 |
</td>
|
79 |
</tr>
|
80 |
</table>
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://wp-events-plugin.com
|
|
4 |
Tags: events, manager, calendar, gigs, concert, maps, geotagging, rsvp
|
5 |
Requires at least: 2.9
|
6 |
Tested up to: 3.0.4
|
7 |
-
Stable tag: 3.0.
|
8 |
|
9 |
Manage events and display them in your blog. Includes recurring events, location management, calendar, Google map integration, RSVP.
|
10 |
|
@@ -24,22 +24,19 @@ For more information visit the [Documentation Page](http://wp-events-plugin.com/
|
|
24 |
|
25 |
== Installation ==
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
= Installing or Upgrading from 2.x =
|
28 |
|
29 |
1. Back up your database if upgrading is recommended, as with any plugin or wordpress upgrade.
|
30 |
2. Upload the `events-manager` folder to the `/wp-content/plugins/` directory
|
31 |
3. Activate the plugin through the 'Plugins' menu in WordPress
|
32 |
4. Add events list or calendars following the instructions in the Usage section.
|
33 |
-
|
34 |
-
= Upgrading from 1.* only =
|
35 |
-
|
36 |
-
Events Manager 1.* adopters should:
|
37 |
-
|
38 |
-
1. backup the Wordpress database.
|
39 |
-
2. deactivate Events Manager 1.*
|
40 |
-
3. delete Events Managers 1.* and upload Events Manager 2.* to the server
|
41 |
-
4. activate Events Manager 2.*
|
42 |
-
5. Download and activate Events Manager 3.*
|
43 |
|
44 |
== Usage ==
|
45 |
|
@@ -109,6 +106,23 @@ At this stage, Events Manager is only available in English and Italian. Yet, the
|
|
109 |
3. The Events Manager Options page.
|
110 |
|
111 |
== Change Log ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
= 3.0.9 =
|
113 |
* Fixed small calendar discrepencies
|
114 |
* added event and location single shortcodes
|
4 |
Tags: events, manager, calendar, gigs, concert, maps, geotagging, rsvp
|
5 |
Requires at least: 2.9
|
6 |
Tested up to: 3.0.4
|
7 |
+
Stable tag: 3.0.91
|
8 |
|
9 |
Manage events and display them in your blog. Includes recurring events, location management, calendar, Google map integration, RSVP.
|
10 |
|
24 |
|
25 |
== Installation ==
|
26 |
|
27 |
+
Install Events Manager directly from your wordpress site.
|
28 |
+
1. Go to Plugins > Add New in the admin area, and search for events manager
|
29 |
+
2. Click install
|
30 |
+
3. Activate it
|
31 |
+
4. Done! You can start adding events straight away, although you may want to visit the [Documentation Pages](http://wp-events-plugin.com/documentation/).
|
32 |
+
|
33 |
+
|
34 |
= Installing or Upgrading from 2.x =
|
35 |
|
36 |
1. Back up your database if upgrading is recommended, as with any plugin or wordpress upgrade.
|
37 |
2. Upload the `events-manager` folder to the `/wp-content/plugins/` directory
|
38 |
3. Activate the plugin through the 'Plugins' menu in WordPress
|
39 |
4. Add events list or calendars following the instructions in the Usage section.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
41 |
== Usage ==
|
42 |
|
106 |
3. The Events Manager Options page.
|
107 |
|
108 |
== Change Log ==
|
109 |
+
= 3.0.91 =
|
110 |
+
* Documentation finally up to date now!
|
111 |
+
* widget bug fixed
|
112 |
+
* added event permissions, so users can manage their own events/locations/categories
|
113 |
+
* improved event booking UI and management tools
|
114 |
+
* export CSV of bookings
|
115 |
+
* booking approvals added
|
116 |
+
* bookings can have individual notes
|
117 |
+
* calendar widget shows selected month if clicked on
|
118 |
+
* custom attributes field, for atts that don't need to be in a template (e.g. pdf file url)
|
119 |
+
* time limit for main events list and events widget (e.g. show events that occur within x months)
|
120 |
+
* default location
|
121 |
+
* default category
|
122 |
+
* added extra validation so event start date/times can't be after end date/time
|
123 |
+
* calendar navigation will pass on all arguments for following month (e.g. category, etc)
|
124 |
+
* small map balloon fix for some rare js conflicts
|
125 |
+
|
126 |
= 3.0.9 =
|
127 |
* Fixed small calendar discrepencies
|
128 |
* added event and location single shortcodes
|
widgets/em-calendar.php
CHANGED
@@ -17,8 +17,16 @@ class EM_Widget_Calendar extends WP_Widget {
|
|
17 |
echo $instance['title'];
|
18 |
echo $args['after_title'];
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
//Our Widget Content
|
21 |
-
$instance['month'] = date("m");
|
22 |
echo '<div id="em-calendar-'.rand(100,200).'" class="em-calendar-wrapper">';
|
23 |
echo EM_Calendar::output($instance);
|
24 |
echo '</div>';
|
17 |
echo $instance['title'];
|
18 |
echo $args['after_title'];
|
19 |
|
20 |
+
//Shall we show a specific month?
|
21 |
+
if ( !empty($_REQUEST['calendar_day']) ) {
|
22 |
+
$date = explode('-', $_REQUEST['calendar_day']);
|
23 |
+
$instance['month'] = $date[1];
|
24 |
+
$instance['year'] = $date[0];
|
25 |
+
}else{
|
26 |
+
$instance['month'] = date("m");
|
27 |
+
}
|
28 |
+
|
29 |
//Our Widget Content
|
|
|
30 |
echo '<div id="em-calendar-'.rand(100,200).'" class="em-calendar-wrapper">';
|
31 |
echo EM_Calendar::output($instance);
|
32 |
echo '</div>';
|
widgets/em-events.php
CHANGED
@@ -16,6 +16,12 @@ class EM_Widget extends WP_Widget {
|
|
16 |
echo $args['before_title'];
|
17 |
echo $instance['title'];
|
18 |
echo $args['after_title'];
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
$events = EM_Events::get($instance);
|
21 |
echo "<ul>";
|
@@ -32,11 +38,10 @@ class EM_Widget extends WP_Widget {
|
|
32 |
echo '<li>'.__('No events', 'dbem').'</li>';
|
33 |
}
|
34 |
if ( !empty($instance['all_events']) ){
|
35 |
-
$events_link = (!empty($instance['
|
36 |
echo '<li>'.$events_link.'</li>';
|
37 |
}
|
38 |
echo "</ul>";
|
39 |
-
|
40 |
|
41 |
echo $args['after_widget'];
|
42 |
}
|
@@ -51,14 +56,11 @@ class EM_Widget extends WP_Widget {
|
|
51 |
'limit' => 5,
|
52 |
'format' => '#_LINKEDNAME<ul><li>#j #M #y</li><li>#_TOWN</li></ul>',
|
53 |
'nolistwrap' => false,
|
54 |
-
'orderby' => 'start_date,start_time,name'
|
|
|
|
|
55 |
);
|
56 |
-
|
57 |
-
if( !empty($new_instance[$key]) ){
|
58 |
-
$new_instance[$key] = $value;
|
59 |
-
}
|
60 |
-
}
|
61 |
-
return $new_instance;
|
62 |
}
|
63 |
|
64 |
/** @see WP_Widget::form */
|
@@ -72,18 +74,6 @@ class EM_Widget extends WP_Widget {
|
|
72 |
<label for="<?php echo $this->get_field_id('limit'); ?>"><?php _e('Number of events','dbem'); ?>: </label>
|
73 |
<input type="text" id="<?php echo $this->get_field_id('limit'); ?>" name="<?php echo $this->get_field_name('limit'); ?>" size="3" value="<?php echo $instance['limit']; ?>" />
|
74 |
</p>
|
75 |
-
<!--
|
76 |
-
<p>
|
77 |
-
<label for="<?php echo $this->get_field_id('limit_time'); ?>"><?php _e('Time Limit','dbem'); ?>: </label><br/>
|
78 |
-
<select id="<?php echo $this->get_field_id('time_scope'); ?>" name="<?php echo $this->get_field_name('time_scope'); ?>" >
|
79 |
-
<option value="this-month" <?php echo (!empty($instance['time_scope']) && $instance['time_scope'] == 'this-month') ? 'selected="selected"':''; ?>><?php _e('This Month','dbem'); ?></option>
|
80 |
-
<option value="two-months" <?php echo (!empty($instance['time_scope']) && $instance['time_scope'] == 'two-months') ? 'selected="selected"':''; ?>><?php _e('Next two months','dbem'); ?></option>
|
81 |
-
<option value="three-months" <?php echo (!empty($instance['time_scope']) && $instance['time_scope'] == 'three-months') ? 'selected="selected"':''; ?>><?php _e('Next three month','dbem'); ?></option>
|
82 |
-
<option value="six-months" <?php echo (!empty($instance['time_scope']) && $instance['time_scope'] == 'six-months') ? 'selected="selected"':''; ?>><?php _e('Next six month','dbem'); ?></option>
|
83 |
-
<option value="twelve-months" <?php echo (!empty($instance['time_scope']) && $instance['time_scope'] == 'twelve-months') ? 'selected="selected"':''; ?>><?php _e('Next twelve month','dbem'); ?></option>
|
84 |
-
</select>
|
85 |
-
</p>
|
86 |
-
-->
|
87 |
<p>
|
88 |
<label for="<?php echo $this->get_field_id('scope'); ?>"><?php _e('Scope of the events','dbem'); ?>:</label><br/>
|
89 |
<select id="<?php echo $this->get_field_id('scope'); ?>" name="<?php echo $this->get_field_name('scope'); ?>" >
|
@@ -92,6 +82,28 @@ class EM_Widget extends WP_Widget {
|
|
92 |
<option value="past" <?php echo ($instance['scope'] == 'past') ? 'selected="selected"':''; ?>><?php _e('Past events','dbem'); ?></option>
|
93 |
</select>
|
94 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
<p>
|
96 |
<label for="<?php echo $this->get_field_id('order'); ?>"><?php _e('Order By','dbem'); ?>: </label>
|
97 |
<select id="<?php echo $this->get_field_id('orderby'); ?>" name="<?php echo $this->get_field_name('orderby'); ?>">
|
16 |
echo $args['before_title'];
|
17 |
echo $instance['title'];
|
18 |
echo $args['after_title'];
|
19 |
+
|
20 |
+
/*Compute event range*/
|
21 |
+
if ( is_numeric($instance['time_limit']) && $instance['time_limit'] > 0 ){
|
22 |
+
$instance['scope'] = date('Y-m-d').",".date('Y-m-t', strtotime('+'.($instance['time_limit']-1).' month'));
|
23 |
+
}
|
24 |
+
/*END*/
|
25 |
|
26 |
$events = EM_Events::get($instance);
|
27 |
echo "<ul>";
|
38 |
echo '<li>'.__('No events', 'dbem').'</li>';
|
39 |
}
|
40 |
if ( !empty($instance['all_events']) ){
|
41 |
+
$events_link = (!empty($instance['all_events_text'])) ? em_get_link($instance['all_events_text']) : em_get_link(__('all events','dbem'));
|
42 |
echo '<li>'.$events_link.'</li>';
|
43 |
}
|
44 |
echo "</ul>";
|
|
|
45 |
|
46 |
echo $args['after_widget'];
|
47 |
}
|
56 |
'limit' => 5,
|
57 |
'format' => '#_LINKEDNAME<ul><li>#j #M #y</li><li>#_TOWN</li></ul>',
|
58 |
'nolistwrap' => false,
|
59 |
+
'orderby' => 'start_date,start_time,name',
|
60 |
+
'all_events' => 0,
|
61 |
+
'all_events_text' => __('all events', 'dbem')
|
62 |
);
|
63 |
+
return array_merge($defaults, $new_instance);
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
|
66 |
/** @see WP_Widget::form */
|
74 |
<label for="<?php echo $this->get_field_id('limit'); ?>"><?php _e('Number of events','dbem'); ?>: </label>
|
75 |
<input type="text" id="<?php echo $this->get_field_id('limit'); ?>" name="<?php echo $this->get_field_name('limit'); ?>" size="3" value="<?php echo $instance['limit']; ?>" />
|
76 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
<p>
|
78 |
<label for="<?php echo $this->get_field_id('scope'); ?>"><?php _e('Scope of the events','dbem'); ?>:</label><br/>
|
79 |
<select id="<?php echo $this->get_field_id('scope'); ?>" name="<?php echo $this->get_field_name('scope'); ?>" >
|
82 |
<option value="past" <?php echo ($instance['scope'] == 'past') ? 'selected="selected"':''; ?>><?php _e('Past events','dbem'); ?></option>
|
83 |
</select>
|
84 |
</p>
|
85 |
+
<p>
|
86 |
+
<label for="<?php echo $this->get_field_id('time_limit'); ?>"><?php _e('Time Limit','dbem'); ?>: </label><br/>
|
87 |
+
<select id="<?php echo $this->get_field_id('time_limit'); ?>" name="<?php echo $this->get_field_name('time_limit'); ?>" >
|
88 |
+
<option value="no-limit" <?php echo ( empty($instance['time_limit']) ) ? 'selected="selected"':''; ?>><?php _e('no limit','dbem'); ?></option>
|
89 |
+
<option value="1" <?php echo (!empty($instance['time_limit']) && $instance['time_limit'] == '1') ? 'selected="selected"':''; ?>><?php _e('This month','dbem'); ?></option>
|
90 |
+
<option value="2" <?php echo (!empty($instance['time_limit']) && $instance['time_limit'] == '2') ? 'selected="selected"':''; ?>><?php _e('Next two months','dbem'); ?></option>
|
91 |
+
<option value="3" <?php echo (!empty($instance['time_limit']) && $instance['time_limit'] == '3') ? 'selected="selected"':''; ?>><?php _e('Next three month','dbem'); ?></option>
|
92 |
+
<option value="6" <?php echo (!empty($instance['time_limit']) && $instance['time_limit'] == '6') ? 'selected="selected"':''; ?>><?php _e('Next six month','dbem'); ?></option>
|
93 |
+
<option value="12" <?php echo (!empty($instance['time_limit']) && $instance['time_limit'] == '12') ? 'selected="selected"':''; ?>><?php _e('Next twelve month','dbem'); ?></option>
|
94 |
+
</select>
|
95 |
+
</p>
|
96 |
+
<script type="text/javascript">
|
97 |
+
jQuery(document).ready( function($) {
|
98 |
+
$('#<?php echo $this->get_field_id('scope'); ?>').change(function(e){
|
99 |
+
if( $(this).val() == 'future' ){
|
100 |
+
$('#<?php echo $this->get_field_id('time_limit'); ?>').parent().show();
|
101 |
+
}else{
|
102 |
+
$('#<?php echo $this->get_field_id('time_limit'); ?>').parent().hide();
|
103 |
+
}
|
104 |
+
}).trigger('change');
|
105 |
+
});
|
106 |
+
</script>
|
107 |
<p>
|
108 |
<label for="<?php echo $this->get_field_id('order'); ?>"><?php _e('Order By','dbem'); ?>: </label>
|
109 |
<select id="<?php echo $this->get_field_id('orderby'); ?>" name="<?php echo $this->get_field_name('orderby'); ?>">
|
widgets/em-locations.php
CHANGED
@@ -47,7 +47,7 @@ class EM_Locations_Widget extends WP_Widget {
|
|
47 |
'format' => '#_LOCATIONLINK<ul><li>#_ADDRESS</li><li>#_TOWN</li></ul>'
|
48 |
);
|
49 |
foreach($defaults as $key => $value){
|
50 |
-
if($new_instance[$key]
|
51 |
$new_instance[$key] = $value;
|
52 |
}
|
53 |
}
|
47 |
'format' => '#_LOCATIONLINK<ul><li>#_ADDRESS</li><li>#_TOWN</li></ul>'
|
48 |
);
|
49 |
foreach($defaults as $key => $value){
|
50 |
+
if( empty($new_instance[$key]) ){
|
51 |
$new_instance[$key] = $value;
|
52 |
}
|
53 |
}
|