function settings_page()
 {
     if ($_POST) {
         $this->set_options();
     }
     $v = $this->get_options();
     $data['epl_fields'] = $this->fields;
     $data['tabs'] = array('general' => epl__('General'), 'registrations' => epl__('Registrations'), 'event-management' => epl__('Event Management'), 'fullcalendar-settings' => epl__('Calendar'), 'api-settings' => epl__('Advanced'));
     $_field_args = array('section' => $this->fields['epl_general_options'], 'fields_to_display' => array_keys($this->fields['epl_general_options']), 'meta' => array('_view' => 3, 'value' => $v['epl_general_options']));
     $data['epl_general_option_fields'] = $this->epl_util->render_fields($_field_args);
     $data['settings_updated'] = '';
     $_field_args = array('section' => $this->fields['epl_registration_options'], 'fields_to_display' => array_keys($this->fields['epl_registration_options']), 'meta' => array('_view' => 3, 'value' => $v['epl_registration_options']));
     $data['epl_registration_options'] = $this->epl_util->render_fields($_field_args);
     $_field_args = array('section' => $this->fields['epl_event_options'], 'fields_to_display' => array_keys($this->fields['epl_event_options']), 'meta' => array('_view' => 3, 'value' => $v['epl_event_options']));
     $data['epl_event_options'] = $this->epl_util->render_fields($_field_args);
     if (apply_filters('epl_enable_feature_override', false)) {
         $data['tabs']['feature-override'] = epl__('Override');
     }
     if (epl_is_addon_active('ETDFGWETSDFGR')) {
         $data['tabs']['shopping-cart'] = epl__('Event Cart');
         epl_sort_array_by_array($this->fields['epl_sc_options']['epl_sc_primary_regis_forms']['options'], $v['epl_sc_options']['epl_sc_primary_regis_forms']);
         epl_sort_array_by_array($this->fields['epl_sc_options']['epl_sc_addit_regis_forms']['options'], $v['epl_sc_options']['epl_sc_addit_regis_forms']);
         epl_sort_array_by_array($this->fields['epl_sc_options']['epl_sc_payment_choices']['options'], $v['epl_sc_options']['epl_sc_payment_choices']);
         $_field_args = array('section' => $this->fields['epl_sc_options'], 'fields_to_display' => array_keys($this->fields['epl_sc_options']), 'meta' => array('_view' => 3, 'value' => $v['epl_sc_options']));
         $data['epl_sc_options'] = $this->epl_util->render_fields($_field_args);
     }
     unset($this->fields['epl_fullcalendar_options']['epl_fullcalendar_tax_bcg_color']);
     unset($this->fields['epl_fullcalendar_options']['epl_fullcalendar_tax_font_color']);
     $terms = epl_object_to_array(get_terms('epl_event_categories', array('hide_empty' => false)));
     if (!epl_is_empty_array($terms)) {
         $vals = epl_get_element('epl_fullcalendar_options', $v, array());
         foreach ($terms as $k => $_v) {
             $_bcg_val = epl_get_element($_v['slug'], epl_get_element('epl_fullcalendar_tax_bcg_color', $vals), '#ffffff');
             $_font_val = epl_get_element($_v['slug'], epl_get_element('epl_fullcalendar_tax_font_color', $vals), 'blue');
             $_d = array('input_type' => 'text', 'label' => $_v['name'], 'class' => 'epl_w80');
             $f = $_d + array('input_name' => 'epl_fullcalendar_tax_bcg_color[' . $_v['slug'] . ']', 'value' => $_bcg_val, 'style' => 'background-color:' . $_bcg_val);
             $data['_tax_color'][$_v['slug']] = $this->epl_util->create_element($f, 0);
             $f = $_d + array('input_name' => 'epl_fullcalendar_tax_font_color[' . $_v['slug'] . ']', 'value' => $_font_val, 'style' => 'background-color:' . $_font_val);
             $data['_font_color'][$_v['slug']] = $this->epl_util->create_element($f, 0);
         }
     }
     $_field_args = array('section' => $this->fields['epl_fullcalendar_options'], 'fields_to_display' => array_keys($this->fields['epl_fullcalendar_options']), 'meta' => array('_view' => 3, 'value' => $v['epl_fullcalendar_options']));
     $data['epl_fullcalendar_options'] = $this->epl_util->render_fields($_field_args);
     if (epl_check_for_it()) {
         $_field_args = array('section' => $this->fields['epl_api_option_fields'], 'fields_to_display' => array_keys($this->fields['epl_api_option_fields']), 'meta' => array('_view' => 3, 'value' => $v['epl_api_option_fields']));
         $data['epl_api_options'] = $this->epl_util->render_fields($_field_args);
     }
     $this->epl->load_view('admin/settings/settings-page', $data);
 }
        $exp = '';
        if (epl_get_element_m($row->price_id, '_epl_price_pack_type', $event_details) == 'time') {
            $mem_l = epl_get_element_m($row->price_id, '_epl_price_pack_time_length', $event_details);
            $mem_lt = epl_get_element_m($row->price_id, '_epl_price_pack_time_length_type', $event_details);
            $start = strtotime($row->regis_date);
            $until = strtotime("+ {$mem_l} {$mem_lt}", $start);
            if ($until < EPL_DATE) {
                $exp = epl_wrap(epl__("Expired"), '<span class="epl_font_red"> - ', '</span>');
            }
            $_r['package'] = epl__('Until') . ' ' . epl_formatted_date($until) . $exp;
        } else {
            $remaining = $pack_size - $_r['use_count'];
            if ($remaining <= 0) {
                $exp = epl_wrap(epl__("Credits used up"), ' <span class="epl_font_red">', '</span>');
            }
            $_r['package'] = $pack_size . $exp;
            $_r['use_count'] = "{$_r['use_count']}/{$_r['package']}";
        }
    }
    $_form = $erptm->get_form_data_array($row->field_id, $row->value);
    $_r = array_merge($_r, epl_process_fields_for_display($_form));
    $this->epl->epl_table->add_row(array_values($_r));
}
epl_sort_array_by_array($avail_fields, $_form);
$header = array_merge($header, epl_get_field_labels(array_intersect_key($avail_fields, $_form)));
$this->epl->epl_table->set_heading($header);
echo $this->epl->epl_table->generate();
?>


 /**
  * Makes the registration form selection meta box.  Called by add_meta_boxes action
  *
  * @since 1.0.0
  * @param int $post
  * @param int $values
  * @return prints html
  */
 function registration_forms_meta_box()
 {
     $list_of_forms = $this->ecm->_get_fields('epl_forms');
     $_o = array();
     foreach ((array) $list_of_forms as $form_key => $form_atts) {
         $_o[$form_key] = $form_atts['epl_form_label'];
     }
     $_ao = $_o;
     epl_sort_array_by_array($_o, $this->data['values']['_epl_primary_regis_forms']);
     epl_sort_array_by_array($_ao, $this->data['values']['_epl_addit_regis_forms']);
     $this->fields['epl_regis_form_fields']['_epl_primary_regis_forms']['options'] = $_o;
     $this->fields['epl_regis_form_fields']['_epl_addit_regis_forms']['options'] = $_ao;
     $epl_fields_to_display = array_keys($this->fields['epl_regis_form_fields']);
     $_field_args = array('section' => $this->fields['epl_regis_form_fields'], 'fields_to_display' => $epl_fields_to_display, 'meta' => array('_view' => 3, '_type' => 'row', 'value' => $this->data['values']));
     $data['epl_forms_fields'] = $this->epl_util->render_fields($_field_args);
     return $this->epl->load_view('admin/events/forms-meta-box', $data, true);
 }
            }
            $full = array_combine($fields, $values);
            if (!$limited) {
                $_row = array_merge($default_row, $full);
            } else {
                $_row = array_intersect_key($full, $default_row);
            }
            $_row = $this->epl_util->sort_array_by_array($_row, $event_details['_epl_attendee_list_field']);
            $_f += epl_process_fields_for_display($_row);
        }
    }
    if (epl_is_empty_array($_f)) {
        $_f = $default_row;
    }
    $__row = array_values($_combned + $_a);
    $form_data = array();
    foreach ($ticket_buyer_data as $k => $v) {
        $form_data[$k] = epl_get_element($k, $_f, $v);
    }
    $this->epl->epl_table->add_row(array_values($__row) + $_f, $row_class);
    $new_record = false;
    if ($has_att_forms) {
        $form_counter++;
    }
}
//construct header row
$header = array();
epl_sort_array_by_array($avail_fields, $default_row);
$header = array_merge($header, epl_get_field_labels(array_intersect_key($avail_fields, $default_row)));
$this->epl->epl_table->set_heading($header);
echo $this->epl->epl_table->generate();
            }
        }
    }
}
$table_header = array();
$table_header['title'] = epl__('Title');
$table_header['day_of_week'] = epl__('Day');
$table_header['date'] = epl__('Start Date');
$table_header['time'] = epl__('Time');
$table_header['category'] = epl__('Category');
$table_header['location'] = epl__('Location');
$table_header['instructor'] = epl__('Instructor');
$table_header['available_spaces'] = epl__('Available Spaces');
$table_header['regis_button'] = '';
$table_header = array_intersect_key($table_header, $default_fields);
epl_sort_array_by_array($table_header, $default_fields);
?>
    <table id="epl_event_list_tabular" class="epl_class epl_class_list">
        <thead>
            <tr>

                <?php 
echo '<tr><th>' . implode('</th><th>', $table_header) . '</tr>';
?>

            </tr>
        </thead>
        <tbody>
            <?php 
echo implode($table_row);
?>
            $_r += epl_process_fields_for_display($_row);
        }
        //append the primary regis form data
    }
    $this->epl->epl_table->add_row(array_values($_r));
    $new_record = false;
    $form_counter++;
}
//construct header row
$header = array();
$header[] = epl__('Regis ID');
$header[] = epl__('Regis Date');
$header[] = epl__('Status');
$header[] = epl__('Purchase');
$header[] = epl__('Amount');
$header[] = epl__('TotalPaid');
$header[] = epl__('Discount Code');
$header[] = epl__('Discount Amount');
if (epl_get_regis_setting('epl_enable_donation') == 10) {
    $header[] = epl__('Donation');
}
$header[] = epl__('Date');
$header[] = epl__('Time');
epl_sort_array_by_array($avail_fields, array_flip($fields));
$header = array_merge($header, array_values(epl_get_field_labels(array_intersect_key($ticket_buyer_avail_fields, array_flip($tb_only_fields)))));
$header = array_merge($header, epl_get_field_labels(array_intersect_key($avail_fields, array_flip($fields))));
//$footer = $this->epl->epl_util->remove_array_vals( array_keys( $header ) );
//$footer[4] = epl_get_formatted_curr( $total_revenue );
//$this->epl->epl_table->set_footer( array_values( $footer ) );
$this->epl->epl_table->set_heading($header);
echo $this->epl->epl_table->generate();