Function Reference: geodir_create_invoice

Summary

This function has not been documented yet.

Actions

‘geodir_payment_invoice_created’ [Line: 1366]

Filters

‘geodir_payment_invoice_params’ [Line: 1342]

Source Code

function geodir_create_invoice( $data = array() ) {
	global $wpdb, $current_user;
	
	if ( empty( $data ) || !is_array( $data ) ) {
		return NULL;
	}
	
	$data = apply_filters( 'geodir_payment_invoice_params', $data, false ); // false => create
	
	if ( isset( $data['id'] ) ) {
		unset( $data['id'] );
	}
	
	$date = date_i18n( 'Y-m-d H:i:s', current_time( 'timestamp' ) );
	$data['date'] = $date;
	
	$data = wp_unslash( $data );
	
	if ( empty( $data ) ) {
		return NULL;
	}
	
	if ( !isset( $data['user_id'] ) ) {
		$data['user_id'] = $current_user->data->ID;
	}
	
	if ( false === $wpdb->insert( INVOICE_TABLE, $data ) ) {
		return NULL;
	}
	$invoice_id = (int)$wpdb->insert_id;
	
	do_action( 'geodir_payment_invoice_created', $invoice_id );
	
	return $invoice_id;			
}