PluginProbe
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions / 120213
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions v120213
260917 260913 260909 260829 260814 260805 110710 110731 110812 110815 110912 110913 110915 110926 110927 111002 111003 111011 111017 111029 111105 111206 111216 111220 120213 All 189 releases
s2member / includes / menu-pages / els-ops.inc.php

els-ops.inc.php in s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions 120213, at includes/menu-pages/els-ops.inc.php

327 lines 24.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Menu page for the s2Member plugin ( List Server Options page ).
4 *
5 * Copyright: © 2009-2011
6 * {@link http://www.websharks-inc.com/ WebSharks, Inc.}
7 * ( coded in the USA )
8 *
9 * Released under the terms of the GNU General Public License.
10 * You should have received a copy of the GNU General Public License,
11 * along with this software. In the main directory, see: /licensing/
12 * If not, see: {@link http://www.gnu.org/licenses/}.
13 *
14 * @package s2Member\Menu_Pages
15 * @since 3.0
16 */
17 if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
18 exit("Do not access this file directly.");
19 /**/
20 if(!class_exists("c_ws_plugin__s2member_menu_page_els_ops"))
21 {
22 /**
23 * Menu page for the s2Member plugin ( List Server Options page ).
24 *
25 * @package s2Member\Menu_Pages
26 * @since 110531
27 */
28 class c_ws_plugin__s2member_menu_page_els_ops
29 {
30 public function __construct()
31 {
32 echo '<div class="wrap ws-menu-page">'."\n";
33 /**/
34 echo '<div id="icon-plugins" class="icon32"><br /></div>'."\n";
35 echo '<h2>s2Member® API / List Servers</h2>'."\n";
36 /**/
37 echo '<table class="ws-menu-page-table">'."\n";
38 echo '<tbody class="ws-menu-page-table-tbody">'."\n";
39 echo '<tr class="ws-menu-page-table-tr">'."\n";
40 echo '<td class="ws-menu-page-table-l">'."\n";
41 /**/
42 echo '<form method="post" name="ws_plugin__s2member_options_form" id="ws-plugin--s2member-options-form">'."\n";
43 echo '<input type="hidden" name="ws_plugin__s2member_options_save" id="ws-plugin--s2member-options-save" value="'.esc_attr(wp_create_nonce("ws-plugin--s2member-options-save")).'" />'."\n";
44 /**/
45 do_action("ws_plugin__s2member_during_els_ops_page_before_left_sections", get_defined_vars());
46 /**/
47 if(apply_filters("ws_plugin__s2member_during_els_ops_page_during_left_sections_display_mailchimp", true, get_defined_vars()))
48 {
49 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_before_mailchimp", get_defined_vars());
50 /**/
51 echo '<div class="ws-menu-page-group" title="MailChimp® Integration">'."\n";
52 /**/
53 echo '<div class="ws-menu-page-section ws-plugin--s2member-mailchimp-section">'."\n";
54 echo '<a href="http://www.s2member.com/mailchimp" target="_blank"><img src="'.esc_attr($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["dir_url"]).'/images/mailchimp-stamp.png" class="ws-menu-page-right" style="width:125px; height:125px; border:0;" alt="." /></a>'."\n";
55 echo '<h3>MailChimp® List Server Integration ( optional )</h3>'."\n";
56 echo '<p>s2Member can be integrated with MailChimp®. MailChimp® is an email marketing service. MailChimp® makes it easy to send email newsletters to your Customers, manage your MailChimp® subscriber lists, and track campaign performance. Although s2Member can be integrated with almost ANY list server, we highly recommend MailChimp®; because of their <a href="http://www.s2member.com/mailchimp-api-docs" target="_blank" rel="external">powerful API for MailChimp® services</a>. In future versions of s2Member, we plan to build additional features into s2Member that work with, and extend, MailChimp® services.</p>'."\n";
57 echo '<p>For now, we\'ve covered the basics. You can have your Members automatically subscribed to your MailChimp® marketing lists <em>( e.g. newsletters / auto-responders )</em>. You\'ll need a <a href="http://www.s2member.com/mailchimp" target="_blank" rel="external">MailChimp® account</a>, a <a href="http://www.s2member.com/mailchimp-api-key" target="_blank" rel="external">MailChimp® API Key</a>, and your <a href="#" onclick="alert(\'To obtain your MailChimp® List ID(s), log into your MailChimp® account and click the Lists tab. Now click the (View) button, for the List(s) you want to integrate with s2Member. Then, click the (Settings) link. At the bottom of the (Settings) page, for each list; you\\\'ll find a Unique List ID.\'); return false;">MailChimp® List IDs</a>.</p>'."\n";
58 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_during_mailchimp", get_defined_vars());
59 /**/
60 echo '<table class="form-table">'."\n";
61 echo '<tbody>'."\n";
62 echo '<tr>'."\n";
63 /**/
64 echo '<th>'."\n";
65 echo '<label for="ws-plugin--s2member-mailchimp-api-key">'."\n";
66 echo 'MailChimp® API Key:'."\n";
67 echo '</label>'."\n";
68 echo '</th>'."\n";
69 /**/
70 echo '</tr>'."\n";
71 echo '<tr>'."\n";
72 /**/
73 echo '<td>'."\n";
74 echo '<input type="password" autocomplete="off" name="ws_plugin__s2member_mailchimp_api_key" id="ws-plugin--s2member-mailchimp-api-key" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mailchimp_api_key"]).'" /><br />'."\n";
75 echo 'Once you have a MailChimp® account, you\'ll need to <a href="http://www.s2member.com/mailchimp-api-key" target="_blank" rel="external">add an API Key</a>.'."\n";
76 echo '</td>'."\n";
77 /**/
78 echo '</tr>'."\n";
79 /**/
80 for($n = 0; $n <= $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["levels"]; $n++)
81 {
82 echo '<tr>'."\n";
83 /**/
84 echo '<th>'."\n";
85 echo '<label for="ws-plugin--s2member-level'.$n.'-mailchimp-list-ids">'."\n";
86 echo 'List ID(s) for '.(($n === 0) ? 'Free Subscribers' : 'Level #'.$n.' Members').' ( comma-delimited ):'."\n";
87 echo '</label>'."\n";
88 echo '</th>'."\n";
89 /**/
90 echo '</tr>'."\n";
91 echo '<tr>'."\n";
92 /**/
93 echo '<td>'."\n";
94 echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_level'.$n.'_mailchimp_list_ids" id="ws-plugin--s2member-level'.$n.'-mailchimp-list-ids" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["level".$n."_mailchimp_list_ids"]).'" /><br />'."\n";
95 echo 'New '.(($n === 0) ? 'Free Subscribers' : 'Level #'.$n.' Members').' will be subscribed to these List IDs.<br />'."\n";
96 echo 'Ex: <code>4a44fRio5d, 434ksvviEdf, 8834jsdf923, ee9djfs4jel3</code><br />'."\n";
97 echo 'Or: <code>4a44fRio5d::Group Title::Group|Another Group</code>'."\n";
98 echo '</td>'."\n";
99 /**/
100 echo '</tr>'."\n";
101 }
102 /**/
103 echo '</tbody>'."\n";
104 echo '</table>'."\n";
105 echo '</div>'."\n";
106 /**/
107 echo '</div>'."\n";
108 /**/
109 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_after_mailchimp", get_defined_vars());
110 }
111 /**/
112 if(apply_filters("ws_plugin__s2member_during_els_ops_page_during_left_sections_display_aweber", true, get_defined_vars()))
113 {
114 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_before_aweber", get_defined_vars());
115 /**/
116 echo '<div class="ws-menu-page-group" title="AWeber® Integration">'."\n";
117 /**/
118 echo '<div class="ws-menu-page-section ws-plugin--s2member-aweber-section">'."\n";
119 echo '<a href="http://www.s2member.com/aweber" target="_blank"><img src="'.esc_attr($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["dir_url"]).'/images/aweber-logo.png" class="ws-menu-page-right" style="width:125px; height:125px; border:0;" alt="." /></a>'."\n";
120 echo '<h3>AWeber® List Server Integration ( optional )</h3>'."\n";
121 echo '<p>s2Member can be integrated with AWeber®. AWeber® is an email marketing service. Whether you\'re looking to get your first email campaign off the ground, or you\'re a seasoned veteran who wants to dig into advanced tools like detailed email web analytics, activity based segmentation, geo-targeting and broadcast split-testing, AWeber\'s got just what you need to make email marketing work for you.</p>'."\n";
122 echo '<p>You can have your Members automatically subscribed to your AWeber® marketing lists <em>( e.g. newsletters / auto-responders )</em>. You\'ll need an <a href="http://www.s2member.com/aweber" target="_blank" rel="external">AWeber® account</a> and your <a href="#" onclick="alert(\'To obtain your AWeber® List ID(s), log into your AWeber® account. Click on the Lists tab. On that page you\\\'ll find a Unique List ID associated with each of your lists. AWeber® sometimes refers to this as a List Name instead of a List ID.\'); return false;">AWeber® List IDs</a>. You will ALSO need to configure a <a href="http://www.primothemes.com/forums/viewtopic.php?f=36&t=15496" target="_blank" rel="external">Custom Email Parser</a> inside your AWeber® account.</p>'."\n";
123 echo '<p>Log into AWeber®, and go to <em>My Lists -> Email Parser</em>. If you like, choose the PayPal® Parser <em>( even if you\'re not using PayPal® as your Payment Gateway )</em>. You can safely ignore the additional instructions they provide. s2Member just needs the PayPal® box checked, and that\'s all. Or, even better, integrate <a href="http://www.primothemes.com/forums/viewtopic.php?f=36&t=15496" target="_blank" rel="external">s2Member\'s Custom Email Parser</a> for AWeber, which <strong>will improve reliability</strong> and flexibility.</p>'."\n";
124 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_during_aweber", get_defined_vars());
125 /**/
126 echo '<table class="form-table">'."\n";
127 echo '<tbody>'."\n";
128 /**/
129 for($n = 0; $n <= $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["levels"]; $n++)
130 {
131 echo '<tr>'."\n";
132 /**/
133 echo '<th>'."\n";
134 echo '<label for="ws-plugin--s2member-level'.$n.'-aweber-list-ids">'."\n";
135 echo 'List ID(s) for '.(($n === 0) ? 'Free Subscribers' : 'Level #'.$n.' Members').' ( comma-delimited ):'."\n";
136 echo '</label>'."\n";
137 echo '</th>'."\n";
138 /**/
139 echo '</tr>'."\n";
140 echo '<tr>'."\n";
141 /**/
142 echo '<td>'."\n";
143 echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_level'.$n.'_aweber_list_ids" id="ws-plugin--s2member-level'.$n.'-aweber-list-ids" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["level".$n."_aweber_list_ids"]).'" /><br />'."\n";
144 echo 'New '.(($n === 0) ? 'Free Subscribers' : 'Level #'.$n.' Members').' will be subscribed to these List IDs.<br />'."\n";
145 echo 'Ex: <code>mylist, myotherlist, anotherlist</code>'."\n";
146 echo '</td>'."\n";
147 /**/
148 echo '</tr>'."\n";
149 }
150 /**/
151 echo '</tbody>'."\n";
152 echo '</table>'."\n";
153 echo '</div>'."\n";
154 /**/
155 echo '</div>'."\n";
156 /**/
157 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_after_aweber", get_defined_vars());
158 }
159 /**/
160 if(apply_filters("ws_plugin__s2member_during_els_ops_page_during_left_sections_display_opt_in", true, get_defined_vars()))
161 {
162 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_before_opt_in", get_defined_vars());
163 /**/
164 echo '<div class="ws-menu-page-group" title="Registration / Double Opt-In Box?">'."\n";
165 /**/
166 echo '<div class="ws-menu-page-section ws-plugin--s2member-opt-in-section">'."\n";
167 echo '<h3>Double Opt-In Checkbox Field ( optional )</h3>'."\n";
168 echo '<p>A Double Opt-In Checkbox will ONLY be displayed, if you\'ve integrated one <em>or more</em> List Servers.</p>'."\n";
169 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_during_opt_in", get_defined_vars());
170 /**/
171 echo '<table class="form-table">'."\n";
172 echo '<tbody>'."\n";
173 echo '<tr class="ws-plugin--s2member-custom-reg-opt-in-label-row"'.((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"]) ? ' style="display:none;"' : '').'>'."\n";
174 /**/
175 echo '<th>'."\n";
176 echo '<label for="ws-plugin--s2member-custom-reg-opt-in-label">'."\n";
177 echo 'Double Opt-In Checkbox Label:'."\n";
178 echo '</label>'."\n";
179 echo '</th>'."\n";
180 /**/
181 echo '</tr>'."\n";
182 echo '<tr class="ws-plugin--s2member-custom-reg-opt-in-label-row"'.((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"]) ? ' style="display:none;"' : '').'>'."\n";
183 /**/
184 echo '<td>'."\n";
185 echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_custom_reg_opt_in_label" id="ws-plugin--s2member-custom-reg-opt-in-label" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in_label"]).'" /><br />'."\n";
186 echo 'Example: <code><img src="'.esc_attr($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["dir_url"]).'/images/'.(($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"] == 1) ? 'checked' : 'unchecked').'.png" class="ws-plugin--s2member-custom-reg-opt-in-label-prev-img ws-menu-page-img-16" style="vertical-align:middle;" alt="" /> Your Label will appear next to a Checkbox.</code>'."\n";
187 echo '</td>'."\n";
188 /**/
189 echo '</tr>'."\n";
190 echo '<tr>'."\n";
191 /**/
192 echo '<th>'."\n";
193 echo '<label for="ws-plugin--s2member-custom-reg-opt-in">'."\n";
194 echo 'Require Double Opt-In Checkbox?'."\n";
195 echo '</label>'."\n";
196 echo '</th>'."\n";
197 /**/
198 echo '</tr>'."\n";
199 echo '<tr>'."\n";
200 /**/
201 echo '<td>'."\n";
202 echo '<select name="ws_plugin__s2member_custom_reg_opt_in" id="ws-plugin--s2member-custom-reg-opt-in">'."\n";
203 echo '<option value="1"'.(($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"] == 1) ? ' selected="selected"' : '').'>Yes ( the Box MUST be checked — checked by default )</option>'."\n";
204 echo '<option value="2"'.(($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"] == 2) ? ' selected="selected"' : '').'>Yes ( the Box MUST be checked — unchecked by default )</option>'."\n";
205 echo '<option value="0"'.((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"]) ? ' selected="selected"' : '').'>No ( disable — do NOT display or require the Checkbox )</option>'."\n";
206 echo '</select><br />'."\n";
207 echo 'An email confirmation will NOT be sent to the User, unless the Box is checked, or you\'ve disabled the Box; by choosing <code>No</code>.'."\n";
208 echo '</td>'."\n";
209 /**/
210 echo '</tr>'."\n";
211 echo '</tbody>'."\n";
212 echo '</table>'."\n";
213 echo '</div>'."\n";
214 /**/
215 echo '</div>'."\n";
216 /**/
217 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_after_opt_in", get_defined_vars());
218 }
219 /**/
220 if(apply_filters("ws_plugin__s2member_during_els_ops_page_during_left_sections_display_opt_out", true, get_defined_vars()))
221 {
222 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_before_opt_out", get_defined_vars());
223 /**/
224 echo '<div class="ws-menu-page-group" title="Automate Un-Subscribe/Opt-Outs?">'."\n";
225 /**/
226 echo '<div class="ws-menu-page-section ws-plugin--s2member-opt-out-section">'."\n";
227 echo '<h3>Automate Un-Subscribe/Opt-Out Removals ( optional )</h3>'."\n";
228 echo '<p>s2Member can automatically <em>( and silently )</em> remove Users/Members from the List Servers you\'ve configured above. s2Member is also capable of automating this, based on your own personal configuration preferences. Below, you can choose which Events you consider grounds for List Removal. It is also important to point out that s2Member will ONLY remove Users/Members from the Lists you\'ve configured at the Level the User/Member is or was at during the time of the Event. For example, if a Level #1 Member is deleted, they will ONLY be removed from the List(s) you\'ve configured at Level #1. If an account is upgraded from Level #1 to Level #2, they will ONLY be removed from the List(s) you\'ve configured at Level #1. Of course, all of this is based on the configuration below.</p>'."\n";
229 echo '<p><em><strong>*Regarding AWeber®*</strong> these will NOT work for AWeber® until you <a href="http://www.s2member.com/aweber-notification-email" target="_blank" rel="external">add a Notification Email</a> to your AWeber® account matching the "EMail From Address" configured in <code>s2Member -> General Options -> EMail Configuration</code>. Which is currently set to: <code>'.esc_html($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["reg_email_from_email"]).'</code>. This is a required step if you want s2Member to be authenticated when it emails List Removal requests to AWeber®.</em></p>'."\n";
230 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_during_opt_out", get_defined_vars());
231 /**/
232 echo '<table class="form-table">'."\n";
233 echo '<tbody>'."\n";
234 echo '<tr>'."\n";
235 /**/
236 echo '<th>'."\n";
237 echo '<label for="ws-plugin--s2member-custom-reg-auto-opt-outs">'."\n";
238 echo 'Process List Removals Automatically? ( choose events )'."\n";
239 echo '</label>'."\n";
240 echo '</th>'."\n";
241 /**/
242 echo '</tr>'."\n";
243 echo '<tr>'."\n";
244 /**/
245 echo '<td>'."\n";
246 echo '<div class="ws-menu-page-scrollbox" style="height:150px;">'."\n";
247 echo '<input type="hidden" name="ws_plugin__s2member_custom_reg_auto_opt_outs[]" value="update-signal" />'."\n";
248 foreach(array("removal-deletion" => "<strong>Anytime a User is deleted ( including manual deletions )</strong>", "ipn-refund-reversal-deletion" => "&#9492;&#9472; Anytime s2Member deletes an account because of a Refund/Reversal.", "(ipn|auto-eot)-cancellation-expiration-deletion" => "&#9492;&#9472; Anytime s2Member deletes an account because of a Cancellation/Expiration.", "modification" => "<strong>Anytime a User's Role changes ( including manual changes )</strong>", "ipn-refund-reversal-demotion" => "&#9492;&#9472; Anytime s2Member demotes an account because of a Refund/Reversal.", "(ipn|auto-eot)-cancellation-expiration-demotion" => "&#9492;&#9472; Anytime s2Member demotes an account because of a Cancellation/Expiration.", "(rtn|ipn)-upgrade-downgrade" => "&#9492;&#9472; Anytime s2Member changes a User's Role after a paid Subscr. Modification.") as $ws_plugin__s2member_temp_s_value => $ws_plugin__s2member_temp_s_label)
249 echo '<input type="checkbox" name="ws_plugin__s2member_custom_reg_auto_opt_outs[]" id="ws-plugin--s2member-custom-reg-auto-opt-outs-'.esc_attr(preg_replace("/[^a-z0-9_\-]/", "-", $ws_plugin__s2member_temp_s_value)).'" value="'.esc_attr($ws_plugin__s2member_temp_s_value).'"'.((in_array($ws_plugin__s2member_temp_s_value, $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_auto_opt_outs"])) ? ' checked="checked"' : '').' /> <label for="ws-plugin--s2member-custom-reg-auto-opt-outs-'.esc_attr(preg_replace("/[^a-z0-9_\-]/", "-", $ws_plugin__s2member_temp_s_value)).'">'.$ws_plugin__s2member_temp_s_label.'</label><br />'."\n";
250 echo '</div>'."\n";
251 echo '</td>'."\n";
252 /**/
253 echo '</tr>'."\n";
254 echo '<tr>'."\n";
255 /**/
256 echo '<th>'."\n";
257 echo '<label for="ws-plugin--s2member-custom-reg-auto-opt-out-transitions">'."\n";
258 echo 'Also Process List Transitions Automatically?'."\n";
259 echo '</label>'."\n";
260 echo '</th>'."\n";
261 /**/
262 echo '</tr>'."\n";
263 echo '<tr>'."\n";
264 /**/
265 echo '<td>'."\n";
266 echo '<select name="ws_plugin__s2member_custom_reg_auto_opt_out_transitions" id="ws-plugin--s2member-custom-reg-auto-opt-out-transitions">'."\n";
267 echo '<option value="0"'.((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_auto_opt_out_transitions"]) ? ' selected="selected"' : '').'>No ( do NOT transition mailing list subscribers automatically )</option>'."\n";
268 echo '<option value="1"'.(($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_auto_opt_out_transitions"] === "1") ? ' selected="selected"' : '').'>Yes ( automatically transition, if able to remove from a previous list )</option>'."\n";
269 echo '<option value="2"'.(($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_auto_opt_out_transitions"] === "2") ? ' selected="selected"' : '').'>Yes ( always automatically transition, even if NOT removed from a previous list )</option>'."\n";
270 echo '</select><br />'."\n";
271 echo '<em><strong>*Transitions*</strong> When/if s2Member automatically removes a Member from Lists at their current Level# ( based on your configuration in the previous section ), this setting tells s2Member that it should <strong>also</strong> transition the Member to any Lists you\'ve configured at the new Access Level# ( i.e. Role ) they are being changed to. For example, if a Member is demoted from Level #1 to Level #0, do you want s2Member to add them to the Level #0 List(s) after it removes them from the Level #1 List(s)?</em><br /><br />'."\n";
272 echo '<em><strong>*If removed from a previous list, or NOT?*</strong> You can choose your preference above. When/if s2Member automatically transitions a mailing list subscriber, it will first try to remove the subscriber from a previous mailing list. If s2Member is able to remove the subscriber from a previous list before the transition takes place, s2Member will then make an attempt ( based on your configuration ) to transition the subscriber to a new/different list silently ( e.g. without a new confirmation email being sent out ). If s2Member is NOT able to remove a subscriber from a previous list, it can - ( if configured to do so ), still transition a subscriber to a new list, by sending the subscriber a new email confirmation letter ( e.g. this is NOT silent, because you absolutely NEED the subscriber\'s permission in this case ).</em><br /><br />'."\n";
273 echo '<em><strong>*Seamless with MailChimp®*</strong> If enabled, Automatic List Transitions work seamlessly with MailChimp®. Automatic List Transitions also work with AWeber®, but AWeber® will ALWAYS send the User/Member a new confirmation email, asking them to confirm changes to their mailing list subscription with you. Work is underway to improve this aspect of s2Member\'s integration with AWeber® in a future release. Ideally, a Customer would be transitioned silently behind the scene with AWeber® too, when appropriate.</em>'."\n";
274 echo '</td>'."\n";
275 /**/
276 echo '</tr>'."\n";
277 echo '</tbody>'."\n";
278 echo '</table>'."\n";
279 echo '</div>'."\n";
280 /**/
281 echo '</div>'."\n";
282 /**/
283 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_after_opt_out", get_defined_vars());
284 }
285 /**/
286 if(apply_filters("ws_plugin__s2member_during_els_ops_page_during_left_sections_display_other_methods", true, get_defined_vars()))
287 {
288 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_before_other_methods", get_defined_vars());
289 /**/
290 echo '<div class="ws-menu-page-group" title="Other List Server Integration Methods">'."\n";
291 /**/
292 echo '<div class="ws-menu-page-section ws-plugin--s2member-other-methods-section">'."\n";
293 echo '<h3>Other List Server Integrations ( there\'s always a way )</h3>'."\n";
294 echo '<p>Check the s2Member API Notifications panel. You\'ll find additional layers of automation available through the use of the `Signup`, `Registration`, `Payment`, `EOT/Deletion`, `Refund/Reversal`, and `Specific Post/Page` Notifications that are available to you through the s2Member API. These make it possible to integrate with 3rd party applications; like list servers, affiliate programs, and other back-office routines; in more advanced ways. You will probably need to get help from a web developer though. s2Member API Notifications require some light PHP scripting by someone familiar with web service connections.</p>'."\n";
295 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_during_other_methods", get_defined_vars());
296 echo '</div>'."\n";
297 /**/
298 echo '</div>'."\n";
299 /**/
300 do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_after_other_methods", get_defined_vars());
301 }
302 /**/
303 do_action("ws_plugin__s2member_during_els_ops_page_after_left_sections", get_defined_vars());
304 /**/
305 echo '<div class="ws-menu-page-hr"></div>'."\n";
306 /**/
307 echo '<p class="submit"><input type="submit" class="button-primary" value="Save All Changes" /></p>'."\n";
308 /**/
309 echo '</form>'."\n";
310 /**/
311 echo '</td>'."\n";
312 /**/
313 echo '<td class="ws-menu-page-table-r">'."\n";
314 c_ws_plugin__s2member_menu_pages_rs::display();
315 echo '</td>'."\n";
316 /**/
317 echo '</tr>'."\n";
318 echo '</tbody>'."\n";
319 echo '</table>'."\n";
320 /**/
321 echo '</div>'."\n";
322 }
323 }
324 }
325 /**/
326 new c_ws_plugin__s2member_menu_page_els_ops();
327 ?>