Exemplo n.º 1
0
 /**
  * Set commission to 'paid' for an entire order
  *
  *
  * @access public
  *
  * @param mixed   $order_id   An array of Order IDs or an int.
  * @param unknown $column_ids (optional)
  *
  * @return bool.
  */
 public function set_order_commission_paid($order_id, $column_ids = false)
 {
     global $wpdb;
     $table_name = $wpdb->prefix . "pv_commission";
     $column = $column_ids ? 'id' : 'order_id';
     if (is_array($order_id)) {
         $order_id = implode(',', $order_id);
     }
     $query = "SELECT sum(`total_due` + `total_shipping` + `tax`) as total, `vendor_id` FROM `{$table_name}` WHERE `status` != 'paid' AND `{$column}` IN ({$order_id}) GROUP BY `vendor_id`";
     $dues = $wpdb->get_results($query);
     if (empty($dues)) {
         return false;
     }
     foreach ($dues as $due) {
         PV_Vendors::update_total_due($due->vendor_id, $due->total * -1);
     }
     $query = "UPDATE `{$table_name}` SET `status` = 'paid' WHERE order_id IN ({$order_id})";
     $result = $wpdb->query($query);
     return $result;
 }
Exemplo n.º 2
0
 /**
  *
  *
  * @param unknown $ids (optional)
  *
  * @return unknown
  */
 public function mark_due($ids = array())
 {
     global $wpdb;
     $table_name = $wpdb->prefix . "pv_commission";
     $query = "SELECT sum(`total_due` + `total_shipping` + `tax`) as total, `vendor_id` FROM `{$table_name}` WHERE `status` != 'due' AND `id` IN ({$ids}) GROUP BY `vendor_id`";
     $dues = $wpdb->get_results($query);
     if (empty($dues)) {
         return false;
     }
     foreach ($dues as $due) {
         PV_Vendors::update_total_due($due->vendor_id, $due->total);
     }
     $query = "UPDATE `{$table_name}` SET `status` = 'due' WHERE id IN ({$ids})";
     $result = $wpdb->query($query);
     return $result;
 }