PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.9.2
GiveWP – Donation Plugin and Fundraising Platform v2.9.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 / includes / emails / template.php
give / includes / emails Last commit date
actions.php 6 years ago class-give-email-tags.php 6 years ago class-give-emails.php 6 years ago functions.php 6 years ago template.php 6 years ago
template.php
239 lines
1 <?php
2 /**
3 * Email Template
4 *
5 * @package Give
6 * @subpackage Emails
7 * @copyright Copyright (c) 2016, GiveWP
8 * @license https://opensource.org/licenses/gpl-license GNU Public License
9 * @since 1.0
10 */
11
12 // Exit if accessed directly.
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 /**
18 * Gets all the email templates that have been registered. The list is extendable
19 * and more templates can be added.
20 *
21 * This is simply a wrapper to Give_Email_Templates->get_templates()
22 *
23 * @since 1.0
24 * @return array $templates All the registered email templates.
25 */
26 function give_get_email_templates() {
27 $templates = new Give_Emails();
28
29 return $templates->get_templates();
30 }
31
32 /**
33 * Email Template Tags.
34 *
35 * @todo Modify this function to remove payment id dependency.
36 *
37 * @since 1.0
38 *
39 * @param string $message Message with the template tags.
40 * @param array $payment_data Payment Data.
41 * @param int $payment_id Payment ID.
42 * @param bool $admin_notice Whether or not this is a notification email.
43 *
44 * @return string $message Fully formatted message
45 */
46 function give_email_template_tags( $message, $payment_data, $payment_id, $admin_notice = false ) {
47 return give_do_email_tags( $message, $payment_id );
48 }
49
50 /**
51 * Email Preview Template Tags.
52 *
53 * Provides sample content for the preview email functionality within settings > email.
54 *
55 * @since 1.0
56 *
57 * @param string $message Email message with template tags.
58 *
59 * @return string $message Fully formatted message
60 */
61 function give_email_preview_template_tags( $message ) {
62
63 $user = wp_get_current_user();
64 $gateway = 'PayPal';
65 $donation_id = rand( 1, 100 );
66 $receipt_link = give_get_receipt_link( $donation_id );
67 $receipt_link_url = give_get_receipt_url( $donation_id );
68 $price = give_currency_filter(
69 give_format_amount(
70 10.50,
71 array(
72 'sanitize' => false,
73 )
74 )
75 );
76
77 $message = str_replace( '{name}', $user->display_name, $message );
78 $message = str_replace( '{fullname}', $user->display_name, $message );
79 $message = str_replace( '{username}', $user->user_login, $message );
80 $message = str_replace( '{user_email}', $user->user_email, $message );
81 $message = str_replace( '{billing_address}', "123 Test Street, Unit 222\nSomewhere Town, CA, 92101", $message );
82 $message = str_replace( '{date}', date( give_date_format(), current_time( 'timestamp' ) ), $message );
83 $message = str_replace( '{amount}', $price, $message );
84 $message = str_replace( '{price}', $price, $message );
85 $message = str_replace( '{donation}', esc_html__( 'Sample Donation Form Title', 'give' ), $message );
86 $message = str_replace( '{form_title}', esc_html__( 'Sample Donation Form Title - Sample Donation Level', 'give' ), $message );
87 $message = str_replace( '{payment_method}', $gateway, $message );
88 $message = str_replace( '{sitename}', get_bloginfo( 'name' ), $message );
89 $message = str_replace( '{payment_id}', $donation_id, $message );
90 $message = str_replace( '{receipt_link}', $receipt_link, $message );
91 $message = str_replace( '{receipt_link_url}', $receipt_link_url, $message );
92 $message = str_replace( '{pdf_receipt}', '<a href="#">Download Receipt</a>', $message );
93
94 return wpautop( apply_filters( 'give_email_preview_template_tags', $message ) );
95 }
96
97
98
99 /**
100 * Output Email Template Preview Buttons.
101 *
102 * @access private
103 * @since 1.0
104 * @since 1.8 Field arguments param added.
105 *
106 * @param array $field Field arguments.
107 *
108 * @return array
109 */
110 function give_email_preview_buttons_callback( $field ) {
111 $field_id = str_replace( '_preview_buttons', '', $field['id'] );
112
113 ob_start();
114
115 echo sprintf(
116 '<a href="%1$s" class="button-secondary" target="_blank">%2$s</a>',
117 wp_nonce_url(
118 add_query_arg(
119 array(
120 'give_action' => 'preview_email',
121 'email_type' => $field_id,
122 ),
123 home_url()
124 ),
125 'give-preview-email'
126 ),
127 $field['name']
128 );
129
130 echo sprintf(
131 ' <a href="%1$s" aria-label="%2$s" class="button-secondary">%3$s</a>',
132 wp_nonce_url(
133 add_query_arg(
134 array(
135 'give_action' => 'send_preview_email',
136 'email_type' => $field_id,
137 'give-messages[]' => 'sent-test-email',
138 )
139 ),
140 'give-send-preview-email'
141 ),
142 esc_attr__( 'Send Test Email.', 'give' ),
143 esc_html__( 'Send Test Email', 'give' )
144 );
145
146 echo ob_get_clean();
147 }
148
149
150 /**
151 * Give Preview Email Header.
152 *
153 * Displays a header bar with the ability to change donations to preview actual data within the preview. Will not display if
154 *
155 * @since 1.6
156 */
157 function give_get_preview_email_header() {
158
159 // Payment receipt switcher
160 $payment_count = give_count_payments()->publish;
161 $payment_id = give_check_variable( give_clean( $_GET ), 'isset', 0, 'preview_id' );
162
163 if ( $payment_count <= 0 ) {
164 return false;
165 }
166
167 // Get payments.
168 $donations = new Give_Payments_Query(
169 array(
170 'number' => 100,
171 'output' => '',
172 'fields' => 'ids',
173 )
174 );
175 $donations = $donations->get_payments();
176 $options = array();
177
178 // Default option.
179 $options[0] = esc_html__( 'No donations found.', 'give' );
180
181 // Provide nice human readable options.
182 if ( $donations ) {
183 $options[0] = esc_html__( '- Select a donation -', 'give' );
184 foreach ( $donations as $donation_id ) {
185
186 $options[ $donation_id ] = sprintf(
187 '#%1$s - %2$s - %3$s',
188 $donation_id,
189 give_get_donation_donor_email( $donation_id ),
190 get_the_title( $donation_id )
191 );
192 }
193 }
194
195 // Start constructing HTML output.
196 $transaction_header = '<div style="margin:0;padding:10px 0;width:100%;background-color:#FFF;border-bottom:1px solid #eee; text-align:center;">';
197
198 // Remove payment id query param if set from request url.
199 $request_url_data = wp_parse_url( $_SERVER['REQUEST_URI'] );
200 $query = $request_url_data['query'];
201 $query = remove_query_arg( array( 'preview_id' ), $query );
202
203 $request_url = home_url( '/?' . str_replace( '', '', $query ) );
204
205 $transaction_header .= '<script>
206 function change_preview(){
207 var transactions = document.getElementById("give_preview_email_payment_id");
208 var selected_trans = transactions.options[transactions.selectedIndex];
209 if (selected_trans){
210 var url_string = "' . $request_url . '&preview_id=" + selected_trans.value;
211 window.location = url_string;
212 }
213 }
214 </script>';
215
216 $transaction_header .= '<label for="give_preview_email_payment_id" style="font-size:12px;color:#333;margin:0 4px 0 0;">' . esc_html__( 'Preview email with a donation:', 'give' ) . '</label>';
217
218 // The select field with 100 latest transactions
219 $transaction_header .= Give()->html->select(
220 array(
221 'name' => 'preview_email_payment_id',
222 'selected' => $payment_id,
223 'id' => 'give_preview_email_payment_id',
224 'class' => 'give-preview-email-payment-id',
225 'options' => $options,
226 'chosen' => false,
227 'select_atts' => 'onchange="change_preview()"',
228 'show_option_all' => false,
229 'show_option_none' => false,
230 )
231 );
232
233 // Closing tag
234 $transaction_header .= '</div>';
235
236 return apply_filters( 'give_preview_email_receipt_header', $transaction_header );
237
238 }
239