Untitled
unknown
plain_text
3 years ago
2.4 kB
17
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...