function ok_to_show_qty_dd($price_key = null, $qty = 0)
{
    if (is_null($price_key)) {
        return false;
    }
    global $event_details;
    $r = array('ok' => 1, 'msg' => epl__('-'));
    $price_start_date = epl_get_element($price_key, $event_details['_epl_price_date_from']);
    if ($price_start_date) {
        $diff = epl_timespan(EPL_TIME, strtotime("00:00:00", epl_get_date_timestamp($price_start_date)));
        $diff['_date'] = $price_start_date;
        //epl_log( "debug", "<pre>" . print_r($diff, true ) . "</pre>" );
        $r['msg'] = epl__('Available on') . ' ' . epl_formatted_date($price_start_date);
        if ($diff['past'] == 0) {
            $r['ok'] = 0;
        }
    }
    $price_end_date = epl_get_element($price_key, $event_details['_epl_price_date_to']);
    if ($r['ok'] == 1 && $price_end_date) {
        $diff = epl_timespan(EPL_TIME, strtotime("23:59:59", epl_get_date_timestamp($price_end_date)));
        $diff['_date'] = $price_end_date;
        $r['ok'] = 0;
        $r['msg'] = epl_formatted_date($price_end_date) . ' ' . epl__('Ended');
        if ($diff['past'] == 0) {
            $r['ok'] = 1;
            $r['msg'] = epl_display_date_diff($diff);
        }
        if ($qty > 0) {
            $r['ok'] = 1;
        }
    }
    //epl_log( "debug", "<pre>" . print_r( $diff, true ) . "</pre>" );
    return $r;
}
 function __construct()
 {
     parent::__construct();
     epl_log('init', get_class() . "  initialized", 1);
     $this->epl->load_config('location-fields');
     $this->ecm = $this->epl->load_model('epl-common-model');
     global $epl_fields;
     $this->pricing_type = 0;
     $this->epl_fields = $epl_fields;
     //this is a multi-dimensional array of all the fields
     $this->ind_fields = $this->epl_util->combine_array_keys($this->epl_fields);
     //this is each individualt field array
     $post_ID = '';
     if (isset($_GET['post'])) {
         $post_ID = $_GET['post'];
     } elseif (isset($_POST['post_ID'])) {
         $post_ID = $_POST['post_ID'];
     }
     $this->data['values'] = $this->ecm->get_post_meta_all((int) $post_ID);
     $this->edit_mode = epl_get_element('post', $_GET) || epl_get_element('post_ID', $_REQUEST);
     add_action('add_meta_boxes', array($this, 'epl_add_meta_boxes'));
     add_action('save_post', array($this, 'save_postdata'));
     //post list manage screen columns - extra columns
     add_filter('manage_edit-' . self::post_type . '_columns', array($this, 'add_new_columns'));
     //post list manage screen - column data
     add_action('manage_' . self::post_type . '_posts_custom_column', array($this, 'column_data'), 10, 2);
     if (isset($_REQUEST['epl_ajax']) && $_REQUEST['epl_ajax'] == 1) {
         $this->run();
     }
 }
 function __construct()
 {
     parent::__construct();
     epl_log('init', get_class());
     $this->epl->load_config('notification-fields');
     global $epl_fields;
     $this->ecm = $this->epl->load_model('epl-common-model');
     $this->epl_fields = $epl_fields;
     $this->ind_fields = $this->epl_util->combine_array_keys($this->epl_fields);
     //this is each individualt field array
     $post_ID = '';
     if (isset($_GET['post'])) {
         $post_ID = $_GET['post'];
     } elseif (isset($_POST['post_ID'])) {
         $post_ID = $_POST['post_ID'];
     }
     $this->data['values'] = $this->ecm->get_post_meta_all((int) $post_ID, $this->epl_fields);
     $this->edit_mode = epl_get_element('post', $_GET) || epl_get_element('post_ID', $_REQUEST);
     add_action('add_meta_boxes', array($this, 'epl_add_meta_boxes'));
     add_action('save_post', array($this, 'save_postdata'));
     //post list manage screen columns - extra columns
     add_filter('manage_edit-' . self::post_type . '_columns', array($this, 'add_new_columns'));
     //post list manage screen - column data
     add_action('manage_' . self::post_type . '_posts_custom_column', array($this, 'column_data'), 10, 2);
     //add_action('init', array( &$this, 'run' ));
     //$this->m = $this->load_model( 'admin/epl-manage-events-model' );
 }
 function __construct()
 {
     parent::__construct();
     epl_log('init', get_class() . "  initialized", 1);
     $this->epl->load_config('org-fields');
     $this->ecm = $this->epl->load_model('epl-common-model');
     global $epl_fields;
     $this->pricing_type = 0;
     $this->epl_fields = $epl_fields;
     $post_ID = '';
     if (isset($_GET['post'])) {
         $post_ID = $_GET['post'];
     } elseif (isset($_POST['post_ID'])) {
         $post_ID = $_POST['post_ID'];
     }
     $this->data['values'] = $this->ecm->get_post_meta_all((int) $post_ID);
     $this->edit_mode = epl_get_element('post', $_GET) || epl_get_element('post_ID', $_REQUEST);
     if (isset($_REQUEST['epl_ajax']) && $_REQUEST['epl_ajax'] == 1) {
         $this->run();
     } else {
         //add_action( 'default_title', array( $this, 'pre' ) );
         add_action('add_meta_boxes', array($this, 'epl_add_meta_boxes'));
         add_action('save_post', array($this, 'save_postdata'));
         //post list manage screen columns - extra columns
         add_filter('manage_edit-' . self::post_type . '_columns', array($this, 'add_new_columns'));
         //post list manage screen - column data
         add_action('manage_' . self::post_type . '_posts_custom_column', array($this, 'column_data'), 10, 2);
     }
 }
 function form($instance)
 {
     $defaults = array('title' => epl__('Events'), 'exclude_past_events' => epl__('Exclude Past Events'));
     $instance = wp_parse_args((array) $instance, $defaults);
     $title = $instance['title'];
     $show_past_events = epl_get_element('show_past_events', $instance);
     $data = array();
     $data += $instance;
     $data['w'] = $this;
     $this->epl->load_view('widgets/advanced-cal/form', $data);
 }
 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);
 }
 function regis_list_page()
 {
     global $wpdb, $event_details, $regis_details;
     global $event_details;
     $this->eum = $this->epl->load_model('epl-user-model');
     $this->epl->load_model('epl-report-model');
     $data['user_bookings'] = $this->eum->user_bookings($args);
     $data['content'] = $this->epl->load_view('user-regis-manager/user-bookings', $data, true);
     $this->epl->load_view('admin/user-regis-manager/admin-urm-page', $data);
     return null;
     $registrations = $wpdb->get_results("\n                SELECT umeta_id,user_id,meta_key,meta_value\n                FROM {$wpdb->usermeta}\n                WHERE meta_key like '_epl_regis_post_id%'\n\t\tAND user_id = {$this->user_id}");
     $r = array();
     $this->erm->dest = 'admin';
     $this->erm->on_admin = true;
     $this->erm->set_mode('overview');
     $data['registrations'] = '';
     foreach ($registrations as $registration) {
         $r_id = str_replace('_epl_regis_post_id_', '', $registration->meta_key);
         //$this->ecm->get_registration_details($r_id);
         $regis_data = $this->ecm->setup_regis_details($r_id, true);
         if ($regis_data['post_status'] != 'publish') {
             continue;
         }
         $d = epl_get_element('__epl', $regis_data);
         $data['regis_post_id'] = $r_id;
         $data['regis_id'] = esc_attr($regis_data['post_title']);
         $data['regis_date'] = epl_formatted_date($regis_data['post_title']);
         $data['regis_status'] = get_the_regis_status();
         foreach ($d as $k => $v) {
             $_regis_id = $d['_regis_id'];
             $_events = $d[$_regis_id]['_events'];
             $_dates = $d[$_regis_id]['_dates']['_epl_start_date'];
             $event_id = key($_events);
             $this->ecm->setup_event_details($event_id);
             $data['event_title'] = esc_attr($event_details['post_title']);
             $data['regis_dates'] = array_intersect_key($event_details['_epl_start_date'], array_flip($_dates[$event_id]));
             $data['list'] = $this->epl->load_view('admin/user-regis-manager/user-regis-dates', $data, true);
         }
         $this->erm->setup_current_data($regis_data);
         $data['regis_form'] = $this->erm->regis_form(null);
         $data['registrations'] .= $this->epl->load_view('admin/user-regis-manager/user-regis-list-page', $data, true);
     }
     return $this->epl->load_view('admin/user-regis-manager/user-regis-list-page-wrapper', $data, true);
 }
 function send_confirmation_email($data)
 {
     global $organization_details, $customer_email, $event_details;
     $data['eb'] = '';
     $default_email_body = $this->epl->load_view('front/registration/regis-confirm-email', $data, true);
     $_notif = epl_get_element('_epl_event_notification', $event_details);
     $_notif_data = array();
     if ($_notif && (!epl_is_empty_array($_notif) || $_notif != '')) {
         $id = is_array($_notif) ? current($_notif) : $_notif;
         $_notif_data = get_post($id, ARRAY_A) + (array) $this->ecm->get_post_meta_all($id);
         $data['eb'] = nl2br($this->notif_tags(stripslashes_deep(html_entity_decode($_notif_data['post_content'], ENT_QUOTES))));
     }
     if (epl_is_empty_array($_notif) || $_notif == '' || epl_get_element('_epl_notification_replace', $event_details, 0) == 0) {
         $email_body = $this->epl->load_view('front/registration/regis-confirm-email', $data, true);
     } else {
         $email_body = $data['eb'];
     }
     $email_body = preg_replace('/<div class=\'epl_(.*?)_message\'>(.*?)<\\/div>/', '', $email_body);
     $from_name = html_entity_decode(epl_get_element('_epl_email_from_name', $_notif_data, get_bloginfo('name')), ENT_QUOTES);
     $from_email = epl_get_element('_epl_from_email', $_notif_data, get_bloginfo('admin_email'));
     $subject = html_entity_decode(epl_get_element('_epl_email_subject', $_notif_data, epl__('Registration Confirmation')), ENT_QUOTES);
     $headers = "From: \"" . $from_name . "\" <{$from_email}> \r\n";
     $headers .= 'Reply-To: ' . $from_email . "\r\n";
     $headers .= 'X-Mailer: PHP/' . phpversion();
     $headers .= "MIME-Version: 1.0\r\n";
     $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
     if (isset($customer_email) && $customer_email != '') {
         @wp_mail($customer_email, $subject, $email_body, $headers);
     }
     //admin email
     $_email = epl_get_event_property('_epl_alt_admin_email');
     if ($_email == '') {
         $_email = epl_nz(epl_get_event_option('epl_default_notification_email'), get_bloginfo('admin_email'));
     }
     @wp_mail($_email, epl__('New Registration') . ': ' . get_the_event_title(), $default_email_body, $headers);
 }
$payment_data = epl_get_regis_payments();
foreach ($payment_data as $t => $p) {
    if ($p['_epl_payment_amount'] == 0) {
        continue;
    }
    ?>
            <tr style="border-top:1px solid #d7d7d7;">
                <td><?php 
    echo epl_formatted_date($p['_epl_payment_date']);
    ?>
</td>
                <td><?php 
    echo epl_get_formatted_curr($p['_epl_payment_amount'], null, true);
    ?>
                    <span style="float: right;"><?php 
    echo epl_trunc(epl_get_element($p['_epl_payment_method'], $epl_fields['epl_regis_payment_fields']['_epl_payment_method']['options'], ''), 10);
    ?>
</span>
                </td>              
            </tr>
        <?php 
}
?>

        <tr>
            <td colspan="2">

                <span class="epl_font_small"><?php 
echo $waitlist_email_time != '' ? $waitlist_email_time : '';
?>
</span>
            <?php 
setup_event_details();
##########  DO NOT USE the_content() #############
echo $content;
?>

        </div>

        <div class ="event_dates">
            <span class=""><?php 
epl_e('Dates');
?>
</span>

            <?php 
$alt_text = epl_get_element('_epl_dates_alt_text', $event_details, '');
if ($alt_text == '') {
    ?>

                <?php 
    echo get_the_event_dates();
    ?>
                <?php 
    //echo get_the_event_session_table();
    $d = epl_get_event_property('_epl_date_display_type', true);
    if ($d != 0) {
        echo get_the_event_dates_cal();
    }
} else {
    echo $alt_text;
}
        <tr class="epl_surcharge">

            <td class="epl_w200"><?php 
    echo epl_get_element('_epl_surcharge_label', $event_details, epl__('Surcharge'));
    ?>
</td>
            <td class="epl_total_price epl_w100 epl_ta_r"> +<?php 
    echo epl_get_formatted_curr($surcharge, null, true);
    ?>
</td>
        </tr>
    <?php 
}
?>
    <?php 
if (($original_total = epl_get_element('original_total', $money_totals)) > 0) {
    ?>
        <tr class="epl_original_total" style="background-color: #ffcccc ">

            <td class="epl_w200"><?php 
    epl_e('Original Total');
    ?>
</td>
            <td class="epl_total_price epl_w100 epl_ta_r"> <?php 
    echo epl_get_formatted_curr($original_total, null, true);
    ?>
</td>
        </tr>
    <?php 
}
?>
                </div>

            <?php 
}
?>
            <?php 
if (epl_get_element('field', $_f['_epl_cc_exp_year'])) {
    ?>

                <div>
                    <?php 
    echo epl_get_element('label', $_f['_epl_cc_exp_year']);
    ?>
                    <div>
                        <?php 
    echo epl_get_element('field', $_f['_epl_cc_exp_year']);
    ?>

                        <small> <?php 
    echo epl_get_element('description', $_f['_epl_cc_exp_year']);
    ?>
</small>
                    </div>
                </div>

            <?php 
}
?>

    </div>
</div>
 function construct_table_array($dates, $return_raw = false)
 {
     $r = array();
     $date_format = epl_nz(epl_get_general_setting('epl_admin_date_format'), get_option('date_format'));
     /*
      * need to know registration start and end dates
      * need to know the constructed dates
      *
      */
     //epl_log( "debug", "<pre>" . print_r( $dates, true ) . "</pre>" );
     foreach ($dates as $year => $month) {
         foreach ($month as $_month => $_days) {
             foreach ($_days as $k => $v) {
                 $_dd = strtotime(epl_admin_dmy_convert($v));
                 $_d = $return_raw ? $_dd : date_i18n($date_format, $_dd);
                 //$_d =date_i18n( $date_format, $_dd );
                 //preserving the keys for dates that have already been saved.
                 //Just in case there may be a registration that has been assigned to that date id
                 $_u_k = array_search($_dd, epl_get_element('_epl_start_date', $this->values, array()));
                 if ($_u_k === FALSE) {
                     $_u_k = $this->epl_util->make_unique_id();
                 }
                 $data['_epl_start_date'][$_u_k] = $_d;
                 //$data['_epl_end_date'][$_u_k] =date_i18n( $date_format, strtotime( "+{$this->ind_event_length} day", $_dd ) );
                 $data['_epl_end_date'][$_u_k] = $return_raw ? strtotime("+{$this->ind_event_length} day", $_dd) : date_i18n($date_format, strtotime("+{$this->ind_event_length} day", $_dd));
                 if (isset($_POST['_epl_rec_regis_start_date']) && $_POST['_epl_rec_regis_start_date'] != '') {
                     $data['_epl_regis_start_date'][$_u_k] = date_i18n($date_format, strtotime(epl_admin_dmy_convert($_POST['_epl_rec_regis_start_date'])));
                 } elseif (isset($_POST['_epl_rec_regis_start_days_before_start_date']) && $_POST['_epl_rec_regis_start_days_before_start_date'] != '') {
                     $data['_epl_regis_start_date'][$_u_k] = date_i18n($date_format, strtotime("-" . (int) $_POST['_epl_rec_regis_start_days_before_start_date'] . " day", $_dd));
                 }
                 if (isset($_POST['_epl_rec_regis_end_date']) && $_POST['_epl_rec_regis_end_date'] != '') {
                     $data['_epl_regis_end_date'][$_u_k] = date_i18n($date_format, strtotime(epl_admin_dmy_convert($_POST['_epl_rec_regis_end_date'])));
                 } elseif (isset($_POST['_epl_rec_regis_end_days_before_start_date']) && $_POST['_epl_rec_regis_end_days_before_start_date'] != '') {
                     $data['_epl_regis_end_date'][$_u_k] = date_i18n($date_format, strtotime("-" . (int) $_POST['_epl_rec_regis_end_days_before_start_date'] . " day", $_dd));
                 }
                 if (isset($_POST['_epl_recurrence_capacity']) && $_POST['_epl_recurrence_capacity'] != '') {
                     $data['_epl_date_capacity'][$_u_k] = (int) $_POST['_epl_recurrence_capacity'];
                 }
             }
         }
     }
     if ($return_raw) {
         return $data;
     }
     //epl_log( "debug", "<pre>" . print_r($data, true ) . "</pre>" );
     /* $rows_to_display = count( $data['_epl_start_date'] );
               $fields_to_display = array_keys( $this->fields['epl_date_fields'] );
     
               $_field_args = array(
               'section' => $this->fields['epl_date_fields'],
               'fields_to_display' => $fields_to_display,
               'meta' => array( '_view' => 1, '_type' => 'row', '_rows' => $rows_to_display, 'value' => $data )
               ); */
     $rows_to_display = count($data['_epl_start_date']);
     $epl_fields_to_display = array_keys($this->fields['epl_date_fields']);
     $_field_args = array('section' => $this->fields['epl_date_fields'], 'fields_to_display' => $epl_fields_to_display, 'meta' => array('_view' => 'raw', '_type' => 'row', '_rows' => $rows_to_display, 'value' => $data));
     $data['date_fields'] = $this->epl_util->render_fields($_field_args);
     $data['date_field_labels'] = $this->epl_util->extract_labels($this->fields['epl_date_fields']);
     //epl_log( "<pre>" . print_r($data['date_fields'], true ) . "</pre>", 1 );
     //echo "<pre class='prettyprint'>" . print_r($data['date_fields'], true). "</pre>";
     $r = $this->epl->load_view('admin/events/dates-section', $data, true);
     return $r;
 }
 function form_data($regis_id, $_regis_key, $event_id, $tickets_to_show = null)
 {
     global $event_details, $regis_details, $wpdb;
     $attendee_info = $regis_details['__epl'][$_regis_key]['_attendee_info'];
     if ($this->debug) {
         echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " > " . print_r($attendee_info, true) . "</pre>";
     }
     $event_ticket_buyer_forms = array_flip(epl_get_element('_epl_primary_regis_forms', $event_details, array()));
     $event_addit_forms = epl_get_element('_epl_addit_regis_forms', $event_details) ? array_flip($event_details['_epl_addit_regis_forms']) : array();
     if (version_compare(epl_regis_plugin_version(), '1.4', '>=') && epl_sc_is_enabled() && epl_get_setting('epl_sc_options', 'epl_sc_forms_to_use') == 1) {
         $sc_event_ticket_buyer_forms = array_flip(epl_get_setting('epl_sc_options', 'epl_sc_primary_regis_forms', array()));
         $event_ticket_buyer_forms = $sc_event_ticket_buyer_forms;
         // + $event_ticket_buyer_forms;
         $event_addit_forms = array_flip(epl_get_setting('epl_sc_options', 'epl_sc_addit_regis_forms', array()));
     }
     if (empty($event_ticket_buyer_forms)) {
         $event_ticket_buyer_forms = array('4e8b3920c839b' => 1);
     }
     /*
      * find price forms if any.
      */
     $price_forms = epl_get_element('_epl_price_forms', $event_details, array());
     $_price_forms = array();
     foreach ($price_forms as $k => $v) {
         $_price_forms += $v;
     }
     //find the list of all forms
     $available_forms = $this->ecm->get_list_of_available_forms();
     $available_fields = $this->ecm->get_list_of_available_fields();
     //isolate the ticket buyer forms that are selected inside the event
     $ticket_buyer_forms = array_intersect_key($available_forms, $event_ticket_buyer_forms);
     //isolate the additional forms for attendees.
     $addit_forms = array_intersect_key($available_forms, array_merge($event_addit_forms, $_price_forms));
     //This will combine all the fields in all the forms so that we can construct a header row.
     $tickey_buyer_fields = array();
     foreach ($ticket_buyer_forms as $_form_id => $_form_info) {
         $tickey_buyer_fields = array_merge($tickey_buyer_fields, $_form_info['epl_form_fields']);
     }
     //combine all the fields from the attendee forms
     $event_addit_fields = array();
     foreach ($addit_forms as $_form_id => $_form_info) {
         //$event_addit_fields += $_form_info['epl_form_fields'];
         $event_addit_fields = array_merge($event_addit_fields, $_form_info['epl_form_fields']);
     }
     $epl_fields_inside_form = array_flip($tickey_buyer_fields);
     //get the field ids inside the form
     $epl_addit_fields_inside_form = array_flip($event_addit_fields);
     //get the field ids inside the form
     //when creating a form in form manager, the user may rearrange fields.  Find their desired order
     $epl_fields_to_display = $this->epl_util->sort_array_by_array($available_fields, $epl_fields_inside_form);
     $epl_addit_fields_to_display = $this->epl_util->sort_array_by_array($available_fields, $epl_addit_fields_inside_form);
     //final list of all the fields to display
     //$epl_fields_to_display = $epl_fields_to_display + $epl_addit_fields_to_display;
     $ins = array();
     $ins['regis_id'] = $regis_id;
     $ins['event_id'] = $event_id;
     $ins['field_id'] = array();
     $ins['input_slug'] = array();
     $ins['value'] = array();
     if (!$this->primary_pulled) {
         //################################### Ticket buyer form data ############################################
         if ($this->debug) {
             echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " > " . print_r($epl_fields_to_display, true) . "</pre>";
         }
         $form_data_array_tmp = array();
         foreach ($epl_fields_to_display as $field_id => $field_atts) {
             //1.3 stores in [field id][event id][0]
             //2.0 stores in [field id][0]
             //if ( epl_sc_is_enabled() && isset( $attendee_info[$field_id][0] ) ) {
             if (isset($attendee_info[$field_id][0])) {
                 $value = epl_get_element(0, $attendee_info[$field_id]);
             } else {
                 $value = isset($attendee_info[$field_id]) ? epl_get_element(0, $attendee_info[$field_id][$event_id]) : '';
             }
             $raw_value = $value;
             if ($field_atts['input_slug'] == 'email') {
                 $email_list[$regis_post_id] = $value;
                 if ($regis_post_id && $regis_post_id != $this_regis_post_id) {
                     unset($email_list[$regis_post_id]);
                 }
             }
             if ($field_atts['input_type'] == 'select' || $field_atts['input_type'] == 'radio') {
                 $value = $raw_value;
                 //(isset( $field_atts['epl_field_choice_text'][$value] ) && $field_atts['epl_field_choice_text'][$value] !== '') ? $field_atts['epl_field_choice_text'][$value] : $value;
             } elseif ($field_atts['input_type'] == 'checkbox') {
                 if (!epl_is_empty_array($field_atts['epl_field_choice_value'])) {
                     $value = implode(',', (array) $raw_value);
                 } elseif (is_array($value)) {
                     $value = implode(',', $raw_value);
                 }
             }
             //if ( $value != '' ) {
             $ins['field_id'][] = $field_id;
             $ins['input_slug'][] = $field_atts['input_slug'];
             $ins['form_no'] = $this->form_no;
             $ins['value'][] = str_replace($this->delim, " ", $value);
             //$wpdb->insert( $wpdb->epl_regis_form_data, $ins );
             //}
         }
         $ins['field_id'] = implode($this->delim, $ins['field_id']);
         $ins['input_slug'] = implode($this->delim, $ins['input_slug']);
         $ins['form_no'] = $this->form_no;
         $ins['value'] = implode($this->delim, $ins['value']);
         if ($this->debug) {
             echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " > " . print_r($ins, true) . "</pre>";
         }
         $wpdb->insert($wpdb->epl_regis_form_data, $ins);
         //###################  End Ticket Buyer Data #########################################
     }
     //$this->primary_pulled = true;
     $ins['event_id'] = $event_id;
     $ins['field_id'] = array();
     $ins['input_slug'] = array();
     $ins['value'] = array();
     $counter = 0;
     $att_counter = 1;
     foreach ($tickets_to_show as $ticket_id => $ticket_quantities) {
         if (is_array($ticket_quantities)) {
             $tmp_price_inner_keys = array_keys($ticket_quantities);
             $ticket_qty = array_sum($ticket_quantities);
         }
         if ($ticket_qty == 0) {
             continue;
         }
         if (epl_is_empty_array($price_forms)) {
         }
         if ($this->debug) {
             echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " > " . print_r($epl_addit_fields_to_display, true) . "</pre>";
         }
         foreach ($ticket_quantities as $ticket_qty_id => $quantities) {
             if (version_compare($version, '1.2.9', '<')) {
                 $counter = 1;
             }
             for ($i = 0; $i < $quantities; $i++) {
                 $this->form_no++;
                 //not good, runs every time in the loop
                 /* if ( $pack_regis && $attendance_dates = epl_get_element( "_pack_attendance_dates_{$event_id}_{$ticket_id}_" . ($i + 1), $regis_data, null ) ) {
                 
                                       $pack_count = count( $attendance_dates );
                                       $attendance_date_number = array_search( $date_id, array_keys( $attendance_dates ) ) + 1;
                                       }
                 
                                       if ( $pack_regis && $date_id && !isset( $attendance_dates[$date_id] ) ) {
                                       break;
                                       continue;
                                       } */
                 $ticket_label = epl_escape_csv_val(epl_get_element($ticket_id, $event_details['_epl_price_name']));
                 if (epl_is_date_level_price()) {
                     $reserved_date_key = $ticket_qty_id;
                     $reserved_dates = epl_get_element_m($ticket_qty_id, '_epl_start_date', $event_details);
                 }
                 if (epl_is_date_level_time()) {
                     $reserved_time_key = $reserved_times[$ticket_qty_id];
                     $reserved_times_display = epl_get_element_m($reserved_time_key, '_epl_start_time', $event_details);
                 }
                 $ins['field_id'] = array();
                 $ins['input_slug'] = array();
                 $ins['value'] = array();
                 foreach ($epl_addit_fields_to_display as $field_id => $field_atts) {
                     $value = '';
                     //if ( $this->debug )
                     //  echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename( __FILE__ ) . " > " . print_r( epl_get_num_events_in_cart(), true ) . "</pre>";
                     //new v1.2.b9+
                     //if ( epl_sc_is_enabled() || isset( $attendee_info[$field_id][0] ) ) { //if this, price specific forms will get the primary form vals also
                     if (epl_sc_is_enabled()) {
                         $value = epl_get_element(0, $attendee_info[$field_id]);
                     } else {
                         $value = isset($attendee_info[$field_id]) ? epl_get_element(0, $attendee_info[$field_id][$event_id]) : '';
                     }
                     if (isset($attendee_info[$field_id][$event_id][$ticket_id])) {
                         $value = epl_get_element($counter, $attendee_info[$field_id][$event_id][$ticket_id]);
                     } elseif (isset($attendee_info[$field_id][$event_id][$counter])) {
                         $value = $attendee_info[$field_id][$event_id][$counter];
                     }
                     $raw_value = $value;
                     if ($field_atts['input_type'] == 'select' || $field_atts['input_type'] == 'radio') {
                         $value = $raw_value;
                         //(isset( $field_atts['epl_field_choice_text'][$value] ) && $field_atts['epl_field_choice_text'][$value] !== '') ? $field_atts['epl_field_choice_text'][$value] : $value;
                     } elseif ($field_atts['input_type'] == 'checkbox') {
                         if (!epl_is_empty_array($field_atts['epl_field_choice_value'])) {
                             $value = implode(',', (array) $raw_value);
                         } elseif (!epl_is_empty_array($value)) {
                             $value = implode(',', $raw_value);
                         } else {
                             $value = html_entity_decode(htmlspecialchars_decode($value));
                         }
                     }
                     /* else {
                     
                                               $value = html_entity_decode( htmlspecialchars_decode( $value ) );
                                               } */
                     // if ( $value != '' ) { //FOR NOW, WILL ENTER EMPTY ROW IN THE TABLE, WILL HELP TRACK COUNTS
                     $ins['field_id'][] = $field_id;
                     $ins['input_slug'][] = $field_atts['input_slug'];
                     $ins['form_no'] = $this->form_no;
                     $ins['value'][] = str_replace($this->delim, " ", $value);
                     //$wpdb->insert( $wpdb->epl_regis_form_data, $ins );
                     //}
                 }
                 //if ( !epl_is_empty_array( $ins['field_id'] ) ) {
                 // echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r($ins, true). "</pre>";
                 $ins['field_id'] = implode($this->delim, $ins['field_id']);
                 $ins['input_slug'] = implode($this->delim, $ins['input_slug']);
                 $ins['form_no'] = $this->form_no;
                 $ins['value'] = implode($this->delim, $ins['value']);
                 if ($this->debug) {
                     echo "<pre class='prettyprint'>" . __LINE__ . "> " . basename(__FILE__) . " >counter:{$counter} , ticket_id: {$ticket_id} " . print_r($ins, true) . "</pre>";
                 }
                 $wpdb->insert($wpdb->epl_regis_form_data, $ins);
                 //}
                 $counter++;
                 $att_counter++;
             }
         }
     }
 }
<?php 
        if (epl_is_time_optonal()) {
            ?>
                                <td colspan="2"><?php 
            epl_e('All Day');
            ?>
</td>
<?php 
        } else {
            ?>
                                <td><?php 
            echo $time_data['disp'];
            ?>
</td>
                                <td><?php 
            echo epl_get_element($time_id, $event_details['_epl_end_time']);
            ?>
</td>
<?php 
        }
        ?>
                                <td><?php 
        echo epl_get_regis_status($date_id);
        ?>
</td>
                                <td><?php 
        echo $time_data['regis'];
        ?>
 / <?php 
        echo $capacity ? $capacity : '&#8734;';
        ?>
<?php

global $event_details, $wpdb;
$event_id = epl_get_element('event_id', $_REQUEST);
?>
<table class="epl_form_data_table epl_w500" cellpadding="0" cellspacing="0">
    <thead>
        <tr>
            <th>Name</th>
            <th>Purchase</th>
            <th># Used</th>
            <th></th>
        </tr>
    </thead>
    <tbody>
        <?php 
foreach ($currently_checked_in as &$checkin_data) {
    $checkin_data = str_replace('_epl_checkedin_', '', $checkin_data);
    $u = get_userdata($checkin_data['user_id']);
    //meta key comes in as $event_id-datetimestamp-timeid|regisid-price
    $m = explode('|', $checkin_data['meta_key']);
    //checkin |regis_id|priceid
    //sign in info
    $s_info = explode('-', $m[0]);
    //regis info
    $r_info = explode('-', $m[1]);
    $r = $wpdb->get_row("SELECT count(*) as cnt_used FROM {$wpdb->usermeta} WHERE meta_key like '%{$m[1]}%' AND user_id = {$checkin_data['user_id']}");
    ?>
            <tr>
                <td><?php 
    echo $u->user_firstname;
function epl_regis_plugin_version()
{
    global $regis_details;
    return preg_replace('/(\\.\\w\\d+)/', '', epl_get_element('_epl_plugin_version', $regis_details, EPL_PLUGIN_VERSION));
}
 function setup_response_counts()
 {
     global $event_details, $session_signed_in_counts, $user_session_signed_in_counts, $user_ticket_use_counts;
     $this->setup_checked_in_counts();
     //$signed_in_key = "{$_POST['event_id']}-{$_POST['regis_data_id']}-{$_POST['date_id']}-{$_POST['date_ts']}-{$_POST['time_id']}";
     $signed_in_key = "{$_POST['event_id']}-{$_POST['date_id']}-{$_POST['date_ts']}-{$_POST['time_id']}";
     $user_ticket_use_count_key = "{$_POST['regis_id']}-{$_POST['event_id']}-{$_POST['regis_data_id']}-{$_POST['date_id']}-{$_POST['time_id']}-{$_POST['price_id']}-{$_POST['user_id']}";
     $user_session_use_count_key = "{$_POST['regis_id']}-{$_POST['event_id']}-{$_POST['regis_data_id']}-{$_POST['date_id']}-{$_POST['date_ts']}-{$_POST['time_id']}-{$_POST['price_id']}-{$_POST['user_id']}";
     $signed_in_count = epl_get_element($signed_in_key, $session_signed_in_counts, 0);
     $user_ticket_use_count = epl_get_element($user_ticket_use_count_key, $user_ticket_use_counts, 0);
     $user_session_signed_in_count = epl_get_element($user_session_use_count_key, $user_session_signed_in_counts, 0);
     $this->epl_util->set_response_param('signed_in_count', $signed_in_count);
     $this->epl_util->set_response_param('user_ticket_use_count', $user_ticket_use_count);
     $this->epl_util->set_response_param('user_session_signed_in_counts', $user_session_signed_in_count);
 }
                                                <th>Label</th>
                                                <th>Help text</th>
                                            </tr>
                                        </thead>

                                        <?php 
            $override_values = stripslashes_deep(get_option('_epl_override'));
            foreach ($override_fields as $section) {
                foreach ($section as $field_slug => $field_info) {
                    $label = epl_get_element_m('label', $field_slug, $override_values, $field_info['label']);
                    $help_text = epl_get_element_m('help_text', $field_slug, $override_values, $field_info['help_text']);
                    ?>
                                                <tr>
                                                    <td>
                                                        <?php 
                    if (epl_get_element('deact', $field_info, true) == true) {
                        $c = $this->epl->epl_util->create_element(array('input_type' => 'radio', 'input_name' => "_epl_override[{$field_slug}][active]", 'options' => array(10 => 'Y', 0 => 'N'), 'value' => epl_get_element_m('active', $field_slug, $override_values, 10), 'display_inline' => true));
                        echo $c['field'];
                    }
                    ?>
                                                        <!--<input name="_epl_override[<?php 
                    echo $field_slug;
                    ?>
][active]" type="checkbox" value="10" checked="checked" />-->
                                                    </td>
                                                    <td><?php 
                    echo $field_slug;
                    ?>
</td>
                                                    <td>
                                                        <input type="text" name="_epl_override[<?php 
                <a href="#" class="add_table_row"><img src ="<?php 
echo EPL_FULL_URL;
?>
images/add.png" /></a>
            </td>
        </tr>


    </tfoot>
    <tbody class="">

        <?php 
$counter = 1;
foreach ($epl_discount_fields as $disc_code => $row) {
    $discount_used = '';
    if (epl_get_element($disc_code, $used_discount_codes)) {
        foreach ($used_discount_codes[$disc_code] as $used) {
            $this->epl->epl_table->add_row(epl_anchor(admin_url('post.php?post=' . $used['regis_id'] . '&action=edit'), $used['regis_key']), epl_formatted_date($used['regis_date']));
        }
        $discount_used = $this->epl->epl_table->generate();
        $this->epl->epl_table->clear();
    }
    ?>

            <tr class="copy_">


                <td>

                    <table cellspacing ="0" class="epl_standard_table" style="margin:0;">
<?php

if (!epl_is_empty_array($events)) {
    ?>
    <table>
        <?php 
    global $event_details;
    foreach ($events as $event_id => $totals) {
        setup_event_details($event_id);
        ?>

            <tr>
                <td>
                    <?php 
        echo epl_get_element('post_title', $event_details);
        ?>
                </td>
                <td class="epl_ta_r">
                    <?php 
        echo epl_get_formatted_curr(epl_get_element_m('grand_total', 'money_totals', $totals), null, true);
        ?>
                </td>
                <td class="epl_cart_totals_row_delete">
                    <a href="#" class="delete_cart_item" data-caller="summary" id="<?php 
        echo $event_id;
        ?>
">
                        <img src="<?php 
        echo EPL_FULL_URL;
        ?>
/images/cross.png" alt="Delete" />
<form id="epl_waitlist_form">
    <?php 
echo $form;
?>
    <input type="hidden" value="<?php 
echo epl_get_element('event_id', $_POST, '');
?>
" name="event_id" id="epl_waitlist_event_id" />
    <input type="submit" name="submit" id="epl_waitlist_form_submit" class="epl_button_small" value="Submit" />
</form>

<script>
    
    jQuery(document).ready(function($){
        
       $('#epl_waitlist_form').validate();
      
        
        
    });
    
</script>
 /**
  * Add a table row
  *
  * Can be passed as an array or discreet params
  *
  * @access	public
  * @param	mixed
  * @return	void
  */
 function add_row()
 {
     $args = func_get_args();
     $this->rows[] = is_array($args[0]) ? $args[0] : $args;
     $this->rows_class[] = epl_get_element(1, $args, '');
     $this->rows_style[] = epl_get_element(2, $args, '');
 }
$this->epl->epl_table->set_template($tmpl);
$header = array(epl__('Regis ID'), epl__('Status'), epl__('Purchase'), epl__('Package'), epl__('Use Count'));
foreach ($registrants as $row) {
    setup_event_details($row->event_id);
    $time_optional = epl_is_time_optonal();
    $time_id = $time_optional ? '' : $row->time_id;
    $session_time_id = $time_optional ? epl_get_element('time_id', $_POST, '') : $row->time_id;
    $_r = array();
    $_r['regis_key'] = epl_anchor(admin_url('post.php?post=' . $row->regis_id . '&action=edit'), $row->regis_key);
    $_r['status'] = get_the_regis_status($row->status);
    $_r['ticket'] = $event_details['_epl_price_name'][$row->price_id];
    $_r['package'] = '-';
    $user_ticket_use_count_key = "{$row->regis_id}-{$row->event_id}-{$row->date_id}-{$time_id}-{$row->price_id}-{$row->user_id}";
    $_r['use_count'] = epl_get_element($user_ticket_use_count_key, $user_ticket_use_counts, 0);
    $user_session_use_count_key = "{$row->regis_id}-{$row->event_id}-{$row->date_id}-{$_POST['date_ts']}-{$_POST['time_id']}-{$row->price_id}-{$row->user_id}";
    $user_alredy_checked_in = epl_get_element($user_session_use_count_key, $user_session_signed_in_counts, false);
    if (epl_is_pack_regis()) {
        $pack_size = epl_get_element_m($row->price_id, '_epl_price_pack_size', $event_details, 1);
        $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) {
            }
            //if ( epl_get_element( $time_id, epl_get_element( '_epl_time_hide', $event_details ) ) == 0 ):
            $prices = $time_data['price'];
            ?>

                <tr class="epl_time"><td><?php 
            echo epl_get_element('disp', $time_data);
            ?>
</td><td style="width: 200px;"><?php 
            epl_e('Qty');
            ?>
</td></tr>

                <?php 
            foreach ($prices as $price_id => $price_data) {
                if (epl_get_element($price_id, epl_get_element('_epl_price_hide', $event_details)) == 0) {
                    ?>

                        <tr class="epl_price">
                            <td><?php 
                    echo $price_data['disp'];
                    ?>
</td>                           
                            <td><?php 
                    echo $price_data['qty'];
                    ?>
 x <?php 
                    echo epl_get_formatted_curr($price_data['ticket_price'], null, true);
                    ?>
</td>
                        </tr>
 private function _get_credentials($gateway_id = null, $credentials = array())
 {
     $default_credentials = array('_epl_user', '_epl_pwd');
     if (!epl_is_empty_array($credentials)) {
         $credentials = wp_parse_args($credentials, $default_credentials);
     } else {
         $credentials = $default_credentials;
     }
     $gateway_info = $this->erm->get_gateway_info($gateway_id);
     $r = array();
     foreach ($credentials as $cred) {
         $r[$cred] = epl_get_element($cred, $gateway_info);
     }
     return $r;
 }
<div class="lookup_field_wrapper">
    <form id="epl_lookup_form" action="" method="post">
        <?php 
epl_e('Lookup');
?>
 <input id="epl_wildcard_lookup" name="lookup_value" placeholder="<?php 
epl_e('First Name, Last Name, or Email');
?>
" size="50" /><button id="epl_lookup_button"><?php 
epl_e('Search');
?>
</button>
        
        <input type="hidden" name="s_key" value="<?php 
echo epl_get_element('s_key', $_REQUEST);
?>
" />
        <input type="hidden" name="scope" value="<?php 
echo epl_get_element('scope', $_REQUEST);
?>
" />
    </form>
</div>

<div id="lookup_result"></div>
<div id="epl_attendee_lookup_wrapper" class="epl_regis_attendee_wrapper" style="">
    <fieldset class="epl_fieldset" style="">

        <div class="epl_section epl_regis_field_wrapper regis_form">
            <b><?php 
epl_e('Use this dropdown to assign this registration to a member of your website');
?>
</b>


            <div  class="row_wrapper clearfix">
                <?php 
echo epl_get_element('label', $user_list_dd);
?>
                <div class="field_wrapper">
                    <?php 
echo epl_get_element('field', $user_list_dd);
?>

                    
                </div>
            </div>


        </div>
    </fieldset>
</div>
 function get_social_discount_fields()
 {
     $data['used_discount_codes'] = $this->get_used_discounts();
     //$this->fields['epl_discount_fields']['_epl_discount_forms']['options'] = $_o;
     $rows_to_display = $this->edit_mode ? count(epl_get_element('_epl_discount_code', $this->data['values'], 1)) : 1;
     $epl_fields_to_display = array_keys($this->fields['epl_social_discount_fields']);
     $_field_args = array('section' => $this->fields['epl_social_discount_fields'], 'fields_to_display' => $epl_fields_to_display, 'meta' => array('_view' => 'raw', '_type' => 'row', '_rows' => $rows_to_display, 'value' => $this->data['values'], 're_key' => false));
     $data['epl_discount_fields'] = $this->epl_util->render_fields($_field_args);
     $data['edit_mode'] = $this->edit_mode;
     return $this->epl->load_view('admin/global-discounts/discount-social-discount-fields', $data, true);
 }
    ?>
        <tr class="epl_discount_amount">

            <td class="epl_w200">
                <?php 
    echo epl_e('Donation');
    ?>

            </td>
            <td class="epl_total_price epl_w100 epl_ta_r"> <?php 
    echo epl_get_formatted_curr($money_totals['donation_amount'], null, true);
    ?>
</td>
        </tr>
    <?php 
}
?>
    <tr class="epl_grand_total">

        <td class="epl_w200"><?php 
echo epl_e('Total');
?>
</td>
        <td class="epl_total_price epl_w100 epl_ta_r"> <?php 
echo epl_get_formatted_curr(epl_get_element('grand_total', $money_totals), null, true);
?>
</td>
    </tr>


</table>