/**
  * 	display_ticket_selector_submit
  *
  *	@access public
  * 	@access 		public
  * 	@return		string
  */
 public static function display_ticket_selector_submit()
 {
     if (!is_admin()) {
         if (apply_filters('FHEE__EE_Ticket_Selector__display_ticket_selector_submit', FALSE)) {
             $btn_text = apply_filters('FHEE__EE_Ticket_Selector__display_ticket_selector_submit__btn_text', __('Register Now', 'event_espresso'), self::$_event);
             $external_url = self::$_event->external_url();
             $html = '<input id="ticket-selector-submit-' . self::$_event->ID() . '-btn"';
             $html .= ' class="ticket-selector-submit-btn ';
             $html .= empty($external_url) ? 'ticket-selector-submit-ajax"' : '"';
             $html .= ' type="submit" value="' . $btn_text . '" />';
             $html .= apply_filters('FHEE__EE_Ticket_Selector__after_ticket_selector_submit', '', self::$_event);
             $html .= '<div class="clear"><br/></div></form>';
             return $html;
         } else {
             if (is_archive()) {
                 return EED_Ticket_Selector::ticket_selector_form_close() . EED_Ticket_Selector::display_view_details_btn();
             }
         }
     }
     return '';
 }
 /**
  *    creates buttons for selecting number of attendees for an event
  *
  * @access 	public
  * @param 	object $event
  * @param 	bool 	$view_details
  * @return 	string
  */
 public static function display_ticket_selector($event = NULL, $view_details = FALSE)
 {
     do_action('AHEE_log', __FILE__, __FUNCTION__, '');
     //		d( $event );
     if ($event instanceof EE_Event) {
         self::$_event = $event;
     } else {
         if ($event instanceof WP_Post && isset($event->EE_Event) && $event->EE_Event instanceof EE_Event) {
             self::$_event = $event->EE_Event;
         } else {
             if ($event instanceof WP_Post && (!isset($event->EE_Event) || !$event->EE_Event instanceof EE_Event)) {
                 $event->EE_Event = EEM_Event::instance()->instantiate_class_from_post_object($event);
                 self::$_event = $event->EE_Event;
             } else {
                 $user_msg = __('No Event object or an invalid Event object was supplied.', 'event_espresso');
                 $dev_msg = $user_msg . __('In order to generate a ticket selector, please ensure you are passing either an EE_Event object or a WP_Post object of the post type "espresso_event" to the EE_Ticket_Selector class constructor.', 'event_espresso');
                 EE_Error::add_error($user_msg . '||' . $dev_msg, __FILE__, __FUNCTION__, __LINE__);
                 return FALSE;
             }
         }
     }
     if ((!self::$_event->display_ticket_selector() || $view_details) && !is_admin()) {
         return !is_single() ? EED_Ticket_Selector::display_view_details_btn(self::$_event) : '';
     }
     $template_args = array();
     $template_args['date_format'] = apply_filters('FHEE__EED_Ticket_Selector__display_ticket_selector__date_format', 'l F jS, Y');
     $template_args['time_format'] = apply_filters('FHEE__EED_Ticket_Selector__display_ticket_selector__time_format', 'g:i a');
     $template_args['EVT_ID'] = self::$_event->ID();
     $template_args['event'] = self::$_event;
     // is the event expired ?
     $template_args['event_is_expired'] = self::$_event->is_expired();
     if ($template_args['event_is_expired']) {
         return '<p><span class="important-notice">' . __('We\'re sorry, but all tickets sales have ended because the event is expired.', 'event_espresso') . '</span></p>';
     }
     // filter the maximum qty that can appear in the Ticket Selector qty dropdowns
     $template_args['max_atndz'] = apply_filters('FHEE__EE_Ticket_Selector__display_ticket_selector__max_tickets', self::$_event->additional_limit());
     if ($template_args['max_atndz'] < 1) {
         $sales_closed_msg = __('We\'re sorry, but ticket sales have been closed at this time. Please check back again later.', 'event_espresso');
         if (current_user_can('edit_post', self::$_event->ID())) {
             $sales_closed_msg .= sprintf(__('%sNote to Event Admin:%sThe "Maximum number of tickets allowed per order for this event" in the Event Registration Options has been set to "0". This effectively turns off ticket sales. %s(click to edit this event)%s', 'event_espresso'), '<div class="ee-attention" style="text-align: left;"><b>', '</b><br />', $link = '<span class="edit-link"><a class="post-edit-link" href="' . get_edit_post_link(self::$_event->ID()) . '">', '</a></span></div>');
         }
         return '<p><span class="important-notice">' . $sales_closed_msg . '</span></p>';
     }
     // get all tickets for this event ordered by the datetime
     $template_args['tickets'] = EEM_Ticket::instance()->get_all(array(array('Datetime.EVT_ID' => self::$_event->ID()), 'order_by' => array('TKT_required' => 'DESC', 'TKT_order' => 'ASC', 'TKT_start_date' => 'ASC', 'TKT_end_date' => 'ASC', 'Datetime.DTT_EVT_start' => 'DESC')));
     $templates['ticket_selector'] = TICKET_SELECTOR_TEMPLATES_PATH . 'ticket_selector_chart.template.php';
     $templates['ticket_selector'] = apply_filters('FHEE__EE_Ticket_Selector__display_ticket_selector__template_path', $templates['ticket_selector'], self::$_event);
     // redirecting to another site for registration ??
     $external_url = self::$_event->external_url() !== NULL || self::$_event->external_url() !== '' ? self::$_event->external_url() : FALSE;
     // set up the form (but not for the admin)
     $ticket_selector = !is_admin() ? EED_Ticket_Selector::ticket_selector_form_open(self::$_event->ID(), $external_url) : '';
     // if not redirecting to another site for registration
     if (!$external_url) {
         // then display the ticket selector
         $ticket_selector .= EEH_Template::locate_template($templates['ticket_selector'], $template_args);
     } else {
         // if not we still need to trigger the display of the submit button
         add_filter('FHEE__EE_Ticket_Selector__display_ticket_selector_submit', '__return_true');
         //display notice to admin that registration is external
         $ticket_selector .= !is_admin() ? '' : __('Registration is at an external URL for this event.', 'event_espresso');
     }
     // submit button and form close tag
     $ticket_selector .= !is_admin() ? EED_Ticket_Selector::display_ticket_selector_submit(self::$_event->ID()) : '';
     $ticket_selector .= !is_admin() ? EED_Ticket_Selector::ticket_selector_form_close() : '';
     return $ticket_selector;
 }