function event_espresso_send_attendee_registration_approval_pending($registration_id) { global $org_options, $wpdb; do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); //Get the event information $events = $wpdb->get_results("SELECT ed.* FROM " . EVENTS_DETAIL_TABLE . " ed\n\t\t\t\t\t\tJOIN " . EVENTS_ATTENDEE_TABLE . " ea\n\t\t\t\t\t\tON ed.id = ea.event_id\n\t\t\t\t\t\tWHERE ea.registration_id='" . $registration_id . "'"); foreach ($events as $event) { $event_id = $event->id; $event_name = stripslashes_deep($event->event_name); $event_desc = stripslashes_deep($event->event_desc); $display_desc = $event->display_desc; $event_identifier = $event->event_identifier; $reg_limit = $event->reg_limit; $active = $event->is_active; $send_mail = $event->send_mail; $conf_mail = $event->conf_mail; $email_id = $event->email_id; $alt_email = $event->alt_email; $start_date = event_date_display($event->start_date); $end_date = $event->end_date; $virtual_url = $event->virtual_url; $virtual_phone = $event->virtual_phone; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); $location_phone = $event->phone; $require_pre_approval = $event->require_pre_approval; $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country)); } //Build links $event_url = espresso_reg_url($event_id); $event_link = '<a href="' . $event_url . '">' . $event_name . '</a>'; $sql = "SELECT * FROM " . EVENTS_ATTENDEE_TABLE; if ($registration_id != '') { $sql .= " WHERE registration_id = '" . $registration_id . "' "; } elseif ($attendee_id != '') { $sql .= " WHERE id = '" . $attendee_id . "' "; } else { _e('No ID Supplied', 'event_espresso'); } $sql .= " ORDER BY id "; $sql .= " LIMIT 0,1 "; //Get the first attendees details $attendees = $wpdb->get_results($sql); //global $attendee_id; foreach ($attendees as $attendee) { $attendee_id = $attendee->id; $attendee_email = $attendee->email; $lname = $attendee->lname; $fname = $attendee->fname; $address = $attendee->address; $address2 = $attendee->address2; $city = $attendee->city; $state = $attendee->state; $zip = $attendee->zip; $payment_status = $attendee->payment_status; $txn_type = $attendee->txn_type; $amount_pd = $attendee->amount_pd; $event_cost = $attendee->amount_pd; $payment_date = event_date_display($attendee->payment_date); $phone = $attendee->phone; $event_time = event_date_display($attendee->event_time, get_option('time_format')); $end_time = event_date_display($attendee->end_time, get_option('time_format')); $date = event_date_display($attendee->date); $pre_approve = $attendee->pre_approve; } $admin_email = $alt_email == '' ? $org_options['contact_email'] : $alt_email . ',' . $org_options['contact_email']; if (!empty($admin_email)) { $subject = "New attendee registration approval pending"; $body = "\nEvent title: {$event_name}\n<br/>\nAttendee name: {$fname} {$lname}\n<br/>\nThank You.\n"; $email_params = array('send_to' => $admin_email, 'email_subject' => __($subject, 'event_espresso'), 'email_body' => $body); event_espresso_send_email($email_params); } if (!empty($attendee_email)) { $subject = "Event registration pending"; $body = "\nEvent title: {$event_name}\n<br/>\nAttendee name: {$fname} {$lname}\n<br/>\nYour registration is pending for approval from event admin. You will receive an email with payment info when admin approves your registration.\n<br/><br/>\nThank You.\n"; $email_params = array('send_to' => $attendee_email, 'email_subject' => __($subject, 'event_espresso'), 'email_body' => $body); event_espresso_send_email($email_params); } }
function edit_event($event_id = 0) { global $wpdb, $org_options, $espresso_premium; ob_start(); $SQL = "SELECT e.*, ev.id as venue_id\n\t FROM " . EVENTS_DETAIL_TABLE . " e\n\t LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " vr ON e.id = vr.event_id\n\t LEFT JOIN " . EVENTS_VENUE_TABLE . " ev ON vr.venue_id = ev.id\n\t WHERE e.id = %d"; $events = $wpdb->get_results($wpdb->prepare($SQL, $event_id)); if (!is_array($events) || count($events) <= 0) { event_espresso_edit_list(); #echo "<div class='updated fade below-h2'><p>"; #_e("Event is not available any more!","eventespresso"); #echo "</p></div>"; return 1; } foreach ($events as $event) { $event_id = $event->id; $event_name = htmlentities(stripslashes($event->event_name), ENT_QUOTES, 'UTF-8'); $event_desc = htmlentities(stripslashes($event->event_desc), ENT_QUOTES, 'UTF-8'); $display_desc = $event->display_desc; $display_reg_form = $event->display_reg_form; $member_only = $event->member_only; $phone = stripslashes_deep($event->phone); $externalURL = stripslashes_deep($event->externalURL); //Early discounts $early_disc = stripslashes_deep($event->early_disc); $early_disc_date = stripslashes_deep($event->early_disc_date); $early_disc_percentage = stripslashes_deep($event->early_disc_percentage); $post_id = $event->post_id; $post_type = $event->post_type; $event_identifier = stripslashes_deep($event->event_identifier); $registration_start = $event->registration_start; $registration_end = $event->registration_end; $registration_startT = $event->registration_startT; $resitration_endT = $event->registration_endT; $timezone_string = $event->timezone_string; $start_date = $event->start_date; $end_date = $event->end_date; $tax_percentage = $event->tax_percentage; $tax_mode = $event->tax_mode; $start_time = isset($event->start_time) ? $event->start_time : ''; $end_time = isset($event->end_time) ? $event->end_time : ''; $reg_limit = $event->reg_limit; $additional_limit = $event->additional_limit; $allow_overflow = $event->allow_overflow; $overflow_event_id = $event->overflow_event_id; $allow_multiple = $event->allow_multiple; $event_cost = unserialize(isset($event->event_cost) ? $event->event_cost : ''); $is_active = $event->is_active; $status = array(); $status = event_espresso_get_is_active($event_id); $event_status = $event->event_status; $conf_mail = stripslashes_deep($event->conf_mail); $send_mail = stripslashes_deep($event->send_mail); $use_coupon_code = $event->use_coupon_code; $alt_email = $event->alt_email; $address = stripslashes_deep($event->address); $address2 = stripslashes_deep($event->address2); $city = stripslashes_deep($event->city); $state = stripslashes_deep($event->state); $zip = stripslashes_deep($event->zip); $country = stripslashes_deep($event->country); $venue_id = stripslashes_deep($event->venue_id); $venue_title = stripslashes_deep($event->venue_title); $venue_url = stripslashes_deep($event->venue_url); $venue_phone = stripslashes_deep($event->venue_phone); $venue_image = stripslashes_deep($event->venue_image); $email_id = $event->email_id; $ticket_id = $event->ticket_id; $wp_user = $event->wp_user; $date_submitted = $event->submitted != '0000-00-00 00:00:00' ? empty($event->submitted) ? '' : event_date_display($event->submitted, get_option('date_format')) : 'N/A'; $google_map_link = espresso_google_map_link(array('address' => $address, 'city' => $city, 'state' => $state, 'zip' => $zip, 'country' => $country)); //Virtual location $virtual_url = stripslashes_deep($event->virtual_url); $virtual_phone = stripslashes_deep($event->virtual_phone); $question_groups = unserialize($event->question_groups); global $event_meta; $event_meta = unserialize($event->event_meta); $recurrence_id = $event->recurrence_id; $visible_on = $event->visible_on; $require_pre_approval = $event->require_pre_approval; if (function_exists('event_espresso_edit_event_groupon')) { $use_groupon_code = $event->use_groupon_code; } } $values = array(array('id' => 'Y', 'text' => __('Yes', 'event_espresso')), array('id' => 'N', 'text' => __('No', 'event_espresso'))); //If user is an event manager, then show only their events if (function_exists('espresso_is_my_event') && espresso_is_my_event($event_id) != true) { echo '<h2>' . __('Sorry, you do not have permission to edit this event.', 'event_espresso') . '</h2>'; return; } ?> <!--Update event display--> <div id="submitdiv" class="postbox"> <div class="handlediv" title="Click to toggle"><br /> </div> <h3 class='hndle'> <span> <?php _e('Quick Overview', 'event_espresso'); ?> </span> </h3> <div class="inside"> <div class="submitbox" id="submitpost"> <div id="minor-publishing"> <div id="minor-publishing-actions" class="clearfix"> <div id="preview-action"> <a class="preview button" href="<?php echo espresso_reg_url($event_id); ?> " target="_blank" id="event-preview" tabindex="5"> <?php _e('View Event', 'event_espresso'); ?> </a> <input type="hidden" name="event-preview" id="event-preview" value="" /> </div> <div id="copy-action"> <a class="preview button" href="admin.php?page=events&action=copy_event&event_id=<?php echo $event_id; ?> " id="post-copy" tabindex="4" onclick="return confirm('<?php _e('Are you sure you want to copy ' . $event_name . '?', 'event_espresso'); ?> ')"> <?php _e('Duplicate Event', 'event_espresso'); ?> </a> <input type="hidden" name="event-copy" id="event-copy" value="" /> </div> </div> <!-- /minor-publishing-actions --> <div id="misc-publishing-actions"> <div class="misc-pub-section curtime" id="visibility"> <span id="timestamp"> <?php _e('Start Date', 'event_espresso'); ?> <b> <?php echo event_date_display($start_date); ?> <?php echo event_date_display($start_time, get_option('time_format')); ?> </b> </span> </div> <div class="misc-pub-section"> <label for="post_status"> <?php _e('Current Status:', 'event_espresso'); ?> </label> <span id="post-status-display"> <?php echo $status['display']; ?> </span> </div> <div class="misc-pub-section" id="visibility"> <img src="<?php echo EVENT_ESPRESSO_PLUGINFULLURL; ?> images/icons/group.png" width="16" height="16" alt="<?php _e('View Attendees', 'event_espresso'); ?> " /> <?php echo !empty($number_attendees) ? __('Attendees', 'event_espresso') : '<a href="admin.php?page=events&event_admin_reports=list_attendee_payments&event_id=' . $event_id . '">' . __('Attendees', 'event_espresso') . '</a>'; ?> : <?php echo get_number_of_attendees_reg_limit($event_id, 'num_attendees_slash_reg_limit'); ?> </div> <div class="misc-pub-section <?php echo function_exists('espresso_is_admin') && espresso_is_admin() == true && $espresso_premium == true ? '' : 'misc-pub-section-last'; ?> " id="visibility2"> <a href="admin.php?page=events&event_admin_reports=event_newsletter&event_id=<?php echo $event_id; ?> " title="<?php _e('Email Event Attendees', 'event_espresso'); ?> "><img src="<?php echo EVENT_ESPRESSO_PLUGINFULLURL; ?> images/icons/email_go.png" width="16" height="16" alt="<?php _e('Newsletter', 'event_espresso'); ?> " /></a> <a href="admin.php?page=events&event_admin_reports=event_newsletter&event_id=<?php echo $event_id; ?> " title="<?php _e('Email Event Attendees', 'event_espresso'); ?> "> <?php _e('Email Event Attendees', 'event_espresso'); ?> </a></div> <?php if (function_exists('espresso_is_admin') && espresso_is_admin() == true && $espresso_premium == true) { $user_name = espresso_user_meta($wp_user, 'user_firstname') != '' ? espresso_user_meta($wp_user, 'user_firstname') . ' ' . espresso_user_meta($wp_user, 'user_lastname') . ' (<a href="user-edit.php?user_id=' . $wp_user . '">' . espresso_user_meta($wp_user, 'user_nicename') . '</a>)' : espresso_user_meta($wp_user, 'display_name') . ' (<a href="user-edit.php?user_id=' . $wp_user . '">' . espresso_user_meta($wp_user, 'user_nicename') . '</a>)'; $user_company = espresso_user_meta($wp_user, 'company') != '' ? espresso_user_meta($wp_user, 'company') : ''; $user_organization = espresso_user_meta($wp_user, 'organization') != '' ? espresso_user_meta($wp_user, 'organization') : ''; $user_co_org = $user_company != '' ? $user_company : $user_organization; echo '<div class="misc-pub-section misc-pub-section-last" id="visibility3">'; echo '<ul>'; echo '<li><strong>' . __('Submitted By:', 'event_espresso') . '</strong> ' . $user_name . '</li>'; echo '<li><strong>' . __('Email:', 'event_espresso') . '</strong> ' . espresso_user_meta($wp_user, 'user_email') . '</li>'; echo $user_co_org != '' ? '<li><strong>' . __('Organization:', 'event_espresso') . '</strong> ' . espresso_user_meta($wp_user, 'company') . '</li>' : ''; echo '<li><strong>' . __('Date Submitted:', 'event_espresso') . '</strong> ' . $date_submitted . '</li>'; echo '</ul>'; echo '</div>'; } ?> </div> <!-- /misc-publishing-actions --> </div> <!-- /minor-publishing --> <div id="major-publishing-actions" class="clearfix"> <?php if ($recurrence_id > 0) { ?> <div id="delete-action"> <a class="submitdelete deletion" href="admin.php?page=events&action=delete_recurrence_series&recurrence_id=<?php echo $recurrence_id; ?> " onclick="return confirm('<?php _e('Are you sure you want to delete ' . $event_name . '?', 'event_espresso'); ?> ')"> <?php _e('Delete all events in this series', 'event_espresso'); ?> </a> </div> <?php } else { ?> <div id="delete-action"> <a class="submitdelete deletion" href="admin.php?page=events&action=delete&event_id=<?php echo $event_id; ?> " onclick="return confirm('<?php _e('Are you sure you want to delete ' . $event_name . '?', 'event_espresso'); ?> ')"> <?php _e('Delete Event', 'event_espresso'); ?> </a> </div> <?php } ?> <div id="publishing-action"> <input class="button-primary" type="submit" name="Submit" value="<?php _e('Update Event', 'event_espresso'); ?> " id="save_event_setting" /> </div> <!-- /publishing-action --> </div> <!-- /major-publishing-actions --> </div> <!-- /submitpost --> </div> <!-- /inside --> </div> <!-- /submitdiv --> <?php if ($espresso_premium == true) { do_action('action_hook_espresso_edit_event_right_column_top', $event_id); } $advanced_options = ''; if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/event-management/advanced_settings.php')) { require_once EVENT_ESPRESSO_PLUGINFULLPATH . "includes/admin-files/event-management/advanced_settings.php"; } else { //Display Lite version options $status = array(array('id' => 'A', 'text' => __('Active', 'event_espresso')), array('id' => 'D', 'text' => __('Deleted', 'event_espresso'))); $advanced_options = '<p><strong>' . __('Advanced Options:', 'event_espresso') . '</strong></p>' . '<p><label>' . __('Is this an active event? ', 'event_espresso') . '</label>' . __(select_input('is_active', $values, $is_active)) . '</p>' . '<p><label>' . __('Display description? ', 'event_espresso') . '</label>' . select_input('display_desc', $values, $display_desc) . '</p>' . '<p><label>' . __('Display registration form? ', 'event_espresso') . '</label>' . select_input('display_reg_form', $values, $display_reg_form) . '</p>'; } //Display Lite version options - End espresso_postbox('event-status', 'Event Options', '<p><label for"reg-limit">' . __('Attendee Limit', 'event_espresso') . ': </label><input name="reg_limit" id="reg-limit" size="10" type="text" value="' . $reg_limit . '" /><br />' . '<span>(' . __('leave blank for unlimited', 'event_espresso') . ')</span></p>' . '<p><label>' . __('Allow group registrations?', 'event_espresso') . '</label> ' . select_input('allow_multiple', $values, $allow_multiple) . '</p>' . '<p><label for="addit-limit">' . __('Max Group Registrants', 'event_espresso') . ':</label> <input type="text" id="addit-limit" name="additional_limit" value="' . $additional_limit . '" size="4" />' . '</p>' . $advanced_options); if (function_exists('espresso_ticket_dd') && $espresso_premium == true) { ?> <div id="event-category" class="postbox"> <div class="handlediv" title="Click to toggle"><br> </div> <h3 class="hndle"> <span> <?php _e('Custom Tickets', 'event_espresso'); ?> </span> </h3> <div class="inside"> <?php echo espresso_ticket_dd($ticket_id); ?> </div> </div> <?php } if ($espresso_premium == true) { ?> <div id="featured-image-options" class="postbox"> <div class="handlediv" title="Click to toggle"><br /> </div> <h3 class="hndle"> <span> <?php _e('Featured Image', 'event_espresso'); ?> </span> </h3> <div class="inside"> <div id="featured-image"> <?php if (!empty($event_meta['event_thumbnail_url'])) { $event_thumb = $event_meta['event_thumbnail_url']; } else { $event_thumb = ''; } ?> <label for="upload_image"> <?php _e('Add Featured Image', 'event_espresso'); ?> </label> <input id="upload_image" type="hidden" size="36" name="upload_image" value="<?php echo $event_thumb; ?> " /> <input id="upload_image_button" type="button" value="<?php _e('Upload Image', 'event_espresso'); ?> " /> <?php if ($event_thumb) { ?> <p class="event-featured-thumb"><img style="width: 100%;" src="<?php echo $event_thumb; ?> " alt="" /></p> <a id='remove-image' href='#' title='<?php _e('Remove Image', 'event_espresso'); ?> ' onclick='return false;'><?php _e('Remove Image', 'event_espresso'); ?> </a> <?php } ?> </div> </div> </div> <?php } /* * Added for seating chart addon */ if (defined('ESPRESSO_SEATING_CHART')) { $seating_chart_id = 0; $seating_chart_event = $wpdb->get_row("select * from " . EVENTS_SEATING_CHART_EVENT_TABLE . " where event_id = {$event_id}"); if ($seating_chart_event !== NULL) { $seating_chart_id = $seating_chart_event->seating_chart_id; } ?> <div style="display: block;" id="seating_chart-options" class="postbox"> <div class="handlediv" title="Click to toggle"><br /> </div> <h3 class="hndle"><span> <?php _e('Seating chart', 'event_espresso'); ?> </span></h3> <div class="inside"> <p> <select name="seating_chart_id" id="seating_chart_id" style="float:none;"> <option value="0" <?php if ($seating_chart_id == 0) { echo 'selected="selected"'; } ?> ><?php _e('None', 'event_espresso'); ?> </option> <?php $seating_charts = $wpdb->get_results("select * from " . EVENTS_SEATING_CHART_TABLE . " order by name"); foreach ($seating_charts as $seating_chart) { ?> <option value="<?php echo $seating_chart->id; ?> " <?php if ($seating_chart_id == $seating_chart->id) { echo 'selected="selected"'; } ?> ><?php echo $seating_chart->name; ?> </option> <?php } ?> </select> <?php do_action('espresso_seating_chart_select', $event_id); ?> <?php do_action('ee_seating_chart_js'); ?> <?php do_action('ee_seating_chart_css'); ?> <?php do_action('ee_seating_chart_flush_expired_seats'); ?> </p> </div> </div> <?php } /* * End */ ###### Modification by wp-developers to introduce attendee pre-approval requirement ########## if (isset($org_options['use_attendee_pre_approval']) && $org_options['use_attendee_pre_approval'] == 'Y' && $espresso_premium == true) { ?> <div id="attendee-pre-approval-options" class="postbox"> <div class="handlediv" title="Click to toggle"><br /> </div> <h3 class="hndle"> <span> <?php _e('Attendee pre-approval required?', 'event_espresso'); ?> </span> </h3> <div class="inside"> <p class="pre-approve"> <?php $pre_approval_values = array(array('id' => '1', 'text' => __('Yes', 'event_espresso')), array('id' => '0', 'text' => __('No', 'event_espresso'))); echo select_input("require_pre_approval", $pre_approval_values, $require_pre_approval); ?> </p> </div> </div> <?php } ########## END ################################# if (defined('EVENT_ESPRESSO_MEMBERS_DIR') && $espresso_premium == true) { ?> <div id="member-options" class="postbox"> <div class="handlediv" title="Click to toggle"><br> </div> <h3 class="hndle"> <span> <?php _e('Member Options', 'event_espresso'); ?> </span> </h3> <div class="inside"> <p><?php echo event_espresso_member_only($member_only); ?> </p> </div> </div> <!-- /member-options --> <?php } if (defined('EVENTS_MAILCHIMP_ATTENDEE_REL_TABLE') && $espresso_premium == true) { MailChimpView::event_list_selection(); } ?> <div id="event-categories" class="postbox"> <div class="handlediv" title="Click to toggle"><br> </div> <h3 class="hndle"> <span> <?php _e('Event Category', 'event_espresso'); ?> </span> </h3> <div class="inside"> <?php echo event_espresso_get_categories($event_id); ?> </div> </div> <!-- /event-category --> <?php if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/event-management/promotions_box.php')) { require_once EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/event-management/promotions_box.php'; } ?> <!-- /event-promotions --> <?php echo espresso_event_question_groups($question_groups, $event_meta['add_attendee_question_groups'], $event); ?> <!-- /event-questions --> <?php do_action('action_hook_espresso_staff_cb', $event_id, $recurrence_id); if (defined('EVENTS_GROUPON_CODES_TABLE') && $espresso_premium == true) { ?> <div id="groupon-options" class="postbox"> <div class="handlediv" title="Click to toggle"><br> </div> <h3 class="hndle"> <span> <?php _e('Groupon Options', 'event_espresso'); ?> </span> </h3> <div class="inside"> <p><?php echo event_espresso_edit_event_groupon($use_groupon_code); ?> </p> </div> </div> <!-- /groupon-options --> <?php } if ($espresso_premium == true) { do_action('action_hook_espresso_edit_event_right_column_bottom', $event_id); } $sidebar_content = ob_get_clean(); ob_start(); ?> <div id="titlediv"> <strong> <?php _e('Event Title', 'event_espresso'); ?> </strong> <div id="titlewrap"> <label class="screen-reader-text" for="title"> <?php _e('Event Title', 'event_espresso'); ?> </label> <input type="text" name="event" size="30" tabindex="1" value="<?php echo $event_name; ?> " id="title" autocomplete="off" /> </div> <!-- /titlewrap --> <div class="inside"> <div id="edit-slug-box"> <strong> <?php _e('Unique Event Identifier:', 'event_espresso'); ?> </strong> <input disabled="disabled" type="text" size="30" tabindex="2" name="event_identifier" id="event_identifier" value ="<?php echo $event_identifier; ?> " /> <?php echo '<a href="#" class="button" onclick="prompt('Event Shortcode:', \'[SINGLEEVENT single_event_id="\' + jQuery(\'#event_identifier\').val() + \'"]\'); return false;">' . __('Shortcode') . '</a>'; ?> <?php echo '<a href="#" class="button" onclick="prompt('Short URL:', \'' . espresso_reg_url($event_id) . '\'); return false;">' . __('Short URL') . '</a>'; ?> <?php echo '<a href="#" class="button" onclick="prompt('Full URL:', \'' . home_url() . '/?page_id=' . $org_options['event_page_id'] . '&regevent_action=register&event_id=' . $event_id . '\'); return false;">' . __('Full URL') . '</a>'; ?> </div> <!-- /edit-slug-box --> </div> <!-- /.inside --> </div> <!-- /titlediv --> <div id="descriptiondivrich" class="postarea"> <strong> <?php _e('Event Description', 'event_espresso'); ?> </strong> <?php if (function_exists('wp_editor')) { $args = array("textarea_rows" => 5, "textarea_name" => "event_desc", "editor_class" => "my_editor_custom"); wp_editor(espresso_admin_format_content($event_desc), "event_desc", $args); } else { /* This is the editor used by WordPress. It is very very hard to find documentation for this thing, so I pasted everything I could find below. param: string $content Textarea content. param: string $id Optional, default is 'content'. HTML ID attribute value. param: string $prev_id Optional, default is 'title'. HTML ID name for switching back and forth between visual editors. param: bool $media_buttons Optional, default is true. Whether to display media buttons. param: int $tab_index Optional, default is 2. Tabindex for textarea element. */ //the_editor($content, $id = 'content', $prev_id = 'title', $media_buttons = true, $tab_index = 2) //the_editor(espresso_admin_format_content($event_desc), $id = 'event_desc'/* , $prev_id = 'title', $media_buttons = true, $tab_index = 3 */); the_editor(espresso_admin_format_content($event_desc), $id = 'event_desc'); } ?> <table id="post-status-info" cellspacing="0"> <tbody> <tr> <td id="wp-word-count"></td> <td class="autosave-info"><span id="autosave"> </span></td> </tr> </tbody> </table> </div> <!-- /postdivrich --> <?php $main_post_content = ob_get_clean(); ob_start(); ?> <div id="normal-sortables" class="meta-box-sortables ui-sortable"> <div style="display: block;" id="event-date-time" class="postbox"> <div class="handlediv" title="Click to toggle"><br> </div> <h3 class="hndle"> <span> <?php _e('Event Date/Times', 'event_espresso'); ?> </span> </h3> <div class="inside"> <table width="100%" border="0" cellpadding="5"> <tr valign="top"> <td class="a"><fieldset id="add-reg-dates"> <legend> <?php _e('Registration Dates', 'event_espresso'); ?> </legend> <p> <label for="registration_start"> <?php echo __('Registration Start:', 'event_espresso'); ?> </label> <input type="text" class="datepicker" size="15" id="registration_start" name="registration_start" value="<?php echo $registration_start; ?> " /> </p> <p> <label for="registration_end"><?php echo __('Registration End:', 'event_espresso'); ?> </label> <input type="text" class="datepicker" size="15" id="registration_end" name="registration_end" value="<?php echo $registration_end; ?> " /> </p> </fieldset> <fieldset> <legend> <?php _e('Event Dates', 'event_espresso'); ?> </legend> <p> <label for="start_date"><?php echo __('Event Start Date', 'event_espresso'); ?> </label> <input type="text" class="datepicker" size="15" id="start_date" name="start_date" value="<?php echo $start_date; ?> " /> </p> <p> <label for="end_date"><?php echo __('Event End Date', 'event_espresso'); ?> </label> <input type="text" class="datepicker" size="15" id="end_date" name="end_date" value="<?php echo $end_date; ?> " /> </p> </fieldset> <?php if (isset($org_options['use_event_timezones']) && $org_options['use_event_timezones'] == 'Y' && $espresso_premium == true) { ?> <fieldset id="event-timezone"> <p> <label> <?php _e('Event Timezone', 'event_espresso'); ?> :</label> <?php echo eventespresso_ddtimezone($event_id); ?> </p> </fieldset> <?php } ?> </td> <?php // ADD TIME REGISTRATION ?> <td class="b"><fieldset id="add-register-times"> <legend> <?php _e('Registration Times', 'event_espresso'); ?> </legend> <?php echo event_espresso_timereg_editor($event_id); ?> </fieldset> <fieldset id="add-event-times"> <legend> <?php _e('Event Times', 'event_espresso'); ?> </legend> <?php echo event_espresso_time_editor($event_id); ?> </fieldset> <?php if ((!isset($org_options['use_event_timezones']) || $org_options['use_event_timezones'] != 'Y') && $espresso_premium == true) { ?> <p><span class="run-in"> <?php _e('Current Time', 'event_espresso'); ?> :</span> <span class="current-date"> <?php echo date(get_option('date_format')) . ' ' . date(get_option('time_format')); ?> </span> <a class="change-date-time" href="options-general.php" target="_blank"> <?php _e('Change timezone and date format settings?', 'event_espresso'); ?> </a></p> <?php } ?> </td> </tr> </table> </div> </div> <?php /** * Load the recurring events form if the add-on has been installed. * */ if (defined('EVENT_ESPRESSO_RECURRENCE_TABLE') && $espresso_premium == true) { require_once EVENT_ESPRESSO_RECURRENCE_FULL_PATH . "functions/re_view_functions.php"; //For now, only the recurring events will show the form if ($recurrence_id > 0) { event_espresso_re_form($recurrence_id); } } ?> <div id="event-pricing" class="postbox"> <?php defined('EVENT_ESPRESSO_MEMBERS_DIR') ? $members_active = 'class="members-active"' : ($members_active = ''); ?> <div class="handlediv" title="Click to toggle"><br> </div> <h3 class="hndle"> <span> <?php _e('Event Pricing', 'event_espresso'); ?> </span> </h3> <div class="inside"> <table <?php echo $members_active; ?> width="100%" border="0" cellpadding="5"> <tr valign="top"> <td id="standard-pricing" class="a"><?php event_espresso_multi_price_update($event_id); //Standard pricing ?> </td> <?php //If the members addon is installed, define member only event settings if (defined('EVENT_ESPRESSO_MEMBERS_DIR') && $espresso_premium == true) { ?> <td id="member-pricing" class="b"><?php echo event_espresso_member_only_pricing($event_id); //Show the the member only pricing options. ?> </td> <?php } ?> </tr> </table> </div> </div> <h2> <?php _e('Advanced Options', 'event_espresso'); ?> </h2> <?php if ($espresso_premium == true) { do_action('action_hook_espresso_edit_event_left_column_advanced_options_top', $event_id); } ?> <div id="event-location" class="postbox"> <div class="handlediv" title="Click to toggle"><br /> </div> <h3 class="hndle"> <span> <?php _e('Additional Event/Venue Information', 'event_espresso'); ?> </span> </h3> <div class="inside"> <table width="100%" border="0" cellpadding="5"> <tr valign="top"> <?php if (function_exists('espresso_venue_dd') && $org_options['use_venue_manager'] == 'Y' && $espresso_premium == true) { $ven_type = 'class="use-ven-manager"'; ?> <td <?php echo $ven_type; ?> ><fieldset id="venue-manager"> <legend><?php echo __('Venue Information', 'event_espresso'); ?> </legend> <?php if (!espresso_venue_dd()) { ?> <p class="info"><b> <?php _e('You have not created any venues yet.', 'event_espresso'); ?> </b></p> <p><a href="admin.php?page=event_venues"><?php echo __('Add venues to the Venue Manager', 'event_espresso'); ?> </a></p> <?php } else { ?> <?php echo espresso_venue_dd($venue_id); ?> <?php } ?> </fieldset></td> <?php } else { $ven_type = 'class="manual-venue"'; ?> <td <?php echo $ven_type; ?> ><fieldset> <legend> <?php _e('Physical Location', 'event_espresso'); ?> </legend> <p> <label for="phys-addr"> <?php _e('Address:', 'event_espresso'); ?> </label> <input size="20" id="phys-addr" tabindex="100" type="text" value="<?php echo $address; ?> " name="address" /> </p> <p> <label for="phys-addr-2"> <?php _e('Address 2:', 'event_espresso'); ?> </label> <input size="20" id="phys-addr-2" tabindex="101" type="text" value="<?php echo $address2; ?> " name="address2" /> </p> <p> <label for="phys-city"> <?php _e('City:', 'event_espresso'); ?> </label> <input size="20" id="phys-city" tabindex="102" type="text" value="<?php echo $city; ?> " name="city" /> </p> <p> <label for="phys-state"> <?php _e('State:', 'event_espresso'); ?> </label> <input size="20" id="phys-state" tabindex="103" type="text" value="<?php echo $state; ?> " name="state" /> </p> <p> <label for="zip-postal"> <?php _e('Zip/Postal Code:', 'event_espresso'); ?> </label> <input size="20" id="zip-postal" tabindex="104" type="text" value="<?php echo $zip; ?> " name="zip" /> </p> <p> <label for="phys-country"> <?php _e('Country:', 'event_espresso'); ?> </label> <input size="20" id="phys-country" tabindex="105" type="text" value="<?php echo $country; ?> " name="country" /> </p> <p> <?php _e('Google Map Link (for email):', 'event_espresso'); ?> <br /> <?php echo $google_map_link; ?> </p> </fieldset></td> <td <?php echo $ven_type; ?> > <fieldset> <legend> <?php _e('Venue Information', 'event_espresso'); ?> </legend> <p> <label for="ven-title"> <?php _e('Title:', 'event_espresso'); ?> </label> <input size="20"id="ven-title" tabindex="106" type="text" value="<?php echo $venue_title; ?> " name="venue_title" /> </p> <p> <label for="ven-website"> <?php _e('Website:', 'event_espresso'); ?> </label> <input size="20" id="ven-website" tabindex="107" type="text" value="<?php echo $venue_url; ?> " name="venue_url" /> </p> <p> <label for="ven-phone"> <?php _e('Phone:', 'event_espresso'); ?> </label> <input size="20" id="ven-phone" tabindex="108" type="text" value="<?php echo $venue_phone; ?> " name="venue_phone" /> </p> <p> <label for="ven-image"> <?php _e('Image:', 'event_espresso'); ?> </label> <input size="20" id="ven-image" tabindex="110" type="text" value="<?php echo $venue_image; ?> " name="venue_image" /> </p> <?php } ?> </td> <td <?php echo $ven_type; ?> ><fieldset id="virt-location"> <legend> <?php _e('Virtual Location', 'event_espresso'); ?> </legend> <p> <label for="virt-phone"> <?php _e('Phone:', 'event_espresso'); ?> </label> <input size="20" id="virt-phone" type="text" tabindex="111" value="<?php echo $phone; ?> " name="phone" /> </p> <p> <label for="url-event"> <?php _e('URL of Event:', 'event_espresso'); ?> </label> <textarea id="url-event" cols="30" rows="4" tabindex="112" name="virtual_url"><?php echo $virtual_url; ?> </textarea> </p> <p> <label for="call-in-num"> <?php _e('Call in Number:', 'event_espresso'); ?> </label> <input id="call-in-num" size="20" tabindex="113" type="text" value="<?php echo $virtual_phone; ?> " name="virtual_phone" /> </p> </fieldset></td> </tr> </table> </div> </div> <!-- /event-location--> <?php if ($espresso_premium == true) { ?> <div id="event-meta" class="postbox"> <div class="handlediv" title="Click to toggle"><br> </div> <h3 class="hndle"> <span> <?php _e('Event Meta', 'event_espresso'); ?> </span> </h3> <div class="inside"> <?php event_espresso_meta_edit($event_meta); ?> </div> </div> <?php } ?> <!-- /event-meta--> <div id="confirmation-email" class="postbox"> <div class="handlediv" title="Click to toggle"><br /> </div> <h3 class="hndle"> <span> <?php _e('Email Confirmation:', 'event_espresso'); ?> </span> </h3> <div class="inside"> <div id="emaildescriptiondivrich" class="postarea"> <div class="email-conf-opts"> <p><?php echo __('Send custom confirmation emails for this event?', 'event_espresso') . ' ' . select_input('send_mail', $values, $send_mail); ?> <?php echo '<a class="thickbox" href="#TB_inline?height=300&width=400&inlineId=custom_email_info"><img src="' . EVENT_ESPRESSO_PLUGINFULLURL . '/images/question-frame.png" width="16" height="16" /></a>'; ?> </p> <?php if ($espresso_premium == true) { ?> <p> <?php _e('Use a ', 'event_espresso'); ?> <a href="admin.php?page=event_emails" target="_blank"> <?php _e('pre-existing email', 'event_espresso'); ?> </a>? <?php echo espresso_db_dropdown('id', 'email_name', EVENTS_EMAIL_TABLE, 'email_name', $email_id, 'desc') . ' <a class="thickbox" href="#TB_inline?height=300&width=400&inlineId=email_manager_info"><img src="' . EVENT_ESPRESSO_PLUGINFULLURL . '/images/question-frame.png" width="16" height="16" /></a>'; ?> </p> <br /> <em>OR</em> <?php } ?> <p> <?php _e('Create a custom email:', 'event_espresso'); ?> <?php echo '<a class="thickbox" href="#TB_inline?height=300&width=400&inlineId=event_custom_emails"><img src="' . EVENT_ESPRESSO_PLUGINFULLURL . '/images/question-frame.png" width="16" height="16" /></a>'; ?> </p> </div> <div class="postbox"> <?php //echo '<p>version_compare ='.(version_compare($wp_version, $wp_min_version) >= 0).'</p>'; if (function_exists('wp_editor')) { $args = array("textarea_rows" => 5, "textarea_name" => "conf_mail", "editor_class" => "my_editor_custom"); wp_editor(espresso_admin_format_content($conf_mail), "conf_mail", $args); } else { echo '<textarea name="conf_mail" class="theEditor" id="conf_mail">' . espresso_admin_format_content($conf_mail) . '</textarea>'; espresso_tiny_mce(); } ?> <?php /* ?> <textarea name="conf_mail" class="theEditor" id="conf_mail"><?php echo espresso_admin_format_content($conf_mail); ?></textarea><?php */ ?> <table id="email-confirmation-form" cellspacing="0"> <tr> <td class="aer-word-count"></td> <td class="autosave-info"><span><a class="thickbox" href="#TB_inline?height=300&width=400&inlineId=custom_email_info"> <?php _e('View Custom Email Tags', 'event_espresso'); ?> </a> | <a class="thickbox" href="#TB_inline?height=300&width=400&inlineId=custom_email_example"> <?php _e('Email Example', 'event_espresso'); ?> </a></span></td> </tr> </table> </div> </div> </div> </div> <!-- /confirmation-email--> <?php if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/admin-files/event-management/edit_event_post.php')) { require_once EVENT_ESPRESSO_PLUGINFULLPATH . "includes/admin-files/event-management/edit_event_post.php"; } ?> </div> <!-- /normal-sortables--> <?php $center_metabox_content = ob_get_clean(); espresso_choose_layout($main_post_content, $sidebar_content, $center_metabox_content); include_once 'create_events_help.php'; ?> <?php wp_nonce_field('espresso_verify_update_event_nonce', 'nonce_verify_update_event'); //Security check using nonce ?> <input type="hidden" name="edit_action" value="update"> <input type="hidden" name="date_submitted" value="<?php echo $date_submitted; ?> "> <input type="hidden" name="recurrence_id" value="<?php echo $recurrence_id; ?> "> <input type="hidden" name="action" value="edit"> <input type="hidden" name="event_id" value="<?php echo $event_id; ?> "> <script type="text/javascript" charset="utf-8"> //<![CDATA[ jQuery(document).ready(function() { postboxes.add_postbox_toggles('events'); jQuery(".datepicker" ).datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true }); //Image upload var header_clicked = false; jQuery('#upload_image_button').click(function() { formfield = jQuery('#upload_image').attr('name'); tb_show('', 'media-upload.php?type=image&TB_iframe=1'); jQuery('p.event-featured-thumb').addClass('old'); header_clicked = true; return false; }); window.original_send_to_editor = window.send_to_editor; window.send_to_editor = function(html) { if(header_clicked) { imgurl = jQuery('img',html).attr('src'); jQuery('#' + formfield).val(imgurl); jQuery('#featured-image').append("<p id='image-display'><img class='show-selected-image' src='"+imgurl+"' alt='' /></p>"); header_clicked = false; tb_remove(); } else { window.original_send_to_editor(html); } } // process the remove link in the metabox jQuery('#remove-image').click(function(){ var answer = confirm("<?php _e("Do you really want to delete this image? Please remember to update your event to complete the removal.", 'event_espresso'); ?> "); if (answer){ jQuery("#upload_image").val(''); jQuery("p.event-featured-thumb").remove(); jQuery("p#image-display").remove(); jQuery('#remove-image').remove(); jQuery("#show_thumb_in_lists, #show_on_calendar, #show_thumb_in_regpage").val(false); } return false; }); }); //]]> </script> <?php }
function espresso_ticket_launch($attendee_id = 0, $registration_id = 0) { global $wpdb, $org_options; $data = new stdClass(); //Make sure we have attendee data if ($attendee_id == 0 || $registration_id == 0) { return; } //Get the event record $sql = "SELECT ed.*, et.css_file, et.template_file, et.ticket_content, et.ticket_logo_url "; isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= ", v.id venue_id, v.name venue_name, v.address venue_address, v.address2 venue_address2, v.city venue_city, v.state venue_state, v.zip venue_zip, v.country venue_country, v.meta venue_meta " : ''; $sql .= " FROM " . EVENTS_DETAIL_TABLE . " ed "; isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= " LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " r ON r.event_id = ed.id LEFT JOIN " . EVENTS_VENUE_TABLE . " v ON v.id = r.venue_id " : ''; $sql .= " JOIN " . EVENTS_ATTENDEE_TABLE . " ea ON ea.event_id=ed.id "; $sql .= " LEFT JOIN " . EVENTS_TICKET_TEMPLATES . " et ON et.id=ed.ticket_id "; $sql .= " WHERE ea.id = '" . $attendee_id . "' AND ea.registration_id = '" . $registration_id . "' "; //echo $sql; $data->event = $wpdb->get_row($sql, OBJECT); //Get the attendee record $sql = "SELECT ea.* FROM " . EVENTS_ATTENDEE_TABLE . " ea WHERE ea.id = '" . $attendee_id . "' AND ea.registration_id = '" . $registration_id . "' "; $data->attendee = $wpdb->get_row($sql, OBJECT); if (empty($data->attendee)) { //echo 'Invalid data supplied.'; return; } //Get the primary/first attendee $data->primary_attendee = espresso_is_primary_attendee($data->attendee->id) == true ? true : false; //unserialize the event meta $data->event->event_meta = unserialize($data->event->event_meta); //Get the registration date $data->attendee->registration_date = $data->attendee->date; //Get the CSS file $data->event->css_file = !empty($data->event->css_file) && $data->event->css_file > '0' ? $data->event->css_file : 'simple.css'; //echo $data->event->css_file; //Get the HTML file $data->event->template_file = !empty($data->event->template_file) && $data->event->template_file > '0' ? $data->event->template_file : 'index.php'; //Venue information if (isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y') { $data->event->venue_id = !empty($data->event->venue_id) ? $data->event->venue_id : ''; $data->event->venue_name = !empty($data->event->venue_name) ? $data->event->venue_name : ''; $data->event->address = !empty($data->event->venue_address) ? $data->event->venue_address : ''; $data->event->address2 = !empty($data->event->venue_address2) ? $data->event->venue_address2 : ''; $data->event->city = !empty($data->event->venue_city) ? $data->event->venue_city : ''; $data->event->state = !empty($data->event->venue_state) ? $data->event->venue_state : ''; $data->event->zip = !empty($data->event->venue_zip) ? $data->event->venue_zip : ''; $data->event->country = !empty($data->event->venue_country) ? $data->event->venue_country : ''; $data->event->venue_meta = !empty($data->event->venue_meta) ? unserialize($data->event->venue_meta) : ''; } else { $data->event->venue_name = !empty($data->event->venue_title) ? $data->event->venue_title : ''; } //Create the Gravatar image $data->gravatar = '<img src="' . espresso_get_gravatar($data->attendee->email, $size = '100', $default = 'http://www.gravatar.com/avatar/') . '" alt="Gravatar">'; //Google map IMAGE creation $data->event->google_map_image = espresso_google_map_link(array('id' => $data->event->venue_id, 'address' => $data->event->address, 'city' => $data->event->city, 'state' => $data->event->state, 'zip' => $data->event->zip, 'country' => $data->event->country, 'type' => 'map')); //Google map LINK creation $data->event->google_map_link = espresso_google_map_link(array('address' => $data->event->address, 'city' => $data->event->city, 'state' => $data->event->state, 'zip' => $data->event->zip, 'country' => $data->event->country, 'type' => 'text')); //Create the logo $data->event->ticket_logo_image = ''; $data->event->ticket_logo_url = empty($data->event->ticket_logo_url) ? $org_options['default_logo_url'] : $data->event->ticket_logo_url; if (!empty($data->event->ticket_logo_url)) { $image_size = getimagesize($data->event->ticket_logo_url); $data->event->ticket_logo_image = '<img src="' . $data->event->ticket_logo_url . '" ' . $image_size[3] . ' alt="logo" /> '; } //Create the QR Code image $data->qr_code = espresso_ticket_qr_code(array('attendee_id' => $data->attendee->id, 'event_name' => stripslashes_deep($data->event->event_name), 'attendee_first' => $data->attendee->fname, 'attendee_last' => $data->attendee->lname, 'registration_id' => $data->attendee->registration_id, 'event_code' => $data->event->event_code, 'ticket_type' => $data->attendee->price_option, 'event_time' => $data->attendee->event_time, 'final_price' => $data->attendee->final_price)); //Build the seating assignment $seatingchart_tag = ''; if (defined("ESPRESSO_SEATING_CHART")) { if (class_exists("seating_chart")) { if (seating_chart::check_event_has_seating_chart($data->attendee->event_id)) { $rs = $wpdb->get_row("select scs.* from " . EVENTS_SEATING_CHART_EVENT_SEAT_TABLE . " sces inner join " . EVENTS_SEATING_CHART_SEAT_TABLE . " scs on sces.seat_id = scs.id where sces.attendee_id = " . $attendee_id); if ($rs !== NULL) { $data->attendee->seatingchart_tag = $rs->custom_tag . " " . $rs->seat . " " . $rs->row; } } } } //Build the ticket name $ticket_name = sanitize_title_with_dashes($data->attendee->id . ' ' . $data->attendee->fname . ' ' . $data->attendee->lname); //Get the HTML as an object ob_start(); if (file_exists(EVENT_ESPRESSO_UPLOAD_DIR . "tickets/templates/index.php")) { require_once EVENT_ESPRESSO_UPLOAD_DIR . 'tickets/templates/' . $data->event->template_file; } else { require_once 'templates/' . $data->event->template_file; } $content = ob_get_clean(); $content = espresso_replace_ticket_shortcodes($content, $data); //Check if debugging or mobile is set if (isset($_REQUEST['pdf']) && $_REQUEST['pdf'] == true) { //Create the PDF define('DOMPDF_ENABLE_REMOTE', true); require_once EVENT_ESPRESSO_PLUGINFULLPATH . 'tpc/dompdf/dompdf_config.inc.php'; $dompdf = new DOMPDF(); $dompdf->load_html($content); //$dompdf->set_paper('A4', 'landscape'); $dompdf->render(); $dompdf->stream($ticket_name . ".pdf", array("Attachment" => false)); exit(0); } echo $content; exit(0); }
function espresso_confirm_registration($registration_id) { global $wpdb, $org_options; //Get the questions for the attendee $questions = $wpdb->get_results("SELECT ea.answer, eq.question\n\t\t\t\t\t\tFROM " . EVENTS_ANSWER_TABLE . " ea\n\t\t\t\t\t\tLEFT JOIN " . EVENTS_QUESTION_TABLE . " eq ON eq.id = ea.question_id\n\t\t\t\t\t\tWHERE ea.registration_id = '" . $registration_id . "' AND system_name IS NULL ORDER BY eq.sequence asc "); //echo $wpdb->last_query; $display_questions = ''; foreach ($questions as $question) { $display_questions .= '<p class="espresso_questions"><strong>' . $question->question . '</strong>:<br /> ' . str_replace(',', '<br />', $question->answer) . '</p>'; } //Get the event information $events = $wpdb->get_results("SELECT ed.* FROM " . EVENTS_DETAIL_TABLE . " ed\n\t\t\t\t\t\tJOIN " . EVENTS_ATTENDEE_TABLE . " ea\n\t\t\t\t\t\tON ed.id = ea.event_id\n\t\t\t\t\t\tWHERE ea.registration_id='" . $registration_id . "'"); foreach ($events as $event) { $event_id = $event->id; $event_name = stripslashes_deep($event->event_name); $event_desc = stripslashes_deep($event->event_desc); $display_desc = $event->display_desc; $event_identifier = $event->event_identifier; $reg_limit = $event->reg_limit; $active = $event->is_active; $send_mail = $event->send_mail; $conf_mail = $event->conf_mail; $email_id = $event->email_id; $alt_email = $event->alt_email; $start_date = event_date_display($event->start_date); $end_date = $event->end_date; $virtual_url = $event->virtual_url; $virtual_phone = $event->virtual_phone; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); $location_phone = $event->phone; $require_pre_approval = $event->require_pre_approval; $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country)); } //Build links $event_url = espresso_reg_url($event_id); $event_link = '<a href="' . $event_url . '">' . $event_name . '</a>'; $sql = "SELECT * FROM " . EVENTS_ATTENDEE_TABLE; if ($registration_id != '') { $sql .= " WHERE registration_id = '" . $registration_id . "' "; } elseif ($attendee_id != '') { $sql .= " WHERE id = '" . $attendee_id . "' "; } else { _e('No ID Supplied', 'event_espresso'); } $sql .= " ORDER BY id "; $sql .= " LIMIT 0,1 "; //Get the first attendees details $attendees = $wpdb->get_results($sql); //global $attendee_id; foreach ($attendees as $attendee) { $attendee_id = $attendee->id; $attendee_email = $attendee->email; $lname = $attendee->lname; $fname = $attendee->fname; $address = $attendee->address; $address2 = $attendee->address2; $city = $attendee->city; $state = $attendee->state; $zip = $attendee->zip; $payment_status = $attendee->payment_status; $txn_type = $attendee->txn_type; $amount_pd = $attendee->amount_pd; $event_cost = $attendee->amount_pd; $payment_date = $attendee->payment_date; $phone = $attendee->phone; $event_time = $attendee->event_time; $end_time = $attendee->end_time; $date = $attendee->date; $pre_approve = $attendee->pre_approve; } ####### Added by wp-developers ############## $pre_approval_check = is_attendee_approved($event_id, $attendee_id); ########################################### ###### Modified by wp-developers ############### if ($pre_approval_check) { //Pull in the "Thank You" page template if (file_exists(EVENT_ESPRESSO_TEMPLATE_DIR . "payment_page.php")) { require_once EVENT_ESPRESSO_TEMPLATE_DIR . "payment_page.php"; //This is the path to the template file if available } else { require_once EVENT_ESPRESSO_PLUGINFULLPATH . "templates/payment_page.php"; } if ($amount_pd != '0.00') { //Show payment options if (file_exists(EVENT_ESPRESSO_GATEWAY_DIR . "gateway_display.php")) { require_once EVENT_ESPRESSO_GATEWAY_DIR . "gateway_display.php"; } else { require_once EVENT_ESPRESSO_PLUGINFULLPATH . "gateways/gateway_display.php"; } //Check to see if the site owner wants to send an confirmation eamil before payment is recieved. if ($org_options['email_before_payment'] == 'Y') { event_espresso_email_confirmations(array('registration_id' => $registration_id, 'send_admin_email' => 'true', 'send_attendee_email' => 'true')); } } else { event_espresso_email_confirmations(array('registration_id' => $registration_id, 'send_admin_email' => 'true', 'send_attendee_email' => 'true')); } } else { if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/process-registration/pending_approval_page.php')) { require_once 'pending_approval_page.php'; echo espresso_pending_registration_approval($registration_id); return; } } ################ End ############################## //return __('Your Registration Has Been Confirmed', 'event_espresso'); //unset($_SESSION['espresso_session']['id']); //session_destroy(); }
function espresso_list_builder($sql, $template_file, $before, $after) { global $wpdb, $org_options; //echo 'This page is located in ' . get_option( 'upload_path' ); $event_page_id = $org_options['event_page_id']; $currency_symbol = $org_options['currency_symbol']; $events = $wpdb->get_results($sql); $category_id = $wpdb->last_result[0]->id; $category_name = $wpdb->last_result[0]->category_name; $category_desc = html_entity_decode(wpautop($wpdb->last_result[0]->category_desc)); $display_desc = $wpdb->last_result[0]->display_desc; if ($display_desc == 'Y') { echo '<p id="events_category_name-' . $category_id . '" class="events_category_name">' . stripslashes_deep($category_name) . '</p>'; echo wpautop($category_desc); } foreach ($events as $event) { $event_id = $event->id; $event_name = $event->event_name; $event_identifier = $event->event_identifier; $active = $event->is_active; $registration_start = $event->registration_start; $registration_end = $event->registration_end; $start_date = $event->start_date; $end_date = $event->end_date; $reg_limit = $event->reg_limit; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $member_only = $event->member_only; $externalURL = $event->externalURL; $recurrence_id = $event->recurrence_id; $allow_overflow = $event->allow_overflow; $overflow_event_id = $event->overflow_event_id; //Address formatting $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); //Google map link creation $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text')); //These variables can be used with other the espresso_countdown, espresso_countup, and espresso_duration functions and/or any javascript based functions. $start_timestamp = espresso_event_time($event_id, 'start_timestamp', get_option('time_format')); $end_timestamp = espresso_event_time($event_id, 'end_timestamp', get_option('time_format')); //This can be used in place of the registration link if you are usign the external URL feature $registration_url = $externalURL != '' ? $externalURL : get_option('siteurl') . '/?page_id=' . $event_page_id . '®event_action=register&event_id=' . $event_id; if (!is_user_logged_in() && get_option('events_members_active') == 'true' && $member_only == 'Y') { //Display a message if the user is not logged in. //_e('Member Only Event. Please ','event_espresso') . event_espresso_user_login_link() . '.'; } else { //Serve up the event list //As of version 3.0.17 the event lsit details have been moved to event_list_display.php echo $before = $before == '' ? '' : $before; include 'templates/' . $template_file; echo $after = $after == '' ? '' : $after; } } //Check to see how many database queries were performed //echo '<p>Database Queries: ' . get_num_queries() .'</p>'; }
function register_attendees($single_event_id = NULL, $event_id_sc = 0, $reg_form_only = false) { //Declare the $data object $data = (object) array('event' => NULL); do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); //Run code for the seating chart addon if (function_exists('espresso_seating_version')) { do_action('ee_seating_chart_css'); do_action('ee_seating_chart_js'); do_action('ee_seating_chart_flush_expired_seats'); } global $wpdb, $org_options; if (isset($_REQUEST['ee']) && $_REQUEST['ee'] != '') { $_REQUEST['event_id'] = $_REQUEST['ee']; } $event_id = $event_id_sc != '0' ? $event_id_sc : $_REQUEST['event_id']; if (!empty($_REQUEST['event_id_time'])) { $pieces = explode('|', $_REQUEST['event_id_time'], 3); $event_id = $pieces[0]; $start_time = $pieces[1]; $time_id = $pieces[2]; $time_selected = true; } //The following variables are used to get information about your organization $event_page_id = $org_options['event_page_id']; $Organization = stripslashes_deep($org_options['organization']); $Organization_street1 = $org_options['organization_street1']; $Organization_street2 = $org_options['organization_street2']; $Organization_city = $org_options['organization_city']; $Organization_state = $org_options['organization_state']; $Organization_zip = $org_options['organization_zip']; $contact = $org_options['contact_email']; $registrar = $org_options['contact_email']; $currency_format = isset($org_options['currency_format']) ? $org_options['currency_format'] : ''; $message = $org_options['message']; //Build event queries $sql = "SELECT e.*, ese.start_time, ese.end_time "; if (isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y') { $sql .= ", v.name venue_name, v.address venue_address, v.address2 venue_address2, v.city venue_city, v.state venue_state, v.zip venue_zip, v.country venue_country, v.meta venue_meta "; } $sql .= " FROM " . EVENTS_DETAIL_TABLE . " e "; $sql .= " LEFT JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id = e.id "; if (isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y') { $sql .= " LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " r ON r.event_id = e.id LEFT JOIN " . EVENTS_VENUE_TABLE . " v ON v.id = r.venue_id "; } $sql .= " WHERE e.is_active='Y' "; $sql .= " AND e.event_status != 'D' "; //Get the ID of a single event if ($single_event_id != NULL) { //If a single event needs to be displayed, get its ID $sql .= " AND event_identifier = '" . $single_event_id . "' "; } else { $sql .= " AND e.id = '" . $event_id . "' LIMIT 0,1"; } //Support for diarise if (!empty($_REQUEST['post_event_id'])) { $sql = "SELECT e.* FROM " . EVENTS_DETAIL_TABLE . ' e'; $sql .= " LEFT JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id = e.id "; $sql .= " WHERE post_id = '" . $_REQUEST['post_event_id'] . "' "; $sql .= " LIMIT 0,1"; } $data->event = $wpdb->get_row($wpdb->prepare($sql, NULL), OBJECT); $num_rows = $wpdb->num_rows; //Build the registration page if ($num_rows > 0) { //These are the variables that can be used throughout the registration page //foreach ($events as $event) { global $this_event_id; $event_id = $data->event->id; $this_event_id = $event_id; $event_name = stripslashes_deep($data->event->event_name); $event_desc = stripslashes_deep($data->event->event_desc); $display_desc = $data->event->display_desc; if ($reg_form_only == true) { $display_desc = "N"; } $display_reg_form = $data->event->display_reg_form; $event_address = $data->event->address; $event_address2 = $data->event->address2; $event_city = $data->event->city; $event_state = $data->event->state; $event_zip = $data->event->zip; $event_country = $data->event->country; $event_description = stripslashes_deep($data->event->event_desc); $event_identifier = $data->event->event_identifier; $event_cost = isset($data->event->event_cost) ? $data->event->event_cost : "0.00"; $member_only = $data->event->member_only; $reg_limit = $data->event->reg_limit; $allow_multiple = $data->event->allow_multiple; $start_date = $data->event->start_date; $end_date = $data->event->end_date; $allow_overflow = $data->event->allow_overflow; $overflow_event_id = $data->event->overflow_event_id; //Venue details $venue_title = $data->event->venue_title; $venue_url = $data->event->venue_url; $venue_image = $data->event->venue_image; $venue_phone = $data->event->venue_phone; $venue_address = ''; $venue_address2 = ''; $venue_city = ''; $venue_state = ''; $venue_zip = ''; $venue_country = ''; global $event_meta; $event_meta = unserialize($data->event->event_meta); //Venue information if ($org_options['use_venue_manager'] == 'Y') { $event_address = $data->event->venue_address; $event_address2 = $data->event->venue_address2; $event_city = $data->event->venue_city; $event_state = $data->event->venue_state; $event_zip = $data->event->venue_zip; $event_country = $data->event->venue_country; //Leaving these variables intact, just in case people wnat to use them $venue_title = $data->event->venue_name; $venue_address = $data->event->venue_address; $venue_address2 = $data->event->venue_address2; $venue_city = $data->event->venue_city; $venue_state = $data->event->venue_state; $venue_zip = $data->event->venue_zip; $venue_country = $data->event->venue_country; global $venue_meta; $add_venue_meta = array('venue_title' => $data->event->venue_name, 'venue_address' => $data->event->venue_address, 'venue_address2' => $data->event->venue_address2, 'venue_city' => $data->event->venue_city, 'venue_state' => $data->event->venue_state, 'venue_country' => $data->event->venue_country); $venue_meta = isset($data->event->venue_meta) && $data->event->venue_meta != '' && (isset($add_venue_meta) && $add_venue_meta != '') ? array_merge(unserialize($data->event->venue_meta), $add_venue_meta) : ''; //print_r($venue_meta); } $virtual_url = stripslashes_deep($data->event->virtual_url); $virtual_phone = stripslashes_deep($data->event->virtual_phone); //Address formatting $location = (!empty($event_address) ? $event_address : '') . (!empty($event_address2) ? '<br />' . $event_address2 : '') . (!empty($event_city) ? '<br />' . $event_city : '') . (!empty($event_state) ? ', ' . $event_state : '') . (!empty($event_zip) ? '<br />' . $event_zip : '') . (!empty($event_country) ? '<br />' . $event_country : ''); //Google map link creation $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text')); $question_groups = unserialize($data->event->question_groups); $reg_start_date = $data->event->registration_start; $reg_end_date = $data->event->registration_end; $today = date("Y-m-d"); if (isset($data->event->timezone_string) && $data->event->timezone_string != '') { $timezone_string = $data->event->timezone_string; } else { $timezone_string = get_option('timezone_string'); if (!isset($timezone_string) || $timezone_string == '') { $timezone_string = 'America/New_York'; } } $t = time(); $today = date_at_timezone("Y-m-d H:i A", $timezone_string, $t); //echo event_date_display($today, get_option('date_format'). ' ' .get_option('time_format')) . ' ' . $timezone_string; //echo espresso_ddtimezone_simple(); $reg_limit = $data->event->reg_limit; $additional_limit = $data->event->additional_limit; //If the coupon code system is intalled then use it $use_coupon_code = $data->event->use_coupon_code; //If the groupon code addon is installed, then use it $use_groupon_code = $data->event->use_groupon_code; //Set a default value for additional limit if ($additional_limit == '') { $additional_limit = '5'; } $num_attendees = get_number_of_attendees_reg_limit($event_id, 'num_attendees'); //Get the number of attendees $available_spaces = get_number_of_attendees_reg_limit($event_id, 'available_spaces'); //Gets a count of the available spaces $number_available_spaces = get_number_of_attendees_reg_limit($event_id, 'number_available_spaces'); //Gets the number of available spaces //echo $number_available_spaces; global $all_meta; $all_meta = array('event_id' => $event_id, 'event_name' => stripslashes_deep($event_name), 'event_desc' => stripslashes_deep($event_desc), 'event_address' => $event_address, 'event_address2' => $event_address2, 'event_city' => $event_city, 'event_state' => $event_state, 'event_zip' => $event_zip, 'event_country' => $event_country, 'venue_title' => $venue_title, 'venue_address' => $venue_address, 'venue_address2' => $venue_address2, 'venue_city' => $venue_city, 'venue_state' => $venue_state, 'venue_country' => $venue_country, 'location' => $location, 'is_active' => $data->event->is_active, 'event_status' => $data->event->event_status, 'contact_email' => empty($data->event->alt_email) ? $org_options['contact_email'] : $data->event->alt_email, 'start_time' => empty($data->event->start_time) ? '' : $data->event->start_time, 'end_time' => empty($data->event->end_time) ? '' : $data->event->end_time, 'registration_startT' => $data->event->registration_startT, 'registration_start' => $data->event->registration_start, 'registration_endT' => $data->event->registration_endT, 'registration_end' => $data->event->registration_end, 'start_date' => event_espresso_no_format_date($start_date, get_option('date_format')), 'end_date' => event_date_display($end_date, get_option('date_format')), 'google_map_link' => $google_map_link); //print_r($all_meta); //This function gets the status of the event. $is_active = array(); $is_active = event_espresso_get_is_active(0, $all_meta); //echo '<p>'.print_r(event_espresso_get_is_active($event_id, $all_meta)).'</p>';; if ($org_options['use_captcha'] == 'Y' && empty($_REQUEST['edit_details'])) { ?> <script type="text/javascript"> var RecaptchaOptions = { theme : '<?php echo $org_options['recaptcha_theme'] == '' ? 'red' : $org_options['recaptcha_theme']; ?> ', lang : '<?php echo $org_options['recaptcha_language'] == '' ? 'en' : $org_options['recaptcha_language']; ?> ' }; </script> <?php } //This is the start of the registration form. This is where you can start editing your display. //(Shows the regsitration form if enough spaces exist) if ($num_attendees >= $reg_limit) { ?> <div class="espresso_event_full event-display-boxes" id="espresso_event_full-<?php echo $event_id; ?> "> <h3 class="event_title"><?php echo stripslashes_deep($event_name); ?> </h3> <div class="event-messages"> <p class="event_full"><strong><?php _e('We are sorry but this event has reached the maximum number of attendees!', 'event_espresso'); ?> </strong></p> <p class="event_full"><strong><?php _e('Please check back in the event someone cancels.', 'event_espresso'); ?> </strong></p> <p class="num_attendees"><?php _e('Current Number of Attendees:', 'event_espresso'); ?> <?php echo $num_attendees; ?> </p> </div> <?php $num_attendees = get_number_of_attendees_reg_limit($event_id, 'num_attendees'); //Get the number of attendees. Please visit http://eventespresso.com/forums/?p=247 for available parameters for the get_number_of_attendees_reg_limit() function. if ($num_attendees >= $reg_limit && ($allow_overflow == 'Y' && $overflow_event_id != 0)) { ?> <p id="register_link-<?php echo $overflow_event_id; ?> " class="register-link-footer"><a class="a_register_link ui-button ui-button-big ui-priority-primary ui-state-default ui-state-hover ui-state-focus ui-corner-all" id="a_register_link-<?php echo $overflow_event_id; ?> " href="<?php echo espresso_reg_url($overflow_event_id); ?> " title="<?php echo stripslashes_deep($event_name); ?> "><?php _e('Join Waiting List', 'event_espresso'); ?> </a></p> <?php } ?> </div> <?php } else { $member_options = get_option('events_member_settings'); //echo "<pre>".print_r($member_options,true)."</pre>"; //If enough spaces exist then show the form //Check to see if the Members plugin is installed. if (function_exists('espresso_members_installed') && espresso_members_installed() == true && !is_user_logged_in() && ($member_only == 'Y' || $member_options['member_only_all'] == 'Y')) { event_espresso_user_login(); } else { //Serve up the registration form //As of version 3.0.17 the registration details have been moved to registration_form.php require 'registration_page_display.php'; } } //End if ($num_attendees >= $reg_limit) (Shows the regsitration form if enough spaces exist) } else { //If there are no results from the query, display this message echo '<h3>' . __('This event has expired or is no longer available.', 'event_espresso') . '</h3>'; } echo espresso_registration_footer(); //Check to see how many database queries were performed //echo '<p>Database Queries: ' . get_num_queries() .'</p>'; }
function event_espresso_get_event_details($attributes) { global $wpdb, $org_options, $events_in_session; $event_page_id = $org_options['event_page_id']; $currency_symbol = isset($org_options['currency_symbol']) ? $org_options['currency_symbol'] : ''; $ee_search = isset($_REQUEST['ee_search']) && $_REQUEST['ee_search'] == 'true' && isset($_REQUEST['ee_name']) && !empty($_REQUEST['ee_name']) ? true : false; $ee_search_string = isset($_REQUEST['ee_name']) && !empty($_REQUEST['ee_name']) ? sanitize_text_field($_REQUEST['ee_name']) : ''; //Check for Multi Event Registration $multi_reg = false; $category_name = ''; if (function_exists('event_espresso_multi_reg_init')) { $multi_reg = true; } $default_attributes = array('category_identifier' => NULL, 'staff_id' => NULL, 'allow_override' => 0, 'show_expired' => 'false', 'show_secondary' => 'false', 'show_deleted' => 'false', 'show_recurrence' => 'true', 'limit' => '0', 'order_by' => 'NULL', 'sort' => 'ASC', 'css_class' => 'NULL', 'current_page' => 1, 'events_per_page' => 50, 'num_page_links_to_display' => 10, 'use_wrapper' => true); // loop thru default atts foreach ($default_attributes as $key => $default_attribute) { // check if att exists if (!isset($attributes[$key])) { $attributes[$key] = $default_attribute; } } // now extract shortcode attributes extract($attributes); //Create the query $DISTINCT = $ee_search == true ? "DISTINCT" : ''; $sql = "SELECT {$DISTINCT} e.*, ese.start_time, ese.end_time, p.event_cost "; //Category sql $sql .= $category_identifier != NULL && !empty($category_identifier) ? ", c.category_name, c.category_desc, c.display_desc, c.category_identifier" : ''; //Venue sql isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= ", v.name venue_name, v.address venue_address, v.city venue_city, v.state venue_state, v.zip venue_zip, v.country venue_country, v.meta venue_meta " : ''; //Staff sql isset($org_options['use_personnel_manager']) && $org_options['use_personnel_manager'] == 'Y' ? $sql .= ", st.name staff_name " : ''; $sql .= " FROM " . EVENTS_DETAIL_TABLE . " e "; $sql .= $category_identifier != NULL && !empty($category_identifier) ? " JOIN " . EVENTS_CATEGORY_REL_TABLE . " r ON r.event_id = e.id JOIN " . EVENTS_CATEGORY_TABLE . " c ON c.id = r.cat_id " : ''; //Venue sql isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= " LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " vr ON vr.event_id = e.id LEFT JOIN " . EVENTS_VENUE_TABLE . " v ON v.id = vr.venue_id " : ''; //Venue sql isset($org_options['use_personnel_manager']) && $org_options['use_personnel_manager'] == 'Y' ? $sql .= " LEFT JOIN " . EVENTS_PERSONNEL_REL_TABLE . " str ON str.event_id = e.id LEFT JOIN " . EVENTS_PERSONNEL_TABLE . " st ON st.id = str.person_id " : ''; $sql .= " LEFT JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id= e.id "; $sql .= " LEFT JOIN " . EVENTS_PRICES_TABLE . " p ON p.event_id=e.id "; $sql .= " WHERE is_active = 'Y' "; //Category sql $sql .= $category_identifier !== NULL && !empty($category_identifier) ? " AND c.category_identifier = '" . $category_identifier . "' " : ''; //Staff sql $sql .= $staff_id !== NULL && !empty($staff_id) ? " AND st.id = '" . $staff_id . "' " : ''; $sql .= $show_expired == 'false' ? " AND (e.start_date >= '" . date('Y-m-d') . "' OR e.event_status = 'O' OR e.registration_end >= '" . date('Y-m-d') . "') " : ''; if ($show_expired == 'true') { $allow_override = 1; } //If using the [ESPRESSO_VENUE_EVENTS] shortcode $sql .= isset($use_venue_id) && $use_venue_id == true ? " AND v.id = '" . $venue_id . "' " : ''; $sql .= $show_secondary == 'false' ? " AND e.event_status != 'S' " : ''; $sql .= $show_deleted == 'false' ? " AND e.event_status != 'D' " : " AND e.event_status = 'D' "; if ($show_deleted == 'true') { $allow_override = 1; } //echo '<p>'.$order_by.'</p>'; $sql .= $show_recurrence == 'false' ? " AND e.recurrence_id = '0' " : ''; //Search query if ($ee_search) { // search for full original string within bracketed search options $sql .= " AND ( e.event_name LIKE '%{$ee_search_string}%' "; // array of common words that we don't want to waste time looking for $words_to_strip = array(' the ', ' a ', ' or ', ' and '); $words = str_replace($words_to_strip, ' ', $ee_search_string); // break words array into individual strings $words = explode(' ', $words); // search for each word as an OR statement foreach ($words as $word) { $sql .= " OR e.event_name LIKE '%{$word}%' "; } // close the search options $sql .= " ) "; } $sql .= " GROUP BY e.id "; $sql .= $order_by != 'NULL' ? " ORDER BY " . $order_by . " " . $sort . " " : " ORDER BY date(start_date), id ASC "; $sql .= $limit > 0 ? ' LIMIT 0, ' . $limit : ''; //echo $sql; //echo 'This page is located in ' . get_option( 'upload_path' ); $events = $wpdb->get_results($sql); $category_id = isset($wpdb->last_result[0]->id) ? $wpdb->last_result[0]->id : ''; $category_name = isset($wpdb->last_result[0]->category_name) ? $wpdb->last_result[0]->category_name : ''; $category_identifier = isset($wpdb->last_result[0]->category_identifier) ? $wpdb->last_result[0]->category_identifier : ''; $category_desc = isset($wpdb->last_result[0]->category_desc) ? html_entity_decode(wpautop($wpdb->last_result[0]->category_desc)) : ''; $display_desc = isset($wpdb->last_result[0]->display_desc) ? $wpdb->last_result[0]->display_desc : ''; $total_events = count($events); $total_pages = ceil($total_events / $events_per_page); $offset = ($current_page - 1) * $events_per_page; $events = array_slice($events, $offset, $events_per_page); //Debug //var_dump($events); if ($use_wrapper) { echo "<div id='event_wrapper'>"; } $page_link_ar = array(); foreach ($attributes as $key => $attribute) { if (!in_array($key, array('current_page', 'use_wrapper'))) { $page_link_ar[] = "{$key}=" . urlencode($attribute); } } $page_link = implode('&', $page_link_ar); echo "<div id='event_search_code' style='display:none;' data='{$page_link}'></div>"; //css_class='$css_class' allow_override='$allow_override' events_per_page='$events_per_page' num_page_links_to_display='$num_page_links_to_display'></div>"; echo "<div id='event_container_pagination' >"; if ($total_pages > 1) { $mid = ceil($num_page_links_to_display / 2); if ($num_page_links_to_display % 2 == 0) { $back = $mid; } else { $back = $mid - 1; } $start = $current_page - $back; if ($start < 1) { $start = 1; } $end = $start + $num_page_links_to_display; if ($end > $total_pages) { $end = $total_pages; } $prev = $current_page - 1; $prev_no_more = ''; if ($prev < 1) { $prev = 1; $prev_no_more = 'no_more'; } $next = $current_page + 1; $next_no_more = ''; if ($next > $total_pages) { $next = $total_pages; $next_no_more = 'no_more'; } $espresso_paginate = "<div class='page_navigation'>"; $espresso_paginate .= "<a href='#' current_page=1 class='event_paginate {$prev_no_more} ui-icon ui-icon-seek-first'><<</a>"; $espresso_paginate .= "<a href='#' current_page={$prev} class='event_paginate {$prev_no_more} ui-icon ui-icon-seek-prev'><</a>"; if ($start > 1) { $espresso_paginate .= "<span class='ellipse less'>...</span>"; } for ($i = $start; $i <= $end; $i++) { $active_page = ''; if ($i == $current_page) { $active_page = 'active_page'; } $espresso_paginate .= "<a class='page_link event_paginate {$active_page} ' current_page={$i} href='#' style='display: block; '>{$i}</a>"; } if ($end < $total_pages) { $espresso_paginate .= "<span class='ellipse more'>...</span>"; } $espresso_paginate .= "<a href='#' current_page={$next} class='event_paginate {$next_no_more} ui-icon ui-icon-seek-next'>></a>"; $espresso_paginate .= "<a href='#' current_page={$total_pages} class='event_paginate {$next_no_more} ui-icon ui-icon-seek-end'>>></a>"; $espresso_paginate .= "</div>"; } echo "<div id='event_content' class='event_content'>"; if (count($events) < 1) { //echo $sql; echo __('No events available...', 'event_espresso'); } if ($display_desc == 'Y') { echo '<p id="events_category_name-' . $category_id . '" class="events_category_name">' . stripslashes_deep($category_name) . '</p>'; echo espresso_format_content($category_desc); } foreach ($events as $event) { $event_id = $event->id; $event_name = $event->event_name; $event_desc = stripslashes_deep($event->event_desc); $event_identifier = $event->event_identifier; $active = $event->is_active; $registration_start = $event->registration_start; $registration_end = $event->registration_end; $start_date = $event->start_date; $end_date = $event->end_date; $reg_limit = $event->reg_limit; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $member_only = $event->member_only; $externalURL = $event->externalURL; $recurrence_id = $event->recurrence_id; $display_reg_form = $event->display_reg_form; $allow_overflow = $event->allow_overflow; $overflow_event_id = $event->overflow_event_id; $event_desc = array_shift(explode('<!--more-->', $event_desc)); global $event_meta; $event_meta = unserialize($event->event_meta); $event_meta['is_active'] = $event->is_active; $event_meta['event_status'] = $event->event_status; $event_meta['start_time'] = empty($event->start_time) ? '' : $event->start_time; $event_meta['start_date'] = $event->start_date; $event_meta['registration_start'] = $event->registration_start; $event_meta['registration_startT'] = $event->registration_startT; $event_meta['registration_end'] = $event->registration_end; $event_meta['registration_endT'] = $event->registration_endT; //Venue information if ($org_options['use_venue_manager'] == 'Y') { $event_address = empty($event->venue_address) ? '' : $event->venue_address; $event_address2 = empty($event->venue_address2) ? '' : $event->venue_address2; $event_city = empty($event->venue_city) ? '' : $event->venue_city; $event_state = empty($event->venue_state) ? '' : $event->venue_state; $event_zip = empty($event->venue_zip) ? '' : $event->venue_zip; $event_country = empty($event->venue_country) ? '' : $event->venue_country; //Leaving these variables intact, just in case people want to use them $venue_title = empty($event->venue_name) ? '' : $event->venue_name; $venue_address = $event_address; $venue_address2 = $event_address2; $venue_city = $event_city; $venue_state = $event_state; $venue_zip = $event_zip; $venue_country = $event_country; global $venue_meta; $add_venue_meta = array('venue_title' => $venue_title, 'venue_address' => $event_address, 'venue_address2' => $event_address2, 'venue_city' => $event_city, 'venue_state' => $event_state, 'venue_country' => $event_country); $venue_meta = !empty($event->venue_meta) && !empty($add_venue_meta) ? array_merge(unserialize($event->venue_meta), $add_venue_meta) : ''; //print_r($venue_meta); } //Address formatting $location = (!empty($event_address) ? $event_address : '') . (!empty($event_address2) ? '<br />' . $event_address2 : '') . (!empty($event_city) ? '<br />' . $event_city : '') . (!empty($event_state) ? ', ' . $event_state : '') . (!empty($event_zip) ? '<br />' . $event_zip : '') . (!empty($event_country) ? '<br />' . $event_country : ''); //Google map link creation $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text')); global $all_meta; $all_meta = array('event_id' => $event_id, 'event_name' => stripslashes_deep($event_name), 'event_desc' => stripslashes_deep($event_desc), 'event_address' => $event_address, 'event_address2' => $event_address2, 'event_city' => $event_city, 'event_state' => $event_state, 'event_zip' => $event_zip, 'event_country' => $venue_country, 'venue_title' => $venue_title, 'venue_address' => $venue_address, 'venue_address2' => $venue_address2, 'venue_city' => $venue_city, 'venue_state' => $venue_state, 'venue_country' => $venue_country, 'location' => $location, 'is_active' => $event->is_active, 'event_status' => $event->event_status, 'contact_email' => empty($event->alt_email) ? $org_options['contact_email'] : $event->alt_email, 'start_time' => empty($event->start_time) ? '' : $event->start_time, 'registration_startT' => $event->registration_startT, 'registration_start' => $registration_start, 'registration_endT' => $event->registration_endT, 'registration_end' => $registration_end, 'is_active' => empty($is_active) ? '' : $is_active, 'event_country' => $event_country, 'start_date' => event_date_display($start_date, get_option('date_format')), 'end_date' => event_date_display($end_date, get_option('date_format')), 'time' => empty($event->start_time) ? '' : $event->start_time, 'start_time' => empty($event->start_time) ? '' : $event->start_time, 'end_time' => empty($event->end_time) ? '' : $event->end_time, 'google_map_link' => $google_map_link, 'price' => empty($event->event_cost) ? '' : $event->event_cost, 'event_cost' => empty($event->event_cost) ? '' : $event->event_cost); //Debug //echo '<p>'.print_r($all_meta).'</p>'; //These variables can be used with other the espresso_countdown, espresso_countup, and espresso_duration functions and/or any javascript based functions. //Warning: May cause additional database queries an should only be used for sites with a small amount of events. // $start_timestamp = espresso_event_time($event_id, 'start_timestamp'); //$end_timestamp = espresso_event_time($event_id, 'end_timestamp'); //This can be used in place of the registration link if you are usign the external URL feature $registration_url = $externalURL != '' ? $externalURL : espresso_reg_url($event_id); //Serve up the event list //As of version 3.0.17 the event list details have been moved to event_list_display.php if ($allow_override == 1) { //Uncomment to show active status array //print_r( event_espresso_get_is_active($event_id)); include 'event_list_display.php'; } else { switch (event_espresso_get_status($event_id)) { case 'NOT_ACTIVE': //Don't show the event //Uncomment the following two lines to show events that are not active and the active status array //print_r( event_espresso_get_is_active($event_id)); //include('event_list_display.php'); break; case 'PENDING': if (current_user_can('administrator') || function_exists('espresso_member_data') && espresso_can_view_event($event_id) == true) { //Uncomment to show active status array //print_r( event_espresso_get_is_active($event_id)); echo '<div class="pending_event">'; include 'event_list_display.php'; echo '</div>'; } break; default: //Uncomment to show active status array //print_r( event_espresso_get_is_active($event_id)); include 'event_list_display.php'; break; } } } echo "</div>"; echo "</div>"; if (isset($espresso_paginate)) { echo $espresso_paginate; // spit out the pagination links } if ($use_wrapper) { echo "</div>"; } //Check to see how many database queries were performed //echo '<p>Database Queries: ' . get_num_queries() .'</p>'; espresso_registration_footer(); }
function multi_register_attendees($single_event_id = NULL, $event_id_sc = 0, $meta = array(), $event = FALSE) { global $wpdb, $org_options; $events_in_session = $_SESSION['espresso_session']['events_in_session']; $event_count = count($events_in_session); static $event_counter = 1; static $attendee_number = 1; //The following variables are used to get information about your organization $event_page_id = $org_options['event_page_id']; $Organization = isset($org_options['organization']) && !empty($org_options['organization']) ? stripslashes_deep($org_options['organization']) : ''; $Organization_street1 = isset($org_options['organization_street1']) && !empty($org_options['organization_street1']) ? $org_options['organization_street1'] : ''; $Organization_street2 = isset($org_options['organization_street2']) && !empty($org_options['organization_street2']) ? $org_options['organization_street2'] : ''; $Organization_city = isset($org_options['organization_city']) && !empty($org_options['organization_city']) ? $org_options['organization_city'] : ''; $Organization_state = isset($org_options['organization_state']) && !empty($org_options['organization_state']) ? $org_options['organization_state'] : ''; $Organization_zip = isset($org_options['organization_zip']) && !empty($org_options['organization_zip']) ? $org_options['organization_zip'] : ''; $contact = isset($org_options['contact_email']) && !empty($org_options['contact_email']) ? $org_options['contact_email'] : ''; $registrar = isset($org_options['contact_email']) && !empty($org_options['contact_email']) ? $org_options['contact_email'] : ''; $currency_format = isset($org_options['currency_format']) && !empty($org_options['currency_format']) ? $org_options['currency_format'] : ''; $message = isset($org_options['message']) && !empty($org_options['message']) ? $org_options['message'] : ''; $paypal_id = isset($org_options['paypal_id']) && !empty($org_options['paypal_id']) ? $org_options['paypal_id'] : ''; if (!$event) { // the key we will eventually use in our query to find the event $ID = $event_id_sc != '0' ? $event_id_sc : $_REQUEST['event_id']; if (!empty($_REQUEST['event_id_time'])) { $pieces = explode('|', $_REQUEST['event_id_time'], 3); $ID = $pieces[0]; $start_time = $pieces[1]; $time_id = $pieces[2]; $time_selected = true; } //If a single event needs to be displayed, get its ID if ($single_event_id != NULL) { $sql = "SELECT id FROM " . EVENTS_DETAIL_TABLE; $sql .= " WHERE event_identifier = %s"; $sql .= " LIMIT 0,1"; $result = $wpdb->get_row($wpdb->prepare($sql, $single_event_id)); $ID = $result->id; } //Build event queries $sql = "SELECT * FROM " . EVENTS_DETAIL_TABLE; $sql .= " WHERE is_active='Y' "; $sql .= " AND event_status != 'D' "; $sql .= " AND id =%d LIMIT 0,1"; //Support for diarise if (!empty($_REQUEST['post_event_id'])) { $sql = "SELECT * FROM " . EVENTS_DETAIL_TABLE; $sql .= " WHERE post_id = %d "; $sql .= " LIMIT 0,1"; $ID = absint($_REQUEST['post_event_id']); } $event = $wpdb->get_row($wpdb->prepare($sql, $ID)); } //Build the registration page if ($event) { //These are the variables that can be used throughout the regsitration page $event_id = $event->id; $event_name = stripslashes_deep($event->event_name); $event_desc = stripslashes_deep($event->event_desc); $display_desc = $event->display_desc; $display_reg_form = $event->display_reg_form; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $event_description = stripslashes_deep($event->event_desc); $event_identifier = $event->event_identifier; $event_cost = !empty($event->event_cost) ? $event->event_cost : 0; //echo '<h4>$event_cost : ' . $event_cost . ' <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span></h4>'; $member_only = $event->member_only; $reg_limit = $event->reg_limit; $allow_multiple = $event->allow_multiple; $start_date = $event->start_date; $end_date = $event->end_date; $allow_overflow = $event->allow_overflow; $overflow_event_id = $event->overflow_event_id; $virtual_url = stripslashes_deep($event->virtual_url); $virtual_phone = stripslashes_deep($event->virtual_phone); //Address formatting $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); //Google map link creation $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text')); $reg_start_date = $event->registration_start; $reg_end_date = $event->registration_end; $today = date("Y-m-d"); $reg_limit = $event->reg_limit; $additional_limit = $event->additional_limit; $question_groups = unserialize($event->question_groups); $item_groups = unserialize($event->item_groups); $event_meta = maybe_unserialize($event->event_meta); //printr( $event_meta, '$event_meta <br /><span style="font-size:10px;font-weight:normal;">' . __FILE__ . '<br />line no: ' . __LINE__ . '</span>', 'auto' ); //This function gets the status of the event. //$is_active = event_espresso_get_status($event_id, $event_meta); $is_active = event_espresso_get_is_active($event_id, $event_meta); //If the coupon code system is intalled then use it $use_coupon_code = function_exists('event_espresso_coupon_registration_page') ? $event->use_coupon_code : FALSE; //If the groupon code addon is installed, then use it $use_groupon_code = function_exists('event_espresso_groupon_payment_page') ? $event->use_groupon_code : FALSE; //Set a default value for additional limit if ($additional_limit == '') { $additional_limit = '5'; } $add_attendee_question_groups = $event_meta['add_attendee_question_groups']; if ($org_options['use_captcha'] == 'Y' && isset($_REQUEST['edit_details']) && $_REQUEST['edit_details'] != 'true') { ?> <script type="text/javascript"> var RecaptchaOptions = { theme : '<?php echo $org_options['recaptcha_theme'] == '' ? 'red' : $org_options['recaptcha_theme']; ?> ', lang : '<?php echo $org_options['recaptcha_language'] == '' ? 'en' : $org_options['recaptcha_language']; ?> ' }; </script> <?php } //************* This is the start of the registration form. This is where you can start editing your display. ************* //Get the number of attendees $num_attendees = get_number_of_attendees_reg_limit($event_id, 'num_attendees'); //Gets a count of the available spaces $available_spaces = get_number_of_attendees_reg_limit($event_id, 'available_spaces'); //Gets the number of available spaces $number_available_spaces = get_number_of_attendees_reg_limit($event_id, 'number_available_spaces'); //Please visit http://eventespresso.com/forums/?p=247 for available parameters for the get_number_of_attendees_reg_limit() function. if ($available_spaces == "Unlimited" || $available_spaces >= $number_available_spaces) { //(Shows the regsitration form if enough spaces exist) // SOLD OUT !!! if ($num_attendees >= $reg_limit) { ?> <div class="espresso_event_full event-display-boxes" id="espresso_event_full-<?php echo $event_id; ?> "> <h3 class="event_title"><?php echo stripslashes_deep($event_name); ?> </h3> <p class="event_full"><strong><?php _e('We are sorry but this event has reached the maximum number of attendees!', 'event_espresso'); ?> </strong></p> <p class="event_full"><strong><?php _e('Please check back in the event someone cancels.', 'event_espresso'); ?> </strong></p> <p class="num_attendees"><?php _e('Current Number of Attendees:', 'event_espresso'); ?> <?php echo $num_attendees; ?> </p> <?php // is there an overflow event ???? if ($num_attendees >= $reg_limit && ($allow_overflow == 'Y' && $overflow_event_id != 0)) { ?> <p id="register_link-<?php echo $overflow_event_id; ?> " class="register-link-footer"> <a id="a_register_link-<?php echo $overflow_event_id; ?> " class="a_register_link" href="<?php echo espresso_reg_url($overflow_event_id); ?> " title="<?php echo stripslashes_deep($event_name); ?> " > <?php _e('Join Waiting List', 'event_espresso'); ?> </a> </p> <?php } ?> </div> <?php // event_espresso_clear_session(); } else { //If enough spaces exists then serve up the registration form //As of version 3.0.17 the registration details have been moved to registration_form.php include 'multi_registration_page_display.php'; $event_counter++; echo '<input type="hidden" name="regevent_action" value="post_multi_attendee" />'; } //End if ($num_attendees >= $reg_limit) (Shows the regsitration form if enough spaces exist) } //End ($available_spaces == "Unlimited" || $available_spaces >= $number_available_spaces) } else { //If there are no results from the query, display this message _e('<h3>This event has expired or is no longer available.</h3>', 'event_espresso'); } //Check to see how many database queries were performed //echo '<p>Database Queries: ' . get_num_queries() .'</p>'; }
function event_espresso_get_event_details($sql, $css_class = NULL, $allow_override = 0) { global $wpdb, $org_options; //echo 'This page is located in ' . get_option( 'upload_path' ); $event_page_id = $org_options['event_page_id']; $currency_symbol = isset($org_options['currency_symbol']) ? $org_options['currency_symbol'] : ''; $events = $wpdb->get_results($sql); $category_id = isset($wpdb->last_result[0]->id) ? $wpdb->last_result[0]->id : ''; $category_name = isset($wpdb->last_result[0]->category_name) ? $wpdb->last_result[0]->category_name : ''; $category_identifier = isset($wpdb->last_result[0]->category_identifier) ? $wpdb->last_result[0]->category_identifier : ''; $category_desc = isset($wpdb->last_result[0]->category_desc) ? html_entity_decode(wpautop($wpdb->last_result[0]->category_desc)) : ''; $display_desc = isset($wpdb->last_result[0]->display_desc) ? $wpdb->last_result[0]->display_desc : ''; /* group recuring events */ $events_type_index = -1; $events_of_same_type = array(); $last_recurrence_id = null; /* end group recuring events */ if ($display_desc == 'Y') { echo '<p id="events_category_name-' . $category_id . '" class="events_category_name">' . stripslashes_deep($category_name) . '</p>'; echo wpautop($category_desc); } foreach ($events as $event) { $event_id = $event->id; $event_name = $event->event_name; $event_desc = $event->event_desc; $event_identifier = $event->event_identifier; $active = $event->is_active; $registration_start = $event->registration_start; $registration_end = $event->registration_end; $start_date = $event->start_date; $end_date = $event->end_date; $reg_limit = $event->reg_limit; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $member_only = $event->member_only; $externalURL = $event->externalURL; $recurrence_id = $event->recurrence_id; $allow_overflow = $event->allow_overflow; $overflow_event_id = $event->overflow_event_id; //Address formatting $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); //Google map link creation $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text')); //These variables can be used with other the espresso_countdown, espresso_countup, and espresso_duration functions and/or any javascript based functions. $start_timestamp = espresso_event_time($event_id, 'start_timestamp'); $end_timestamp = espresso_event_time($event_id, 'end_timestamp'); //This can be used in place of the registration link if you are usign the external URL feature $registration_url = $externalURL != '' ? $externalURL : get_option('siteurl') . '/?page_id=' . $event_page_id . '®event_action=register&event_id=' . $event_id . '&name_of_event=' . stripslashes_deep($event_name); if (!is_user_logged_in() && get_option('events_members_active') == 'true' && $member_only == 'Y') { //Display a message if the user is not logged in. //_e('Member Only Event. Please ','event_espresso') . event_espresso_user_login_link() . '.'; } else { //Serve up the event list //As of version 3.0.17 the event lsit details have been moved to event_list_display.php switch (event_espresso_get_status($event_id)) { case 'NOT_ACTIVE': //Don't show the event if any of the above are true break; default: /* skip secondary (waitlist) events */ $event_status = event_espresso_get_is_active($event_id); if ($event_status['status'] == 'SECONDARY') { break; } /* group recuring events */ $is_new_event_type = $last_recurrence_id == 0 || $last_recurrence_id != $recurrence_id; if ($is_new_event_type) { $events_type_index++; $events_of_same_type[$events_type_index] = array(); } $event_data = array('event_id' => $event_id, 'event_page_id' => $event_page_id, 'event_name' => $event_name, 'event_desc' => $event_desc, 'start_date' => $start_date, 'end_date' => $end_date, 'reg_limit' => $reg_limit, 'registration_url' => $registration_url, 'overflow_event_id' => $overflow_event_id); array_push($events_of_same_type[$events_type_index], $event_data); $last_recurrence_id = $recurrence_id; // include('event_list_display.php'); break; } } } /* group recuring events */ foreach ($events_of_same_type as $events_group) { include 'event_list_display.php'; } /* end group recuring events */ //Check to see how many database queries were performed //echo '<p>Database Queries: ' . get_num_queries() .'</p>'; }
function event_espresso_get_event_details($sql, $css_class = NULL, $allow_override = 0) { //echo $sql; global $wpdb, $org_options, $events_in_session; $multi_reg = false; if (function_exists('event_espresso_multi_reg_init')) { $multi_reg = true; } //echo 'This page is located in ' . get_option( 'upload_path' ); $event_page_id = $org_options['event_page_id']; $currency_symbol = isset($org_options['currency_symbol']) ? $org_options['currency_symbol'] : ''; $events = $wpdb->get_results($sql); $category_id = isset($wpdb->last_result[0]->id) ? $wpdb->last_result[0]->id : ''; $category_name = isset($wpdb->last_result[0]->category_name) ? $wpdb->last_result[0]->category_name : ''; $category_identifier = isset($wpdb->last_result[0]->category_identifier) ? $wpdb->last_result[0]->category_identifier : ''; $category_desc = isset($wpdb->last_result[0]->category_desc) ? html_entity_decode(wpautop($wpdb->last_result[0]->category_desc)) : ''; $display_desc = isset($wpdb->last_result[0]->display_desc) ? $wpdb->last_result[0]->display_desc : ''; if ($display_desc == 'Y') { echo '<p id="events_category_name-' . $category_id . '" class="events_category_name">' . stripslashes_deep($category_name) . '</p>'; echo espresso_format_content($category_desc); } //Debug //var_dump($events); foreach ($events as $event) { $event_id = $event->id; $event_name = $event->event_name; $event_desc = stripslashes_deep($event->event_desc); $event_identifier = $event->event_identifier; $active = $event->is_active; $registration_start = $event->registration_start; $registration_end = $event->registration_end; $start_date = $event->start_date; $end_date = $event->end_date; $reg_limit = $event->reg_limit; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $member_only = $event->member_only; $externalURL = $event->externalURL; $recurrence_id = $event->recurrence_id; $display_reg_form = $event->display_reg_form; $allow_overflow = $event->allow_overflow; $overflow_event_id = $event->overflow_event_id; $event_desc = array_shift(explode('<!--more-->', $event_desc)); global $event_meta; $event_meta = unserialize($event->event_meta); $event_meta['is_active'] = $event->is_active; $event_meta['event_status'] = $event->event_status; $event_meta['start_time'] = empty($event->start_time) ? '' : $event->start_time; $event_meta['start_date'] = $event->start_date; $event_meta['registration_start'] = $event->registration_start; $event_meta['registration_startT'] = $event->registration_startT; $event_meta['registration_end'] = $event->registration_end; $event_meta['registration_endT'] = $event->registration_endT; //Venue information if ($org_options['use_venue_manager'] == 'Y') { $event_address = empty($event->venue_address) ? '' : $event->venue_address; $event_address2 = empty($event->venue_address2) ? '' : $event->venue_address2; $event_city = empty($event->venue_city) ? '' : $event->venue_city; $event_state = empty($event->venue_state) ? '' : $event->venue_state; $event_zip = empty($event->venue_zip) ? '' : $event->venue_zip; $event_country = empty($event->venue_country) ? '' : $event->venue_country; //Leaving these variables intact, just in case people want to use them $venue_title = empty($event->venue_name) ? '' : $event->venue_name; $venue_address = $event_address; $venue_address2 = $event_address2; $venue_city = $event_city; $venue_state = $event_state; $venue_zip = $event_zip; $venue_country = $event_country; global $venue_meta; $add_venue_meta = array('venue_title' => $venue_title, 'venue_address' => $event_address, 'venue_address2' => $event_address2, 'venue_city' => $event_city, 'venue_state' => $event_state, 'venue_country' => $event_country); $venue_meta = !empty($event->venue_meta) && !empty($add_venue_meta) ? array_merge(unserialize($event->venue_meta), $add_venue_meta) : ''; //print_r($venue_meta); } //Address formatting $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); //Google map link creation $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text')); global $all_meta; $all_meta = array('event_name' => stripslashes_deep($event_name), 'event_desc' => stripslashes_deep($event_desc), 'event_address' => $event_address, 'event_address2' => $event_address2, 'event_city' => $event_city, 'event_state' => $event_state, 'event_zip' => $event_zip, 'is_active' => $event->is_active, 'event_status' => $event->event_status, 'start_time' => empty($event->start_time) ? '' : $event->start_time, 'registration_startT' => $event->registration_startT, 'registration_start' => $registration_start, 'registration_endT' => $event->registration_endT, 'registration_end' => $registration_end, 'is_active' => empty($is_active) ? '' : $is_active, 'event_country' => $event_country, 'start_date' => event_date_display($start_date, get_option('date_format')), 'end_date' => event_date_display($end_date, get_option('date_format')), 'time' => empty($event->start_time) ? '' : $event->start_time, 'google_map_link' => $google_map_link, 'price' => empty($event->event_cost) ? '' : $event->event_cost, 'event_cost' => empty($event->event_cost) ? '' : $event->event_cost); //Debug //echo '<p>'.print_r($all_meta).'</p>'; //These variables can be used with other the espresso_countdown, espresso_countup, and espresso_duration functions and/or any javascript based functions. //Warning: May cause additional database queries an should only be used for sites with a small amount of events. // $start_timestamp = espresso_event_time($event_id, 'start_timestamp'); //$end_timestamp = espresso_event_time($event_id, 'end_timestamp'); //This can be used in place of the registration link if you are usign the external URL feature $registration_url = $externalURL != '' ? $externalURL : espresso_reg_url($event_id); if (!is_user_logged_in() && get_option('events_members_active') == 'true' && $member_only == 'Y') { //Display a message if the user is not logged in. //_e('Member Only Event. Please ','event_espresso') . event_espresso_user_login_link() . '.'; } else { //Serve up the event list //As of version 3.0.17 the event list details have been moved to event_list_display.php if ($allow_override == 1) { //Uncomment to show active status array //print_r( event_espresso_get_is_active($event_id)); include 'event_list_display.php'; } else { switch (event_espresso_get_status($event_id)) { case 'NOT_ACTIVE': //Don't show the event //Uncomment the following two lines to show events that are not active and the active status array //print_r( event_espresso_get_is_active($event_id)); //include('event_list_display.php'); break; case 'PENDING': if (current_user_can('administrator') || function_exists('espresso_member_data') && espresso_can_view_event($event_id) == true) { //Uncomment to show active status array //print_r( event_espresso_get_is_active($event_id)); echo '<div class="pending_event">'; include 'event_list_display.php'; echo '</div>'; } break; default: //Uncomment to show active status array //print_r( event_espresso_get_is_active($event_id)); include 'event_list_display.php'; break; } } } } //Check to see how many database queries were performed //echo '<p>Database Queries: ' . get_num_queries() .'</p>'; espresso_registration_footer(); }
$venue_address2 = $data->event->venue_address2; $venue_city = $data->event->venue_city; $venue_state = $data->event->venue_state; $venue_zip = $data->event->venue_zip; $venue_country = $data->event->venue_country; global $venue_meta; $add_venue_meta = array('venue_title' => $data->event->venue_name, 'venue_address' => $data->event->venue_address, 'venue_address2' => $data->event->venue_address2, 'venue_city' => $data->event->venue_city, 'venue_state' => $data->event->venue_state, 'venue_country' => $data->event->venue_country); $venue_meta = isset($data->event->venue_meta) && $data->event->venue_meta != '' && (isset($add_venue_meta) && $add_venue_meta != '') ? array_merge(unserialize($data->event->venue_meta), $add_venue_meta) : ''; //print_r($venue_meta); } $virtual_url = stripslashes_deep($data->event->virtual_url); $virtual_phone = stripslashes_deep($data->event->virtual_phone); //Address formatting $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); //Google map link creation $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text')); $question_groups = unserialize($data->event->question_groups); $reg_start_date = $data->event->registration_start; $reg_end_date = $data->event->registration_end; $today = date("Y-m-d"); if (isset($data->event->timezone_string) && $data->event->timezone_string != '') { $timezone_string = $data->event->timezone_string; } else { $timezone_string = get_option('timezone_string'); if (!isset($timezone_string) || $timezone_string == '') { $timezone_string = 'America/New_York'; } } $t = time(); $today = date_at_timezone("Y-m-d H:i A", $timezone_string, $t); //echo event_date_display($today, get_option('date_format'). ' ' .get_option('time_format')) . ' ' . $timezone_string;
function espresso_confirm_registration() { do_action('action_hook_espresso_log', __FILE__, __FUNCTION__, ''); global $wpdb, $org_options; if (!empty($_POST['confirm_registration'])) { $registration_id = sanitize_text_field($_POST['registration_id']); } else { wp_die(__('An error has occured. The registration ID could not be found.', 'event_espresso')); } echo '<div id="espresso-payment_page-dv" >'; do_action('action_hook_espresso_confirmation_page_before', $registration_id); //Get the questions for the attendee $SQL = "SELECT ea.answer, eq.question FROM " . EVENTS_ANSWER_TABLE . " ea "; $SQL .= "LEFT JOIN " . EVENTS_QUESTION_TABLE . " eq ON eq.id = ea.question_id "; $SQL .= "WHERE ea.registration_id = %s "; $SQL .= "AND system_name IS NULL ORDER BY eq.sequence asc "; $questions = $wpdb->get_results($wpdb->prepare($SQL, $registration_id)); //echo $wpdb->last_query; $display_questions = ''; foreach ($questions as $question) { $question->question = trim(stripslashes(str_replace(''', "'", $question->question))); $question->question = htmlspecialchars($question->question, ENT_QUOTES, 'UTF-8'); $question->answer = trim(stripslashes(str_replace(''', "'", $question->answer))); $question->answer = htmlspecialchars($question->answer, ENT_QUOTES, 'UTF-8'); $display_questions .= '<p class="espresso_questions"><strong>' . $question->question . '</strong>:<br /> ' . str_replace(',', '<br />', $question->answer) . '</p>'; } //Get the event information $SQL = "SELECT ed.* FROM " . EVENTS_DETAIL_TABLE . " ed "; $SQL .= "JOIN " . EVENTS_ATTENDEE_TABLE . " ea ON ed.id = ea.event_id "; $SQL .= "WHERE ea.registration_id=%s"; $events = $wpdb->get_results($wpdb->prepare($SQL, $registration_id)); foreach ($events as $event) { $event_id = $event->id; $event_name = stripslashes_deep($event->event_name); $event_desc = stripslashes_deep($event->event_desc); $display_desc = $event->display_desc; $event_identifier = $event->event_identifier; $reg_limit = $event->reg_limit; $active = $event->is_active; $send_mail = $event->send_mail; $conf_mail = $event->conf_mail; $email_id = $event->email_id; $alt_email = $event->alt_email; $start_date = event_date_display($event->start_date); $end_date = $event->end_date; $virtual_url = $event->virtual_url; $virtual_phone = $event->virtual_phone; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); $location_phone = $event->phone; $require_pre_approval = $event->require_pre_approval; $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country)); } //Build links $event_url = espresso_reg_url($event_id); $event_link = '<a href="' . $event_url . '">' . $event_name . '</a>'; $SQL = "SELECT * FROM " . EVENTS_ATTENDEE_TABLE; if ($registration_id != '') { $SQL .= " WHERE registration_id = '" . $registration_id . "' "; } elseif ($attendee_id != '') { $SQL .= " WHERE id = '" . $attendee_id . "' "; } else { _e('No ID Supplied', 'event_espresso'); } $SQL .= " AND is_primary = 1 "; $SQL .= " ORDER BY id "; $SQL .= " LIMIT 0,1 "; //Get the first attendees details if (!($attendee = $wpdb->get_row($wpdb->prepare($SQL, NULL)))) { wp_die(__('An error occured. The primary attendee could not be found.', 'event_espresso')); } $attendee_id = $attendee->id; $attendee_email = isset($attendee->email) ? $attendee->email : ''; $lname = isset($attendee->lname) ? htmlspecialchars(stripslashes($attendee->lname), ENT_QUOTES, 'UTF-8') : ''; $fname = isset($attendee->fname) ? htmlspecialchars(stripslashes($attendee->fname), ENT_QUOTES, 'UTF-8') : ''; $address = isset($attendee->address) ? htmlspecialchars(stripslashes($attendee->address), ENT_QUOTES, 'UTF-8') : ''; $address2 = isset($attendee->address2) ? htmlspecialchars(stripslashes($attendee->address2), ENT_QUOTES, 'UTF-8') : ''; $city = isset($attendee->city) ? htmlspecialchars(stripslashes($attendee->city), ENT_QUOTES, 'UTF-8') : ''; $state = isset($attendee->state) ? htmlspecialchars(stripslashes($attendee->state), ENT_QUOTES, 'UTF-8') : ''; $country = isset($attendee->country) ? htmlspecialchars(stripslashes($attendee->country), ENT_QUOTES, 'UTF-8') : ''; $zip = isset($attendee->zip) ? $attendee->zip : ''; $payment_status = $attendee->payment_status; $txn_type = $attendee->txn_type; $amount_pd = (double) $attendee->amount_pd; $total_cost = (double) $attendee->total_cost; $payment_date = $attendee->payment_date; $phone = $attendee->phone; $event_time = $attendee->event_time; $end_time = $attendee->end_time; $date = $attendee->date; $pre_approve = $attendee->pre_approve; $session_id = $attendee->attendee_session; if ($attendee->is_primary) { $event_cost = $total_cost; } $attendee_pre_approved = is_attendee_approved($event_id, $attendee_id); if ($attendee_pre_approved) { //Pull in the "Payment Overview" page template if (file_exists(EVENT_ESPRESSO_TEMPLATE_DIR . "payment_page.php")) { require_once EVENT_ESPRESSO_TEMPLATE_DIR . "payment_page.php"; //This is the path to the template file if available } else { require_once EVENT_ESPRESSO_PLUGINFULLPATH . "templates/payment_page.php"; } //Show payment options if ($total_cost > 0) { if (file_exists(EVENT_ESPRESSO_GATEWAY_DIR . "gateway_display.php")) { require_once EVENT_ESPRESSO_GATEWAY_DIR . "gateway_display.php"; } else { require_once EVENT_ESPRESSO_PLUGINFULLPATH . "gateways/gateway_display.php"; } //Check to see if the site owner wants to send an confirmation eamil before payment is recieved. if ($org_options['email_before_payment'] == 'Y') { event_espresso_email_confirmations(array('session_id' => $session_id, 'send_admin_email' => 'true', 'send_attendee_email' => 'true')); } } else { event_espresso_email_confirmations(array('session_id' => $session_id, 'send_admin_email' => 'true', 'send_attendee_email' => 'true')); } } else { if (file_exists(EVENT_ESPRESSO_PLUGINFULLPATH . 'includes/process-registration/pending_approval_page.php')) { require_once 'pending_approval_page.php'; echo espresso_pending_registration_approval($registration_id); return; } } echo '</div>'; }
function espresso_venue_details_sc($atts) { global $wpdb, $this_event_id; empty($atts) ? '' : extract($atts); //Outside wrapper $outside_wrapper_class = isset($outside_wrapper_class) ? 'class="' . $outside_wrapper_class . '"' : 'class="event_venue"'; $wrapper_start = isset($outside_wrapper) ? '<' . $outside_wrapper . ' ' . $outside_wrapper_class : '<div ' . $outside_wrapper_class; $wrapper_end = isset($outside_wrapper) ? '</' . $outside_wrapper . '>' : '</div>'; //Image class $image_class = isset($image_class) ? 'class="' . $image_class . '"' : 'class="venue_image"'; $image_wrapper_class = isset($image_wrapper_class) ? 'class="' . $image_wrapper_class . '"' : 'class="image_wrapper"'; $image_wrapper_start = isset($image_wrapper) ? '<' . $image_wrapper . ' ' . $image_wrapper_class : '<p ' . $image_wrapper_class . '>'; $image_wrapper_end = isset($image_wrapper) ? '</' . $image_wrapper . '>' : '</p>'; //Venue title $title_class = isset($title_class) ? 'class="' . $title_class . '"' : 'class="venue_name"'; $title_wrapper_start = isset($title_wrapper) ? '<' . $title_wrapper . ' ' . $title_class : '<h3 ' . $title_class; $title_wrapper_end = isset($title_wrapper) ? '</' . $title_wrapper . '>' : '</h3>'; //Inside wrappers $inside_wrapper_class = isset($inside_wrapper_class) ? 'class="' . $inside_wrapper_class . '"' : 'class="venue_details"'; $inside_wrapper_before = isset($inside_wrapper) ? '<' . $inside_wrapper . ' ' . $inside_wrapper_class . '>' : '<p ' . $inside_wrapper_class . '>'; $inside_wrapper_after = isset($inside_wrapper) ? '</' . $inside_wrapper . '>' : '</p>'; //Map image class $map_image_class = isset($map_image_class) ? 'class="' . $map_image_class . '"' : 'class="venue_map_image"'; $map_image_wrapper_class = isset($map_image_wrapper_class) ? 'class="' . $map_image_wrapper_class . '">' : 'class="map_image_wrapper">'; $map_image_wrapper_start = isset($map_image_wrapper) ? '<' . $map_image_wrapper . ' ' . $map_image_wrapper_class : '<p ' . $map_image_wrapper_class; $map_image_wrapper_end = isset($map_image_wrapper) ? '</' . $map_image_wrapper . '>' : '</p>'; //Google Map link text $show_google_map_link = isset($show_google_map_link) && $show_google_map_link == 'false' ? false : true; $map_link_text = isset($map_link_text) ? $map_link_text : __('Map and Directions', 'event_espresso'); //Show Google map image? $show_map_image = isset($show_map_image) && $show_map_image == 'false' ? false : true; //Show title? $show_title = isset($show_title) && $show_title == 'false' ? false : true; //Show image? $show_image = isset($show_image) && $show_image == 'false' ? false : true; //Show the description? $show_description = isset($show_description) && $show_description == 'false' ? false : true; //Show address details? $show_address = isset($show_address) && $show_address == 'false' ? false : true; //Show additional details $show_additional_details = isset($show_additional_details) && $show_additional_details == 'false' ? false : true; $FROM = " FROM "; $order_by = isset($order_by) && $order_by != '' ? " ORDER BY " . $order_by . " ASC " : " ORDER BY name ASC "; $limit = isset($limit) && $limit > 0 ? " LIMIT 0," . $limit . " " : ''; $using_id = false; //Find the event id if (isset($id) && $id > 0) { } elseif (isset($event_id)) { $event_id = $event_id; //Check to see if the event is used in the shortcode parameter $using_id = true; } elseif (isset($this_event_id)) { $event_id = $this_event_id; //Check to see if the global event id is being used $using_id = true; } elseif (isset($_REQUEST['event_id'])) { $event_id = $_REQUEST['event_id']; //If the first two are not being used, then get the event id from the url $using_id = true; } $sql = "SELECT ev.* "; if ($using_id == true) { $sql .= " {$FROM} " . EVENTS_DETAIL_TABLE . " e "; $sql .= " LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " vr ON e.id = vr.event_id "; $FROM = " LEFT JOIN "; } $sql .= " {$FROM} " . EVENTS_VENUE_TABLE . " ev "; if ($using_id == true) { $sql .= " ON vr.venue_id = ev.id "; } if (isset($id) && $id > 0) { $sql .= " WHERE ev.id = '" . $id . "' "; } elseif (isset($event_id) && $event_id > 0) { $sql .= " WHERE e.id ='" . $event_id . "' "; } else { $sql .= " GROUP BY ev.name "; } if ($using_id == false) { $sql .= $order_by; $sql .= $limit; } //echo $sql ; $venues = $wpdb->get_results($sql); $num_rows = $wpdb->num_rows; if ($num_rows > 0) { $html = ''; foreach ($venues as $venue) { $venue_id = $venue->id; $meta = unserialize($venue->meta); //Google map link creation $google_map_link = espresso_google_map_link(array('address' => $venue->address, 'city' => $venue->city, 'state' => $venue->state, 'zip' => $venue->zip, 'country' => $venue->country, 'text' => $map_link_text, 'type' => 'text')); //Google map image creation if ($show_map_image != false) { $map_w = isset($map_w) ? $map_w : 400; $map_h = isset($map_h) ? $map_h : 400; $google_map_image = espresso_google_map_link(array('id' => $venue_id, 'map_image_class' => $map_image_class, 'address' => $venue->address, 'city' => $venue->city, 'state' => $venue->state, 'zip' => $venue->zip, 'country' => $venue->country, 'text' => $map_link_text, 'type' => 'map', 'map_h' => $map_h, 'map_w' => $map_w)); } //Build the venue title if ($show_title != false) { $html .= $venue->name != '' ? $title_wrapper_start . '>' . stripslashes_deep($venue->name) . $title_wrapper_end : ''; } //Build the venue image if ($show_image != false) { $html .= $meta['image'] != '' ? $image_wrapper_start . '<img id="venue_image_' . $venue_id . '" ' . $image_class . ' src="' . stripslashes_deep($meta['image']) . '" />' . $image_wrapper_end : ''; } //Build the description if ($show_description != false) { $html .= $meta['description'] != '' ? espresso_format_content($meta['description']) : ''; } //Build the address details if ($show_address != false) { $html .= $inside_wrapper_before; $html .= $venue->address != '' ? stripslashes_deep($venue->address) . '<br />' : ''; $html .= $venue->address2 != '' ? stripslashes_deep($venue->address2) . '<br />' : ''; $html .= $venue->city != '' ? stripslashes_deep($venue->city) . '<br />' : ''; $html .= $venue->state != '' ? stripslashes_deep($venue->state) . '<br />' : ''; $html .= $venue->zip != '' ? stripslashes_deep($venue->zip) . '<br />' : ''; $html .= $venue->country != '' ? stripslashes_deep($venue->country) . '<br />' : ''; $html .= $show_google_map_link != false ? $google_map_link : ''; $html .= $inside_wrapper_after; } //Build the additional details if ($show_additional_details != false) { $html .= $inside_wrapper_before; $html .= $meta['website'] != '' ? __('Website:', 'event_espresso') . ' <a href="' . stripslashes_deep($meta['website']) . '" target="_blank">' . stripslashes_deep($meta['website']) . '</a><br />' : ''; $html .= $meta['contact'] != '' ? __('Contact:', 'event_espresso') . ' ' . stripslashes_deep($meta['contact']) . '<br />' : ''; $html .= $meta['phone'] != '' ? __('Phone:', 'event_espresso') . ' ' . stripslashes_deep($meta['phone']) . '<br />' : ''; $html .= $meta['twitter'] != '' ? __('Twitter:', 'event_espresso') . ' <a href="http://twitter.com/#!/' . stripslashes_deep($meta['twitter']) . '" target="_blank">@' . stripslashes_deep($meta['twitter']) . '</a><br />' : ''; $html .= $inside_wrapper_after; } //Build the venue image if ($show_map_image != false) { $html .= $map_image_wrapper_start . $google_map_image . $map_image_wrapper_end; } } } //ob_start(); return $wrapper_start . ' id="venue_id_' . $venue_id . '">' . $html . $wrapper_end; //$buffer = ob_get_contents(); //ob_end_clean(); //return $buffer; }
function event_espresso_get_event_details($attributes) { //echo $sql; global $wpdb, $org_options, $events_in_session; $template_name = 'event_list_display.php'; $path = locate_template($template_name); $multi_reg = false; if (function_exists('event_espresso_multi_reg_init')) { $multi_reg = true; } $default_attributes = array('category_identifier' => NULL, 'staff_id' => NULL, 'allow_override' => 0, 'show_expired' => 'false', 'show_secondary' => 'false', 'show_deleted' => 'false', 'show_recurrence' => 'true', 'limit' => '0', 'order_by' => 'NULL', 'css_class' => 'NULL'); // loop thru default atts foreach ($default_attributes as $key => $default_attribute) { // check if att exists if (!isset($attributes[$key])) { $attributes[$key] = $default_attribute; } } // now extract shortcode attributes extract($attributes); $sql = "SELECT e.*, ese.start_time, ese.end_time, p.event_cost "; //Category sql $sql .= $category_identifier != NULL && !empty($category_identifier) ? ", c.category_name, c.category_desc, c.display_desc, c.category_identifier" : ''; //Venue sql isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= ", v.name venue_name, v.address venue_address, v.city venue_city, v.state venue_state, v.zip venue_zip, v.country venue_country, v.meta venue_meta " : ''; //Staff sql isset($org_options['use_personnel_manager']) && $org_options['use_personnel_manager'] == 'Y' ? $sql .= ", st.name staff_name " : ''; $sql .= " FROM " . EVENTS_DETAIL_TABLE . " e "; $sql .= $category_identifier != NULL && !empty($category_identifier) ? " JOIN " . EVENTS_CATEGORY_REL_TABLE . " r ON r.event_id = e.id JOIN " . EVENTS_CATEGORY_TABLE . " c ON c.id = r.cat_id " : ''; //Venue sql isset($org_options['use_venue_manager']) && $org_options['use_venue_manager'] == 'Y' ? $sql .= " LEFT JOIN " . EVENTS_VENUE_REL_TABLE . " vr ON vr.event_id = e.id LEFT JOIN " . EVENTS_VENUE_TABLE . " v ON v.id = vr.venue_id " : ''; //Venue sql isset($org_options['use_personnel_manager']) && $org_options['use_personnel_manager'] == 'Y' ? $sql .= " LEFT JOIN " . EVENTS_PERSONNEL_REL_TABLE . " str ON str.event_id = e.id LEFT JOIN " . EVENTS_PERSONNEL_TABLE . " st ON st.id = str.person_id " : ''; $sql .= " LEFT JOIN " . EVENTS_START_END_TABLE . " ese ON ese.event_id= e.id "; $sql .= " LEFT JOIN " . EVENTS_PRICES_TABLE . " p ON p.event_id=e.id "; $sql .= " WHERE is_active = 'Y' "; //Category sql $sql .= $category_identifier !== NULL && !empty($category_identifier) ? " AND c.category_identifier = '" . $category_identifier . "' " : ''; //Staff sql $sql .= $staff_id !== NULL && !empty($staff_id) ? " AND st.id = '" . $staff_id . "' " : ''; $sql .= $show_expired == 'false' ? " AND (e.start_date >= '" . date('Y-m-d') . "' OR e.event_status = 'O' OR e.registration_end >= '" . date('Y-m-d') . "') " : ''; if ($show_expired == 'true') { $allow_override = 1; } //If using the [ESPRESSO_VENUE_EVENTS] shortcode $sql .= isset($use_venue_id) && $use_venue_id == true ? " AND v.id = '" . $venue_id . "' " : ''; $sql .= $show_secondary == 'false' ? " AND e.event_status != 'S' " : ''; $sql .= $show_deleted == 'false' ? " AND e.event_status != 'D' " : " AND e.event_status = 'D' "; if ($show_deleted == 'true') { $allow_override = 1; } $sql .= $show_recurrence == 'false' ? " AND e.recurrence_id = '0' " : ''; $sql .= " GROUP BY e.id "; $sql .= $order_by != 'NULL' ? " ORDER BY " . $order_by . " ASC " : " ORDER BY e.recurrence_id, date(start_date) ASC "; $sql .= $limit > 0 ? ' LIMIT 0, ' . $limit : ''; //echo $sql; $event_page_id = $org_options['event_page_id']; $currency_symbol = isset($org_options['currency_symbol']) ? $org_options['currency_symbol'] : ''; $events = $wpdb->get_results($sql); $category_id = isset($wpdb->last_result[0]->id) ? $wpdb->last_result[0]->id : ''; $category_name = isset($wpdb->last_result[0]->category_name) ? $wpdb->last_result[0]->category_name : ''; $category_identifier = isset($wpdb->last_result[0]->category_identifier) ? $wpdb->last_result[0]->category_identifier : ''; $category_desc = isset($wpdb->last_result[0]->category_desc) ? html_entity_decode(wpautop($wpdb->last_result[0]->category_desc)) : ''; $display_desc = isset($wpdb->last_result[0]->display_desc) ? $wpdb->last_result[0]->display_desc : ''; /* group recurring events */ $events_type_index = -1; $events_of_same_type = array(); $last_recurrence_id = null; /* end group recurring events */ if ($display_desc == 'Y') { echo '<p id="events_category_name-' . $category_id . '" class="events_category_name">' . stripslashes_deep($category_name) . '</p>'; echo wpautop($category_desc); } foreach ($events as $event) { $event_id = $event->id; $event_name = $event->event_name; $event_desc = stripslashes_deep($event->event_desc); $event_identifier = $event->event_identifier; $active = $event->is_active; $registration_start = $event->registration_start; $registration_end = $event->registration_end; $start_date = $event->start_date; $end_date = $event->end_date; $reg_limit = $event->reg_limit; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $member_only = $event->member_only; $externalURL = $event->externalURL; $recurrence_id = $event->recurrence_id; $display_reg_form = $event->display_reg_form; $allow_overflow = $event->allow_overflow; $overflow_event_id = $event->overflow_event_id; $event_desc = array_shift(explode('<!--more-->', $event_desc)); global $event_meta; $event_meta = unserialize($event->event_meta); $event_meta['is_active'] = $event->is_active; $event_meta['event_status'] = $event->event_status; $event_meta['start_time'] = empty($event->start_time) ? '' : $event->start_time; $event_meta['start_date'] = $event->start_date; $event_meta['registration_start'] = $event->registration_start; $event_meta['registration_startT'] = $event->registration_startT; $event_meta['registration_end'] = $event->registration_end; $event_meta['registration_endT'] = $event->registration_endT; //Venue information if ($org_options['use_venue_manager'] == 'Y') { $event_address = empty($event->venue_address) ? '' : $event->venue_address; $event_address2 = empty($event->venue_address2) ? '' : $event->venue_address2; $event_city = empty($event->venue_city) ? '' : $event->venue_city; $event_state = empty($event->venue_state) ? '' : $event->venue_state; $event_zip = empty($event->venue_zip) ? '' : $event->venue_zip; $event_country = empty($event->venue_country) ? '' : $event->venue_country; //Leaving these variables intact, just in case people want to use them $venue_title = empty($event->venue_name) ? '' : $event->venue_name; $venue_address = $event_address; $venue_address2 = $event_address2; $venue_city = $event_city; $venue_state = $event_state; $venue_zip = $event_zip; $venue_country = $event_country; global $venue_meta; $add_venue_meta = array('venue_title' => $venue_title, 'venue_address' => $event_address, 'venue_address2' => $event_address2, 'venue_city' => $event_city, 'venue_state' => $event_state, 'venue_country' => $event_country); $venue_meta = !empty($event->venue_meta) && !empty($add_venue_meta) ? array_merge(unserialize($event->venue_meta), $add_venue_meta) : ''; //print_r($venue_meta); } //Address formatting $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); //Google map link creation $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country, 'text' => 'Map and Directions', 'type' => 'text')); global $all_meta; $all_meta = array('event_name' => stripslashes_deep($event_name), 'event_desc' => stripslashes_deep($event_desc), 'event_address' => $event_address, 'event_address2' => $event_address2, 'event_city' => $event_city, 'event_state' => $event_state, 'event_zip' => $event_zip, 'is_active' => $event->is_active, 'event_status' => $event->event_status, 'start_time' => empty($event->start_time) ? '' : $event->start_time, 'registration_startT' => $event->registration_startT, 'registration_start' => $registration_start, 'registration_endT' => $event->registration_endT, 'registration_end' => $registration_end, 'is_active' => empty($is_active) ? '' : $is_active, 'event_country' => $event_country, 'start_date' => event_date_display($start_date, get_option('date_format')), 'end_date' => event_date_display($end_date, get_option('date_format')), 'time' => empty($event->start_time) ? '' : $event->start_time, 'google_map_link' => $google_map_link, 'price' => empty($event->event_cost) ? '' : $event->event_cost, 'event_cost' => empty($event->event_cost) ? '' : $event->event_cost); //Debug //echo '<p>'.print_r($all_meta).'</p>'; //These variables can be used with other the espresso_countdown, espresso_countup, and espresso_duration functions and/or any javascript based functions. //Warning: May cause additional database queries an should only be used for sites with a small amount of events. // $start_timestamp = espresso_event_time($event_id, 'start_timestamp'); //$end_timestamp = espresso_event_time($event_id, 'end_timestamp'); //This can be used in place of the registration link if you are using the external URL feature $registration_url = $externalURL != '' ? $externalURL : espresso_reg_url($event_id); if (!is_user_logged_in() && get_option('events_members_active') == 'true' && $member_only == 'Y') { //Display a message if the user is not logged in. //_e('Member Only Event. Please ','event_espresso') . event_espresso_user_login_link() . '.'; } else { //Serve up the event list //As of version 3.0.17 the event list details have been moved to event_list_display.php switch (event_espresso_get_status($event_id)) { case 'NOT_ACTIVE': //Don't show the event if any of the above are true break; default: /* skip secondary (waitlist) events */ $event_status = event_espresso_get_is_active($event_id); if ($event_status['status'] == 'SECONDARY') { break; } /* group recurring events */ $is_new_event_type = $last_recurrence_id == 0 || $last_recurrence_id != $recurrence_id; if ($is_new_event_type) { $events_type_index++; $events_of_same_type[$events_type_index] = array(); } $event_data = array('event_id' => $event_id, 'event_page_id' => $event_page_id, 'event_name' => $event_name, 'event_desc' => $event_desc, 'start_date' => $start_date, 'end_date' => $end_date, 'reg_limit' => $reg_limit, 'registration_url' => $registration_url, 'overflow_event_id' => $overflow_event_id); array_push($events_of_same_type[$events_type_index], $event_data); $last_recurrence_id = $recurrence_id; break; } } } /* group recurring events */ foreach ($events_of_same_type as $events_group) { if (empty($path)) { include $template_name; } else { include $path; } } /* end group recurring events */ //Check to see how many database queries were performed //echo '<p>Database Queries: ' . get_num_queries() .'</p>'; espresso_registration_footer(); }
function espresso_pending_registration_approval($registration_id) { global $wpdb, $org_options; //Get the event information $events = $wpdb->get_results("SELECT ed.* FROM " . EVENTS_DETAIL_TABLE . " ed \n\t\t\t\t\tJOIN " . EVENTS_ATTENDEE_TABLE . " ea\n\t\t\t\t\tON ed.id = ea.event_id\n\t\t\t\t\tWHERE ea.registration_id='" . $registration_id . "'"); foreach ($events as $event) { $event_id = $event->id; $event_name = stripslashes_deep($event->event_name); $event_desc = stripslashes_deep($event->event_desc); $display_desc = $event->display_desc; $event_identifier = $event->event_identifier; $reg_limit = $event->reg_limit; $active = $event->is_active; $send_mail = $event->send_mail; $conf_mail = $event->conf_mail; $email_id = $event->email_id; $alt_email = $event->alt_email; $start_date = event_date_display($event->start_date); $end_date = $event->end_date; $virtual_url = $event->virtual_url; $virtual_phone = $event->virtual_phone; $event_address = $event->address; $event_address2 = $event->address2; $event_city = $event->city; $event_state = $event->state; $event_zip = $event->zip; $event_country = $event->country; $location = ($event_address != '' ? $event_address : '') . ($event_address2 != '' ? '<br />' . $event_address2 : '') . ($event_city != '' ? '<br />' . $event_city : '') . ($event_state != '' ? ', ' . $event_state : '') . ($event_zip != '' ? '<br />' . $event_zip : '') . ($event_country != '' ? '<br />' . $event_country : ''); $location_phone = $event->phone; $require_pre_approval = $event->require_pre_approval; $google_map_link = espresso_google_map_link(array('address' => $event_address, 'city' => $event_city, 'state' => $event_state, 'zip' => $event_zip, 'country' => $event_country)); } //Build links $event_url = espresso_reg_url($event_id); $event_link = '<a href="' . $event_url . '">' . $event_name . '</a>'; $sql = "SELECT * FROM " . EVENTS_ATTENDEE_TABLE; if ($registration_id != '') { $sql .= " WHERE registration_id = '" . $registration_id . "' "; } elseif ($attendee_id != '') { $sql .= " WHERE id = '" . $attendee_id . "' "; } else { _e('No ID Supplied', 'event_espresso'); } $sql .= " ORDER BY id "; $sql .= " LIMIT 0,1 "; //Get the first attendees details $attendees = $wpdb->get_results($sql); //global $attendee_id; foreach ($attendees as $attendee) { $attendee_id = $attendee->id; $attendee_email = $attendee->email; $lname = $attendee->lname; $fname = $attendee->fname; $address = $attendee->address; $address2 = $attendee->address2; $city = $attendee->city; $state = $attendee->state; $zip = $attendee->zip; $payment_status = $attendee->payment_status; $txn_type = $attendee->txn_type; $amount_pd = $attendee->amount_pd; $event_cost = $attendee->amount_pd; $payment_date = $attendee->payment_date; $phone = $attendee->phone; $event_time = $attendee->event_time; $end_time = $attendee->end_time; $date = $attendee->date; $pre_approve = $attendee->pre_approve; } event_espresso_send_attendee_registration_approval_pending($registration_id); require_once EVENT_ESPRESSO_PLUGINFULLPATH . "templates/pending_approval.php"; }