Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // create #_REGOSTART (for in event list)
- function em_rego_start( $replace, $EM_Event, $result ) {
- if ( $result == '#_REGOSTART' ) {
- // IMPORTANT : DST OFFSET MUST BE SET
- $tz_offset = get_option( 'gmt_offset' );
- $tz_diff = '+' . get_option( 'gmt_offset' ) . ' hours';
- if ( $tz_offset == 1 ) {
- $dst = 'CET';
- } else if ( $tz_offset == 2 ) {
- $dst = 'CEST';
- }
- $now = date( 'Y-m-d H:i:s', strtotime( $tz_diff ) );
- global $EM_Event;
- $regostart = "";
- $min = 0;
- $max = 0;
- foreach ( $EM_Event->get_tickets()->tickets as $EM_Ticket ) {
- /* @var $EM_Ticket EM_Ticket */
- if ( $EM_Ticket->is_available() || get_option( 'dbem_bookings_tickets_show_unavailable' ) ) {
- if ( current_user_can( 'access_s2member_level2' ) ) {
- if ( $EM_Ticket->ticket_start < $min || $min == 0 ) {
- $min = $EM_Ticket->ticket_start;
- }
- } else {
- if ( $EM_Ticket->ticket_start > $min ) {
- $min = $EM_Ticket->ticket_start;
- }
- }
- }
- }
- // if ( $min === false ) { $min = 0; }
- $regostart = $min;
- if ( ! $EM_Event->event_rsvp && get_option( 'dbem_rsvp_enabled' ) ) { // if no bookings are enabled
- $replace = 't.b.a.';
- } else { // if bookings are enabled
- $rsvp = '';
- $rsvp .= $EM_Event->event_rsvp_date;
- $rsvp .= ' ';
- $rsvp .= $EM_Event->event_rsvp_time;
- $date_format = date( "j/n @ H:i", strtotime( $regostart ) );
- $nowstring = strtotime( $now );
- $startstring = strtotime( $regostart );
- $endstring = strtotime( $rsvp );
- if ( ! empty( $startstring ) ) { // if start date is set
- if ( $nowstring > $startstring ) { // if start date has passed
- if ( $nowstring > $endstring ) { // if end date has passed
- $replace = 'Closed';
- } else {
- // to create: if ticket is closed but rsvp date is not passed
- $get_places = $EM_Event->get_spaces(); // total spaces
- $booked_places = $EM_Event->get_bookings()->get_booked_spaces(); // confirmed bookings
- $pending_places = $EM_Event->get_bookings()->get_pending_spaces(); // pending spaces
- $available = $get_places - $booked_places - $pending_places;
- $is_open = $EM_Event->get_bookings()->is_open(); // whether there are any available tickets right now
- if ( $available > 0 ) { // if available tickets is more than 0
- if ( is_user_logged_in() && ! current_user_can( 'access_s2member_level1' ) ) {
- // $replace = 'Now open, but you need to renew your IDF membership first.';
- $replace = 'Open *';
- } else if ( current_user_can( 'access_s2member_level1' ) ) {
- if ( $is_open ) {
- $replace = 'Open';
- } else {
- $replace = 'Closed';
- }
- } else {
- $replace = 'Open';
- }
- } else {
- $replace = '<b>Sold out !</b>';
- }
- }
- } else { // if start date hasn't passed
- // IMPORTANT : DST MUST BE SET CORRECTLY
- $replace = $date_format;
- }
- } else {
- $replace = "t.b.a.";
- }
- }
- }
- return $replace;
- }
- add_filter('em_event_output_placeholder','em_rego_start', 1, 4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement