PluginProbe
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions / 110731
s2Member – Excellent for All Kinds of Memberships, Content Restriction Paywalls & Member Access Subscriptions v110731
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 / mms-ops.inc.php

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

335 lines 24.4 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 ( Main Multisite 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_mms_ops"))
21 {
22 /**
23 * Menu page for the s2Member plugin ( Main Multisite Options page ).
24 *
25 * @package s2Member\Menu_Pages
26 * @since 110531
27 */
28 class c_ws_plugin__s2member_menu_page_mms_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® Multisite ( Configuration )</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 if (is_multisite () && is_main_site ()) /* These panels will ONLY be available on the Main Site; with Multisite Networking. */
43 {
44 echo '<form method="post" name="ws_plugin__s2member_options_form" id="ws-plugin--s2member-options-form">' . "\n";
45 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";
46 echo '<input type="hidden" name="ws_plugin__s2member_configured" id="ws-plugin--s2member-configured" value="1" />' . "\n";
47 /**/
48 do_action ("ws_plugin__s2member_during_mms_ops_page_before_left_sections", get_defined_vars ());
49 /**/
50 if (apply_filters ("ws_plugin__s2member_during_mms_ops_page_during_left_sections_display_mms_patches", true, get_defined_vars ()))
51 {
52 do_action ("ws_plugin__s2member_during_mms_ops_page_during_left_sections_before_mms_patches", get_defined_vars ());
53 /**/
54 echo '<div class="ws-menu-page-group" title="Multisite WordPress® Patches" default-state="open">' . "\n";
55 /**/
56 echo '<div class="ws-menu-page-section ws-plugin--s2member-mms-patches-section">' . "\n";
57 echo '<img src="' . esc_attr ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["dir_url"]) . '/images/small-icon.png" title="s2Member ( a Membership management system for WordPress® )" alt="" style="float:right; margin:0 0 0 25px; border:0;" />' . "\n";
58 echo '<h3>Multisite WordPress® Patches ( required for compatiblity )</h3>' . "\n";
59 echo '<p>In order for s2Member to function properly in a Multisite environment, you MUST implement four patches. One goes into your /wp-login.php file, one into /wp-includes/load.php, one into /wp-includes/ms-functions.php, and another into /wp-admin/user-new.php. We have TRAC tickets into WordPress® for these changes. However, until the official release of WordPress® includes these updates, you will need to use the automatic patcher below. All you do is check the box &amp; click Save. s2Member will handle everything automatically for you.</p>' . "\n";
60 do_action ("ws_plugin__s2member_during_mms_ops_page_during_left_sections_during_mms_patches", get_defined_vars ());
61 /**/
62 echo '<table class="form-table">' . "\n";
63 echo '<tbody>' . "\n";
64 echo '<tr>' . "\n";
65 /**/
66 echo '<th>' . "\n";
67 echo '<label for="ws-plugin--s2member-mms-auto-patch">' . "\n";
68 echo 'Patch Automatically? ( the easiest way )' . "\n";
69 echo '</label>' . "\n";
70 echo '</th>' . "\n";
71 /**/
72 echo '</tr>' . "\n";
73 echo '<tr>' . "\n";
74 /**/
75 echo '<td>' . "\n";
76 /**/
77 if (defined ("DISALLOW_FILE_MODS") && DISALLOW_FILE_MODS)
78 {
79 echo '<select name="ws_plugin__s2member_mms_auto_patch" id="ws-plugin--s2member-mms-auto-patch" disabled="disabled">' . "\n";
80 echo '<option value="0" selected="selected">No ( I\'ll patch WordPress® myself )</option>' . "\n";
81 echo '</select><br />' . "\n";
82 echo '<em class="ws-menu-page-hilite">This is now locked. Your /wp-config.php file says: <code>DISALLOW_FILE_MODS = true</em></code>.' . "\n";
83 }
84 else /* Otherwise we can display these options. */
85 {
86 echo '<select name="ws_plugin__s2member_mms_auto_patch" id="ws-plugin--s2member-mms-auto-patch">' . "\n";
87 echo '<option value="1"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mms_auto_patch"]) ? ' selected="selected"' : '') . '>Yes ( automatically patch WordPress® )</option>' . "\n";
88 echo '<option value="0"' . ((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mms_auto_patch"]) ? ' selected="selected"' : '') . '>No ( I\'ll patch WordPress® myself )</option>' . "\n";
89 echo '</select><br />' . "\n";
90 echo '<em class="ws-menu-page-hilite">Don\'t forget to patch these files again, each time you upgrade the WordPress® core.</em>' . "\n";
91 }
92 /**/
93 echo '</td>' . "\n";
94 /**/
95 echo '</tr>' . "\n";
96 echo '</tbody>' . "\n";
97 echo '</table>' . "\n";
98 /**/
99 echo '<div class="ws-menu-page-hr"></div>' . "\n";
100 /**/
101 echo '<div id="ws-plugin--s2member-mms-patches-details-wrapper">' . "\n";
102 echo '<h3>Rather Do It Yourself? ( <a href="#" onclick="jQuery(\'div#ws-plugin--s2member-mms-patches-details\').toggle(); return false;" class="ws-dotted-link">manual instructions</a> )</h3>' . "\n";
103 echo '<div id="ws-plugin--s2member-mms-patches-details" style="display:none;">' . "\n";
104 echo '<p><strong>Patch #1</strong> ( /wp-login.php )</p>' . "\n";
105 echo '<p>' . c_ws_plugin__s2member_utils_strings::highlight_php (file_get_contents (dirname (__FILE__) . "/code-samples/mms-patch-wp-login.php")) . '</p>' . "\n";
106 echo '<p><strong>Patch #2</strong> ( /wp-includes/load.php )</p>' . "\n";
107 echo '<p>' . c_ws_plugin__s2member_utils_strings::highlight_php (file_get_contents (dirname (__FILE__) . "/code-samples/mms-patch-load.php")) . '</p>' . "\n";
108 echo '<p><strong>Patch #3</strong> ( /wp-admin/user-new.php )</p>' . "\n";
109 echo '<p>' . c_ws_plugin__s2member_utils_strings::highlight_php (file_get_contents (dirname (__FILE__) . "/code-samples/mms-patch-user-new.php")) . '</p>' . "\n";
110 echo '<p><strong>Patch #4</strong> ( /wp-includes/ms-functions.php )</p>' . "\n";
111 echo '<p>' . c_ws_plugin__s2member_utils_strings::highlight_php (file_get_contents (dirname (__FILE__) . "/code-samples/mms-patch-ms-functions.php")) . '</p>' . "\n";
112 echo '<p><em class="ws-menu-page-hilite">Don\'t forget to patch these files again, each time you upgrade the WordPress® core.</em></p>' . "\n";
113 echo '</div>' . "\n";
114 echo '</div>' . "\n";
115 echo '</div>' . "\n";
116 /**/
117 echo '</div>' . "\n";
118 /**/
119 do_action ("ws_plugin__s2member_during_mms_ops_page_during_left_sections_after_mms_patches", get_defined_vars ());
120 }
121 /**/
122 if (apply_filters ("ws_plugin__s2member_during_mms_ops_page_during_left_sections_display_mms_registration", true, get_defined_vars ()))
123 {
124 do_action ("ws_plugin__s2member_during_mms_ops_page_during_left_sections_before_mms_registration", get_defined_vars ());
125 /**/
126 echo '<div class="ws-menu-page-group" title="Multisite Registration Configuration" default-state="open">' . "\n";
127 /**/
128 echo '<div class="ws-menu-page-section ws-plugin--s2member-mms-registration-section">' . "\n";
129 echo '<img src="' . esc_attr ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["dir_url"]) . '/images/large-icon.png" title="s2Member ( a Membership management system for WordPress® )" alt="" style="float:right; margin:0 0 0 25px; border:0;" />' . "\n";
130 echo '<h3>Multisite Registration ( Main Site Configuration )</h3>' . "\n";
131 echo '<p>s2Member supports Free Subscribers <em>( at Level #0 )</em>, and several Primary Roles created by the s2Member plugin (<em> i.e. s2Member Levels 1-4, or up to the number of configured Levels )</em>. If you want your visitors to be capable of registering absolutely free, you will want to "allow" Open Registration. Whenever a visitor registers without paying, they\'ll automatically become a Free Subscriber, at Level #0.</p>' . "\n";
132 /**/
133 echo '<p><strong>Running A Multisite Blog Farm?</strong> With Multisite Networking enabled, your Main Site could ALSO offer a Customer access to create a Blog of their own <em>( optional )</em>, where a Customer becomes a "Member" of your Main Site, and also a Blog Owner/Administrator of at least one other Blog on your Network. With s2Member installed <em>( Network wide )</em>, each of your Blog Owners could offer Membership too, using a single copy of the s2Member plugin, which is a great selling point<em>!</em> We refer to this type of installation as a Multisite Blog Farm. If your Network is making it possible for Members to create and/or manage Blogs, s2Member will consider your installation to be a Multisite Blog Farm.</p>' . "\n";
134 /**/
135 echo '<p>Multisite Networking makes a new Registration Form available <em>( driven by your theme )</em>; which we refer to as: <code>/wp-signup.php</code>. If, and only if, you\'re planning to offer Blogs, you MUST use <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::wp_signup_url ()) . '" target="_blank" rel="external">/wp-signup.php</a>, instead of using the Standard Login/Registration Form. In a Multisite installation, we refer to the Standard Login/Registration Form, as: <code>/wp-login.php?action=register</code>. If you\'re planning to offer Membership Access only, and NOT Blogs, you can simply use the <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::wp_register_url ()) . '" target="_blank" rel="external">Standard Login/Registration Form</a>, which is easily customized through <code>s2Member -> General Options -> Login/Registration Design</code>, on your Main Site. In either case, s2Member Pro Forms are possible too. If you\'ve purchased s2Member Pro, you could use Pro Forms instead of these WordPress® defaults. That being said, even with s2Member Pro Forms, if you are offering Blogs, you will still need to facilitate the actual creation of each Blog through <code>/wp-signup.php</code>. In other words, Customers can register through s2Member Pro Forms, and even checkout. But when it comes time to setup a new Blog, you will need to redirect your Customer to <code>/wp-signup.php</code>, while they are logged-in. This will allow them to create a new Blog on your Network, based on the configuration options you set below.</p>' . "\n";
136 do_action ("ws_plugin__s2member_during_mms_ops_page_during_left_sections_during_mms_registration", get_defined_vars ());
137 /**/
138 echo '<div id="ws-plugin--s2member-mms-registration-support-package-details-wrapper">' . "\n";
139 echo '<h4 style="margin-bottom:0;">Running a Multisite Blog Farm? ( <a href="#" onclick="jQuery(\'div#ws-plugin--s2member-mms-registration-support-package-details\').toggle(); return false;" class="ws-dotted-link">click here / please read</a> )</h4>' . "\n";
140 echo '<div id="ws-plugin--s2member-mms-registration-support-package-details" style="display:none;">' . "\n";
141 echo '<p>The most important thing to do when setting up a Blog Farm with s2Member, is to add this line to your <code>/wp-config.php</code> file: <code><span style="color:#0000BB;">define</span><span style="color:#007700;">(</span><span style="color:#DD0000;">"MULTISITE_FARM"</span>, <span style="color:#0000BB;">true</span><span style="color:#007700;">)</span></code>. This will add a default layer of security, to all Blogs within your Network, with respect to s2Member. <strong>But, before you go live</strong>, please contact <a href="' . esc_attr (c_ws_plugin__s2member_readmes::parse_readme_value ("Pro Module / Prices")) . '" target="_blank" rel="external">s2Member.com</a> for full documentation. There is some additional functionality that can be enabled for security on a Blog Farm installation; and also some menus/documentation/functionality that can be disabled. You will be asked to purchase our <a href="' . esc_attr (c_ws_plugin__s2member_readmes::parse_readme_value ("Pro Module / Prices")) . '" target="_blank" rel="external">Network Support Package</a> when you need assistance in this regard. Multisite Blog Farms require a site owner that fully understands the potential security risks associated with Blog Farming. s2Member\'s <a href="' . esc_attr (c_ws_plugin__s2member_readmes::parse_readme_value ("Pro Module / Prices")) . '" target="_blank" rel="external">Network Support Package</a> provides you with the information you need, and priority support for anything about s2Member that you don\'t understand. In addition, our Network Support Package includes a lengthy PDF file that details a list of things affected by <code><span style="color:#0000BB;">define</span><span style="color:#007700;">(</span><span style="color:#DD0000;">"MULTISITE_FARM"</span>, <span style="color:#0000BB;">true</span><span style="color:#007700;">)</span></code>, best practices, and other supplemental documentation focused on Blog Farms.</p>' . "\n";
142 echo '</div>' . "\n";
143 echo '</div>' . "\n";
144 /**/
145 echo '<table class="form-table">' . "\n";
146 echo '<tbody>' . "\n";
147 echo '<tr>' . "\n";
148 /**/
149 echo '<th>' . "\n";
150 echo '<label for="ws-plugin--s2member-mms-registration-file">' . "\n";
151 echo 'What Do You Plan To Offer? ( please choose one )' . "\n";
152 echo '</label>' . "\n";
153 echo '</th>' . "\n";
154 /**/
155 echo '</tr>' . "\n";
156 echo '<tr>' . "\n";
157 /**/
158 echo '<td>' . "\n";
159 /**/
160 if (defined ("MULTISITE_FARM") && MULTISITE_FARM) /* Lock this down if a config option is set in /wp-config.php. */
161 {
162 echo '<select name="ws_plugin__s2member_mms_registration_file" id="ws-plugin--s2member-mms-registration-file" disabled="disabled">' . "\n";
163 echo '<option value="wp-signup" selected="selected">Blog Farm ( I plan to offer both Membership &amp; Blog creation )</option>' . "\n";
164 echo '</select><br />' . "\n";
165 echo '<em class="ws-menu-page-hilite">This is now locked. Your /wp-config.php file says: <code>MULTISITE_FARM = true</code></em>.' . "\n";
166 }
167 else /* Otherwise we can display these options normally. */
168 {
169 echo '<select name="ws_plugin__s2member_mms_registration_file" id="ws-plugin--s2member-mms-registration-file">' . "\n";
170 echo '<option value="wp-login"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mms_registration_file"] === "wp-login") ? ' selected="selected"' : '') . '>Membership Only ( I\'m NOT offering Blogs )</option>' . "\n";
171 echo '<option value="wp-signup"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mms_registration_file"] === "wp-signup") ? ' selected="selected"' : '') . '>Blog Farm ( I plan to offer both Membership &amp; Blog creation )</option>' . "\n";
172 echo '</select><br />' . "\n";
173 echo 'Depending on your selection, the options below may change.' . "\n";
174 }
175 /**/
176 echo '</td>' . "\n";
177 /**/
178 echo '</tr>' . "\n";
179 echo '</tbody>' . "\n";
180 echo '</table>' . "\n";
181 /**/
182 echo '<div class="ws-menu-page-hr"></div>' . "\n";
183 /**/
184 echo '<table class="form-table ws-plugin--s2member-mms-registration-wp-login" style="margin:0;">' . "\n";
185 echo '<tbody>' . "\n";
186 echo '<tr>' . "\n";
187 /**/
188 echo '<th style="padding-top:0;">' . "\n";
189 echo '<label for="ws-plugin--s2member-allow-subscribers-in">' . "\n";
190 echo 'Your Main Site / Allow Open Registration? ( via <code>wp-login.php?action=register</code> )' . "\n";
191 echo '</label>' . "\n";
192 echo '</th>' . "\n";
193 /**/
194 echo '</tr>' . "\n";
195 echo '<tr>' . "\n";
196 /**/
197 echo '<td>' . "\n";
198 echo '<select name="ws_plugin__s2member_allow_subscribers_in" id="ws-plugin--s2member-allow-subscribers-in">' . "\n";
199 echo '<option value="0"' . ((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["allow_subscribers_in"]) ? ' selected="selected"' : '') . '>No ( do NOT allow Open Registration )</option>' . "\n";
200 echo '<option value="1"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["allow_subscribers_in"]) ? ' selected="selected"' : '') . '>Yes ( allow Open Registration; Free Subscribers at Level #0 )</option>' . "\n";
201 echo '</select><br />' . "\n";
202 echo 'If you set this to <code>Yes</code>, you\'re unlocking <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::wp_register_url ()) . '" target="_blank" rel="external">wp-login.php?action=register</a> ( on your Main Site ). When a visitor registers without paying, they\'ll automatically become a Free Subscriber, at Level #0. The s2Member software reserves Level #0; to be used ONLY for Free Subscribers. All other Membership Levels [1-4] require payment.' . "\n";
203 echo '</td>' . "\n";
204 /**/
205 echo '</tr>' . "\n";
206 echo '</tbody>' . "\n";
207 echo '</table>' . "\n";
208 /**/
209 echo '<table class="form-table ws-plugin--s2member-mms-registration-wp-signup" style="margin:0;">' . "\n";
210 echo '<tbody>' . "\n";
211 echo '<tr>' . "\n";
212 /**/
213 echo '<th style="padding-top:0;">' . "\n";
214 echo '<label for="ws-plugin--s2member-mms-registration-grants">' . "\n";
215 echo 'Your Main Site / Allow Open Registration? ( via <code>wp-signup.php</code> )' . "\n";
216 echo '</label>' . "\n";
217 echo '</th>' . "\n";
218 /**/
219 echo '</tr>' . "\n";
220 echo '<tr>' . "\n";
221 /**/
222 echo '<td style="padding-bottom:0;">' . "\n";
223 echo '<select name="ws_plugin__s2member_mms_registration_grants" id="ws-plugin--s2member-mms-registration-grants">' . "\n";
224 echo '<option value="none"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mms_registration_grants"] === "none") ? ' selected="selected"' : '') . '>No ( do NOT allow Open Registration )</option>' . "\n";
225 echo '<option value="user"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mms_registration_grants"] === "user") ? ' selected="selected"' : '') . '>Yes ( allow Open Registration; Free Subscribers at Level #0 )</option>' . "\n";
226 echo '<option value="all"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mms_registration_grants"] === "all") ? ' selected="selected"' : '') . '>Yes ( allow Open Registration; Free Subscribers, with a free Blog too )</option>' . "\n";
227 echo '</select><br />' . "\n";
228 echo 'If you set this to <code>Yes</code>, you\'re unlocking <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::wp_signup_url ()) . '" target="_blank" rel="external">wp-signup.php</a> ( on your Main Site ).' . "\n";
229 echo '</td>' . "\n";
230 /**/
231 echo '</tr>' . "\n";
232 echo '</tbody>' . "\n";
233 echo '</table>' . "\n";
234 /**/
235 echo '<table class="form-table ws-plugin--s2member-mms-registration-wp-signup ws-plugin--s2member-mms-registration-wp-signup-blogs-level0">' . "\n";
236 echo '<tbody>' . "\n";
237 echo '<tr>' . "\n";
238 /**/
239 echo '<th>' . "\n";
240 echo '<label for="ws-plugin--s2member-mms-registration-blogs-level0">' . "\n";
241 echo 'Level #0 ( Free Subscribers ):' . "\n";
242 echo '</label>' . "\n";
243 echo '</th>' . "\n";
244 /**/
245 echo '</tr>' . "\n";
246 echo '<tr>' . "\n";
247 /**/
248 echo '<td style="padding-bottom:0;">' . "\n";
249 echo '<input type="text" name="ws_plugin__s2member_mms_registration_blogs_level0" id="ws-plugin--s2member-mms-registration-blogs-level0" value="' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mms_registration_blogs_level0"]) . '" /><br />' . "\n";
250 echo 'How many blogs can a Free Subscriber create?' . "\n";
251 echo '</td>' . "\n";
252 /**/
253 echo '</tr>' . "\n";
254 echo '</tbody>' . "\n";
255 echo '</table>' . "\n";
256 /**/
257 echo '<div class="ws-menu-page-hr ws-plugin--s2member-mms-registration-wp-signup"></div>' . "\n";
258 /**/
259 echo '<table class="form-table ws-plugin--s2member-mms-registration-wp-signup" style="margin:0;">' . "\n";
260 echo '<tbody>' . "\n";
261 /**/
262 for ($n = 1; $n <= $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["levels"]; $n++)
263 {
264 echo '<tr>' . "\n";
265 /**/
266 echo '<th style="padding-top:0;">' . "\n";
267 echo '<label for="ws-plugin--s2member-mms-registration-blogs-level' . $n . '">' . "\n";
268 echo 'Membership Level #' . $n . ' / Maximum Blogs Allowed:' . "\n";
269 echo '</label>' . "\n";
270 echo '</th>' . "\n";
271 /**/
272 echo '</tr>' . "\n";
273 echo '<tr>' . "\n";
274 /**/
275 echo '<td>' . "\n";
276 echo '<input type="text" name="ws_plugin__s2member_mms_registration_blogs_level' . $n . '" id="ws-plugin--s2member-mms-registration-blogs-level' . $n . '" value="' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["mms_registration_blogs_level" . $n]) . '" /><br />' . "\n";
277 echo 'How many blogs can a Member ( at Level #' . $n . ' ) create?' . "\n";
278 echo '</td>' . "\n";
279 /**/
280 echo '</tr>' . "\n";
281 }
282 /**/
283 echo '</tbody>' . "\n";
284 echo '</table>' . "\n";
285 echo '</div>' . "\n";
286 /**/
287 echo '</div>' . "\n";
288 /**/
289 do_action ("ws_plugin__s2member_during_mms_ops_page_during_left_sections_after_mms_registration", get_defined_vars ());
290 }
291 do_action ("ws_plugin__s2member_during_mms_ops_page_after_left_sections", get_defined_vars ());
292 /**/
293 echo '<div class="ws-menu-page-hr"></div>' . "\n";
294 /**/
295 echo '<p class="submit"><input type="submit" class="button-primary" value="Save All Changes" /></p>' . "\n";
296 /**/
297 echo '</form>' . "\n";
298 }
299 else /* Otherwise, we can display a simple notation; leading into Multisite Networking. */
300 {
301 echo '<p style="margin-top:0;"><span class="ws-menu-page-hilite">Your WordPress® installation does not have Multisite Networking enabled.<br />Which is perfectly OK :-) Multisite Networking is 100% completely optional.</span></p>' . "\n";
302 echo '<img src="' . esc_attr ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["dir_url"]) . '/images/large-icon.png" title="s2Member ( a Membership management system for WordPress® )" alt="" style="float:right; margin:0 0 0 25px; border:0;" />' . "\n";
303 /**/
304 if (file_exists ($ws_plugin__s2member_temp = dirname (dirname (dirname (__FILE__))) . "/ms.txt"))
305 {
306 echo '<div class="ws-menu-page-hr"></div>' . "\n";
307 /**/
308 if (!function_exists ("NC_Markdown"))
309 include_once dirname (dirname (__FILE__)) . "/_xtnls/markdown/nc-markdown.inc.php";
310 /**/
311 $ws_plugin__s2member_temp = file_get_contents ($ws_plugin__s2member_temp);
312 $ws_plugin__s2member_temp = preg_replace ("/(\=)( )(.+?)( )(\=)/", "<h3>$3</h3>", $ws_plugin__s2member_temp);
313 $ws_plugin__s2member_temp = NC_Markdown ($ws_plugin__s2member_temp);
314 /**/
315 echo preg_replace ("/(\<a)( href)/i", "$1" . ' target="_blank" rel="nofollow external"' . "$2", $ws_plugin__s2member_temp);
316 }
317 }
318 /**/
319 echo '</td>' . "\n";
320 /**/
321 echo '<td class="ws-menu-page-table-r">' . "\n";
322 c_ws_plugin__s2member_menu_pages_rs::display ();
323 echo '</td>' . "\n";
324 /**/
325 echo '</tr>' . "\n";
326 echo '</tbody>' . "\n";
327 echo '</table>' . "\n";
328 /**/
329 echo '</div>' . "\n";
330 }
331 }
332 }
333 /**/
334 new c_ws_plugin__s2member_menu_page_mms_ops ();
335 ?>