protected function _get_txn_timestamp(EE_Transaction $item) { //txn timestamp // is TXN less than 2 hours old ? if (time() - EE_Registry::instance()->SSN->lifespan() < $item->datetime(false, true) && ($item->failed() || $item->is_abandoned())) { $timestamp = __('TXN in progress...', 'event_espresso'); } else { $timestamp = $item->get_i18n_datetime('TXN_timestamp'); } return $timestamp; }
/** * column_TXN_timestamp * @param \EE_Transaction $item * @return string */ function column_TXN_timestamp(EE_Transaction $item) { $view_lnk_url = EE_Admin_Page::add_query_args_and_nonce(array('action' => 'view_transaction', 'TXN_ID' => $item->ID()), TXN_ADMIN_URL); // is TXN less than 2 hours old ? if (current_time('timestamp') - EE_Registry::instance()->SSN->lifespan() < strtotime($item->datetime()) && ($item->failed() || $item->is_abandoned())) { $txn_date = '<a href="' . $view_lnk_url . '" title="' . esc_attr__('View Transaction Details for TXN #', 'event_espresso') . $item->ID() . '">' . __('TXN in progress...', 'event_espresso') . '</a>'; } else { $txn_date = '<a href="' . $view_lnk_url . '" title="' . esc_attr__('View Transaction Details for TXN #', 'event_espresso') . $item->ID() . '">' . $item->get_i18n_datetime('TXN_timestamp') . '</a>'; } return $txn_date; }
/** * _transaction_details * generates HTML for the View Transaction Details Admin page * * @access protected * @return void */ protected function _transaction_details() { do_action('AHEE__Transactions_Admin_Page__transaction_details__start', $this->_transaction); $this->_set_transaction_status_array(); $this->_template_args = array(); $this->_template_args['transactions_page'] = $this->_wp_page_slug; $this->_set_transaction_object(); $primary_registration = $this->_transaction->primary_registration(); $attendee = $primary_registration instanceof EE_Registration ? $primary_registration->attendee() : NULL; $this->_template_args['txn_nmbr']['value'] = $this->_transaction->ID(); $this->_template_args['txn_nmbr']['label'] = __('Transaction Number', 'event_espresso'); $this->_template_args['txn_datetime']['value'] = $this->_transaction->get_i18n_datetime('TXN_timestamp'); $this->_template_args['txn_datetime']['label'] = __('Date', 'event_espresso'); $this->_template_args['txn_status']['value'] = self::$_txn_status[$this->_transaction->get('STS_ID')]; $this->_template_args['txn_status']['label'] = __('Transaction Status', 'event_espresso'); $this->_template_args['txn_status']['class'] = 'status-' . $this->_transaction->get('STS_ID'); $this->_template_args['grand_total'] = $this->_transaction->get('TXN_total'); $this->_template_args['total_paid'] = $this->_transaction->get('TXN_paid'); if ($attendee instanceof EE_Attendee && EE_Registry::instance()->CAP->current_user_can('ee_send_message', 'espresso_transactions_send_payment_reminder')) { $this->_template_args['send_payment_reminder_button'] = EEH_MSG_Template::is_mt_active('payment_reminder') && $this->_transaction->get('STS_ID') != EEM_Transaction::complete_status_code && $this->_transaction->get('STS_ID') != EEM_Transaction::overpaid_status_code ? EEH_Template::get_button_or_link(EE_Admin_Page::add_query_args_and_nonce(array('action' => 'send_payment_reminder', 'TXN_ID' => $this->_transaction->ID(), 'redirect_to' => 'view_transaction'), TXN_ADMIN_URL), __(' Send Payment Reminder', 'event_espresso'), 'button secondary-button right', 'dashicons dashicons-email-alt') : ''; } else { $this->_template_args['send_payment_reminder_button'] = ''; } $amount_due = $this->_transaction->get('TXN_total') - $this->_transaction->get('TXN_paid'); $this->_template_args['amount_due'] = EEH_Template::format_currency($amount_due, TRUE); if (EE_Registry::instance()->CFG->currency->sign_b4) { $this->_template_args['amount_due'] = EE_Registry::instance()->CFG->currency->sign . $this->_template_args['amount_due']; } else { $this->_template_args['amount_due'] = $this->_template_args['amount_due'] . EE_Registry::instance()->CFG->currency->sign; } $this->_template_args['amount_due_class'] = ''; if ($this->_transaction->get('TXN_paid') == $this->_transaction->get('TXN_total')) { // paid in full $this->_template_args['amount_due'] = FALSE; } elseif ($this->_transaction->get('TXN_paid') > $this->_transaction->get('TXN_total')) { // overpaid $this->_template_args['amount_due_class'] = 'txn-overview-no-payment-spn'; } elseif ($this->_transaction->get('TXN_total') > 0 && $this->_transaction->get('TXN_paid') > 0) { // monies owing $this->_template_args['amount_due_class'] = 'txn-overview-part-payment-spn'; } elseif ($this->_transaction->get('TXN_total') > 0 && $this->_transaction->get('TXN_paid') == 0) { // no payments made yet $this->_template_args['amount_due_class'] = 'txn-overview-no-payment-spn'; } elseif ($this->_transaction->get('TXN_total') == 0) { // free event $this->_template_args['amount_due'] = FALSE; } $payment_method = $this->_transaction->payment_method(); $this->_template_args['method_of_payment_name'] = $payment_method instanceof EE_Payment_Method ? $payment_method->admin_name() : __('Unknown', 'event_espresso'); $this->_template_args['currency_sign'] = EE_Registry::instance()->CFG->currency->sign; // link back to overview $this->_template_args['txn_overview_url'] = !empty($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : TXN_ADMIN_URL; // next link $next_txn = $this->_transaction->next(null, array(array('STS_ID' => array('!=', EEM_Transaction::failed_status_code))), 'TXN_ID'); $this->_template_args['next_transaction'] = $next_txn ? $this->_next_link(EE_Admin_Page::add_query_args_and_nonce(array('action' => 'view_transaction', 'TXN_ID' => $next_txn['TXN_ID']), TXN_ADMIN_URL), 'dashicons dashicons-arrow-right ee-icon-size-22') : ''; // previous link $previous_txn = $this->_transaction->previous(null, array(array('STS_ID' => array('!=', EEM_Transaction::failed_status_code))), 'TXN_ID'); $this->_template_args['previous_transaction'] = $previous_txn ? $this->_previous_link(EE_Admin_Page::add_query_args_and_nonce(array('action' => 'view_transaction', 'TXN_ID' => $previous_txn['TXN_ID']), TXN_ADMIN_URL), 'dashicons dashicons-arrow-left ee-icon-size-22') : ''; // were we just redirected here after adding a new registration ??? if (isset($this->_req_data['redirect_from'], $this->_req_data['EVT_ID'], $this->_req_data['event_name'])) { if (EE_Registry::instance()->CAP->current_user_can('ee_edit_registrations', 'espresso_registrations_new_registration', $this->_req_data['EVT_ID'])) { $this->_admin_page_title .= '<a id="add-new-registration" class="add-new-h2 button-primary" href="'; $this->_admin_page_title .= EE_Admin_Page::add_query_args_and_nonce(array('page' => 'espresso_registrations', 'action' => 'new_registration', 'return' => 'default', 'TXN_ID' => $this->_transaction->ID(), 'event_id' => $this->_req_data['EVT_ID']), REG_ADMIN_URL); $this->_admin_page_title .= '">'; $this->_admin_page_title .= sprintf(__('Add Another New Registration to Event: "%1$s" ?'), htmlentities(urldecode($this->_req_data['event_name']), ENT_QUOTES, 'UTF-8')); $this->_admin_page_title .= '</a>'; } EE_Registry::instance()->SSN->clear_session(__CLASS__, __FUNCTION__); } // grab messages at the last second $this->_template_args['notices'] = EE_Error::get_notices(); // path to template $template_path = TXN_TEMPLATE_PATH . 'txn_admin_details_header.template.php'; $this->_template_args['admin_page_header'] = EEH_Template::display_template($template_path, $this->_template_args, TRUE); // the details template wrapper $this->display_admin_page_with_sidebar(); }