PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.25.0
GiveWP – Donation Plugin and Fundraising Platform v2.25.0
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / MultiFormGoals / ProgressBar / Query.php
give / src / MultiFormGoals / ProgressBar Last commit date
Block.php 4 years ago Model.php 3 years ago Query.php 3 years ago
Query.php
79 lines
1 <?php
2
3 namespace Give\MultiFormGoals\ProgressBar;
4
5 use wpdb;
6
7 /**
8 * Get the Total, Count, and Average of the payment totals for published donations of a given set of forms.
9 */
10 class Query
11 {
12
13 /** @var array */
14 protected $formIDs;
15
16 /**
17 * @var wpdb
18 */
19 protected $wpdb;
20
21 /**
22 * @var array $formIDs
23 */
24 public function __construct($formIDs)
25 {
26 global $wpdb;
27 $this->wpdb = $wpdb;
28 $this->formIDs = $formIDs;
29 }
30
31 /**
32 * @return string
33 */
34 public function getSQL()
35 {
36 global $wpdb;
37
38 $sql = "
39 SELECT
40 sum( revenue.amount ) as total,
41 count( payment.ID ) as count
42 FROM {$wpdb->posts} as payment
43 JOIN {$wpdb->give_revenue} as revenue
44 ON revenue.donation_id = payment.ID
45 WHERE
46 payment.post_type = 'give_payment'
47 AND
48 payment.post_status IN ( 'publish', 'give_subscription' )
49 ";
50
51 if ( ! empty($this->formIDs)) {
52 $sql .= '
53 AND
54 revenue.form_id IN ( ' . $this->getFormsString() . ' )
55 ';
56 }
57
58 return $sql;
59 }
60
61 /**
62 * @return string
63 */
64 protected function getFormsString()
65 {
66 return implode(',', $this->formIDs);
67 }
68
69 /**
70 * @return stdClass
71 */
72 public function getResults()
73 {
74 $sql = $this->getSQL();
75
76 return $this->wpdb->get_row($sql);
77 }
78 }
79