PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.2.1
GiveWP – Donation Plugin and Fundraising Platform v2.2.1
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 / admin / emails / class-new-donor-register-email.php
give / includes / admin / emails Last commit date
abstract-email-notification.php 7 years ago ajax-handler.php 8 years ago backward-compatibility.php 8 years ago class-donation-receipt-email.php 7 years ago class-donor-register-email.php 7 years ago class-email-access-email.php 7 years ago class-email-notification-table.php 8 years ago class-email-notification-util.php 8 years ago class-email-notifications.php 7 years ago class-email-setting-field.php 8 years ago class-new-donation-email.php 7 years ago class-new-donor-register-email.php 7 years ago class-new-offline-donation-email.php 7 years ago class-offline-donation-instruction-email.php 7 years ago filters.php 8 years ago
class-new-donor-register-email.php
218 lines
1 <?php
2 /**
3 * New Donor Register Email
4 *
5 * @package Give
6 * @subpackage Classes/Emails
7 * @copyright Copyright (c) 2016, WordImpress
8 * @license https://opensource.org/licenses/gpl-license GNU Public License
9 * @since 2.0
10 */
11
12 // Exit if access directly.
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 if ( ! class_exists( 'Give_New_Donor_Register_Email' ) ) :
18
19 /**
20 * Give_New_Donor_Register_Email
21 *
22 * @abstract
23 * @since 2.0
24 */
25 class Give_New_Donor_Register_Email extends Give_Email_Notification {
26
27 /**
28 * Create a class instance.
29 *
30 * @access public
31 * @since 2.0
32 */
33 public function init() {
34 $this->load( array(
35 'id' => 'new-donor-register',
36 'label' => __( 'New User Registration', 'give' ),
37 'description' => __( 'Sent to designated recipient(s) when a new user registers on the site via a donation form.', 'give' ),
38 'has_recipient_field' => true,
39 'notification_status' => 'enabled',
40 'has_preview_header' => true,
41 'email_tag_context' => array( 'donor', 'general' ),
42 'form_metabox_setting' => false,
43 'default_email_subject' => sprintf(
44 /* translators: %s: site name */
45 esc_attr__( '[%s] New User Registration', 'give' ),
46 get_bloginfo( 'name' )
47 ),
48 'default_email_message' => $this->get_default_email_message(),
49 'default_email_header' => __( 'New User Registration', 'give' ),
50 ) );
51
52 // Setup action hook.
53 add_action(
54 "give_{$this->config['id']}_email_notification",
55 array( $this, 'setup_email_notification' ),
56 10,
57 2
58 );
59
60 add_filter(
61 'give_email_preview_header',
62 array( $this, 'email_preview_header' ),
63 10,
64 2
65 );
66 }
67
68 /**
69 * Get default email message.
70 *
71 * @since 2.0
72 * @access public
73 *
74 * @return string
75 */
76 function get_default_email_message() {
77 $message = esc_attr__( 'New user registration on your site {sitename}:', 'give' ) . "\r\n\r\n";
78 $message .= esc_attr__( 'Username: {username}', 'give' ) . "\r\n\r\n";
79 $message .= esc_attr__( 'Email: {user_email}', 'give' ) . "\r\n";
80
81 /**
82 * Filter the default email message
83 *
84 * @since 2.0
85 */
86 return apply_filters(
87 "give_{$this->config['id']}_get_default_email_message",
88 $message,
89 $this
90 );
91 }
92
93 /**
94 * Send new donor register notifications.
95 *
96 * @since 2.0
97 * @access public
98 *
99 * @param int $user_id User ID.
100 * @param array $user_data User Information.
101 *
102 * @return string
103 */
104 public function setup_email_notification( $user_id, $user_data ) {
105 $this->setup_email_data();
106
107 $this->send_email_notification( array(
108 'user_id' => $user_id,
109 ) );
110 }
111
112
113 /**
114 * email preview header.
115 *
116 * @since 2.0
117 * @access public
118 *
119 * @param string $email_preview_header
120 * @param Give_New_Donor_Register_Email $email
121 * @return string
122 */
123 public function email_preview_header( $email_preview_header, $email ) {
124 // Bailout.
125 if ( $this->config['id'] !== $email->config['id'] ) {
126 return $email_preview_header;
127 }
128
129 // Payment receipt switcher
130 $user_id = give_check_variable( give_clean( $_GET ), 'isset', 0, 'user_id' );
131
132 // Get payments.
133 $donors = new Give_API();
134 $donors = give_check_variable( $donors->get_donors(), 'empty', array(), 'donors' );
135 $options = array();
136
137 // Default option.
138 $options[0] = esc_html__( 'No donor(s) found.', 'give' );
139
140 // Provide nice human readable options.
141 if ( $donors ) {
142 $options[0] = esc_html__( '- Select a donor -', 'give' );
143 foreach ( $donors as $donor ) {
144 // Exclude customers for which wp user not exist.
145 if ( ! $donor['info']['user_id'] ) {
146 continue;
147 }
148 $options[ $donor['info']['user_id'] ] = esc_html( '#' . $donor['info']['donor_id'] . ' - ' . $donor['info']['email'] );
149 }
150 }
151
152 $request_url_data = wp_parse_url( $_SERVER['REQUEST_URI'] );
153 $query = $request_url_data['query'];
154
155 // Remove user id query param if set from request url.
156 $query = remove_query_arg( array( 'user_id' ), $query );
157
158 $request_url = home_url( '/?' . str_replace( '', '', $query ) );
159 ?>
160 <script type="text/javascript">
161 function change_preview() {
162 var transactions = document.getElementById("give_preview_email_user_id");
163 var selected_trans = transactions.options[transactions.selectedIndex];
164 if (selected_trans) {
165 var url_string = "<?php echo $request_url; ?>&user_id=" + selected_trans.value;
166 window.location = url_string;
167 }
168 }
169 </script>
170
171 <style type="text/css">
172 .give_preview_email_user_id_main {
173 margin: 0;
174 padding: 10px 0;
175 width: 100%;
176 background-color: #FFF;
177 border-bottom: 1px solid #eee;
178 text-align: center;
179 }
180
181 .give_preview_email_user_id_label {
182 font-size: 12px;
183 color: #333;
184 margin: 0 4px 0 0;
185 }
186 </style>
187
188 <!-- Start constructing HTML output.-->
189 <div class="give_preview_email_user_id_main">
190
191 <label for="give_preview_email_user_id" class="give_preview_email_user_id_label">
192 <?php echo esc_html__( 'Preview email with a donor:', 'give' ); ?>
193 </label>
194
195 <?php
196 // The select field with 100 latest transactions
197 echo Give()->html->select( array(
198 'name' => 'preview_email_user_id',
199 'selected' => $user_id,
200 'id' => 'give_preview_email_user_id',
201 'class' => 'give-preview-email-donor-id',
202 'options' => $options,
203 'chosen' => false,
204 'select_atts' => 'onchange="change_preview()"',
205 'show_option_all' => false,
206 'show_option_none' => false,
207 ) );
208 ?>
209 <!-- Closing tag-->
210 </div>
211 <?php
212 }
213 }
214
215 endif; // End class_exists check
216
217 return Give_New_Donor_Register_Email::get_instance();
218