PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.2.0
GiveWP – Donation Plugin and Fundraising Platform v2.2.0
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 8 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 8 years ago class-email-setting-field.php 8 years ago class-new-donation-email.php 8 years ago class-new-donor-register-email.php 8 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
214 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 email data
97 *
98 * @since 2.0
99 */
100 public function setup_email_data() {
101 Give()->emails->__set( 'heading', $this->get_email_header() );
102 }
103
104 /**
105 * Setup and send new donor register notifications.
106 *
107 * @since 2.0
108 * @access public
109 *
110 * @param int $user_id User ID.
111 * @param array $user_data User Information.
112 *
113 * @return string
114 */
115 public function setup_email_notification( $user_id, $user_data ) {
116 $this->setup_email_data();
117
118 $this->recipient_email = $user_data['email'];
119
120 $this->send_email_notification( array(
121 'user_id' => $user_id,
122 ) );
123 }
124
125 /**
126 * email preview header.
127 *
128 * @since 2.0
129 * @access public
130 *
131 * @param string $email_preview_header
132 * @param Give_Donor_Register_Email $email
133 *
134 * @return bool
135 */
136 public function email_preview_header( $email_preview_header, $email ) {
137 // Bailout.
138 if ( $this->config['id'] !== $email->config['id'] ) {
139 return $email_preview_header;
140 }
141
142 // Payment receipt switcher
143 $user_id = give_check_variable( give_clean( $_GET ), 'isset', 0, 'user_id' );
144
145 // Get payments.
146 $donors = new Give_API();
147 $donors = give_check_variable( $donors->get_donors(), 'empty', array(), 'donors' );
148 $options = array();
149
150 // Default option.
151 $options[0] = esc_html__( 'No donor(s) found.', 'give' );
152
153 // Provide nice human readable options.
154 if ( $donors ) {
155 $options[0] = esc_html__( '- Select a donor -', 'give' );
156 foreach ( $donors as $donor ) {
157 // Exclude customers for which wp user not exist.
158 if ( ! $donor['info']['user_id'] ) {
159 continue;
160 }
161 $options[ $donor['info']['user_id'] ] = esc_html( '#' . $donor['info']['donor_id'] . ' - ' . $donor['info']['email'] );
162 }
163 }
164
165 $request_url_data = wp_parse_url( $_SERVER['REQUEST_URI'] );
166 $query = $request_url_data['query'];
167
168 // Remove user id query param if set from request url.
169 $query = remove_query_arg( array( 'user_id' ), $query );
170
171 $request_url = home_url( '/?' . str_replace( '', '', $query ) );
172 ?>
173
174 <!-- Start constructing HTML output.-->
175 <div style="margin:0;padding:10px 0;width:100%;background-color:#FFF;border-bottom:1px solid #eee; text-align:center;">
176
177 <script type="text/javascript">
178 function change_preview() {
179 var transactions = document.getElementById("give_preview_email_user_id");
180 var selected_trans = transactions.options[transactions.selectedIndex];
181 if (selected_trans) {
182 var url_string = "<?php echo $request_url; ?>&user_id=" + selected_trans.value;
183 window.location = url_string;
184 }
185 }
186 </script>
187
188 <label for="give_preview_email_user_id" style="font-size:12px;color:#333;margin:0 4px 0 0;">
189 <?php echo esc_html__( 'Preview email with a donor:', 'give' ); ?>
190 </label>
191
192 <?php
193 // The select field with 100 latest transactions
194 echo Give()->html->select( array(
195 'name' => 'preview_email_user_id',
196 'selected' => $user_id,
197 'id' => 'give_preview_email_user_id',
198 'class' => 'give-preview-email-donor-id',
199 'options' => $options,
200 'chosen' => false,
201 'select_atts' => 'onchange="change_preview()"',
202 'show_option_all' => false,
203 'show_option_none' => false,
204 ) );
205 ?>
206 </div>
207 <?php
208 }
209 }
210
211 endif; // End class_exists check
212
213 return Give_Donor_Register_Email::get_instance();
214