/**
  * registrations_requiring_pre_approval
  * @param array $registrations_requiring_pre_approval
  * @return \EE_Form_Section_Proper
  */
 private function _registrations_requiring_pre_approval($registrations_requiring_pre_approval = array())
 {
     $events_requiring_pre_approval = '';
     foreach ($registrations_requiring_pre_approval as $registration) {
         if ($registration instanceof EE_Registration && $registration->event() instanceof EE_Event) {
             $events_requiring_pre_approval[$registration->event()->ID()] = EEH_HTML::li(EEH_HTML::span('', '', 'dashicons dashicons-marker ee-icon-size-16 orange-text') . EEH_HTML::span($registration->event()->name(), '', 'orange-text'));
         }
     }
     return new EE_Form_Section_Proper(array('subsections' => array('default_hidden_inputs' => $this->reg_step_hidden_inputs(), 'extra_hidden_inputs' => $this->_extra_hidden_inputs()), 'layout_strategy' => new EE_Template_Layout(array('layout_template_file' => SPCO_REG_STEPS_PATH . $this->_slug . DS . 'events_requiring_pre_approval.template.php', 'template_args' => apply_filters('FHEE__EE_SPCO_Reg_Step_Payment_Options___sold_out_events__template_args', array('events_requiring_pre_approval' => implode('', $events_requiring_pre_approval), 'events_requiring_pre_approval_msg' => apply_filters('FHEE__EE_SPCO_Reg_Step_Payment_Options___events_requiring_pre_approval__events_requiring_pre_approval_msg', __('The following events do not require payment at this time and will not be billed during this transaction. Billing will only occur after the attendee has been approved by the event organizer. You will be notified when your registration has been processed. If this is a free event, then no billing will occur.', 'event_espresso'))))))));
 }
 /**
  *    generate_sortable_list_of_template_parts
  *
  *    creates an HTML list (<ul>) with list items (<li>) for each template part,
  *    in a format that can be used as a sortable list in the admin
  *
  * @access public
  * @param string $list_css_id
  * @param string $list_css_class
  * @param string $list_item_css_class
  * @param string $list_item_css_id_prefix
  * @return string
  */
 public function generate_sortable_list_of_template_parts($list_css_id = '', $list_css_class = '', $list_item_css_class = '', $list_item_css_id_prefix = '')
 {
     EE_Registry::instance()->load_helper('HTML');
     $event_archive_display_order = EEH_HTML::ul($list_css_id, $list_css_class);
     $this->template_parts->rewind();
     // loop through template parts and add template content
     while ($this->template_parts->valid()) {
         $event_archive_display_order .= EEH_HTML::li(EEH_HTML::span('', '', 'dashicons dashicons-arrow-up-alt2') . EEH_HTML::span('', '', 'dashicons dashicons-arrow-down-alt2') . $this->template_parts->current()->label(), $list_item_css_id_prefix . $this->template_parts->current()->name(), $list_item_css_class);
         $this->template_parts->next();
     }
     $event_archive_display_order .= EEH_HTML::ulx();
     return $event_archive_display_order;
 }
 public static function display_add_new_state_micro_form(EE_Form_Section_Proper $question_group_reg_form)
 {
     // only add the 'new_state_micro_form' when displaying reg forms,
     // not during processing since we process the 'new_state_micro_form' in it's own AJAX request
     $action = EE_Registry::instance()->REQ->get('action', '');
     if ($action === 'process_reg_step' || $action === 'update_reg_step') {
         return $question_group_reg_form;
     }
     // is the "state" question in this form section?
     $input = $question_group_reg_form->get_subsection('state');
     // we're only doing this for state select inputs
     if ($input instanceof EE_State_Select_Input) {
         // load helpers
         EE_Registry::instance()->load_helper('HTML');
         // grab any set values from the request
         $country_name = str_replace('state', 'new_state_country', $input->html_name());
         $state_name = str_replace('state', 'new_state_name', $input->html_name());
         $abbrv_name = str_replace('state', 'new_state_abbrv', $input->html_name());
         $new_state_submit_id = str_replace('state', 'new_state', $input->html_id());
         $country_options = array();
         $countries = EEM_Country::instance()->get_all_countries();
         if (!empty($countries)) {
             foreach ($countries as $country) {
                 if ($country instanceof EE_Country) {
                     $country_options[$country->ID()] = $country->name();
                 }
             }
         }
         $new_state_micro_form = new EE_Form_Section_Proper(array('name' => 'new_state_micro_form', 'html_id' => 'new_state_micro_form', 'layout_strategy' => new EE_No_Layout(), 'subsections' => array('add_new_state' => new EE_Hidden_Input(array('html_name' => str_replace('state', 'add_new_state', $input->html_name()), 'html_id' => str_replace('state', 'add_new_state', $input->html_id()), 'default' => 0)), 'click_here_link' => new EE_Form_Section_HTML(apply_filters('FHEE__EED_Add_New_State__display_add_new_state_micro_form__click_here_link', EEH_HTML::link('', __('click here to add a new state/province', 'event_espresso'), '', 'display-' . $input->html_id(), 'ee-form-add-new-state-lnk display-the-hidden smaller-text hide-if-no-js', '', 'rel="' . $input->html_id() . '"'))), 'add_new_state_micro_form' => new EE_Form_Section_HTML(apply_filters('FHEE__EED_Add_New_State__display_add_new_state_micro_form__add_new_state_micro_form', EEH_HTML::div('', $input->html_id() . '-dv', 'ee-form-add-new-state-dv', 'display: none;') . EEH_HTML::h6(__('If your State/Province does not appear in the list above, you can easily add it by doing the following:', 'event_espresso')) . EEH_HTML::ul() . EEH_HTML::li(__('first select the Country that your State/Province belongs to', 'event_espresso')) . EEH_HTML::li(__('enter the name of your State/Province', 'event_espresso')) . EEH_HTML::li(__('enter a two to six letter abbreviation for the name of your State/Province', 'event_espresso')) . EEH_HTML::li(__('click the ADD button', 'event_espresso')) . EEH_HTML::ulx())), 'new_state_country' => new EE_Country_Select_Input($country_options, array('html_name' => $country_name, 'html_id' => str_replace('state', 'new_state_country', $input->html_id()), 'html_class' => $input->html_class() . ' new-state-country', 'html_label_text' => __('New State/Province Country', 'event_espresso'), 'default' => EE_Registry::instance()->REQ->get($country_name, ''), 'required' => false)), 'new_state_name' => new EE_Text_Input(array('html_name' => $state_name, 'html_id' => str_replace('state', 'new_state_name', $input->html_id()), 'html_class' => $input->html_class() . ' new-state-state', 'html_label_text' => __('New State/Province Name', 'event_espresso'), 'default' => EE_Registry::instance()->REQ->get($state_name, ''), 'required' => false)), 'spacer' => new EE_Form_Section_HTML(EEH_HTML::br()), 'new_state_abbrv' => new EE_Text_Input(array('html_name' => $abbrv_name, 'html_id' => str_replace('state', 'new_state_abbrv', $input->html_id()), 'html_class' => $input->html_class() . ' new-state-abbrv', 'html_label_text' => __('New State/Province Abbreviation', 'event_espresso'), 'html_other_attributes' => 'size="24"', 'default' => EE_Registry::instance()->REQ->get($abbrv_name, ''), 'required' => false)), 'add_new_state_submit_button' => new EE_Form_Section_HTML(apply_filters('FHEE__EED_Add_New_State__display_add_new_state_micro_form__add_new_state_submit_button', EEH_HTML::nbsp(3) . EEH_HTML::link('', __('ADD', 'event_espresso'), '', 'submit-' . $new_state_submit_id, 'ee-form-add-new-state-submit button button-secondary', '', 'rel="' . $new_state_submit_id . '"'))), 'add_new_state_extra' => new EE_Form_Section_HTML(apply_filters('FHEE__EED_Add_New_State__display_add_new_state_micro_form__add_new_state_extra', EEH_HTML::br(2) . EEH_HTML::div('', '', 'small-text') . EEH_HTML::strong(__('Don\'t know your State/Province Abbreviation?', 'event_espresso')) . EEH_HTML::br() . sprintf(__('You can look here: %s, for a list of Countries and links to their State/Province Abbreviations ("Subdivisions assigned codes" column).', 'event_espresso'), EEH_HTML::link('http://en.wikipedia.org/wiki/ISO_3166-2', 'http://en.wikipedia.org/wiki/ISO_3166-2', '', '', 'ee-form-add-new-state-wiki-lnk')) . EEH_HTML::divx() . EEH_HTML::br() . EEH_HTML::link('', __('cancel new state/province', 'event_espresso'), '', 'hide-' . $input->html_id(), 'ee-form-cancel-new-state-lnk smaller-text', '', 'rel="' . $input->html_id() . '"') . EEH_HTML::divx() . EEH_HTML::br())))));
         $question_group_reg_form->add_subsections(array('new_state_micro_form' => $new_state_micro_form), 'state', false);
     }
     return $question_group_reg_form;
 }
 /**
  *    _total_row
  *
  * @param EE_Line_Item $line_item
  * @param string $text
  * @param bool $tax_total
  * @return mixed
  */
 private function _total_row(EE_Line_Item $line_item, $text = '', $tax_total = false)
 {
     if ($tax_total && $this->_tax_count < 2) {
         return '';
     }
     // total td
     $content = EEH_HTML::strong($line_item->desc() . ' ' . $text);
     // total td
     $content .= ' ' . EEH_HTML::strong($line_item->total_no_code());
     return EEH_HTML::li($content, '', 'event-cart-total-list total-list', 'text-align:right; width:100%;');
 }