Untitled

 avatar
unknown
plain_text
2 years ago
2.4 kB
11
Indexable
// check new commission
if (isset($_POST['salesking_group_agent'])){
	$new_commission_agent = sanitize_text_field($_POST['salesking_group_agent']);
	$commission_value = sanitize_text_field($_POST['salesking_commission_value_new']);

	// set agent
	if ($new_commission_agent !== 'none' && !empty($commission_value)){
		$agent_id = $new_commission_agent;
		// if first commission
		if (empty($earning_id) ){
			// first commission for order
			// Create transaction
			$earning = array(
			    'post_title' => sanitize_text_field(esc_html__('Earning','salesking')),
			    'post_status' => 'publish',
			    'post_type' => 'salesking_earning',
			    'post_author' => 1,
			);
			$earning_post_id = wp_insert_post($earning);

			// set meta
			update_post_meta($earning_post_id, 'time', time());
			update_post_meta($earning_post_id, 'order_id', $order_id);
			update_post_meta($earning_post_id, 'customer_id', $order->get_customer_id());
			update_post_meta($earning_post_id, 'order_status', $order->get_status());
			update_post_meta($earning_post_id, 'created_in', 'admin_backend');

			if ($agent_id !== 0){
				update_post_meta($earning_post_id, 'agent_id', $agent_id);
			}

			if ($commission_value > 0){
				update_post_meta($earning_post_id, 'commission_rules_total', $commission_value);
			}

			update_post_meta($order_id, 'salesking_earning_id', $earning_post_id);
			update_post_meta($earning_post_id, 'salesking_commission_total', $commission_value);

			// update agent outstanding balance
			if (in_array($order->get_status(),apply_filters('salesking_earning_completed_statuses', array('completed')))){

				$old_balance = get_user_meta($agent_id,'salesking_outstanding_earnings', true);
				$new_balance = floatval($old_balance)+$commission_value;

				// user balance history start
				$amount = 'MANUAL MODIFICATION';
				$date = date_i18n( 'Y/m/d', time()+(get_option('gmt_offset')*3600) ); 
				$note = 'MANUAL MODIFICATION';
				$user_balance_history = sanitize_text_field(get_user_meta($ag_id,'salesking_user_balance_history', true));
				$new_entry = $date.':'.$amount.':'.$old_balance.':'.$new_balance.':'.$note;
				update_user_meta($ag_id,'salesking_user_balance_history', $user_balance_history.';'.$new_entry);
				// user balance history end

				update_user_meta($agent_id,'salesking_outstanding_earnings', $new_balance);
			}
		}
	}
}
Editor is loading...