PluginProbe
SellKit – Funnel builder and checkout optimizer for WooCommerce to sell more, faster / trunk
SellKit – Funnel builder and checkout optimizer for WooCommerce to sell more, faster vtrunk
2.6.0 trunk 1.1.0 1.1.4 1.2.1 1.2.2 1.2.3 1.2.5 1.2.9 1.3.1 1.3.2 1.5.0 1.5.1 1.5.4 1.5.7 1.5.8 1.5.9 1.6.2 1.6.5 1.6.8 1.7.2 1.7.4 1.7.5 1.7.9 1.8.1 All 42 releases
sellkit / includes / admin / components / analytics / coupon / customers.php

customers.php in SellKit – Funnel builder and checkout optimizer for WooCommerce to sell more, faster trunk, at includes/admin/components/analytics/coupon/customers.php

61 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Sellkit\Admin\Components\Analytics\Coupon;
4
5 use Sellkit\Admin\Components\Analytics;
6 use Sellkit\Admin\Components\Analytics\Analytics_Base;
7 use Sellkit\Database;
8
9 defined( 'ABSPATH' ) || die();
10
11 /**
12 * Components class.
13 *
14 * @since 1.1.0
15 */
16 class Customers extends Analytics_Base {
17
18 /**
19 * Class constructor.
20 *
21 * @since 1.1.0
22 * @param int $rule_id Rule id.
23 */
24 public function __construct( $rule_id ) {
25 $this->target_id = $rule_id;
26
27 $this->set_coupons_details();
28 }
29
30 /**
31 * Set discount details.
32 *
33 * @since 1.1.0
34 */
35 public function set_coupons_details() {
36 global $wpdb;
37
38 $start_date = time() - ( 60 * 60 * 24 * Analytics::$date_range );
39
40 $sellkit_prefix = Database::DATABASE_PREFIX;
41 $coupon_table = "{$wpdb->prefix}{$sellkit_prefix}applied_coupon";
42
43 // phpcs:disable
44 $customers = $wpdb->get_results(
45 $wpdb->prepare( "SELECT a.day, count(*) as total FROM
46 ( SELECT FROM_UNIXTIME(applied_at, '%%b_%%d') as `day`, coupon_id, email FROM {$coupon_table}
47 where applied_at > {$start_date} and rule_id " . Analytics::target_id_condition( $this->target_id ) . " %d GROUP BY `day`, `email` ORDER BY `day` ASC ) as a
48 group by a.day; ",
49 $this->target_id ),
50 ARRAY_A );
51 // phpcs:enable
52
53 $prepared_coupon = [];
54 foreach ( $customers as $customer ) {
55 $prepared_coupon[ $customer['day'] ] = intval( $customer['total'] );
56 }
57
58 $this->output = $prepared_coupon;
59 }
60 }
61