PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.21.2
GiveWP – Donation Plugin and Fundraising Platform v2.21.2
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 4 years ago Query.php 4 years ago
Query.php
72 lines
1 <?php
2
3 namespace Give\MultiFormGoals\ProgressBar;
4
5 /**
6 * Get the Total, Count, and Average of the payment totals for published donations of a given set of forms.
7 */
8 class Query
9 {
10
11 /** @var array */
12 protected $formIDs;
13
14 /**
15 * @var array $formIDs
16 */
17 public function __construct($formIDs)
18 {
19 global $wpdb;
20 $this->wpdb = $wpdb;
21 $this->formIDs = $formIDs;
22 }
23
24 /**
25 * @return string
26 */
27 public function getSQL()
28 {
29 global $wpdb;
30
31 $sql = "
32 SELECT
33 sum( revenue.amount ) as total,
34 count( payment.ID ) as count
35 FROM {$wpdb->posts} as payment
36 JOIN {$wpdb->give_revenue} as revenue
37 ON revenue.donation_id = payment.ID
38 WHERE
39 payment.post_type = 'give_payment'
40 AND
41 payment.post_status IN ( 'publish', 'give_subscription' )
42 ";
43
44 if ( ! empty($this->formIDs)) {
45 $sql .= '
46 AND
47 revenue.form_id IN ( ' . $this->getFormsString() . ' )
48 ';
49 }
50
51 return $sql;
52 }
53
54 /**
55 * @return string
56 */
57 protected function getFormsString()
58 {
59 return implode(',', $this->formIDs);
60 }
61
62 /**
63 * @return stdClass
64 */
65 public function getResults()
66 {
67 $sql = $this->getSQL();
68
69 return $this->wpdb->get_row($sql);
70 }
71 }
72