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