PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.5.2
GiveWP – Donation Plugin and Fundraising Platform v2.5.2
4.16.4 4.16.3 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-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-note-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 7 years ago class-email-notification-util.php 7 years ago class-email-notifications.php 7 years ago class-email-setting-field.php 7 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 7 years ago
class-donor-register-email.php
212 lines
1 <?php
2 /**
3 * Donor Register Email
4 *
5 * @package Give
6 * @subpackage Classes/Emails
7 * @copyright Copyright (c) 2019, GiveWP
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_Donor_Register_Email' ) ) :
18
19 /**
20 * Give_Donor_Register_Email
21 *
22 * @abstract
23 * @since 2.0
24 */
25 class Give_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
35 $args = array(
36 'id' => 'donor-register',
37 'label' => __( 'User Registration Information', 'give' ),
38 'description' => __( 'Sent to the donor when they register for an account on the site when giving.', 'give' ),
39 'notification_status' => 'enabled',
40 'form_metabox_setting' => false,
41 'recipient_group_name' => __( 'Donor', 'give' ),
42 'email_tag_context' => array( 'donor', 'general' ),
43 'default_email_subject' => sprintf(
44 /* translators: %s: site name */
45 esc_attr__( '[%s] Your username and password', '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 $this->load( $args );
53
54 // Setup action hook.
55 add_action(
56 "give_{$this->config['id']}_email_notification",
57 array( $this, 'setup_email_notification' ),
58 10,
59 2
60 );
61
62 add_filter(
63 'give_email_preview_header',
64 array( $this, 'email_preview_header' ),
65 10,
66 2
67 );
68 }
69
70 /**
71 * Get default email message.
72 *
73 * @return string
74 * @since 2.0
75 * @access public
76 */
77 function get_default_email_message() {
78 $message = esc_attr__( 'Dear {name}', 'give' ) . "\r\n\r\n";
79 $message .= esc_attr__( 'A user account has been created for you on {site_url}. You may access your account at anytime by using "{username}" to log in.', 'give' ) . "\r\n\r\n";
80 $message .= __( 'To reset your password, simply click the link below to create a new password:', 'give' ) . "\r\n\n";
81 $message .= '{reset_password_link}' . "\r\n\r\n";
82 $message .= __( 'You can log in to your account using the link below:', 'give' );
83 $message .= "\r\n\r\n";
84 $message .= '<a href="' . wp_login_url() . '"> ' . esc_attr__( 'Click Here to Log In &raquo;', 'give' ) . '</a>';
85 $message .= "\r\n\r\n";
86 $message .= __( 'Sincerely', 'give' ) . "\r\n" . '{sitename}';
87
88 /**
89 * Filter the default email message
90 *
91 * @since 2.0
92 */
93 return apply_filters(
94 "give_{$this->config['id']}_get_default_email_message",
95 $message, $this
96 );
97 }
98
99 /**
100 * Setup and send new donor register notifications.
101 *
102 * @param int $user_id User ID.
103 * @param array $user_data User Information.
104 *
105 * @return string
106 * @since 2.0
107 * @access public
108 */
109 public function setup_email_notification( $user_id, $user_data ) {
110 $this->setup_email_data();
111
112 $this->recipient_email = $user_data['email'];
113
114 $this->send_email_notification(
115 array(
116 'user_id' => $user_id,
117 )
118 );
119 }
120
121 /**
122 * email preview header.
123 *
124 * @param string $email_preview_header
125 * @param Give_Donor_Register_Email $email
126 *
127 * @return bool
128 * @since 2.0
129 * @access public
130 */
131 public function email_preview_header( $email_preview_header, $email ) {
132 // Bailout.
133 if ( $this->config['id'] !== $email->config['id'] ) {
134 return $email_preview_header;
135 }
136
137 // Payment receipt switcher
138 $user_id = give_check_variable( give_clean( $_GET ), 'isset', 0, 'user_id' );
139
140 // Get payments.
141 $donors = new Give_API();
142 $donors = give_check_variable( $donors->get_donors(), 'empty', array(), 'donors' );
143 $options = array();
144
145 // Default option.
146 $options[0] = esc_html__( 'No donor(s) found.', 'give' );
147
148 // Provide nice human readable options.
149 if ( $donors ) {
150 $options[0] = esc_html__( '- Select a donor -', 'give' );
151 foreach ( $donors as $donor ) {
152 // Exclude customers for which wp user not exist.
153 if ( ! $donor['info']['user_id'] ) {
154 continue;
155 }
156 $options[ $donor['info']['user_id'] ] = esc_html( '#' . $donor['info']['donor_id'] . ' - ' . $donor['info']['email'] );
157 }
158 }
159
160 $request_url_data = wp_parse_url( $_SERVER['REQUEST_URI'] );
161 $query = $request_url_data['query'];
162
163 // Remove user id query param if set from request url.
164 $query = remove_query_arg( array( 'user_id' ), $query );
165
166 $request_url = home_url( '/?' . str_replace( '', '', $query ) );
167 ?>
168
169 <!-- Start constructing HTML output.-->
170 <div
171 style="margin:0;padding:10px 0;width:100%;background-color:#FFF;border-bottom:1px solid #eee; text-align:center;">
172
173 <script type="text/javascript">
174 function change_preview() {
175 var transactions = document.getElementById( "give_preview_email_user_id" );
176 var selected_trans = transactions.options[ transactions.selectedIndex ];
177 if ( selected_trans ) {
178 var url_string = "<?php echo $request_url; ?>&user_id=" + selected_trans.value;
179 window.location = url_string;
180 }
181 }
182 </script>
183
184 <label for="give_preview_email_user_id" style="font-size:12px;color:#333;margin:0 4px 0 0;">
185 <?php echo esc_html__( 'Preview email with a donor:', 'give' ); ?>
186 </label>
187
188 <?php
189 // The select field with 100 latest transactions
190 echo Give()->html->select(
191 array(
192 'name' => 'preview_email_user_id',
193 'selected' => $user_id,
194 'id' => 'give_preview_email_user_id',
195 'class' => 'give-preview-email-donor-id',
196 'options' => $options,
197 'chosen' => false,
198 'select_atts' => 'onchange="change_preview()"',
199 'show_option_all' => false,
200 'show_option_none' => false,
201 )
202 );
203 ?>
204 </div>
205 <?php
206 }
207 }
208
209 endif; // End class_exists check
210
211 return Give_Donor_Register_Email::get_instance();
212