eventsmanager

Custom template - bookingform placeholder

Jun 15th, 2015
631
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /*
  3. - go to wp-content > plugins > events-manager > templates > placeholders
  4. - copy php file bookingform.php
  5. - go to wp-content > themes > your theme name
  6. - create this folders plugins > events-manager > placeholders
  7. - paste php file bookingform.php you copied in the above step
  8. - edit and then copy this whole snippet and save
  9. */
  10. ?>
  11. <?php
  12. /*
  13. * This is where the booking form is generated.
  14. * For non-advanced users, It's SERIOUSLY NOT recommended you edit this form directly if avoidable, as you can change booking form settings in various less obtrusive and upgrade-safe ways:
  15. * - check your booking form options panel in the Booking Options tab in your settings.
  16. * - use CSS or jQuery to change the look of your booking forms
  17. * - edit the files in the forms/bookingform folder individually instead of this file, to make it more upgrade-safe
  18. * - hook into WP action/filters below to modify/generate information
  19. * Again, even if you're an advanced user, consider NOT editing this form and using other methods instead.
  20. */
  21.  
  22. /* @var $EM_Event EM_Event */
  23. global $EM_Notices;
  24. //count tickets and available tickets
  25. $tickets_count = count($EM_Event->get_bookings()->get_tickets()->tickets);
  26. $available_tickets_count = count($EM_Event->get_bookings()->get_available_tickets());
  27. //decide whether user can book, event is open for bookings etc.
  28. $can_book = is_user_logged_in() || (get_option('dbem_bookings_anonymous') && !is_user_logged_in());
  29. $is_open = $EM_Event->get_bookings()->is_open(); //whether there are any available tickets right now
  30. $show_tickets = true;
  31. //if user is logged out, check for member tickets that might be available, since we should ask them to log in instead of saying 'bookings closed'
  32. if( !$is_open && !is_user_logged_in() && $EM_Event->get_bookings()->is_open(true) ){
  33. $is_open = true;
  34. $can_book = false;
  35. $show_tickets = get_option('dbem_bookings_tickets_show_unavailable') && get_option('dbem_bookings_tickets_show_member_tickets');
  36. }
  37. ?>
  38. <div id="em-booking" class="em-booking <?php if( get_option('dbem_css_rsvp') ) echo 'css-booking'; ?>">
  39. <?php
  40. // We are firstly checking if the user has already booked a ticket at this event, if so offer a link to view their bookings.
  41. $EM_Booking = $EM_Event->get_bookings()->has_booking();
  42. ?>
  43. <?php if( is_object($EM_Booking) && !get_option('dbem_bookings_double') ): //Double bookings not allowed ?>
  44. <p>
  45. <?php echo get_option('dbem_bookings_form_msg_attending'); ?>
  46. <a href="<?php echo em_get_my_bookings_url(); ?>"><?php echo get_option('dbem_bookings_form_msg_bookings_link'); ?></a>
  47. </p>
  48. <?php elseif( !$EM_Event->event_rsvp ): //bookings not enabled ?>
  49. <p><?php echo get_option('dbem_bookings_form_msg_disabled'); ?></p>
  50. <?php elseif( $EM_Event->get_bookings()->get_available_spaces() <= 0 ): ?>
  51. <p><?php echo get_option('dbem_bookings_form_msg_full'); ?></p>
  52. <?php elseif( !$is_open ): //event has started ?>
  53. <p><?php echo get_option('dbem_bookings_form_msg_closed'); ?></p>
  54. <?php em_locate_template('forms/bookingform/login.php',true, array('EM_Event'=>$EM_Event)); ?>
  55. <?php else: ?>
  56. <?php echo $EM_Notices; ?>
  57. <?php if( $tickets_count > 0) : ?>
  58. <?php //Tickets exist, so we show a booking form. ?>
  59. <form class="em-booking-form" name='booking-form' method='post' action='<?php echo apply_filters('em_booking_form_action_url',''); ?>#em-booking'>
  60. <input type='hidden' name='action' value='booking_add'/>
  61. <input type='hidden' name='event_id' value='<?php echo $EM_Event->event_id; ?>'/>
  62. <input type='hidden' name='_wpnonce' value='<?php echo wp_create_nonce('booking_add'); ?>'/>
  63. <?php
  64. // Tickets Form
  65. if( $show_tickets && ($can_book || get_option('dbem_bookings_tickets_show_loggedout')) && ($tickets_count > 1 || get_option('dbem_bookings_tickets_single_form')) ){ //show if more than 1 ticket, or if in forced ticket list view mode
  66. do_action('em_booking_form_before_tickets', $EM_Event); //do not delete
  67. //Show multiple tickets form to user, or single ticket list if settings enable this
  68. //If logged out, can be allowed to see this in settings witout the register form
  69. em_locate_template('forms/bookingform/tickets-list.php',true, array('EM_Event'=>$EM_Event));
  70. do_action('em_booking_form_after_tickets', $EM_Event); //do not delete
  71. $show_tickets = false;
  72. }
  73. ?>
  74. <?php if( $can_book ): ?>
  75. <div class='em-booking-form-details'>
  76. <?php
  77. if( $show_tickets && $available_tickets_count == 1 && !get_option('dbem_bookings_tickets_single_form') ){
  78. do_action('em_booking_form_before_tickets', $EM_Event); //do not delete
  79. //show single ticket form, only necessary to show to users able to book (or guests if enabled)
  80. $EM_Ticket = $EM_Event->get_bookings()->get_available_tickets()->get_first();
  81. em_locate_template('forms/bookingform/ticket-single.php',true, array('EM_Event'=>$EM_Event, 'EM_Ticket'=>$EM_Ticket));
  82. do_action('em_booking_form_after_tickets', $EM_Event); //do not delete
  83. }
  84. ?>
  85. <?php
  86. do_action('em_booking_form_before_user_details', $EM_Event);
  87. if( has_action('em_booking_form_custom') ){
  88. //Pro Custom Booking Form. You can create your own custom form by hooking into this action and setting the option above to true
  89. do_action('em_booking_form_custom', $EM_Event); //do not delete
  90. }else{
  91. //If you just want to modify booking form fields, you could do so here
  92. em_locate_template('forms/bookingform/booking-fields.php',true, array('EM_Event'=>$EM_Event));
  93. }
  94. do_action('em_booking_form_after_user_details', $EM_Event);
  95. ?>
  96. <?php do_action('em_booking_form_footer', $EM_Event); //do not delete ?>
  97. <div class="em-booking-buttons">
  98. <?php if( preg_match('/https?:\/\//',get_option('dbem_bookings_submit_button')) ): //Settings have an image url (we assume). Use it here as the button.?>
  99. <input type="image" src="<?php echo get_option('dbem_bookings_submit_button'); ?>" class="em-booking-submit" id="em-booking-submit" />
  100. <?php else: //Display normal submit button ?>
  101. <input type="submit" class="em-booking-submit" id="em-booking-submit" value="<?php echo esc_attr(get_option('dbem_bookings_submit_button')); ?>" />
  102. <?php endif; ?>
  103. </div>
  104. <?php do_action('em_booking_form_footer_after_buttons', $EM_Event); //do not delete ?>
  105. </div>
  106. <?php else: ?>
  107. <p class="em-booking-form-details"><?php echo get_option('dbem_booking_feedback_log_in'); ?></p>
  108. <?php endif; ?>
  109. </form>
  110. <?php
  111. if( !is_user_logged_in() && get_option('dbem_bookings_login_form') ){
  112. //User is not logged in, show login form (enabled on settings page)
  113. em_locate_template('forms/bookingform/login.php',true, array('EM_Event'=>$EM_Event));
  114. }
  115. ?>
  116. <br class="clear" style="clear:left;" />
  117. <?php endif; ?>
  118. <?php endif; ?>
  119. </div>
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×