Server IP : 162.0.217.223 / Your IP : 216.73.216.150 Web Server : LiteSpeed System : Linux premium269.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : mypckeys ( 1539) PHP Version : 8.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/mypckeys/www/wp-content/plugins/woocommerce-currency-switcher/classes/ |
Upload File : |
<?php class woocs_woo_stat { public $orders_table = ""; public function __construct() { global $wpdb; $this->orders_table = $wpdb->prefix . 'wc_order_stats'; } public function init() { add_action('woocommerce_analytics_update_order_stats', array($this, 'recalculate_order_stats')); // add_action('woocommerce_order_status_changed', 'recalculate_order_stats', 10, 3); } public function recalculate_order_stats($order_id) { global $wpdb; global $WOOCS; //hpos //$_order_currency = get_post_meta($order_id, '_order_currency', true); //$order_rate = get_post_meta($order_id, '_woocs_order_rate', true); //$order_recalculated = get_post_meta($order_id, 'woocs_order_stat_recalculated', true); $order = wc_get_order( $order_id ); $_order_currency = $order->get_currency(); $order_rate = $order->get_meta( '_woocs_order_rate', true); $order_recalculated = $order->get_meta( 'woocs_order_stat_recalculated', true); $currencies = $WOOCS->get_currencies(); $decimals = 2; if (isset($currencies[$_order_currency])) { $decimals = $currencies[$_order_currency]['decimals']; } if (!$order_rate) { if (isset($currencies[$_order_currency])) { $order_rate = $currencies[$_order_currency]['rate']; } else { return false; } } if ($_order_currency == $WOOCS->default_currency) { return false; } $order_data = $wpdb->get_row($wpdb->prepare("SELECT total_sales,tax_total,shipping_total,net_total FROM {$this->orders_table} WHERE order_id = %d", $order_id), ARRAY_A); foreach ($order_data as $key => $value) { $order_data[$key] = $WOOCS->back_convert($value, $order_rate, $decimals); } $format = array( '%f', '%f', '%f', '%f', ); $wpdb->update($this->orders_table, $order_data, array('order_id' => $order_id), $format, array('%d') ); update_post_meta($order_id, 'woocs_order_stat_recalculated', true); } public function recalculate_all_stats() { global $wpdb; $order_ids = $wpdb->get_col("SELECT order_id FROM {$this->orders_table} WHERE 1 "); foreach ($order_ids as $order_id) { $this->recalculate_order_stats($order_id); } } }