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