Function Reference: geodir_payment_send_invoice

Summary

This function has not been documented yet.

Filters

‘geodir_payment_send_invoice_tax_details’ [Line: 4872]

‘geodir_payment_send_invoice_discount_details’ [Line: 4873]

‘geodir_payment_send_invoice_listing_details’ [Line: 4874]

‘geodir_payment_send_invoice_package_details’ [Line: 4875]

‘geodir_payment_send_invoice_custom_details’ [Line: 4876]

‘geodir_payment_send_invoice_transaction_details’ [Line: 4877]

Source Code

function geodir_payment_send_invoice( $invoice_id ) {
	$invoice_info = geodir_get_invoice( $invoice_id );
	
	if ( empty( $invoice_info ) ) {
		return false;
	}
	
	$dat_format = geodir_default_date_format() . ' ' . get_option( 'time_format' );
	
	$site_name 	= get_site_emailName();
	$site_url 	= home_url( '/' );
	$site_email = geodir_get_site_email_id();
	$admin_email = get_option( 'admin_email' );
		
	$user_id = $invoice_info->user_id;
	$user_data = get_userdata( $user_id );
	
	if ( empty( $user_data ) ) {
		return false;
	}
	
	$user_email = $user_data->user_email;
	$user_name 	= geodir_get_client_name( $user_id );
	$to_email  	= $user_email;
	$user_login = $user_data->user_login;

	$loginurl = geodir_login_url();
	$loginurl_link = ''.__('login', 'geodir_payments').'';
	
	$params = array();
	$params['site_name'] 		= $site_name;
	$params['site_name_url'] 	= $site_url;
	$params['site_url'] 		= $site_url;
	$params['site_email'] 		= $site_email;
	
	$params['user_id'] 			= $user_id;
	$params['user_email'] 		= $user_email;
	$params['user_name'] 		= $user_name;
	$params['username'] 		= $user_login;
	
	$params['client_id'] 		= $user_id;
	$params['client_email'] 	= $user_email;
	$params['client_name'] 		= $user_name;

	$params['login_url'] 		= $loginurl_link;
	
	$date = $invoice_info->date_updated != '0000-00-00 00:00:00' ? $invoice_info->date_updated : $invoice_info->date;
	$date = $date != '0000-00-00 00:00:00' ? $date : '';
	$invoice_date = $date != '' ? date_i18n( $dat_format, strtotime( $date ) ) : '';
							
	$invoice_amount = geodir_payment_price( $invoice_info->paied_amount );
		
	$post_id		= $invoice_info->post_id;
	$package_id 	= $invoice_info->package_id;
	$invoice_title 	= $invoice_info->post_title;
	$transaction_details = $invoice_info->HTML;
	$tax_amount 	= $invoice_info->tax_amount;
	$discount 		= $invoice_info->discount;
	$coupon_code 	= $invoice_info->coupon_code;
	$invoice_type 	= geodir_payment_invoice_type_name( $invoice_info->invoice_type );
	$payment_method = geodir_payment_method_title( $invoice_info->paymentmethod );
	$invoice_status = geodir_payment_status_name( $invoice_info->status );
	
	$tax_amount 		= $tax_amount > 0 ? geodir_payment_price( $tax_amount ) : '';
	$discount_amount 	= $discount > 0 ? geodir_payment_price( $discount ) : '';
	$discount_coupon 	= $discount > 0 && $coupon_code != '' ? $coupon_code : '';
		
	$params['invoice_id'] 		= geodir_payment_invoice_id_formatted($invoice_id);
	$params['invoice_title'] 	= $invoice_title;
	$params['invoice_type'] 	= $invoice_type;
	$params['invoice_amount'] 	= $invoice_amount;
	$params['payment_method'] 	= $payment_method;
	$params['invoice_status'] 	= $invoice_status;
	$params['invoice_date'] 	= $invoice_date;
	$params['tax_amount'] 		= $tax_amount;
	$params['discount_amount'] 	= $discount_amount;
	$params['discount_coupon'] 	= $discount_coupon;
	$params['transaction_details'] 	= $transaction_details;
	$params['invoice_link'] 	= geodir_payment_invoice_page_link($invoice_id);
	
	$listing_title 		= '';
	$listing_link 		= '';
	$package_name 		= $invoice_info->package_title;
	if ( ( $invoice_info->invoice_type == 'add_listing' || $invoice_info->invoice_type == 'upgrade_listing' || $invoice_info->invoice_type == 'renew_listing' || $invoice_type == 'claim_listing' ) && $post_id > 0 ) {
		$listing_title 	= get_the_title( $post_id );
		$listing_link 	= get_permalink( $post_id );
	}
	$params['listing_id'] 		= $post_id;
	$params['listing_title'] 	= $listing_title;
	$params['listing_link'] 	= $listing_link;
	$params['listing_link'] 	= $listing_link;
	$params['package_id'] 		= $package_id;
	$params['package_name'] 	= $package_name;
	
	$invoice_tax_details			= '';
	$invoice_discount_details		= '';
	$invoice_listing_details		= '';
	$invoice_package_details		= '';
	$invoice_custom_details			= '';
	$invoice_transaction_details	= '';
		
	if ( $tax_amount > 0 ) {
		$invoice_tax_details = __( '

Tax: [#tax_amount#]

', 'geodir_payments' ); } if ( $discount > 0 ) { $invoice_discount_details = __( '

Discount: [#discount_amount#]

Discount Coupon: [#discount_coupon#]

', 'geodir_payments' ); } if ( ( $invoice_info->invoice_type == 'add_listing' || $invoice_info->invoice_type == 'upgrade_listing' || $invoice_info->invoice_type == 'renew_listing' || $invoice_info->invoice_type == '' || $invoice_type == 'claim_listing' ) && $post_id > 0 ) { $invoice_listing_details = __( '

Listing ID: [#listing_id#]

Listing: [#listing_title#]

', 'geodir_payments' ); $invoice_package_details = __( '

Package ID: [#package_id#]

Package: [#package_name#]

', 'geodir_payments' ); } if ( $transaction_details ) { $invoice_transaction_details = __( '

Transaction Details:

[#transaction_details#]

', 'geodir_payments' ); } $invoice_tax_details = apply_filters( 'geodir_payment_send_invoice_tax_details', $invoice_tax_details, $invoice_info ); $invoice_discount_details = apply_filters( 'geodir_payment_send_invoice_discount_details', $invoice_discount_details, $invoice_info ); $invoice_listing_details = apply_filters( 'geodir_payment_send_invoice_listing_details', $invoice_listing_details, $invoice_info ); $invoice_package_details = apply_filters( 'geodir_payment_send_invoice_package_details', $invoice_package_details, $invoice_info ); $invoice_custom_details = apply_filters( 'geodir_payment_send_invoice_custom_details', $invoice_custom_details, $invoice_info ); $invoice_transaction_details = apply_filters( 'geodir_payment_send_invoice_transaction_details', $invoice_transaction_details, $invoice_info ); $params['invoice_tax_details'] = $invoice_tax_details; $params['invoice_discount_details'] = $invoice_discount_details; $params['invoice_listing_details'] = $invoice_listing_details; $params['invoice_package_details'] = $invoice_package_details; $params['invoice_custom_details'] = $invoice_custom_details; $params['invoice_transaction_details'] = $invoice_transaction_details; $subject = __(stripslashes_deep(get_option('geodir_payment_invoice_email_subject')), 'geodirectory'); $message = __(stripslashes_deep(get_option('geodir_payment_invoice_email_body')), 'geodirectory'); $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $headers .= 'Reply-To: '.$site_email. '\r\n'; $headers .= 'From: '.$site_name.' <'.$site_email.'>' . "\r\n"; foreach ( $params as $search => $replace ) { $message = str_replace( '[#' . $search . '#]', $replace, $message ); $subject = str_replace( '[#' . $search . '#]', $replace, $subject ); } if ( strpos($subject, '[#' ) !== false || strpos($message, '[#' ) !== false ) { foreach ( $params as $search => $replace ) { $message = str_replace( '[#' . $search . '#]', $replace, $message ); $subject = str_replace( '[#' . $search . '#]', $replace, $subject ); } } $sent = wp_mail( $to_email, $subject, $message, $headers ); if( !$sent && function_exists( 'geodir_error_log' ) ) { if ( is_array( $to_email ) ) { $to_email = implode( ',', $to_email ); } $log_message = sprintf( __( "Email from GeoDirectory failed to send.\nMessage type: %s\nSend time: %s\nTo: %s\nSubject: %s\n\n", 'geodirectory' ), 'send_invoice', date_i18n( 'F j Y H:i:s', current_time( 'timestamp' ) ), $to_email, $subject ); geodir_error_log( $log_message ); } if ( get_option( 'geodir_bcc_invoice' ) ) { $subject .= ' ' . __('- ADMIN BCC COPY', 'geodir_payments'); $sent = wp_mail( $admin_email, $subject, $message, $headers ); if( !$sent && function_exists( 'geodir_error_log' ) ) { if ( is_array( $admin_email ) ) { $admin_email = implode( ',', $admin_email ); } $log_message = sprintf( __( "Email from GeoDirectory failed to send.\nMessage type: %s\nSend time: %s\nTo: %s\nSubject: %s\n\n", 'geodirectory' ), 'send_invoice', date_i18n( 'F j Y H:i:s', current_time( 'timestamp' ) ), $to_email, $subject ); geodir_error_log( $log_message ); } } return $to_email; }