Function Reference: geodir_payment_detail_fields_update
Summary
Updates the invoice and post details after invoice created.
Global Values
- $gd_session
- (object) (required) GeoDirectory Session object.
- Default: None
Parameters
- $invoice_id
- (int) (required) The payment invoice id.
- Default: None
Change Log
Since: 1.0.0
Source Code
function geodir_payment_detail_fields_update($invoice_id) { global $gd_session; $invoice_info = geodir_get_invoice($invoice_id); if (!empty($invoice_info)) { $payment_info = array(); $payment_info['paymentmethod'] = $invoice_info->paymentmethod; $payment_info['paid_amount'] = $invoice_info->paied_amount; geodir_save_post_info($invoice_info->post_id, $payment_info); $post_status = get_post_status($invoice_info->post_id); // if listing not expired and goes to upgrade listing with same package $update = true; if (!empty($_REQUEST['price_select']) && !empty($_REQUEST['paymentmethod']) && !empty($_REQUEST['pid']) && $_REQUEST['ajax_action']=='paynow') { $session_listing = $gd_session->get('listing'); $prev_package_id = $gd_session->get('geodir_prev_package_id') ? $gd_session->get('geodir_prev_package_id') : geodir_get_post_meta($_REQUEST['pid'], 'package_id', true); $prev_expire_date = $gd_session->get('geodir_prev_expire_date') ? $gd_session->get('geodir_prev_expire_date') : geodir_get_post_meta($_REQUEST['pid'], 'expire_date', true); if ($prev_package_id == $_REQUEST['price_select'] && $prev_expire_date && strtotime($prev_expire_date) >= strtotime(date('Y-m-d'))) { $update = false; } } if (!empty($_POST['gd_pay_type']) && $_POST['gd_pay_type'] == 'renew' && $post_status != 'draft') { $update = false; } if ($update && $payment_info['paid_amount'] > 0) { $post['ID'] = $invoice_info->post_id; $post['post_status'] = 'draft'; $last_post_id = wp_update_post( $post ); } } }