/*background-color: #e9e9e9;*/
        margin:10px;
        border:1px solid #eee;
        padding:10px 20px;
        overflow: hidden;
}




</style>

<div id="epl_user_schedule_wrapper">

    <form action="<?php 
echo epl_get_url();
?>
" method="post">



            <?php 
foreach ($list as $regis_info) {
    ?>
                <div class="epl_user_schedule_ind_wrapper">


                <?php 
    echo $regis_info;
    ?>
            </div>
function epl_get_send_email_button($regis_id = false, $event_id = false, $img = false)
{
    $send_email_arr = array('epl_action' => 'get_the_email_form', 'epl_controller' => 'epl_report_manager', 'event_id' => $event_id, 'post_ID' => $regis_id);
    $anchor = epl__('Send Email');
    $class = 'button-primary';
    if ($img) {
        $anchor = '<img src="' . EPL_FULL_URL . 'images/email.png" />';
        $class = '';
    }
    return epl_anchor(add_query_arg($send_email_arr, epl_get_url()), $anchor, null, "class='epl_send_email_form_link {$class}' data-post_ID='{$regis_id}' data-event_id='{$event_id}'");
}
 function payson_process($ipn = false)
 {
     global $event_details;
     $event_id = $this->erm->get_current_event_id();
     //key( ( array ) $_SESSION['__epl'][$regis_id]['events'] );
     if (is_null($event_id)) {
         return false;
     }
     $this->epl->load_file('libraries/gateways/payson/paysonapi.php');
     $url = epl_get_url();
     $regis_id = epl_get_element('regis_id', $_REQUEST, $this->erm->get_regis_id());
     $post_ID = epl_get_element('trackingId', $_REQUEST) ? intval(epl_get_element('trackingId', $_REQUEST)) : $this->erm->get_regis_post_id();
     if (!$ipn) {
         $gwID = epl_get_element('custom', $_REQUEST) ? intval(epl_get_element('custom', $_REQUEST)) : $this->erm->get_payment_profile_id();
         $gw_credentials = $this->_get_credentials($gwID, array('_epl_seller_email'));
         $credentials = new PaysonCredentials($gw_credentials['_epl_user'], $gw_credentials['_epl_pwd']);
         $api = new PaysonApi($credentials);
     }
     // echo "<pre class='prettyprint'>" . __LINE__ . "> " . print_r(get_post_meta($post_ID, '_epl_payment_method'), true). "</pre>";
     //ipn processor
     if ($ipn && $post_ID) {
         $gwID = get_post_meta($post_ID, '_epl_payment_method', true);
         $gw_credentials = $this->_get_credentials($gwID, array('_epl_seller_email'));
         $credentials = new PaysonCredentials($gw_credentials['_epl_user'], $gw_credentials['_epl_pwd']);
         $api = new PaysonApi($credentials);
         $postData = file_get_contents("php://input");
         $response = $api->validate($postData);
         if ($response->isVerified()) {
             // IPN request is verified with Payson
             // Check details to find out what happened with the payment
             $details = $response->getPaymentDetails();
             $data['post_ID'] = $post_ID;
             $data['_epl_regis_status'] = 5;
             $data['_epl_payment_amount'] = get_post_meta($post_ID, '_epl_grand_total', true);
             //$details->receivers[0]['amount'];
             $data['_epl_payment_date'] = current_time('mysql');
             //$data['_epl_transaction_id'] = $details->purchaseId;
             //$data = apply_filters( 'epl_payson_before_update_db', $data );
             $this->erm->update_payment_data($data);
         }
         return true;
     }
     $this->ecm->setup_event_details($event_id);
     $_totals = $this->erm->calculate_cart_totals();
     $returnUrl = add_query_arg(array('cart_action' => false, 'trackingId' => $post_ID, 'gw_id' => $gwID, 'custom' => $gwID, 'epl_action' => '_payson_success'), $url);
     $cancelUrl = add_query_arg(array('cart_action' => false, 'trackingId' => $post_ID, 'gw_id' => $gwID, 'custom' => $gwID, 'epl_action' => 'regis_form'), $url);
     $ipnUrl = add_query_arg(array('cart_action' => false, 'trackingId' => $post_ID, 'gw_id' => $gwID, 'custom' => $gwID, 'epl_action' => '_payson_ipn'), $url);
     $buyer_email = $this->erm->get_primary_field_value('email');
     $buyer_f_name = $this->erm->get_primary_field_value('first_name');
     $buyer_l_email = $this->erm->get_primary_field_value('last_name');
     $total = $_totals['money_totals']['grand_total'];
     $description = $event_details['post_title'];
     $receiver = new Receiver($gw_credentials['_epl_seller_email'], number_format($total, 2, ',', ''));
     // The amount you want to charge the user, here in SEK (the default currency)
     $receivers = array($receiver);
     $sender = new Sender($buyer_email, $buyer_f_name, $buyer_l_email);
     $payData = new PayData($returnUrl, $cancelUrl, $ipnUrl, $description, $sender, $receivers);
     // Set guarantee options
     $payData->setGuaranteeOffered(GuaranteeOffered::NO);
     /*
      * Step 2 initiate payment
      */
     $payResponse = $api->pay($payData);
     /*
      * Step 3: verify that it suceeded
      */
     if ($payResponse->getResponseEnvelope()->wasSuccessful()) {
         $data['post_ID'] = $post_ID;
         $data['_epl_regis_status'] = 2;
         $data['_epl_grand_total'] = number_format(epl_get_balance_due(), 2);
         $data['_epl_payment_amount'] = 0;
         $data['_epl_payment_date'] = '';
         $data['_epl_payment_method'] = $gwID;
         $data['_epl_transaction_id'] = '';
         $data['_epl_prediscount_total'] = number_format(epl_get_element('pre_discount_total', $_totals['money_totals'], 0), 2);
         $data['_epl_discount_amount'] = number_format(epl_get_element('discount_amount', $_totals['money_totals'], 0), 2);
         $data = apply_filters('epl_payson_before_update_db', $data);
         $this->erm->update_payment_data($data);
         return $payResponse;
         //need to return the $payResponse object
     } else {
         return false;
     }
 }
 function construct_form($scope, $event_id, $forms, $attendee_number, $price_name = '', $price_id = null, $date_display = null)
 {
     static $ticket_number = 0;
     //keeps track of the attendee count for dispalay
     static $primary_counter = 1;
     //keeps track of the attendee count for dispalay
     static $primary_forms = array();
     global $event_details, $customer_email, $customer_name, $regis_details;
     global $email_regis_form;
     //TODO temp solution
     $has_email_field = false;
     if (!is_array($customer_email)) {
         $customer_email = array();
         $customer_name = array();
     }
     if ($email_regis_form == '') {
         $ticket_number = 0;
     }
     if ($scope != 'waitlist' && ($this->pulling_forms == 'pri' && $this->num_events_in_cart > 1 && $primary_counter < $this->num_events_in_cart)) {
         $ticket_number = 0;
         $primary_forms += $forms;
         $primary_counter++;
         return '';
     }
     $ur_specific = '';
     if ($scope == 'ticket_buyer' && !is_user_logged_in() && epl_um_is_enabled() && $this->add_new_user_enable() != 0 && $this->add_new_user_method() == 1) {
         $ur_specific = epl__("This email will be used to grant you membership access to our website.");
         if (!$this->add_new_user_show_pass_fields()) {
             $ur_specific .= '<br />' . epl__("  You will receive an email with your password after completing this registration.");
         }
         if ($this->mode != 'overview') {
             $ur_specific .= '<br />' . sprintf(epl__("If you are already a member of the website, please %s"), "<a href=" . wp_login_url(epl_get_url()) . " class='' title='Login'>" . epl__('Login Here') . "</a>");
         }
     }
     if ($ticket_number == 0 && !empty($primary_forms)) {
         $forms += $primary_forms;
     }
     $vals = $this->get_relevant_regis_values();
     //if data has already been entered into the session, get that data
     //$ticket_number = $attendee_number;
     $data['mode'] = $this->mode;
     //to compensate for pre 1.2.9 data
     if (!is_null($price_id) && version_compare(epl_regis_plugin_version(), '1.2.9', '<')) {
         if ($temp_price_id != $price_id) {
             $temp_price_id = $price_id;
             $ticket_number = 1;
         }
     }
     $data['ticket_number'] = $ticket_number;
     //counter
     $ticket_number = $attendee_number;
     //counter
     $data['ticket_counter_label'] = epl_get_element('_epl_addit_regis_form_counter_label', $event_details, epl__('Attendee'));
     //counter
     $data['price_name'] = $date_display != '' ? $date_display . ' - ' . $price_name : $price_name;
     //ticket name
     //if it is the ticket buyer form (the main required form)
     if ($scope == 'ticket_buyer') {
         unset($data['ticket_number']);
         unset($data['price_name']);
     }
     $data['copy_link'] = false;
     if ($scope == 'regis_forms') {
         $data['copy_link'] = epl_get_element('_epl_enable_form_to_form_copy', $event_details, 0) == 10 || epl_get_setting('epl_sc_options', 'epl_sc_form_to_form_copy', 0) == 10;
     }
     $data['fields'] = '';
     $data['forms'] = '';
     $data['form'] = '';
     $data['email_fields'] = '';
     $data['email_body_form'] = '';
     $available_fields = (array) $this->ecm->get_list_of_available_fields();
     //get the list of all available fields made with form manager
     $who_to_email = epl_get_setting('epl_registration_options', 'epl_send_customer_confirm_message_to', 1);
     if ($who_to_email == 2 || !epl_has_primary_forms()) {
         $who_to_email = 2;
     }
     foreach ($forms as $form_id => $form_atts) {
         $r = '';
         $data['fields'] = '';
         $data['email_fields'] = '';
         $epl_fields_inside_form = array_flip($form_atts['epl_form_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);
         //for each field, there are attributes, like name, label, ....
         foreach ($epl_fields_to_display as $field_id => $field_atts) {
             if ($field_atts['input_type'] == 'hidden' && !EPL_IS_ADMIN) {
                 continue;
             }
             if (epl_get_element('admin_only', $field_atts, 0) == 10 && !epl_user_is_admin() && !EPL_IS_ADMIN) {
                 continue;
             }
             //if the field choices values are not given for select, radio, or checkbox
             //we will use field labels as values
             if (!array_filter((array) $field_atts['epl_field_choice_value'], 'trim')) {
                 $options = $field_atts['epl_field_choice_text'];
             } else {
                 $options = array_combine($field_atts['epl_field_choice_value'], $field_atts['epl_field_choice_text']);
             }
             //this will give the ability to select more than one option, for checkboxes and later, selects
             $adjuster = $field_atts['input_type'] == 'checkbox' ? '[]' : '';
             $_price_id_adjuster = !is_null($price_id) ? "[{$price_id}]" : null;
             $event_id_adjuster = "[{$event_id}]";
             /* $_val = ($vals != ''
                && epl_get_element( $field_atts['input_name'], $vals ) && epl_get_element( $event_id, $vals[$field_atts['input_name']] ) )
                ? epl_get_element( $ticket_number, (is_null( $_price_id_adjuster )? $vals[$field_atts['input_name']][$event_id]
                : epl_get_element( $price_id, $vals[$field_atts['input_name']][$event_id] ) ) )
                : null; */
             //echo "<pre class='prettyprint'>" . __LINE__ . "> $price_id " . print_r( $_price_id_adjuster, true ) . "</pre>";
             $_val = null;
             if ($vals != '') {
                 if (epl_get_element($field_atts['input_name'], $vals)) {
                     //not sure why I had || in here
                     if (isset($vals[$field_atts['input_name']][$ticket_number])) {
                         $_val = epl_get_element($ticket_number, $vals[$field_atts['input_name']]);
                         /* if ( !is_null( $price_id ) ){
                            $_val = epl_get_element_m($ticket_number, $price_id, $_val );
                            echo "<pre class='prettyprint'>" . __LINE__ . ">$ticket_number " . print_r($_val, true). "</pre>";
                            } */
                     } elseif (!empty($_POST['deleted_event'])) {
                         //if this element is posted, that means an event was removed from the cart.
                         //it will contain the event id, price id and the quantities.
                         $vals = $this->get_old_regis_values();
                         //get the values that were save in the db previously
                         foreach ($_POST['deleted_event'] as $deleted_event_id => $deleted_data) {
                             foreach ($deleted_data as $deleted_price_id => $quantities) {
                                 if ($quantities == 0) {
                                     continue;
                                 }
                                 if (is_null($_price_id_adjuster)) {
                                     $_val = epl_get_element($ticket_number, $vals[$field_atts['input_name']][$deleted_event_id]);
                                 } else {
                                     $_val = epl_get_element($ticket_number, epl_get_element($deleted_price_id, $vals[$field_atts['input_name']][$deleted_event_id]));
                                 }
                                 if ($_val != '') {
                                     break 2;
                                 }
                             }
                         }
                     } elseif (epl_get_element($event_id, $vals[$field_atts['input_name']])) {
                         if (is_null($_price_id_adjuster)) {
                             $_val = epl_get_element($ticket_number, $vals[$field_atts['input_name']][$event_id]);
                         } else {
                             $_val = epl_get_element($ticket_number, epl_get_element($price_id, $vals[$field_atts['input_name']][$event_id]));
                         }
                     }
                 }
             }
             if ($scope == 'ticket_buyer' || $scope == 'waitlist') {
                 $event_id_adjuster = '';
             }
             $args = array('input_type' => $field_atts['input_type'], 'input_name' => $field_atts['input_name'] . $event_id_adjuster . $_price_id_adjuster . "[{$ticket_number}]" . $adjuster, 'label' => $field_atts['label'], 'description' => $field_atts['description'] . ($field_atts['input_name'] == '4e794a6eeeb9a' ? $ur_specific : ''), 'required' => $field_atts['required'], 'validation' => epl_get_element('validation', $field_atts, ''), 'options' => $options, 'value' => $_val, 'class' => 'epl_field epl_field-' . $field_atts['input_type'], 'data_attr' => array('ticket_no' => $ticket_number));
             if (empty($_val)) {
                 $last_regis_data = $this->epl_get_last_regis_form_data_values($ticket_number);
                 if (!epl_is_empty_array($last_regis_data)) {
                     $args['default_value'] = epl_get_element($field_atts['input_name'], $last_regis_data);
                 } elseif ($ticket_number == 0) {
                     $def_val = apply_filters('epl_construct_form_default_value', $field_atts);
                     $args['default_value'] = !is_array($def_val) && !is_null($def_val) ? $def_val : $field_atts['default_value'];
                 } else {
                     $args['default_value'] = $field_atts['default_value'];
                 }
             }
             if ($who_to_email == 1 && $ticket_number == 0 || $who_to_email == 2) {
                 if (stripos($field_atts['input_slug'], 'email') !== false) {
                     $customer_email[$ticket_number] = $args['value'];
                     $has_email_field = true;
                 }
                 if (stripos($field_atts['input_slug'], 'first_name') !== false || stripos($field_atts['input_slug'], 'last_name') !== false) {
                     $customer_name[$ticket_number][$field_atts['input_slug']] = $args['value'];
                 }
             }
             //if overview, we don't want to display the field, just the value
             if ($this->mode == 'overview') {
                 $args += (array) $this->overview_trigger;
                 unset($args['required']);
             }
             $data['el'] = $this->epl_util->create_element($args, 0);
             $data['fields'] .= $this->epl->load_view($this->dest . '/registration/regis-field-row', $data, true);
             $data['email_fields'] .= $this->epl->load_view($this->dest . '/registration/regis-email-field-row', $data, true);
         }
         $data['event_title'] = $event_details['post_title'];
         $data['form_label'] = isset($form_atts['epl_form_options']) && in_array(0, (array) $form_atts['epl_form_options']) ? $form_atts['epl_form_label'] : '';
         $data['form_descr'] = isset($form_atts['epl_form_options']) && in_array(10, (array) $form_atts['epl_form_options']) ? $form_atts['epl_form_descritption'] : '';
         $r = $this->epl->load_view($this->dest . '/registration/regis-form-wrap', $data, true);
         $data['form'] .= $r;
         $data['email_body_form'] = $this->epl->load_view($this->dest . '/registration/regis-email-form-wrap', $data, true);
         $email_regis_form .= $data['email_body_form'];
     }
     if ($scope == 'ticket_buyer' || !epl_has_primary_forms()) {
         /*
          * - if enabled for all events
          * - and not set to no for this event
          * - or set to yes for this event
          */
         $global_newsletter_ok = false;
         if (epl_get_setting('epl_api_option_fields', 'epl_mc_key') != '' && epl_get_setting('epl_api_option_fields', 'epl_mc_action') != 0 && epl_get_element('_epl_offer_notification_sign_up', $event_details) != 0) {
             $global_newsletter_ok = true;
         }
         if ($has_email_field && epl_get_setting('epl_api_option_fields', 'epl_mc_action') != 0 && (epl_get_element('_epl_offer_notification_sign_up', $event_details) == 1 && $global_newsletter_ok)) {
             $_newsletter_signup = array('input_type' => 'select', 'input_name' => "newsletter_signup[{$ticket_number}]", 'label' => epl_get_setting('epl_api_option_fields', 'epl_mc_permission_label'), 'options' => epl_yes_no(), 'value' => epl_get_element($ticket_number, $this->current_data[$this->regis_id]['newsletter_signup']), 'class' => 'epl_w70');
             $data['el'] = $this->epl_util->create_element($_newsletter_signup + (array) $this->overview_trigger, 0);
             $data['form'] .= '<div class="epl_section epl_regis_field_wrapper regis_form">' . $this->epl->load_view($this->dest . '/registration/regis-field-row', $data, true) . '</div>';
         }
     }
     //if ( $event_details[''] )
     //  $copy_from = '';
     if ($this->mode != 'overview' && $data['copy_link'] || $this->on_admin) {
         $copy_from = '<a href="#" style="float:right;" class="epl_copy_from epl_button_small">' . epl__('Copy From') . '</a>';
     }
     $lookup_form = epl_get_element('epl_m', $_POST, 0) == 0 && epl_um_is_enabled() && epl_user_is_admin() && $this->mode == 'edit' ? ' <a href="#"  style="float:right;" class="open_lookup_form epl_button_small">' . epl__('Lookup') . '</a>' : '';
     if ($ticket_number == 0) {
         $edit_profile_link = apply_filters('epl_edit_profile_link', null);
         $ticket_buyer_legend = apply_filters('epl_ticket_buyer_form_legend', epl__('Primary Registrant'));
         $r = "<div id='epl_form_section--0' class='epl_regis_attendee_wrapper'><fieldset class='epl_fieldset'><legend>" . $ticket_buyer_legend . ' ' . $edit_profile_link . "</legend>" . $lookup_form . $data['form'] . '</fieldset></div>';
     } else {
         $delete_att = '';
         if (EPL_IS_ADMIN) {
             $delete_att = "<a href='#' class='epl_button_small epl_admin_del_attendee' data-event_id='{$event_details['ID']}' data-price_id='{$price_id}' data-ticket_no={$ticket_number}>" . epl__("Delete") . "</a>";
             $data['form'] .= "<input type='hidden' class='epl_ticket_no-{$event_id}-{$price_id}' value='{$ticket_number}' />";
         }
         $r = "<div id='epl_form_section--" . (isset($ticket_number) ? $event_id . '-' . $price_id . '-' . $ticket_number : 0) . "' class='epl_regis_attendee_wrapper'><fieldset class='epl_fieldset'><legend>" . $data['ticket_counter_label'] . ' ' . $ticket_number . ': ' . $data['price_name'] . " - {$event_details['post_title']}</legend> {$lookup_form} {$copy_from} {$delete_att}" . $data['form'] . '</fieldset></div>';
     }
     $ticket_number++;
     return $r;
 }
        function epl_column_data($column_name, $post_ID)
        {
            global $epl_fields, $event_details, $event_snapshot;
            $this->ecm->setup_event_details($post_ID);
            $this->erm->event_snapshot($post_ID);
            switch ($column_name) {
                case 'id':
                    echo $post_ID;
                    break;
                case 'location':
                    echo get_the_location_name();
                    break;
                case 'status':
                    $s = epl_get_event_status(true);
                    $class = 'status_' . key($s);
                    echo "<span class='status {$class}'>" . current($s) . '</span>';
                    break;
                    /*  case 'epl_categories':
                    
                                      foreach ( wp_get_object_terms( $id, 'epl_categories' ) as $tax )
                                      $r[] = $tax->name;
                    
                                      echo!is_array( $r ) ? '' : implode( ", ", $r );
                    
                                      break; */
                /*  case 'epl_categories':
                
                                  foreach ( wp_get_object_terms( $id, 'epl_categories' ) as $tax )
                                  $r[] = $tax->name;
                
                                  echo!is_array( $r ) ? '' : implode( ", ", $r );
                
                                  break; */
                case 'start_date':
                    $base_url = epl_get_url();
                    $event_regis_data = current($event_snapshot);
                    $table_link_arr = array('epl_action' => 'view_names', 'epl_download_trigger' => 1, 'table_view' => 1, 'epl_controller' => 'epl_report_manager', 'event_id' => $event_id);
                    $csv_link_arr = array('epl_action' => 'epl_attendee_list', 'epl_download_trigger' => 1, 'epl_controller' => 'epl_registration', 'event_id' => $event_id);
                    if (epl_is_empty_array($event_regis_data)) {
                        break;
                    }
                    $counter = 1;
                    foreach ($event_regis_data as $date_id => $date_data) {
                        $last_day = end($event_details['_epl_start_date']);
                        if ($last_day > EPL_DATE && ($event_details['_epl_event_status'] == 1 && $date_data['date']['timestamp'] < EPL_DATE) || $counter > 1) {
                            continue;
                        }
                        $counter++;
                        $date = $date_data['date']['disp'];
                        $date_capacity = epl_get_element_m($date_id, '_epl_date_capacity', $event_details);
                        $times = $date_data['time'];
                        ?>

                        <table id="event_snapshot_table" class="event_snapshot_sorting">
                            <thead>
                                <tr>
                                    <th><?php 
                        epl_e('Date');
                        ?>
</th>
                                    <th><?php 
                        epl_e('Time');
                        ?>
</th>
                                    <th><?php 
                        epl_e('Attendees');
                        ?>
</th>
                                    <th></th>
                                </tr>

                            </thead>

                            <?php 
                        foreach ($times as $time_id => $time_data) {
                            if (epl_is_date_level_time() && !epl_is_empty_array($date_specifc_time) && (!isset($date_specifc_time[$time_id]) || !isset($date_specifc_time[$time_id][$date_id]))) {
                                continue;
                            }
                            $time_capacity = epl_get_element_m($time_id, '_epl_time_capacity', $event_details);
                            $capacity = $time_capacity ? $time_capacity : ($date_capacity ? $date_capacity : epl_get_element_m($date_id, '_epl_date_per_time_capacity', $event_details));
                            $dt_array = array('date_id' => $date_id, 'time_id' => $time_id, 'event_id' => $post_ID);
                            $table_link_arr = array_merge($table_link_arr, $dt_array);
                            $csv_link_arr += $dt_array;
                            ?>

                                <tr class="epl_date_time">

                                    <td><?php 
                            echo date_i18n('D M d, Y', epl_get_date_timestamp(epl_get_element($date_id, $event_details['_epl_start_date'])));
                            ?>
</td>

                                    <?php 
                            if (epl_is_time_optonal()) {
                                ?>
                                        <td colspan="1"> - </td>
                                    <?php 
                            } else {
                                ?>
                                        <td><?php 
                                echo $time_data['disp'];
                                ?>
</td>

                                    <?php 
                            }
                            ?>

                                    <td><?php 
                            echo $time_data['regis'];
                            ?>
 / <?php 
                            echo $capacity ? $capacity : '&#8734;';
                            ?>
</td>


                                    <td>
                                        <?php 
                            echo epl_anchor(add_query_arg(array_merge($table_link_arr, $dt_array) + array('names_only' => 1), $base_url), epl__('View Attendees'), null, 'class="epl_view_attendee_list_table button-secondary"');
                            $table_link_arr['epl_action'] = 'epl_attendee_list';
                            $table_link_arr['epl_controller'] = 'epl_registration';
                            echo epl_anchor(add_query_arg($table_link_arr, $base_url), epl__('View Full Data'), null, 'class="epl_view_attendee_list_table button-secondary"');
                            echo epl_anchor(add_query_arg(array_merge($csv_link_arr, $dt_array), $base_url), epl__('Export CSV'), null, 'class="button-secondary"');
                            //echo  epl_anchor( $_SERVER['PHP_SELF'] . '&epl_action=epl_event_snapshot&event_id=' . $post->ID, epl__( 'Snapshot' ), '_blank', "class='epl_event_snapshot' data-event_id = '" . $post->ID . "'" );
                            ?>


                                    </td>

                                </tr>

                                <?php 
                        }
                    }
                    ?>


                    </table>
                    <?php 
                    break;
                default:
                    break;
                case 'actions':
                    $url_vars = array('epl_action' => 'duplicate_event', 'event_id' => $post_ID);
                    $url = add_query_arg($url_vars, epl_get_url());
                    echo " <a href='epl_action=duplicate_event&event_id={$post_ID}'><img src='" . EPL_FULL_URL . "images/status_online.png' title='" . epl__('Attendees') . "' alt='" . epl__('Attendees') . "' /></a>";
                    echo " <a href='epl_action=duplicate_event&event_id={$post_ID}'><img src='" . EPL_FULL_URL . "images/doc_excel_csv.png' title='" . epl__('Attendees') . "' alt='" . epl__('Attendees') . "' /></a>";
                    break;
            }
            // end switch
        }
</th>

                <th><?php 
    epl_e('Status');
    ?>
</th>
                <th></th>


            </tr>

        </thead>    
        <tbody>
            <?php 
    global $event_details;
    $base_url = epl_get_url();
    foreach ($user_bookings as $regis) {
        $event_id = $regis->event_id;
        setup_event_details($event_id);
        //date capacity
        $date_capacity = epl_get_element_m($regis->date_id, '_epl_date_capacity', $event_details, '&infin;');
        //if there is time capacity, grab that or default to date capacity
        $capacity = epl_get_element_m($regis->time_id, '_epl_time_capacity', $event_details, $date_capacity);
        //get counts for this event, cached
        $counts = $erptm->get_attendee_counts($event_id);
        //count date specific key
        $counts_day_key = $event_id . "_time_{$regis->date_id}";
        //counts time specific key
        $counts_time_key = $event_id . "_time_{$regis->date_id}_{$regis->time_id}";
        //if count for that time exists, get num regis, defaults to 0
        $num_regis = epl_get_element('_total_att_' . $counts_time_key, $counts, 0);
 function column_data($column_name, $post_ID)
 {
     global $epl_fields, $event_details, $regis_details;
     $this->regis_meta = $this->ecm->setup_regis_details($post_ID);
     $regis_id = $this->regis_meta['__epl']['_regis_id'];
     $event_id = '';
     $event_name = '';
     $num_attendees = '';
     if (isset($this->regis_meta['_epl_events']) && !empty($this->regis_meta['_epl_events'])) {
         $event_id = key($this->regis_meta['_epl_events']);
         $this->ecm->setup_event_details($event_id);
         //$event_name = get_post( $event_id )->post_title;
         $event_name = $event_details['post_title'];
         $href = add_query_arg(array('epl_action' => 'epl_attendee_list', 'epl_download_trigger' => 1, 'event_id' => $event_id), epl_get_url());
         $xl_href = add_query_arg(array('epl_action' => 'epl_excel_attendee_list', 'epl_download_trigger' => 1, 'post_ID' => $post_ID, 'event_id' => $event_id), epl_get_url());
         //$event_name = '<a href="' . $href . '"><img src="' . EPL_FULL_URL . 'images/doc_excel_csv.png" /></a> <a data-post_id = "' . $post_ID . '" data-event_id="' . $event_id . '" class="epl_event_snapshot" href="#"><img id = "' . $event_id . '"  src="' . EPL_FULL_URL . 'images/application_view_list.png" /> </a><span class="">' . $event_name . '</span>';
         //$xevent_name = '<a href="' . $xl_href . '"><img src="' . EPL_FULL_URL . 'images/doc_excel_csv.png" /></a>';
         //$event_name = $xevent_name . '<a href="' . $href . '"><img src="' . EPL_FULL_URL . 'images/doc_excel_csv.png" /></a><span class="event_name">' . $event_name . '</span>';
         $xevent_name = '<span class="event_name1">' . $event_name . '</span><br />';
         //<a href="' . $xl_href . '">Excel</a>, ';
         $event_name = $xevent_name . '<a href="' . $href . '">CSV</a>';
     }
     switch ($column_name) {
         case 'attendees':
             if (is_array($this->regis_meta['__epl'][$regis_id]['_attendee_info']) && is_array($this->personal_field_ids)) {
                 $d = array_intersect_key($this->regis_meta['__epl'][$regis_id]['_attendee_info'], $this->personal_field_ids);
                 $r = array();
                 $fn = epl_array_flatten(current($d));
                 $ln = epl_array_flatten(next($d));
                 foreach ((array) $fn as $k => $v) {
                     $r[] = $v . ' ' . stripslashes_deep(html_entity_decode(htmlspecialchars_decode(epl_get_element($k, $ln)), ENT_QUOTES, 'UTF-8'));
                 }
                 echo implode('<br>', array_unique($r));
             }
             break;
         case 'id':
             echo $post_ID;
             break;
         case 'event':
             //TODO move to view
             $data = array();
             echo '<table class="epl_regis_list_regis_details">';
             foreach ((array) $this->regis_meta['__epl'][$regis_id]['_events'] as $event_id => $totals) {
                 setup_event_details($event_id);
                 $data['event_name'] = $event_details['post_title'];
                 $data['quantity'] = epl_get_element($event_id, epl_get_element_m('total', '_att_quantity', $totals), 0);
                 if ($data['quantity'] == 0) {
                     //1.3 fix
                     foreach ($this->regis_meta['__epl'][$regis_id]['_dates']['_att_quantity'][$event_id] as $pr => $q) {
                         $data['quantity'] += array_sum($q);
                     }
                 }
                 $link = epl_anchor(admin_url('post.php?post=' . $event_details['ID'] . '&action=edit'), $event_details['post_title']);
                 echo "<tr><td>{$link}</td><td class='qty'>{$data['quantity']}</td></tr>";
             }
             echo '</table>';
             break;
         case 'num_attendees':
             /*
              $this->get_values( $post_ID );
              $data['event_id'] = $event_id;
             
              //events, dates, times, prices, quantities
              $data['cart_data'] = $this->earm->__in( $this->event_meta + $this->regis_meta )->show_cart();
              echo $this->epl->load_view( 'admin/registration/regis-list-cart-section', $data, true );
             */
             $num_attendees = $this->regis_meta['_total_att_' . $event_id];
             if (epl_is_waitlist_record()) {
                 foreach ($this->regis_meta as $key => $value) {
                     if (strpos($key, "_total_waitlist_att_") !== false) {
                         $num_attendees = $value . ' (' . epl__('waitlist') . ')';
                         break;
                     }
                 }
             }
             echo "<span class='num_attendees'>{$num_attendees}</span> ";
             if ($num_attendees > 0) {
                 $href = add_query_arg(array('epl_action' => 'epl_regis_snapshot', 'post_ID' => $post_ID, 'event_id' => $event_id), epl_get_url());
                 echo ' <a data-post_id = "' . $post_ID . '" data-event_id="' . $event_id . '" class="epl_regis_snapshot" href="#"><img src="' . EPL_FULL_URL . 'images/application_view_list.png" /> </a>';
             }
             echo epl_get_send_email_button($post_ID, $event_id, true);
             break;
         case 'payment_status':
             $payment_info = $this->payment_info_box($post_ID);
             echo $payment_info;
             $notes = epl_get_element('_epl_regis_note', $this->regis_meta, null);
             if ($notes) {
                 $notes = get_post_meta($post_ID, '_epl_regis_note', false);
                 foreach ($notes as $note) {
                     $d = date_i18n('Y-m-d H:i', $note['timestamp']);
                     echo "<p>{$note['action']}<span style='float:right'>{$d}</span></p>";
                 }
             }
             break;
         case 'payment':
             echo "Payment Info";
             break;
         default:
             break;
     }
     // end switch
 }
Ejemplo n.º 8
0
 function check_for_waitlist()
 {
     if (epl_is_waitlist_record() && !epl_is_waitlist_session_approved()) {
         if (!epl_is_valid_url_hash()) {
             return epl__('There seems to be something wrong with the url.  Please contact the website administrator.');
         }
         if (!epl_is_waitlist_approved()) {
             return epl__('This waitlist has not been approved.');
         }
         if (epl_is_waitlist_link_expired()) {
             return epl__('This link has expired.');
         }
         $_SESSION['__epl']['waitlist_approved'] = intval($_GET['event_id']);
         $this->erm->setup_current_data();
         wp_redirect(add_query_arg(array('epl_rid' => false, 'epl_wlh' => false), epl_get_url()));
         die;
     }
     return true;
 }