PageRenderTime 103ms CodeModel.GetById 33ms RepoModel.GetById 1ms app.codeStats 0ms

/wp-content/plugins/events-manager/templates/forms/event/bookings.php

https://gitlab.com/pankajmohale/chef2go
PHP | 200 lines | 195 code | 0 blank | 5 comment | 39 complexity | f74df4e9e683a37c34505f22f799d50d MD5 | raw file
  1. <?php
  2. global $EM_Event, $post, $allowedposttags, $EM_Ticket, $col_count;
  3. $reschedule_warnings = !empty($EM_Event->event_id) && $EM_Event->is_recurring() && $EM_Event->event_rsvp;
  4. ?>
  5. <div id="event-rsvp-box">
  6. <input id="event-rsvp" name='event_rsvp' value='1' type='checkbox' <?php echo ($EM_Event->event_rsvp) ? 'checked="checked"' : ''; ?> />
  7. &nbsp;&nbsp;
  8. <?php _e ( 'Enable registration for this event', 'events-manager')?>
  9. </div>
  10. <div id="event-rsvp-options" style="<?php echo ($EM_Event->event_rsvp) ? '':'display:none;' ?>">
  11. <?php
  12. do_action('em_events_admin_bookings_header', $EM_Event);
  13. //get tickets here and if there are none, create a blank ticket
  14. $EM_Tickets = $EM_Event->get_tickets();
  15. if( count($EM_Tickets->tickets) == 0 ){
  16. $EM_Tickets->tickets[] = new EM_Ticket();
  17. $delete_temp_ticket = true;
  18. }
  19. ?>
  20. <div class="event-rsvp-options-tickets <?php if( $reschedule_warnings ) echo 'em-recurrence-reschedule'; ?>">
  21. <?php
  22. //output title
  23. if( get_option('dbem_bookings_tickets_single') && count($EM_Tickets->tickets) == 1 ){
  24. ?>
  25. <h4><?php esc_html_e('Ticket Options','events-manager'); ?></h4>
  26. <?php
  27. }else{
  28. ?>
  29. <h4><?php esc_html_e('Tickets','events-manager'); ?></h4>
  30. <?php
  31. }
  32. //If this event is a recurring template, we need to warn the user that editing tickets will delete previous bookings
  33. if( $reschedule_warnings ){
  34. ?>
  35. <div class="recurrence-reschedule-warning">
  36. <p><?php esc_html_e( 'Modifications to event tickets will cause all bookings to individual recurrences of this event to be deleted.', 'events-manager'); ?></p>
  37. <p>
  38. <a href="<?php echo esc_url( add_query_arg(array('scope'=>'all', 'recurrence_id'=>$EM_Event->event_id), em_get_events_admin_url()) ); ?>">
  39. <strong><?php esc_html_e('You can edit individual recurrences and disassociate them with this recurring event.', 'events-manager'); ?></strong>
  40. </a>
  41. </p>
  42. </div>
  43. <?php
  44. }
  45. ?>
  46. <div id="em-tickets-form" class="em-tickets-form<?php if( $reschedule_warnings && empty($_REQUEST['recreate_tickets']) ) echo ' reschedule-hidden' ?>">
  47. <?php
  48. //output ticket options
  49. if( get_option('dbem_bookings_tickets_single') && count($EM_Tickets->tickets) == 1 ){
  50. $col_count = 1;
  51. $EM_Ticket = $EM_Tickets->get_first();
  52. include( em_locate_template('forms/ticket-form.php') ); //in future we'll be accessing forms/event/bookings-ticket-form.php directly
  53. }else{
  54. ?>
  55. <p><em><?php esc_html_e('You can have single or multiple tickets, where certain tickets become available under certain conditions, e.g. early bookings, group discounts, maximum bookings per ticket, etc.', 'events-manager'); ?> <?php esc_html_e('Basic HTML is allowed in ticket labels and descriptions.','events-manager'); ?></em></p>
  56. <table class="form-table">
  57. <thead>
  58. <tr valign="top">
  59. <th colspan="2"><?php esc_html_e('Ticket Name','events-manager'); ?></th>
  60. <th><?php esc_html_e('Price','events-manager'); ?></th>
  61. <th><?php esc_html_e('Min/Max','events-manager'); ?></th>
  62. <th><?php esc_html_e('Start/End','events-manager'); ?></th>
  63. <th><?php esc_html_e('Avail. Spaces','events-manager'); ?></th>
  64. <th><?php esc_html_e('Booked Spaces','events-manager'); ?></th>
  65. <th>&nbsp;</th>
  66. </tr>
  67. </thead>
  68. <tfoot>
  69. <tr valign="top">
  70. <td colspan="8">
  71. <a href="#" id="em-tickets-add"><?php esc_html_e('Add new ticket','events-manager'); ?></a>
  72. </td>
  73. </tr>
  74. </tfoot>
  75. <?php
  76. $EM_Ticket = new EM_Ticket();
  77. $EM_Ticket->event_id = $EM_Event->event_id;
  78. array_unshift($EM_Tickets->tickets, $EM_Ticket); //prepend template ticket for JS
  79. $col_count = 0;
  80. foreach( $EM_Tickets->tickets as $EM_Ticket){
  81. /* @var $EM_Ticket EM_Ticket */
  82. ?>
  83. <tbody id="em-ticket-<?php echo $col_count ?>" <?php if( $col_count == 0 ) echo 'style="display:none;"' ?>>
  84. <tr class="em-tickets-row">
  85. <td class="ticket-status"><span class="<?php if($EM_Ticket->ticket_id && $EM_Ticket->is_available(true, true)){ echo 'ticket_on'; }elseif($EM_Ticket->ticket_id > 0){ echo 'ticket_off'; }else{ echo 'ticket_new'; } ?>"></span></td>
  86. <td class="ticket-name">
  87. <span class="ticket_name"><?php if($EM_Ticket->ticket_members) echo '* ';?><?php echo wp_kses_data($EM_Ticket->ticket_name); ?></span>
  88. <div class="ticket_description"><?php echo wp_kses($EM_Ticket->ticket_description,$allowedposttags); ?></div>
  89. <div class="ticket-actions">
  90. <a href="#" class="ticket-actions-edit"><?php esc_html_e('Edit','events-manager'); ?></a>
  91. <?php if( $EM_Ticket->get_bookings_count() == 0 ): ?>
  92. | <a href="<?php bloginfo('wpurl'); ?>/wp-load.php" class="ticket-actions-delete"><?php esc_html_e('Delete','events-manager'); ?></a>
  93. <?php else: ?>
  94. | <a href="<?php echo esc_url(add_query_arg('ticket_id', $EM_Ticket->ticket_id, $EM_Event->get_bookings_url())); ?>"><?php esc_html_e('View Bookings','events-manager'); ?></a>
  95. <?php endif; ?>
  96. </div>
  97. </td>
  98. <td class="ticket-price">
  99. <span class="ticket_price"><?php echo ($EM_Ticket->ticket_price) ? esc_html($EM_Ticket->get_price_precise()) : esc_html__('Free','events-manager'); ?></span>
  100. </td>
  101. <td class="ticket-limit">
  102. <span class="ticket_min">
  103. <?php echo ( !empty($EM_Ticket->ticket_min) ) ? esc_html($EM_Ticket->ticket_min):'-'; ?>
  104. </span> /
  105. <span class="ticket_max"><?php echo ( !empty($EM_Ticket->ticket_max) ) ? esc_html($EM_Ticket->ticket_max):'-'; ?></span>
  106. </td>
  107. <td class="ticket-time">
  108. <span class="ticket_start ticket-dates-from-normal"><?php echo ( !empty($EM_Ticket->ticket_start) ) ? date(get_option('dbem_date_format'), $EM_Ticket->start_timestamp):''; ?></span>
  109. <span class="ticket_start_recurring_days ticket-dates-from-recurring"><?php if( !empty($EM_Ticket->ticket_meta['recurrences']) ) echo $EM_Ticket->ticket_meta['recurrences']['start_days']; ?></span>
  110. <span class="ticket_start_recurring_days_text ticket-dates-from-recurring <?php if( !empty($EM_Ticket->ticket_meta['recurrences']) && !is_numeric($EM_Ticket->ticket_meta['recurrences']['start_days']) ) echo 'hidden'; ?>"><?php _e('day(s)','events-manager'); ?></span>
  111. <span class="ticket_start_time"><?php echo ( !empty($EM_Ticket->ticket_start) ) ? date( em_get_hour_format(), $EM_Ticket->start_timestamp):''; ?></span>
  112. <br />
  113. <span class="ticket_end ticket-dates-from-normal"><?php echo ( !empty($EM_Ticket->ticket_end) ) ? date(get_option('dbem_date_format'), $EM_Ticket->end_timestamp):''; ?></span>
  114. <span class="ticket_end_recurring_days ticket-dates-from-recurring"><?php if( !empty($EM_Ticket->ticket_meta['recurrences']) ) echo $EM_Ticket->ticket_meta['recurrences']['end_days']; ?></span>
  115. <span class="ticket_end_recurring_days_text ticket-dates-from-recurring <?php if( !empty($EM_Ticket->ticket_meta['recurrences']) && !is_numeric($EM_Ticket->ticket_meta['recurrences']['end_days']) ) echo 'hidden'; ?>"><?php _e('day(s)','events-manager'); ?></span>
  116. <span class="ticket_end_time"><?php echo ( !empty($EM_Ticket->ticket_end) ) ? date( em_get_hour_format(), $EM_Ticket->end_timestamp):''; ?></span>
  117. </td>
  118. <td class="ticket-qty">
  119. <span class="ticket_available_spaces"><?php echo $EM_Ticket->get_available_spaces(); ?></span>/
  120. <span class="ticket_spaces"><?php echo $EM_Ticket->get_spaces() ? $EM_Ticket->get_spaces() : '-'; ?></span>
  121. </td>
  122. <td class="ticket-booked-spaces">
  123. <span class="ticket_booked_spaces"><?php echo $EM_Ticket->get_booked_spaces(); ?></span>
  124. </td>
  125. <?php do_action('em_event_edit_ticket_td', $EM_Ticket); ?>
  126. </tr>
  127. <tr class="em-tickets-row-form" style="display:none;">
  128. <td colspan="<?php echo apply_filters('em_event_edit_ticket_td_colspan', 7); ?>">
  129. <?php include( em_locate_template('forms/event/bookings-ticket-form.php')); ?>
  130. <div class="em-ticket-form-actions">
  131. <button type="button" class="ticket-actions-edited"><?php esc_html_e('Close Ticket Editor','events-manager')?></button>
  132. </div>
  133. </td>
  134. </tr>
  135. </tbody>
  136. <?php
  137. $col_count++;
  138. }
  139. array_shift($EM_Tickets->tickets);
  140. ?>
  141. </table>
  142. <?php
  143. }
  144. ?>
  145. </div>
  146. <?php if( $reschedule_warnings ): //If this event is a recurring template, we need to warn the user that editing tickets will delete previous bookings ?>
  147. <div class="recurrence-reschedule-buttons">
  148. <a href="<?php echo esc_url(add_query_arg('recreate_tickets', null)); ?>" class="button-secondary em-button em-reschedule-cancel<?php if( empty($_REQUEST['recreate_tickets']) ) echo ' reschedule-hidden'; ?>" data-target=".em-tickets-form">
  149. <?php esc_html_e('Cancel Ticket Recreation', 'events-manager'); ?>
  150. </a>
  151. <a href="<?php echo esc_url(add_query_arg('recreate_tickets', '1')); ?>" class="em-reschedule-trigger em-button button-secondary<?php if( !empty($_REQUEST['recreate_tickets']) ) echo ' reschedule-hidden'; ?>" data-target=".em-tickets-form">
  152. <?php esc_html_e('Modify Recurring Event Tickets ', 'events-manager'); ?>
  153. </a>
  154. <input type="hidden" name="event_recreate_tickets" class="em-reschedule-value" value="<?php echo empty($_REQUEST['recreate_tickets']) ? 0:1 ?>" />
  155. </div>
  156. <?php endif; ?>
  157. </div>
  158. <div id="em-booking-options" class="em-booking-options">
  159. <?php if( !get_option('dbem_bookings_tickets_single') || count($EM_Ticket->get_event()->get_tickets()->tickets) > 1 ): ?>
  160. <h4><?php esc_html_e('Event Options','events-manager'); ?></h4>
  161. <p>
  162. <label><?php esc_html_e('Total Spaces','events-manager'); ?></label>
  163. <input type="text" name="event_spaces" value="<?php if( $EM_Event->event_spaces > 0 ){ echo $EM_Event->event_spaces; } ?>" /><br />
  164. <em><?php esc_html_e('Individual tickets with remaining spaces will not be available if total booking spaces reach this limit. Leave blank for no limit.','events-manager'); ?></em>
  165. </p>
  166. <p>
  167. <label><?php esc_html_e('Maximum Spaces Per Booking','events-manager'); ?></label>
  168. <input type="text" name="event_rsvp_spaces" value="<?php if( $EM_Event->event_rsvp_spaces > 0 ){ echo $EM_Event->event_rsvp_spaces; } ?>" /><br />
  169. <em><?php esc_html_e('If set, the total number of spaces for a single booking to this event cannot exceed this amount.','events-manager'); ?><?php esc_html_e('Leave blank for no limit.','events-manager'); ?></em>
  170. </p>
  171. <p>
  172. <label><?php esc_html_e('Booking Cut-Off Date','events-manager'); ?></label>
  173. <span class="em-booking-date-normal">
  174. <span class="em-date-single">
  175. <input id="em-bookings-date-loc" class="em-date-input-loc" type="text" />
  176. <input id="em-bookings-date" class="em-date-input" type="hidden" name="event_rsvp_date" value="<?php echo $EM_Event->event_rsvp_date; ?>" />
  177. </span>
  178. </span>
  179. <span class="em-booking-date-recurring">
  180. <input type="text" name="recurrence_rsvp_days" size="3" value="<?php echo absint($EM_Event->recurrence_rsvp_days); ?>" />
  181. <?php _e('day(s)','events-manager'); ?>
  182. <select name="recurrence_rsvp_days_when">
  183. <option value="before" <?php if( !empty($EM_Event->recurrence_rsvp_days) && $EM_Event->recurrence_rsvp_days <= 0) echo 'selected="selected"'; ?>><?php echo sprintf(_x('%s the event starts','before or after','events-manager'),__('Before','events-manager')); ?></option>
  184. <option value="after" <?php if( !empty($EM_Event->recurrence_rsvp_days) && $EM_Event->recurrence_rsvp_days > 0) echo 'selected="selected"'; ?>><?php echo sprintf(_x('%s the event starts','before or after','events-manager'),__('After','events-manager')); ?></option>
  185. </select>
  186. <?php _e('at','events-manager'); ?>
  187. </span>
  188. <input type="text" name="event_rsvp_time" class="em-time-input" maxlength="8" size="8" value="<?php echo date( em_get_hour_format(), $EM_Event->rsvp_end ); ?>" />
  189. <br />
  190. <em><?php esc_html_e('This is the definite date after which bookings will be closed for this event, regardless of individual ticket settings above. Default value will be the event start date.','events-manager'); ?></em>
  191. </p>
  192. <?php endif; ?>
  193. </div>
  194. <?php
  195. if( !empty($delete_temp_ticket) ){
  196. array_pop($EM_Tickets->tickets);
  197. }
  198. do_action('em_events_admin_bookings_footer', $EM_Event);
  199. ?>
  200. </div>