Paid Memberships Pro - Version 1.8.4

Version Description

  • BUG: Fixed the Stripe webhook to work on new orders that are storing the subscription id instead of the customer id in the subscription_transaction_id field. (Thanks, nickd32 on GitHub)
  • BUG: Fixed issue where the name and email address of customers was not being sent to Stripe if existing members checked out while the "show billing address" option was set to false.
  • BUG: Fixed bug where users who checked out with the Braintree Payments gateway could checkout again using their on file credit card if an invalid credit card was entered at checkout the second time. (Thanks, patternsinthecloud)
  • BUG: Updated the 2Checkout PHP API library and fixed some issues with 2Checkout integration.
  • BUG: Fixed issue where custom roles had to have pmpro_membershiplevels capability to view other PMPro-related dashboard pages. (Thanks, squarelines)
  • ENHANCEMENT: Added the ability to order levels on the Levels page by drag and drop in the WordPress admin.
  • ENHANCEMENT: Now hiding tabs in the PMPro settings if a user doesn't have access to that tab (but does have access to other tabs).
  • ENHANCEMENT: Converted all files to unix format and removed trailing whitespace. This has no functional change on the plugin, but helps developers who are contributing. (Thanks, meths on GitHub)
  • ENHANCEMENT: New Danish translation. (Thanks, Morten Stenbk and Frederik Hermund)
Download this release

Release Info

Developer strangerstudios
Plugin Icon 128x128 Paid Memberships Pro
Version 1.8.4
Comparing to
See all releases

Code changes from version 1.8.3.1 to 1.8.4

Files changed (271) hide show
  1. adminpages/addons.php +142 -142
  2. adminpages/addons/hide-admin-bar-from-non-admins.php +31 -31
  3. adminpages/addons/pmpro-addon-packages.php +30 -30
  4. adminpages/addons/pmpro-affiliates.php +30 -30
  5. adminpages/addons/pmpro-aweber.php +31 -31
  6. adminpages/addons/pmpro-bbpress.php +31 -31
  7. adminpages/addons/pmpro-constant-contact.php +31 -31
  8. adminpages/addons/pmpro-disable-emails.php +28 -28
  9. adminpages/addons/pmpro-email-templates.php +31 -31
  10. adminpages/addons/pmpro-expiration.php +30 -30
  11. adminpages/addons/pmpro-freeaddress.php +30 -30
  12. adminpages/addons/pmpro-infusionsoft.php +31 -31
  13. adminpages/addons/pmpro-level-cost-text.php +30 -30
  14. adminpages/addons/pmpro-mailchimp.php +31 -31
  15. adminpages/addons/pmpro-network-subsite.php +31 -31
  16. adminpages/addons/pmpro-network.php +31 -31
  17. adminpages/addons/pmpro-post-affiliate-pro.php +31 -31
  18. adminpages/addons/pmpro-register-helper.php +31 -31
  19. adminpages/addons/pmpro-require-code-to-register.php +28 -28
  20. adminpages/addons/pmpro-series.php +30 -30
  21. adminpages/addons/pmpro-shipping.php +31 -31
  22. adminpages/addons/pmpro-user-pages.php +30 -30
  23. adminpages/addons/pmpro-woocommerce.php +31 -31
  24. adminpages/addons/pmpro-wp-affiliate.php +31 -31
  25. adminpages/addons/tml.php +32 -32
  26. adminpages/addons/wp-bouncer.php +31 -31
  27. adminpages/admin_footer.php +1 -1
  28. adminpages/admin_header.php +173 -156
  29. adminpages/advancedsettings.php +79 -79
  30. adminpages/dashboard.php +27 -27
  31. adminpages/discountcodes.php +665 -665
  32. adminpages/emailsettings.php +181 -181
  33. adminpages/functions.php +255 -255
  34. adminpages/membershiplevels.php +673 -594
  35. adminpages/memberslist-csv.php +41 -41
  36. adminpages/memberslist.php +58 -58
  37. adminpages/orders-csv.php +75 -75
  38. adminpages/orders.php +2 -2
  39. adminpages/pagesettings.php +260 -257
  40. adminpages/paymentsettings.php +244 -244
  41. adminpages/reports.php +61 -61
  42. adminpages/reports/login.php +419 -419
  43. adminpages/reports/memberships.php +660 -660
  44. adminpages/reports/sales.php +406 -406
  45. classes/class.memberorder.php +3 -3
  46. classes/class.mimetype.php +238 -238
  47. classes/class.pmproemail.php +815 -815
  48. classes/gateways/class.pmprogateway.php +220 -220
  49. classes/gateways/class.pmprogateway_authorizenet.php +224 -224
  50. classes/gateways/class.pmprogateway_braintree.php +824 -824
  51. classes/gateways/class.pmprogateway_check.php +340 -340
  52. classes/gateways/class.pmprogateway_cybersource.php +884 -884
  53. classes/gateways/class.pmprogateway_payflowpro.php +175 -175
  54. classes/gateways/class.pmprogateway_paypal.php +178 -178
  55. classes/gateways/class.pmprogateway_paypalexpress.php +243 -243
  56. classes/gateways/class.pmprogateway_paypalstandard.php +537 -537
  57. classes/gateways/class.pmprogateway_stripe.php +1616 -1616
  58. classes/gateways/class.pmprogateway_twocheckout.php +83 -30
  59. css/admin.css +117 -113
  60. css/frontend.css +177 -177
  61. css/print.css +3 -3
  62. email/billing.html +3 -3
  63. email/billing_admin.html +4 -4
  64. email/billing_failure.html +2 -2
  65. email/billing_failure_admin.html +10 -10
  66. email/cancel_admin.html +1 -1
  67. email/checkout_freetrial.html +2 -2
  68. email/checkout_freetrial_admin.html +2 -2
  69. email/checkout_paid.html +2 -2
  70. email/checkout_paid_admin.html +2 -2
  71. email/checkout_trial.html +2 -2
  72. email/checkout_trial_admin.html +2 -2
  73. email/credit_card_expiring.html +12 -12
  74. email/invoice.html +2 -2
  75. email/membership_expired.html +6 -6
  76. email/membership_expiring.html +5 -5
  77. includes/adminpages.php +272 -268
  78. includes/cleanup.php +39 -39
  79. includes/content.php +461 -458
  80. includes/countries.php +253 -253
  81. includes/currencies.php +80 -80
  82. includes/email.php +130 -130
  83. includes/filters.php +157 -157
  84. includes/functions.php +1910 -1910
  85. includes/https.php +185 -185
  86. includes/init.php +242 -240
  87. includes/lib/Braintree/Braintree/Address.php +2 -2
  88. includes/lib/Braintree/Braintree/Exception/Authentication.php +1 -1
  89. includes/lib/Braintree/Braintree/Instance.php +3 -3
  90. includes/lib/Braintree/Braintree/Result/Successful.php +1 -1
  91. includes/lib/Braintree/Braintree/Test/CreditCardNumbers.php +1 -1
  92. includes/lib/Braintree/Braintree/Test/TransactionAmounts.php +1 -1
  93. includes/lib/Braintree/Braintree/Transaction/AddressDetails.php +1 -1
  94. includes/lib/Braintree/Braintree/Transaction/CreditCardDetails.php +1 -1
  95. includes/lib/Braintree/Braintree/Transaction/CustomerDetails.php +1 -1
  96. includes/lib/Braintree/Braintree/Transaction/StatusDetails.php +1 -1
  97. includes/lib/Braintree/Braintree/Transaction/SubscriptionDetails.php +1 -1
  98. includes/lib/Braintree/Braintree/Xml.php +1 -1
  99. includes/lib/CyberSource/cyber_source_soap_client.php +86 -86
  100. includes/lib/Stripe/Stripe/ApiRequestor.php +4 -4
  101. includes/lib/Stripe/Stripe/ApplicationFee.php +1 -1
  102. includes/lib/Stripe/Stripe/CardError.php +1 -1
  103. includes/lib/Stripe/Stripe/Plan.php +2 -2
  104. includes/lib/Stripe/Stripe/Recipient.php +1 -1
  105. includes/lib/Stripe/Stripe/Util.php +1 -1
  106. includes/lib/Twocheckout/Twocheckout.php +45 -9
  107. includes/lib/Twocheckout/Twocheckout/Api/TwocheckoutAccount.php +8 -8
  108. includes/lib/Twocheckout/Twocheckout/Api/TwocheckoutApi.php +36 -14
  109. includes/lib/Twocheckout/Twocheckout/Api/TwocheckoutCoupon.php +17 -17
  110. includes/lib/Twocheckout/Twocheckout/Api/TwocheckoutError.php +2 -2
  111. includes/lib/Twocheckout/Twocheckout/Api/TwocheckoutOption.php +17 -17
  112. includes/lib/Twocheckout/Twocheckout/Api/TwocheckoutPayment.php +8 -8
  113. includes/lib/Twocheckout/Twocheckout/Api/TwocheckoutProduct.php +17 -17
  114. includes/lib/Twocheckout/Twocheckout/Api/TwocheckoutSale.php +39 -38
  115. includes/lib/Twocheckout/Twocheckout/Api/TwocheckoutUtil.php +14 -12
  116. includes/lib/Twocheckout/Twocheckout/TwocheckoutCharge.php +14 -6
  117. includes/lib/Twocheckout/Twocheckout/TwocheckoutNotification.php +2 -2
  118. includes/lib/Twocheckout/Twocheckout/TwocheckoutReturn.php +2 -2
  119. includes/lib/name-parser.php +165 -165
  120. includes/lib/recaptchalib.php +1 -1
  121. includes/localization.php +4 -4
  122. includes/login.php +157 -157
  123. includes/metaboxes.php +107 -107
  124. includes/notifications.php +58 -58
  125. includes/profile.php +329 -329
  126. includes/recaptcha.php +51 -51
  127. includes/reports.php +16 -16
  128. includes/services.php +76 -70
  129. includes/states.php +44 -44
  130. includes/upgradecheck.php +662 -662
  131. includes/xmlrpc.php +51 -51
  132. js/paid-memberships-pro.js +2 -2
  133. languages/email/da_DK/admin_change.html +2 -2
  134. languages/email/da_DK/admin_change_admin.html +2 -2
  135. languages/email/da_DK/billing.html +4 -4
  136. languages/email/da_DK/billing_admin.html +3 -3
  137. languages/email/da_DK/billing_failure.html +2 -1
  138. languages/email/da_DK/billing_failure_admin.html +1 -1
  139. languages/email/da_DK/cancel.html +1 -1
  140. languages/email/da_DK/cancel_admin.html +3 -3
  141. languages/email/da_DK/checkout_check.html +1 -1
  142. languages/email/da_DK/checkout_express.html +2 -2
  143. languages/email/da_DK/checkout_free.html +1 -1
  144. languages/email/da_DK/checkout_freetrial.html +1 -1
  145. languages/email/da_DK/checkout_paid.html +2 -2
  146. languages/email/da_DK/checkout_paid_admin.html +1 -1
  147. languages/email/da_DK/checkout_trial.html +2 -2
  148. languages/email/da_DK/checkout_trial_admin.html +1 -1
  149. languages/email/da_DK/credit_card_expiring.html +4 -3
  150. languages/email/da_DK/footer.html +1 -1
  151. languages/email/da_DK/invoice.html +8 -8
  152. languages/email/da_DK/membership_expired.html +2 -2
  153. languages/email/da_DK/membership_expiring.html +1 -1
  154. languages/email/de_DE/admin_change.html +6 -6
  155. languages/email/de_DE/admin_change_admin.html +4 -4
  156. languages/email/de_DE/billing.html +15 -15
  157. languages/email/de_DE/billing_admin.html +16 -16
  158. languages/email/de_DE/billing_failure.html +10 -10
  159. languages/email/de_DE/billing_failure_admin.html +10 -10
  160. languages/email/de_DE/cancel.html +2 -2
  161. languages/email/de_DE/cancel_admin.html +7 -7
  162. languages/email/de_DE/checkout_check.html +16 -16
  163. languages/email/de_DE/checkout_check_admin.html +16 -16
  164. languages/email/de_DE/checkout_express.html +14 -14
  165. languages/email/de_DE/checkout_express_admin.html +14 -14
  166. languages/email/de_DE/checkout_free.html +8 -8
  167. languages/email/de_DE/checkout_free_admin.html +8 -8
  168. languages/email/de_DE/checkout_freetrial.html +19 -19
  169. languages/email/de_DE/checkout_freetrial_admin.html +19 -19
  170. languages/email/de_DE/checkout_paid.html +23 -23
  171. languages/email/de_DE/checkout_paid_admin.html +23 -23
  172. languages/email/de_DE/checkout_trial.html +23 -23
  173. languages/email/de_DE/checkout_trial_admin.html +23 -23
  174. languages/email/de_DE/credit_card_expiring.html +12 -12
  175. languages/email/de_DE/footer.html +3 -3
  176. languages/email/de_DE/invoice.html +18 -18
  177. languages/email/de_DE/membership_expired.html +7 -7
  178. languages/email/de_DE/membership_expiring.html +6 -6
  179. languages/email/de_DE/trial_ending.html +8 -8
  180. languages/email/it_IT/admin_change.html +7 -0
  181. languages/email/it_IT/admin_change_admin.html +5 -0
  182. languages/email/it_IT/billing.html +16 -0
  183. languages/email/it_IT/billing_admin.html +17 -0
  184. languages/email/it_IT/billing_failure.html +11 -0
  185. languages/email/it_IT/billing_failure_admin.html +11 -0
  186. languages/email/it_IT/cancel.html +3 -0
  187. languages/email/it_IT/cancel_admin.html +8 -0
  188. languages/email/it_IT/checkout_check.html +17 -0
  189. languages/email/it_IT/checkout_check_admin.html +17 -0
  190. languages/email/it_IT/checkout_express.html +14 -0
  191. languages/email/it_IT/checkout_express_admin.html +14 -0
  192. languages/email/it_IT/checkout_free.html +8 -0
  193. languages/email/it_IT/checkout_free_admin.html +8 -0
  194. languages/email/it_IT/checkout_freetrial.html +19 -0
  195. languages/email/it_IT/checkout_freetrial_admin.html +19 -0
  196. languages/email/it_IT/checkout_paid.html +23 -0
  197. languages/email/it_IT/checkout_paid_admin.html +23 -0
  198. languages/email/it_IT/checkout_trial.html +23 -0
  199. languages/email/it_IT/checkout_trial_admin.html +23 -0
  200. languages/email/it_IT/credit_card_expiring.html +13 -0
  201. languages/email/it_IT/default.html +1 -0
  202. languages/email/it_IT/footer.html +4 -0
  203. languages/email/it_IT/header.html +1 -0
  204. languages/email/it_IT/invoice.html +19 -0
  205. languages/email/it_IT/membership_expired.html +7 -0
  206. languages/email/it_IT/membership_expiring.html +6 -0
  207. languages/email/it_IT/trial_ending.html +8 -0
  208. languages/email/nl_NL/admin_change.html +6 -6
  209. languages/email/nl_NL/admin_change_admin.html +4 -4
  210. languages/email/nl_NL/billing.html +15 -15
  211. languages/email/nl_NL/billing_admin.html +16 -16
  212. languages/email/nl_NL/billing_failure.html +10 -10
  213. languages/email/nl_NL/billing_failure_admin.html +10 -10
  214. languages/email/nl_NL/cancel.html +2 -2
  215. languages/email/nl_NL/cancel_admin.html +7 -7
  216. languages/email/nl_NL/checkout_check.html +16 -16
  217. languages/email/nl_NL/checkout_check_admin.html +16 -16
  218. languages/email/nl_NL/checkout_express.html +13 -13
  219. languages/email/nl_NL/checkout_express_admin.html +14 -14
  220. languages/email/nl_NL/checkout_free.html +7 -7
  221. languages/email/nl_NL/checkout_free_admin.html +8 -8
  222. languages/email/nl_NL/checkout_freetrial.html +18 -18
  223. languages/email/nl_NL/checkout_freetrial_admin.html +18 -18
  224. languages/email/nl_NL/checkout_paid.html +22 -22
  225. languages/email/nl_NL/checkout_paid_admin.html +26 -26
  226. languages/email/nl_NL/checkout_trial.html +23 -23
  227. languages/email/nl_NL/checkout_trial_admin.html +24 -24
  228. languages/email/nl_NL/credit_card_expiring.html +10 -10
  229. languages/email/nl_NL/invoice.html +18 -18
  230. languages/email/nl_NL/membership_expired.html +6 -6
  231. languages/email/nl_NL/membership_expiring.html +5 -5
  232. languages/email/nl_NL/trial_ending.html +7 -7
  233. languages/pages/de_DE/popup-cvv.html +55 -55
  234. languages/pmpro-da_DK.mo +0 -0
  235. languages/pmpro-da_DK.po +289 -287
  236. languages/pmpro-fr_FR.mo +0 -0
  237. languages/pmpro-fr_FR.po +2428 -1746
  238. languages/pmpro.mo +0 -0
  239. languages/pmpro.po +355 -243
  240. languages/pmpro.pot +355 -243
  241. license.txt +9 -9
  242. pages/account.php +3 -3
  243. pages/billing.php +79 -79
  244. pages/cancel.php +89 -89
  245. pages/checkout.php +786 -786
  246. pages/confirmation.php +118 -118
  247. pages/invoice.php +147 -147
  248. pages/levels.php +84 -84
  249. pages/popup-cvv.html +3 -3
  250. paid-memberships-pro.php +198 -198
  251. preheaders/billing.php +3 -3
  252. preheaders/cancel.php +15 -15
  253. preheaders/checkout.php +191 -191
  254. preheaders/confirmation.php +8 -1
  255. preheaders/levels.php +52 -33
  256. readme.txt +1073 -1062
  257. scheduled/creditcardexpiringwarnings.php +4 -4
  258. scheduled/crons.php +76 -76
  259. scheduled/expirationwarnings.php +10 -10
  260. scheduled/expirememberships.php +4 -4
  261. scheduled/trialendingwarnings.php +9 -9
  262. services/applydiscountcode.php +152 -152
  263. services/authnet-silent-post.php +39 -39
  264. services/braintree-webhook.php +96 -96
  265. services/getfile.php +128 -128
  266. services/ipnhandler.php +189 -189
  267. services/stripe-webhook.php +122 -108
  268. services/twocheckout-ins.php +22 -11
  269. shortcodes/checkout_button.php +19 -19
  270. shortcodes/membership.php +88 -88
  271. shortcodes/pmpro_account.php +179 -179
adminpages/addons.php CHANGED
@@ -1,142 +1,142 @@
1
- <?php
2
- //only admins can get this
3
- if(!function_exists("current_user_can") || (!current_user_can("manage_options") && !current_user_can("pmpro_addons")))
4
- {
5
- die(__("You do not have permissions to perform this action.", "pmpro"));
6
- }
7
-
8
- global $wpdb, $msg, $msgt, $pmpro_addons;
9
-
10
- /*
11
- Addon lists
12
- */
13
- $pmpro_addon_lists = array(
14
- 'repo' => array('Plugins in the WordPress Repository', 'These official PMPro plugins are available in the WordPress repository and can be installed through Plugins --> Add New.'),
15
- 'thirdparty' => array('Third-party Integration', 'These official PMPro plugins integrate with specific third-party tools and software.'),
16
- 'recommended' => array('Recommended Plugins', 'These plugins are not developed by the PMPro team, but are recommended for sites running PMPro.'),
17
- 'github' => array('Plugins on GitHub', 'These official PMPro plugins must be downloaded from GitHub and installed through Plugins --> Add New --> Upload, then activated. These plugins cannot be automatically updated and may require more developer input.'),
18
- 'gists' => array('Code Gists', 'These are bits of code that generally must be added to your active theme\'s functions.php file or included in a custom plugin. Most gists require customization and are recommended for developers only.')
19
- );
20
-
21
- /*
22
- Function to add an addon
23
- */
24
- function pmpro_add_addon($list, $addon)
25
- {
26
- global $pmpro_addons;
27
-
28
- //make sure we have the base array
29
- if(empty($pmpro_addons))
30
- $pmpro_addons = array();
31
-
32
- //make sure we have an array for the list
33
- if(empty($pmpro_addons[$list]))
34
- $pmpro_addons[$list] = array();
35
-
36
- //add addon to list
37
- $pmpro_addons[$list][] = $addon;
38
- }
39
-
40
- /*
41
- Load All Addons
42
- */
43
- $pmpro_addons_dir = dirname(__FILE__) . "/../adminpages/addons/";
44
- $cwd = getcwd();
45
- chdir($pmpro_addons_dir);
46
- $count = 0;
47
- foreach (glob("*.php") as $filename)
48
- {
49
- $count++;
50
- require_once($filename);
51
- }
52
- chdir($cwd);
53
-
54
- require_once(dirname(__FILE__) . "/admin_header.php");
55
- ?>
56
-
57
- <h2>Add Ons</h2>
58
- <ul id="addon-filters" class="subsubsub">
59
- <li id="addon-filters-all"><a href="javascript:void(0);" class="current all tab">All</a> <span>(<?php echo $count;?>)</span></li>
60
- <?php foreach($pmpro_addon_lists as $list => $list_info) { ?>
61
- <li id="addon-filters-<?php echo $list;?>"> | <a href="javascript:void(0);>" class="tab"><?php echo $list_info[0];?></a> <span>(<?php echo count($pmpro_addons[$list]);?>)</span></li>
62
- <?php } ?>
63
- </ul>
64
-
65
- <?php foreach($pmpro_addon_lists as $list => $list_info) { ?>
66
- <div id="pmpro-<?php echo $list;?>" class="pmpro-addon-list widgets-holder-wrap">
67
-
68
- <h3 class="section-title"><?php echo $list_info[0];?></h3>
69
- <p class="description"><?php echo $list_info[1];?></p>
70
- <br class="clear" />
71
-
72
- <div id="addons-list-<?php echo $list;?>" class="addon-list">
73
-
74
- <?php foreach($pmpro_addons[$list] as $slug => $addon) { ?>
75
- <div id="addon-<?php echo $slug;?>" class="widget <?php if($addon['enabled']) echo "enabled"; else echo "disabled";?>">
76
- <div class="widget-top">
77
- <div class="widget-title">
78
- <h4>
79
- <span class="status-label"><?php if($addon['enabled']) echo __("Enabled", "pmpro"); else echo __("Disabled", "pmpro");?></span>
80
- <span class="title"><?php echo $addon['title'];?></span>
81
- <span class="version pmpro_tag-grey"><?php echo $addon['version'];?></span>
82
- <span class="in-widget-title"></span>
83
- </h4>
84
- </div> <!-- end widget-title -->
85
- </div> <!-- end widget-top -->
86
- <div class="widget-inside">
87
- <?php call_user_func($addon['widget'], $addon);?>
88
- </div> <!-- end addon-inside -->
89
- </div> <!-- end widget -->
90
- <?php } ?>
91
-
92
- <br class="clear" />
93
- </div> <!-- end addon-list -->
94
-
95
- </div> <!-- end pmpro-<?php echo $list;?> -->
96
- <?php } ?>
97
-
98
- <script>
99
- //tabs
100
- jQuery(document).ready(function() {
101
- jQuery('#addon-filters a.tab').click(function() {
102
- //which tab?
103
- var tab = jQuery(this).parent().attr('id').replace('addon-filters-', '');
104
-
105
- //un select tabs
106
- jQuery('#addon-filters a.tab').removeClass('current');
107
-
108
- //select this tab
109
- jQuery('#addon-filters-'+tab+' a').addClass('current');
110
-
111
- //show all?
112
- if(tab == 'all')
113
- jQuery('div.pmpro-addon-list').show();
114
- else
115
- {
116
- //hide all
117
- jQuery('div.pmpro-addon-list').hide();
118
-
119
- //show this one
120
- jQuery('#pmpro-'+tab).show();
121
- }
122
- });
123
- });
124
-
125
- //resize addon boxes
126
- jQuery(document).ready(function() {
127
- jQuery('.addon-list').each(function() {
128
- //what's the tallest p in the list?
129
- var tallest = 32;
130
- jQuery(this).find('div.info p').each(function() {
131
- tallest = Math.max(tallest, jQuery(this).height());
132
- });
133
-
134
- //set all p's to match
135
- jQuery(this).find('div.info p').css('height', tallest);
136
- });
137
- });
138
- </script>
139
-
140
- <?php
141
- require_once(dirname(__FILE__) . "/admin_footer.php");
142
- ?>
1
+ <?php
2
+ //only admins can get this
3
+ if(!function_exists("current_user_can") || (!current_user_can("manage_options") && !current_user_can("pmpro_addons")))
4
+ {
5
+ die(__("You do not have permissions to perform this action.", "pmpro"));
6
+ }
7
+
8
+ global $wpdb, $msg, $msgt, $pmpro_addons;
9
+
10
+ /*
11
+ Addon lists
12
+ */
13
+ $pmpro_addon_lists = array(
14
+ 'repo' => array('Plugins in the WordPress Repository', 'These official PMPro plugins are available in the WordPress repository and can be installed through Plugins --> Add New.'),
15
+ 'thirdparty' => array('Third-party Integration', 'These official PMPro plugins integrate with specific third-party tools and software.'),
16
+ 'recommended' => array('Recommended Plugins', 'These plugins are not developed by the PMPro team, but are recommended for sites running PMPro.'),
17
+ 'github' => array('Plugins on GitHub', 'These official PMPro plugins must be downloaded from GitHub and installed through Plugins --> Add New --> Upload, then activated. These plugins cannot be automatically updated and may require more developer input.'),
18
+ 'gists' => array('Code Gists', 'These are bits of code that generally must be added to your active theme\'s functions.php file or included in a custom plugin. Most gists require customization and are recommended for developers only.')
19
+ );
20
+
21
+ /*
22
+ Function to add an addon
23
+ */
24
+ function pmpro_add_addon($list, $addon)
25
+ {
26
+ global $pmpro_addons;
27
+
28
+ //make sure we have the base array
29
+ if(empty($pmpro_addons))
30
+ $pmpro_addons = array();
31
+
32
+ //make sure we have an array for the list
33
+ if(empty($pmpro_addons[$list]))
34
+ $pmpro_addons[$list] = array();
35
+
36
+ //add addon to list
37
+ $pmpro_addons[$list][] = $addon;
38
+ }
39
+
40
+ /*
41
+ Load All Addons
42
+ */
43
+ $pmpro_addons_dir = dirname(__FILE__) . "/../adminpages/addons/";
44
+ $cwd = getcwd();
45
+ chdir($pmpro_addons_dir);
46
+ $count = 0;
47
+ foreach (glob("*.php") as $filename)
48
+ {
49
+ $count++;
50
+ require_once($filename);
51
+ }
52
+ chdir($cwd);
53
+
54
+ require_once(dirname(__FILE__) . "/admin_header.php");
55
+ ?>
56
+
57
+ <h2>Add Ons</h2>
58
+ <ul id="addon-filters" class="subsubsub">
59
+ <li id="addon-filters-all"><a href="javascript:void(0);" class="current all tab">All</a> <span>(<?php echo $count;?>)</span></li>
60
+ <?php foreach($pmpro_addon_lists as $list => $list_info) { ?>
61
+ <li id="addon-filters-<?php echo $list;?>"> | <a href="javascript:void(0);>" class="tab"><?php echo $list_info[0];?></a> <span>(<?php echo count($pmpro_addons[$list]);?>)</span></li>
62
+ <?php } ?>
63
+ </ul>
64
+
65
+ <?php foreach($pmpro_addon_lists as $list => $list_info) { ?>
66
+ <div id="pmpro-<?php echo $list;?>" class="pmpro-addon-list widgets-holder-wrap">
67
+
68
+ <h3 class="section-title"><?php echo $list_info[0];?></h3>
69
+ <p class="description"><?php echo $list_info[1];?></p>
70
+ <br class="clear" />
71
+
72
+ <div id="addons-list-<?php echo $list;?>" class="addon-list">
73
+
74
+ <?php foreach($pmpro_addons[$list] as $slug => $addon) { ?>
75
+ <div id="addon-<?php echo $slug;?>" class="widget <?php if($addon['enabled']) echo "enabled"; else echo "disabled";?>">
76
+ <div class="widget-top">
77
+ <div class="widget-title">
78
+ <h4>
79
+ <span class="status-label"><?php if($addon['enabled']) echo __("Enabled", "pmpro"); else echo __("Disabled", "pmpro");?></span>
80
+ <span class="title"><?php echo $addon['title'];?></span>
81
+ <span class="version pmpro_tag-grey"><?php echo $addon['version'];?></span>
82
+ <span class="in-widget-title"></span>
83
+ </h4>
84
+ </div> <!-- end widget-title -->
85
+ </div> <!-- end widget-top -->
86
+ <div class="widget-inside">
87
+ <?php call_user_func($addon['widget'], $addon);?>
88
+ </div> <!-- end addon-inside -->
89
+ </div> <!-- end widget -->
90
+ <?php } ?>
91
+
92
+ <br class="clear" />
93
+ </div> <!-- end addon-list -->
94
+
95
+ </div> <!-- end pmpro-<?php echo $list;?> -->
96
+ <?php } ?>
97
+
98
+ <script>
99
+ //tabs
100
+ jQuery(document).ready(function() {
101
+ jQuery('#addon-filters a.tab').click(function() {
102
+ //which tab?
103
+ var tab = jQuery(this).parent().attr('id').replace('addon-filters-', '');
104
+
105
+ //un select tabs
106
+ jQuery('#addon-filters a.tab').removeClass('current');
107
+
108
+ //select this tab
109
+ jQuery('#addon-filters-'+tab+' a').addClass('current');
110
+
111
+ //show all?
112
+ if(tab == 'all')
113
+ jQuery('div.pmpro-addon-list').show();
114
+ else
115
+ {
116
+ //hide all
117
+ jQuery('div.pmpro-addon-list').hide();
118
+
119
+ //show this one
120
+ jQuery('#pmpro-'+tab).show();
121
+ }
122
+ });
123
+ });
124
+
125
+ //resize addon boxes
126
+ jQuery(document).ready(function() {
127
+ jQuery('.addon-list').each(function() {
128
+ //what's the tallest p in the list?
129
+ var tallest = 32;
130
+ jQuery(this).find('div.info p').each(function() {
131
+ tallest = Math.max(tallest, jQuery(this).height());
132
+ });
133
+
134
+ //set all p's to match
135
+ jQuery(this).find('div.info p').css('height', tallest);
136
+ });
137
+ });
138
+ </script>
139
+
140
+ <?php
141
+ require_once(dirname(__FILE__) . "/admin_footer.php");
142
+ ?>
adminpages/addons/hide-admin-bar-from-non-admins.php CHANGED
@@ -1,32 +1,32 @@
1
- <?php
2
- /*
3
- Addon: Hide Admin Bar From Non-Admins
4
- Slug: hide-admin-bar-from-non-admins
5
- */
6
- pmpro_add_addon('repo', array(
7
- 'title' => 'Hide Admin Bar From Non-Admins',
8
- 'version' => '1.0',
9
- 'widget' => 'pmpro_addon_hide_admin_bar_from_non_admins_widget',
10
- 'enabled' => function_exists('habfna_disable_admin_bar')
11
- )
12
- );
13
-
14
- function pmpro_addon_hide_admin_bar_from_non_admins_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>Perfect for sites where there is only one admin who needs access to the dashboard and the admin bar. When activated only administrators will see the admin bar.</p>
19
- <div class="actions">
20
- <form method="post" name="component-actions" action="">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../hide-admin-bar-from-non-admins/hide-admin-bar-from-non-admins.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=hide-admin-bar-from-non-admins/hide-admin-bar-from-non-admins.php'), 'activate-plugin_hide-admin-bar-from-non-admins/hide-admin-bar-from-non-admins.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=hide-admin-bar-from-non-admins'), 'install-plugin_hide-admin-bar-from-non-admins'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </form>
29
- </div>
30
- </div> <!-- end info -->
31
- <?php
32
}
1
+ <?php
2
+ /*
3
+ Addon: Hide Admin Bar From Non-Admins
4
+ Slug: hide-admin-bar-from-non-admins
5
+ */
6
+ pmpro_add_addon('repo', array(
7
+ 'title' => 'Hide Admin Bar From Non-Admins',
8
+ 'version' => '1.0',
9
+ 'widget' => 'pmpro_addon_hide_admin_bar_from_non_admins_widget',
10
+ 'enabled' => function_exists('habfna_disable_admin_bar')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_hide_admin_bar_from_non_admins_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>Perfect for sites where there is only one admin who needs access to the dashboard and the admin bar. When activated only administrators will see the admin bar.</p>
19
+ <div class="actions">
20
+ <form method="post" name="component-actions" action="">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../hide-admin-bar-from-non-admins/hide-admin-bar-from-non-admins.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=hide-admin-bar-from-non-admins/hide-admin-bar-from-non-admins.php'), 'activate-plugin_hide-admin-bar-from-non-admins/hide-admin-bar-from-non-admins.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=hide-admin-bar-from-non-admins'), 'install-plugin_hide-admin-bar-from-non-admins'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </form>
29
+ </div>
30
+ </div> <!-- end info -->
31
+ <?php
32
}
adminpages/addons/pmpro-addon-packages.php CHANGED
@@ -1,30 +1,30 @@
1
- <?php
2
- /*
3
- Addon: PMPro Addon Packages
4
- Slug: pmpro-addon-packages
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Addon Packages',
8
- 'version' => '.4.3',
9
- 'widget' => 'pmpro_addon_pmpro_addon_packages_widget',
10
- 'enabled' => function_exists('pmproap_post_meta')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_addon_packages_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>Sell access to individual pages or posts for a flat fee. This is a workaround if you would like to allow multiple membership levels per user.</p>
19
- <div class="actions">
20
- <?php if($addon['enabled']) { ?>
21
- <a href="https://github.com/strangerstudios/pmpro-addon-packages/blob/master/readme.txt" class="button">Enabled</a>
22
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-addon-packages/pmpro-addon-packages.php")) { ?>
23
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-addon-packages/pmpro-addon-packages.php'), 'activate-plugin_pmpro-addon-packages/pmpro-addon-packages.php')?>" class="button button-primary">Activate</a>
24
- <?php } else { ?>
25
- <a href="https://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-addon-packages.zip" class="button button-primary">Download</a>
26
- <?php } ?>
27
- </div>
28
- </div> <!-- end info -->
29
- <?php
30
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Addon Packages
4
+ Slug: pmpro-addon-packages
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Addon Packages',
8
+ 'version' => '.4.3',
9
+ 'widget' => 'pmpro_addon_pmpro_addon_packages_widget',
10
+ 'enabled' => function_exists('pmproap_post_meta')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_addon_packages_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>Sell access to individual pages or posts for a flat fee. This is a workaround if you would like to allow multiple membership levels per user.</p>
19
+ <div class="actions">
20
+ <?php if($addon['enabled']) { ?>
21
+ <a href="https://github.com/strangerstudios/pmpro-addon-packages/blob/master/readme.txt" class="button">Enabled</a>
22
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-addon-packages/pmpro-addon-packages.php")) { ?>
23
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-addon-packages/pmpro-addon-packages.php'), 'activate-plugin_pmpro-addon-packages/pmpro-addon-packages.php')?>" class="button button-primary">Activate</a>
24
+ <?php } else { ?>
25
+ <a href="https://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-addon-packages.zip" class="button button-primary">Download</a>
26
+ <?php } ?>
27
+ </div>
28
+ </div> <!-- end info -->
29
+ <?php
30
+ }
adminpages/addons/pmpro-affiliates.php CHANGED
@@ -1,30 +1,30 @@
1
- <?php
2
- /*
3
- Addon: PMPro Affiliates
4
- Slug: pmpro-affiliates
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Affiliates',
8
- 'version' => '.2.4',
9
- 'widget' => 'pmpro_addon_pmpro_affiliates_widget',
10
- 'enabled' => function_exists('pmpro_affiliates_dependencies')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_affiliates_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>Lightweight Affiliate system. Create affiliate accounts and codes; tracks checkouts by affiliate account.</p>
19
- <div class="actions">
20
- <?php if($addon['enabled']) { ?>
21
- <a href="https://github.com/strangerstudios/pmpro-affiliates/blob/master/readme.txt" class="button">Enabled</a>
22
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-affiliates/pmpro-affiliates.php")) { ?>
23
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-affiliates/pmpro-affiliates.php'), 'activate-plugin_pmpro-affiliates/pmpro-affiliates.php')?>" class="button button-primary">Activate</a>
24
- <?php } else { ?>
25
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-affiliates.zip" class="button button-primary">Download</a>
26
- <?php } ?>
27
- </div>
28
- </div> <!-- end info -->
29
- <?php
30
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Affiliates
4
+ Slug: pmpro-affiliates
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Affiliates',
8
+ 'version' => '.2.4',
9
+ 'widget' => 'pmpro_addon_pmpro_affiliates_widget',
10
+ 'enabled' => function_exists('pmpro_affiliates_dependencies')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_affiliates_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>Lightweight Affiliate system. Create affiliate accounts and codes; tracks checkouts by affiliate account.</p>
19
+ <div class="actions">
20
+ <?php if($addon['enabled']) { ?>
21
+ <a href="https://github.com/strangerstudios/pmpro-affiliates/blob/master/readme.txt" class="button">Enabled</a>
22
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-affiliates/pmpro-affiliates.php")) { ?>
23
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-affiliates/pmpro-affiliates.php'), 'activate-plugin_pmpro-affiliates/pmpro-affiliates.php')?>" class="button button-primary">Activate</a>
24
+ <?php } else { ?>
25
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-affiliates.zip" class="button button-primary">Download</a>
26
+ <?php } ?>
27
+ </div>
28
+ </div> <!-- end info -->
29
+ <?php
30
+ }
adminpages/addons/pmpro-aweber.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro AWeber Integration
4
- Slug: pmpro-aweber
5
- */
6
- pmpro_add_addon('thirdparty', array(
7
- 'title' => 'PMPro AWeber Integration',
8
- 'version' => '1.0',
9
- 'widget' => 'pmpro_addon_pmpro_aweber_widget',
10
- 'enabled' => function_exists('pmproaw_init')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_aweber_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-aweber.gif" />
18
- <div class="info">
19
- <p>Integrate User Registrations with AWeber. Adds members to lists based on their membership level. (Note: works without PMPro as well.)</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-aweber/pmpro-aweber.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-aweber/pmpro-aweber.php'), 'activate-plugin_pmpro-aweber/pmpro-aweber.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-aweber'), 'install-plugin_pmpro-aweber'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro AWeber Integration
4
+ Slug: pmpro-aweber
5
+ */
6
+ pmpro_add_addon('thirdparty', array(
7
+ 'title' => 'PMPro AWeber Integration',
8
+ 'version' => '1.0',
9
+ 'widget' => 'pmpro_addon_pmpro_aweber_widget',
10
+ 'enabled' => function_exists('pmproaw_init')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_aweber_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-aweber.gif" />
18
+ <div class="info">
19
+ <p>Integrate User Registrations with AWeber. Adds members to lists based on their membership level. (Note: works without PMPro as well.)</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-aweber/pmpro-aweber.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-aweber/pmpro-aweber.php'), 'activate-plugin_pmpro-aweber/pmpro-aweber.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-aweber'), 'install-plugin_pmpro-aweber'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-bbpress.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro bbPress
4
- Slug: pmpro-bbpress
5
- */
6
- pmpro_add_addon('repo', array(
7
- 'title' => 'PMPro bbPress',
8
- 'version' => '1.0.1',
9
- 'widget' => 'pmpro_addon_pmpro_bbpress_widget',
10
- 'enabled' => function_exists('pmprobbp_add_meta_box')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_bbpress_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-bbpress.jpg" />
18
- <div class="info">
19
- <p>Locking down bbPress Forums by Membership Level and Forum ID.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-bbpress/pmpro-bbpress.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-bbpress/pmpro-bbpress.php'), 'activate-plugin_pmpro-bbpress/pmpro-bbpress.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-bbpress'), 'install-plugin_pmpro-bbpress'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro bbPress
4
+ Slug: pmpro-bbpress
5
+ */
6
+ pmpro_add_addon('repo', array(
7
+ 'title' => 'PMPro bbPress',
8
+ 'version' => '1.0.1',
9
+ 'widget' => 'pmpro_addon_pmpro_bbpress_widget',
10
+ 'enabled' => function_exists('pmprobbp_add_meta_box')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_bbpress_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-bbpress.jpg" />
18
+ <div class="info">
19
+ <p>Locking down bbPress Forums by Membership Level and Forum ID.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-bbpress/pmpro-bbpress.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-bbpress/pmpro-bbpress.php'), 'activate-plugin_pmpro-bbpress/pmpro-bbpress.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-bbpress'), 'install-plugin_pmpro-bbpress'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-constant-contact.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro Constant Contact Integration
4
- Slug: pmpro-constant-contact
5
- */
6
- pmpro_add_addon('thirdparty', array(
7
- 'title' => 'PMPro Constant Contact Integration',
8
- 'version' => '1.0',
9
- 'widget' => 'pmpro_addon_pmpro_constant_contact_widget',
10
- 'enabled' => function_exists('pmprocc_init')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_constant_contact_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-constant-contact.gif" />
18
- <div class="info">
19
- <p>Integrate User Registrations with Constant Contact . Adds members to lists based on their membership level. (Note: works without PMPro as well.)</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-constant-contact/pmpro-constant-contact.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-constant-contact/pmpro-constant-contact.php'), 'activate-plugin_pmpro-constant-contact/pmpro-constant-contact.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-constant-contact'), 'install-plugin_pmpro-constant-contact'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Constant Contact Integration
4
+ Slug: pmpro-constant-contact
5
+ */
6
+ pmpro_add_addon('thirdparty', array(
7
+ 'title' => 'PMPro Constant Contact Integration',
8
+ 'version' => '1.0',
9
+ 'widget' => 'pmpro_addon_pmpro_constant_contact_widget',
10
+ 'enabled' => function_exists('pmprocc_init')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_constant_contact_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-constant-contact.gif" />
18
+ <div class="info">
19
+ <p>Integrate User Registrations with Constant Contact . Adds members to lists based on their membership level. (Note: works without PMPro as well.)</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-constant-contact/pmpro-constant-contact.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-constant-contact/pmpro-constant-contact.php'), 'activate-plugin_pmpro-constant-contact/pmpro-constant-contact.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-constant-contact'), 'install-plugin_pmpro-constant-contact'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-disable-emails.php CHANGED
@@ -1,28 +1,28 @@
1
- <?php
2
- /*
3
- Addon: PMPro Disable PMPro Emails
4
- Slug: pmpro-disable-emails
5
- */
6
- pmpro_add_addon('gists', array(
7
- 'title' => 'PMPro Disable Emails',
8
- 'version' => '.1',
9
- 'widget' => 'pmpro_addon_pmpro_disable_emails_widget',
10
- 'enabled' => function_exists('dae_pmpro_email_recipient')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_disable_emails_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>Disable all or specific emails sent by the PMPro plugin.</p>
19
- <div class="actions">
20
- <?php if($addon['enabled']) { ?>
21
- <a target="_blank" href="https://gist.github.com/strangerstudios/3667545" class="button">Enabled</a>
22
- <?php } else { ?>
23
- <a target="_blank" href="https://gist.github.com/strangerstudios/3667545" class="button button-primary">View Gist</a>
24
- <?php } ?>
25
- </div>
26
- </div> <!-- end info -->
27
- <?php
28
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Disable PMPro Emails
4
+ Slug: pmpro-disable-emails
5
+ */
6
+ pmpro_add_addon('gists', array(
7
+ 'title' => 'PMPro Disable Emails',
8
+ 'version' => '.1',
9
+ 'widget' => 'pmpro_addon_pmpro_disable_emails_widget',
10
+ 'enabled' => function_exists('dae_pmpro_email_recipient')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_disable_emails_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>Disable all or specific emails sent by the PMPro plugin.</p>
19
+ <div class="actions">
20
+ <?php if($addon['enabled']) { ?>
21
+ <a target="_blank" href="https://gist.github.com/strangerstudios/3667545" class="button">Enabled</a>
22
+ <?php } else { ?>
23
+ <a target="_blank" href="https://gist.github.com/strangerstudios/3667545" class="button button-primary">View Gist</a>
24
+ <?php } ?>
25
+ </div>
26
+ </div> <!-- end info -->
27
+ <?php
28
+ }
adminpages/addons/pmpro-email-templates.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro Email Templates Editor
4
- Slug: pmpro-email-templates-addon
5
- */
6
- pmpro_add_addon('repo', array(
7
- 'title' => 'PMPro Email Templates',
8
- 'version' => '.5.2',
9
- 'widget' => 'pmpro_addon_email_templates_widget',
10
- 'enabled' => function_exists('pmproet_scripts')
11
- )
12
- );
13
-
14
- function pmpro_addon_email_templates_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-email-templates.gif" />
18
- <div class="info">
19
- <p>Easily edit system-generated Email Templates from the WordPress admin.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="http://wordpress.org/plugins/pmpro-email-templates-addon/" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-email-templates-addon/pmpro-email-templates.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-email-templates-addon/pmpro-email-templates.php'), 'activate-plugin_pmpro-email-templates-addon/pmpro-email-templates.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-email-templates-addon'), 'install-plugin_pmpro-email-templates-addon'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Email Templates Editor
4
+ Slug: pmpro-email-templates-addon
5
+ */
6
+ pmpro_add_addon('repo', array(
7
+ 'title' => 'PMPro Email Templates',
8
+ 'version' => '.5.2',
9
+ 'widget' => 'pmpro_addon_email_templates_widget',
10
+ 'enabled' => function_exists('pmproet_scripts')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_email_templates_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-email-templates.gif" />
18
+ <div class="info">
19
+ <p>Easily edit system-generated Email Templates from the WordPress admin.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="http://wordpress.org/plugins/pmpro-email-templates-addon/" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-email-templates-addon/pmpro-email-templates.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-email-templates-addon/pmpro-email-templates.php'), 'activate-plugin_pmpro-email-templates-addon/pmpro-email-templates.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-email-templates-addon'), 'install-plugin_pmpro-email-templates-addon'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-expiration.php CHANGED
@@ -1,30 +1,30 @@
1
- <?php
2
- /*
3
- Addon: PMPro Expiration Date
4
- Slug: pmpro-expiration
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Set Expiration Dates',
8
- 'version' => '.1.1',
9
- 'widget' => 'pmpro_addon_pmpro_expiration_widget',
10
- 'enabled' => function_exists('pmprosed_pmpro_checkout_level')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_expiration_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>Set a specific expiration date (e.g. 2013-12-31) for a PMPro membership level or discount code.</p>
19
- <div class="actions">
20
- <?php if($addon['enabled']) { ?>
21
- <a href="https://github.com/strangerstudios/pmpro-set-expiration-dates/blob/master/readme.txt" class="button">Enabled</a>
22
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-set-expiration-dates/pmpro-set-expiration-dates.php")) { ?>
23
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-set-expiration-dates/pmpro-set-expiration-dates.php'), 'activate-plugin_pmpro-set-expiration-dates/pmpro-set-expiration-dates.php')?>" class="button button-primary">Activate</a>
24
- <?php } else { ?>
25
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-set-expiration-dates.zip" class="button button-primary">Download</a>
26
- <?php } ?>
27
- </div>
28
- </div> <!-- end info -->
29
- <?php
30
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Expiration Date
4
+ Slug: pmpro-expiration
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Set Expiration Dates',
8
+ 'version' => '.1.1',
9
+ 'widget' => 'pmpro_addon_pmpro_expiration_widget',
10
+ 'enabled' => function_exists('pmprosed_pmpro_checkout_level')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_expiration_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>Set a specific expiration date (e.g. 2013-12-31) for a PMPro membership level or discount code.</p>
19
+ <div class="actions">
20
+ <?php if($addon['enabled']) { ?>
21
+ <a href="https://github.com/strangerstudios/pmpro-set-expiration-dates/blob/master/readme.txt" class="button">Enabled</a>
22
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-set-expiration-dates/pmpro-set-expiration-dates.php")) { ?>
23
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-set-expiration-dates/pmpro-set-expiration-dates.php'), 'activate-plugin_pmpro-set-expiration-dates/pmpro-set-expiration-dates.php')?>" class="button button-primary">Activate</a>
24
+ <?php } else { ?>
25
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-set-expiration-dates.zip" class="button button-primary">Download</a>
26
+ <?php } ?>
27
+ </div>
28
+ </div> <!-- end info -->
29
+ <?php
30
+ }
adminpages/addons/pmpro-freeaddress.php CHANGED
@@ -1,30 +1,30 @@
1
- <?php
2
- /*
3
- Addon: PMPro Require Name and Address for Free Level
4
- Slug: pmpro-freerequire
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Require Name/Address for Free Level',
8
- 'version' => '.2',
9
- 'widget' => 'pmpro_addon_pmpro_freerequire_widget',
10
- 'enabled' => function_exists('my_pmpro_checkout_boxes_require_address')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_freerequire_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>Require name/address for free Membership Level checkout.</p>
19
- <div class="actions">
20
- <?php if($addon['enabled']) { ?>
21
- <a href="https://github.com/strangerstudios/pmpro-address-for-free-levels" class="button">Enabled</a>
22
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-address-for-free-levels/pmpro-address-for-free-levels.php")) { ?>
23
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-address-for-free-levels/pmpro-address-for-free-levels.php'), 'activate-plugin_pmpro-address-for-free-levels/pmpro-address-for-free-levels.php')?>" class="button button-primary">Activate</a>
24
- <?php } else { ?>
25
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-address-for-free-levels.zip" class="button button-primary">Download</a>
26
- <?php } ?>
27
- </div>
28
- </div> <!-- end info -->
29
- <?php
30
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Require Name and Address for Free Level
4
+ Slug: pmpro-freerequire
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Require Name/Address for Free Level',
8
+ 'version' => '.2',
9
+ 'widget' => 'pmpro_addon_pmpro_freerequire_widget',
10
+ 'enabled' => function_exists('my_pmpro_checkout_boxes_require_address')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_freerequire_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>Require name/address for free Membership Level checkout.</p>
19
+ <div class="actions">
20
+ <?php if($addon['enabled']) { ?>
21
+ <a href="https://github.com/strangerstudios/pmpro-address-for-free-levels" class="button">Enabled</a>
22
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-address-for-free-levels/pmpro-address-for-free-levels.php")) { ?>
23
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-address-for-free-levels/pmpro-address-for-free-levels.php'), 'activate-plugin_pmpro-address-for-free-levels/pmpro-address-for-free-levels.php')?>" class="button button-primary">Activate</a>
24
+ <?php } else { ?>
25
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-address-for-free-levels.zip" class="button button-primary">Download</a>
26
+ <?php } ?>
27
+ </div>
28
+ </div> <!-- end info -->
29
+ <?php
30
+ }
adminpages/addons/pmpro-infusionsoft.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro Infusionsoft Integration
4
- Slug: pmpro-infusionsoft
5
- */
6
- pmpro_add_addon('thirdparty', array(
7
- 'title' => 'PMPro Infusionsoft Integration',
8
- 'version' => '1.2',
9
- 'widget' => 'pmpro_addon_pmpro_infusionsoft_widget',
10
- 'enabled' => function_exists('pmprois_init')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_infusionsoft_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-infusionsoft.jpg" />
18
- <div class="info">
19
- <p>Integrate with Infusionsoft. Add members to email lists (groups, tags) based on their membership level. (Note: works without PMPro as well.)</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-infusionsoft/pmpro-infusionsoft.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-infusionsoft/pmpro-infusionsoft.php'), 'activate-plugin_pmpro-infusionsoft/pmpro-infusionsoft.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-infusionsoft'), 'install-plugin_pmpro-infusionsoft'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Infusionsoft Integration
4
+ Slug: pmpro-infusionsoft
5
+ */
6
+ pmpro_add_addon('thirdparty', array(
7
+ 'title' => 'PMPro Infusionsoft Integration',
8
+ 'version' => '1.2',
9
+ 'widget' => 'pmpro_addon_pmpro_infusionsoft_widget',
10
+ 'enabled' => function_exists('pmprois_init')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_infusionsoft_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-infusionsoft.jpg" />
18
+ <div class="info">
19
+ <p>Integrate with Infusionsoft. Add members to email lists (groups, tags) based on their membership level. (Note: works without PMPro as well.)</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-infusionsoft/pmpro-infusionsoft.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-infusionsoft/pmpro-infusionsoft.php'), 'activate-plugin_pmpro-infusionsoft/pmpro-infusionsoft.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-infusionsoft'), 'install-plugin_pmpro-infusionsoft'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-level-cost-text.php CHANGED
@@ -1,30 +1,30 @@
1
- <?php
2
- /*
3
- Addon: PMPro Custom Level Cost Text
4
- Slug: pmpro-level-cost-text
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Level Cost Text',
8
- 'version' => '.2',
9
- 'widget' => 'pmpro_addon_pmpro_level_cost_text_widget',
10
- 'enabled' => function_exists('pclct_pmpro_discount_code_after_level_settings')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_level_cost_text_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>Adds a "level cost text" field to PMPro Membership Levels and Discount Codes to allow you to override the automatically generated level cost text PMPro provides.</p>
19
- <div class="actions">
20
- <?php if($addon['enabled']) { ?>
21
- <a href="https://github.com/strangerstudios/pmpro-level-cost-text/blob/master/readme.txt" class="button">Enabled</a>
22
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-level-cost-text/pmpro-level-cost-text.php")) { ?>
23
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-level-cost-text/pmpro-level-cost-text.php'), 'activate-plugin_pmpro-level-cost-text/pmpro-level-cost-text.php')?>" class="button button-primary">Activate</a>
24
- <?php } else { ?>
25
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-level-cost-text.zip" class="button button-primary">Download</a>
26
- <?php } ?>
27
- </div>
28
- </div> <!-- end info -->
29
- <?php
30
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Custom Level Cost Text
4
+ Slug: pmpro-level-cost-text
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Level Cost Text',
8
+ 'version' => '.2',
9
+ 'widget' => 'pmpro_addon_pmpro_level_cost_text_widget',
10
+ 'enabled' => function_exists('pclct_pmpro_discount_code_after_level_settings')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_level_cost_text_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>Adds a "level cost text" field to PMPro Membership Levels and Discount Codes to allow you to override the automatically generated level cost text PMPro provides.</p>
19
+ <div class="actions">
20
+ <?php if($addon['enabled']) { ?>
21
+ <a href="https://github.com/strangerstudios/pmpro-level-cost-text/blob/master/readme.txt" class="button">Enabled</a>
22
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-level-cost-text/pmpro-level-cost-text.php")) { ?>
23
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-level-cost-text/pmpro-level-cost-text.php'), 'activate-plugin_pmpro-level-cost-text/pmpro-level-cost-text.php')?>" class="button button-primary">Activate</a>
24
+ <?php } else { ?>
25
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-level-cost-text.zip" class="button button-primary">Download</a>
26
+ <?php } ?>
27
+ </div>
28
+ </div> <!-- end info -->
29
+ <?php
30
+ }
adminpages/addons/pmpro-mailchimp.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro MailChimp Integration
4
- Slug: pmpro-mailchimp
5
- */
6
- pmpro_add_addon('thirdparty', array(
7
- 'title' => 'PMPro MailChimp Integration',
8
- 'version' => '1.0',
9
- 'widget' => 'pmpro_addon_pmpro_mailchimp_widget',
10
- 'enabled' => function_exists('pmpromc_init')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_mailchimp_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-mailchimp.jpg" />
18
- <div class="info">
19
- <p>Integrate User Registrations with Mailchimp. Adds members to lists based on their membership level. (Note: works without PMPro as well.)</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-mailchimp/pmpro-mailchimp.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-mailchimp/pmpro-mailchimp.php'), 'activate-plugin_pmpro-mailchimp/pmpro-mailchimp.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-mailchimp'), 'install-plugin_pmpro-mailchimp'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro MailChimp Integration
4
+ Slug: pmpro-mailchimp
5
+ */
6
+ pmpro_add_addon('thirdparty', array(
7
+ 'title' => 'PMPro MailChimp Integration',
8
+ 'version' => '1.0',
9
+ 'widget' => 'pmpro_addon_pmpro_mailchimp_widget',
10
+ 'enabled' => function_exists('pmpromc_init')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_mailchimp_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-mailchimp.jpg" />
18
+ <div class="info">
19
+ <p>Integrate User Registrations with Mailchimp. Adds members to lists based on their membership level. (Note: works without PMPro as well.)</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-mailchimp/pmpro-mailchimp.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-mailchimp/pmpro-mailchimp.php'), 'activate-plugin_pmpro-mailchimp/pmpro-mailchimp.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-mailchimp'), 'install-plugin_pmpro-mailchimp'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-network-subsite.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro Network
4
- Slug: pmpro-network-subsite
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Network Subsite Helper',
8
- 'version' => '.2',
9
- 'widget' => 'pmpro_addon_pmpro_network_subsite_widget',
10
- 'enabled' => function_exists('pmpron_subsite_activated_plugin')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_network_subsite_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-network.gif" />
18
- <div class="info">
19
- <p>Have network subsites use membership data from a "main" site to handle access restrictions.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="https://github.com/strangerstudios/pmpro-network-subsite" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-network-subsite/pmpro-network-subsite.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-network-subsite/pmpro-network-subsite.php'), 'activate-plugin_pmpro-network-subsite/pmpro-network-subsite.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-network-subsite.zip" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Network
4
+ Slug: pmpro-network-subsite
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Network Subsite Helper',
8
+ 'version' => '.2',
9
+ 'widget' => 'pmpro_addon_pmpro_network_subsite_widget',
10
+ 'enabled' => function_exists('pmpron_subsite_activated_plugin')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_network_subsite_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-network.gif" />
18
+ <div class="info">
19
+ <p>Have network subsites use membership data from a "main" site to handle access restrictions.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="https://github.com/strangerstudios/pmpro-network-subsite" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-network-subsite/pmpro-network-subsite.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-network-subsite/pmpro-network-subsite.php'), 'activate-plugin_pmpro-network-subsite/pmpro-network-subsite.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-network-subsite.zip" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-network.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro Network
4
- Slug: pmpro-network
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Network',
8
- 'version' => '.3.1',
9
- 'widget' => 'pmpro_addon_pmpro_network_widget',
10
- 'enabled' => function_exists('pmpron_new_blogs_settings')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_network_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-network.gif" />
18
- <div class="info">
19
- <p>Allow users to checkout for a membership to create a site on your WordPress multisite network.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="https://github.com/strangerstudios/pmpro-network/blob/master/readme.txt" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-network/pmpro-network.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-network/pmpro-network.php'), 'activate-plugin_pmpro-network/pmpro-network.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-network.zip" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Network
4
+ Slug: pmpro-network
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Network',
8
+ 'version' => '.3.1',
9
+ 'widget' => 'pmpro_addon_pmpro_network_widget',
10
+ 'enabled' => function_exists('pmpron_new_blogs_settings')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_network_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-network.gif" />
18
+ <div class="info">
19
+ <p>Allow users to checkout for a membership to create a site on your WordPress multisite network.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="https://github.com/strangerstudios/pmpro-network/blob/master/readme.txt" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-network/pmpro-network.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-network/pmpro-network.php'), 'activate-plugin_pmpro-network/pmpro-network.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-network.zip" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-post-affiliate-pro.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro Post Affiliate Pro Integration
4
- Slug: pmpro-post-affiliate-pro
5
- */
6
- pmpro_add_addon('thirdparty', array(
7
- 'title' => 'PMPro Post Affiliate Pro Integration',
8
- 'version' => '.2.1.1',
9
- 'widget' => 'pmpro_addon_pmpro_post_affiliate_pro_widget',
10
- 'enabled' => function_exists('pap_pmpro_track_sale')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_post_affiliate_pro_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-post-affiliate-pro.jpg" />
18
- <div class="info">
19
- <p>Integrate Paid Memberships Pro with the Post Affiliate Pro platform.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="https://github.com/strangerstudios/pmpro-post-affiliate-pro/blob/master/readme.txt" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-post-affiliate-pro/pmpro-post-affiliate-pro.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-post-affiliate-pro/pmpro-post-affiliate-pro.php'), 'activate-plugin_pmpro-post-affiliate-pro/pmpro-post-affiliate-pro.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-post-affiliate-pro.zip" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Post Affiliate Pro Integration
4
+ Slug: pmpro-post-affiliate-pro
5
+ */
6
+ pmpro_add_addon('thirdparty', array(
7
+ 'title' => 'PMPro Post Affiliate Pro Integration',
8
+ 'version' => '.2.1.1',
9
+ 'widget' => 'pmpro_addon_pmpro_post_affiliate_pro_widget',
10
+ 'enabled' => function_exists('pap_pmpro_track_sale')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_post_affiliate_pro_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-post-affiliate-pro.jpg" />
18
+ <div class="info">
19
+ <p>Integrate Paid Memberships Pro with the Post Affiliate Pro platform.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="https://github.com/strangerstudios/pmpro-post-affiliate-pro/blob/master/readme.txt" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-post-affiliate-pro/pmpro-post-affiliate-pro.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-post-affiliate-pro/pmpro-post-affiliate-pro.php'), 'activate-plugin_pmpro-post-affiliate-pro/pmpro-post-affiliate-pro.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-post-affiliate-pro.zip" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-register-helper.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro Register Helper
4
- Slug: pmpro-register-helper
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Register Helper',
8
- 'version' => '.5.16.1',
9
- 'widget' => 'pmpro_addon_pmpro_register_helper_widget',
10
- 'enabled' => class_exists('PMProRH_Field')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_register_helper_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-register-helper.gif" />
18
- <div class="info">
19
- <p>Add additional meta fields to your PMPro checkout page and/or "Your Profile" pages. Support for text, select, multi-select, textarea, hidden, and custom HTML. Loop into existing checkout/profile field sections or add new ones.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="https://github.com/strangerstudios/pmpro-register-helper/blob/master/readme.txt" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-register-helper/pmpro-register-helper.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-register-helper/pmpro-register-helper.php'), 'activate-plugin_pmpro-register-helper/pmpro-register-helper.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-register-helper.zip" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Register Helper
4
+ Slug: pmpro-register-helper
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Register Helper',
8
+ 'version' => '.5.16.1',
9
+ 'widget' => 'pmpro_addon_pmpro_register_helper_widget',
10
+ 'enabled' => class_exists('PMProRH_Field')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_register_helper_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-register-helper.gif" />
18
+ <div class="info">
19
+ <p>Add additional meta fields to your PMPro checkout page and/or "Your Profile" pages. Support for text, select, multi-select, textarea, hidden, and custom HTML. Loop into existing checkout/profile field sections or add new ones.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="https://github.com/strangerstudios/pmpro-register-helper/blob/master/readme.txt" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-register-helper/pmpro-register-helper.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-register-helper/pmpro-register-helper.php'), 'activate-plugin_pmpro-register-helper/pmpro-register-helper.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-register-helper.zip" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-require-code-to-register.php CHANGED
@@ -1,28 +1,28 @@
1
- <?php
2
- /*
3
- Addon: PMPro Require Code to Register
4
- Slug: pmpro-require-code-to-register
5
- */
6
- pmpro_add_addon('gists', array(
7
- 'title' => 'PMPro Require a Code to Register',
8
- 'version' => '.1',
9
- 'widget' => 'pmpro_addon_pmpro_require_code_to_register_widget',
10
- 'enabled' => function_exists('my_pmpro_registration_checks_require_code_to_register')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_require_code_to_register_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>Require a discount code to checkout for a specific level.</p>
19
- <div class="actions">
20
- <?php if($addon['enabled']) { ?>
21
- <a target="_blank" href="https://gist.github.com/strangerstudios/5573829" class="button">Enabled</a>
22
- <?php } else { ?>
23
- <a target="_blank" href="https://gist.github.com/strangerstudios/5573829" class="button button-primary">View Gist</a>
24
- <?php } ?>
25
- </div>
26
- </div> <!-- end info -->
27
- <?php
28
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Require Code to Register
4
+ Slug: pmpro-require-code-to-register
5
+ */
6
+ pmpro_add_addon('gists', array(
7
+ 'title' => 'PMPro Require a Code to Register',
8
+ 'version' => '.1',
9
+ 'widget' => 'pmpro_addon_pmpro_require_code_to_register_widget',
10
+ 'enabled' => function_exists('my_pmpro_registration_checks_require_code_to_register')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_require_code_to_register_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>Require a discount code to checkout for a specific level.</p>
19
+ <div class="actions">
20
+ <?php if($addon['enabled']) { ?>
21
+ <a target="_blank" href="https://gist.github.com/strangerstudios/5573829" class="button">Enabled</a>
22
+ <?php } else { ?>
23
+ <a target="_blank" href="https://gist.github.com/strangerstudios/5573829" class="button button-primary">View Gist</a>
24
+ <?php } ?>
25
+ </div>
26
+ </div> <!-- end info -->
27
+ <?php
28
+ }
adminpages/addons/pmpro-series.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro Series
4
- Slug: pmpro-series
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Series',
8
- 'version' => '.3',
9
- 'widget' => 'pmpro_addon_pmpro_series_widget',
10
- 'enabled' => class_exists("PMProSeries")
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_series_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-series.gif" />
18
- <div class="info">
19
- <p>"Drip feed" content to your members over the course of their membership. Serializes content by # of days post-registration.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="<?php echo admin_url("edit.php?post_type=pmpro_series");?>" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-series/pmpro-series.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-series/pmpro-series.php'), 'activate-plugin_pmpro-series/pmpro-series.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-series.zip" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
}
1
+ <?php
2
+ /*
3
+ Addon: PMPro Series
4
+ Slug: pmpro-series
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Series',
8
+ 'version' => '.3',
9
+ 'widget' => 'pmpro_addon_pmpro_series_widget',
10
+ 'enabled' => class_exists("PMProSeries")
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_series_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-series.gif" />
18
+ <div class="info">
19
+ <p>"Drip feed" content to your members over the course of their membership. Serializes content by # of days post-registration.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="<?php echo admin_url("edit.php?post_type=pmpro_series");?>" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-series/pmpro-series.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-series/pmpro-series.php'), 'activate-plugin_pmpro-series/pmpro-series.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-series.zip" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
}
adminpages/addons/pmpro-shipping.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro Shipping Add On
4
- Slug: pmpro-shipping
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro Shipping Add On',
8
- 'version' => '.2.6',
9
- 'widget' => 'pmpro_addon_pmpro_shipping_widget',
10
- 'enabled' => function_exists('pmproship_pmpro_checkout_boxes')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_shipping_widget($addon)
15
- {
16
- ?>
17
- <?php /* <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-shipping.jpg" /> */ ?>
18
- <div class="info">
19
- <p>Adds shipping fields to the checkout page, confirmation page, confirmation emails, member's list and edit user profile pages.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="https://github.com/strangerstudios/pmpro-shipping/" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-shipping/pmpro-shipping.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-shipping/pmpro-shipping.php'), 'activate-plugin_pmpro-shipping/pmpro-shipping.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-shipping.zip" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro Shipping Add On
4
+ Slug: pmpro-shipping
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro Shipping Add On',
8
+ 'version' => '.2.6',
9
+ 'widget' => 'pmpro_addon_pmpro_shipping_widget',
10
+ 'enabled' => function_exists('pmproship_pmpro_checkout_boxes')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_shipping_widget($addon)
15
+ {
16
+ ?>
17
+ <?php /* <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-shipping.jpg" /> */ ?>
18
+ <div class="info">
19
+ <p>Adds shipping fields to the checkout page, confirmation page, confirmation emails, member's list and edit user profile pages.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="https://github.com/strangerstudios/pmpro-shipping/" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-shipping/pmpro-shipping.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-shipping/pmpro-shipping.php'), 'activate-plugin_pmpro-shipping/pmpro-shipping.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-shipping.zip" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-user-pages.php CHANGED
@@ -1,30 +1,30 @@
1
- <?php
2
- /*
3
- Addon: PMPro User Pages
4
- Slug: pmpro-user-pages
5
- */
6
- pmpro_add_addon('github', array(
7
- 'title' => 'PMPro User Pages',
8
- 'version' => '.3',
9
- 'widget' => 'pmpro_addon_pmpro_user_pages_widget',
10
- 'enabled' => function_exists('pmproup_pmpro_after_checkout')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_user_pages_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>Creates a unique page for each Member after checkout, giving the Admin access to write customized content for each specific member.</p>
19
- <div class="actions">
20
- <?php if($addon['enabled']) { ?>
21
- <a href="https://github.com/strangerstudios/pmpro-user-pages/blob/master/readme.txt" class="button">Enabled</a>
22
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-user-pages/pmpro-user-pages.php")) { ?>
23
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-user-pages/pmpro-user-pages.php'), 'activate-plugin_pmpro-user-pages/pmpro-user-pages.php')?>" class="button button-primary">Activate</a>
24
- <?php } else { ?>
25
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-user-pages.zip" class="button button-primary">Download</a>
26
- <?php } ?>
27
- </div>
28
- </div> <!-- end info -->
29
- <?php
30
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro User Pages
4
+ Slug: pmpro-user-pages
5
+ */
6
+ pmpro_add_addon('github', array(
7
+ 'title' => 'PMPro User Pages',
8
+ 'version' => '.3',
9
+ 'widget' => 'pmpro_addon_pmpro_user_pages_widget',
10
+ 'enabled' => function_exists('pmproup_pmpro_after_checkout')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_user_pages_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>Creates a unique page for each Member after checkout, giving the Admin access to write customized content for each specific member.</p>
19
+ <div class="actions">
20
+ <?php if($addon['enabled']) { ?>
21
+ <a href="https://github.com/strangerstudios/pmpro-user-pages/blob/master/readme.txt" class="button">Enabled</a>
22
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-user-pages/pmpro-user-pages.php")) { ?>
23
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-user-pages/pmpro-user-pages.php'), 'activate-plugin_pmpro-user-pages/pmpro-user-pages.php')?>" class="button button-primary">Activate</a>
24
+ <?php } else { ?>
25
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-user-pages.zip" class="button button-primary">Download</a>
26
+ <?php } ?>
27
+ </div>
28
+ </div> <!-- end info -->
29
+ <?php
30
+ }
adminpages/addons/pmpro-woocommerce.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro WooCommerce
4
- Slug: pmpro-woocommerce
5
- */
6
- pmpro_add_addon('thirdparty', array(
7
- 'title' => 'PMPro WooCommerce',
8
- 'version' => '1.2.2',
9
- 'widget' => 'pmpro_addon_pmpro_woocommerce_widget',
10
- 'enabled' => function_exists('pmprowoo_add_membership_from_order')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_woocommerce_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-woocommerce.gif" />
18
- <div class="info">
19
- <p>Use <a href="http://www.woothemes.com/woocommerce/">WooCommerce</a> to purchase membership levels or set members-only product pricing.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-woocommerce/pmpro-woocommerce.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-woocommerce/pmpro-woocommerce.php'), 'activate-plugin_pmpro-woocommerce/pmpro-woocommerce.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-woocommerce'), 'install-plugin_pmpro-woocommerce'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro WooCommerce
4
+ Slug: pmpro-woocommerce
5
+ */
6
+ pmpro_add_addon('thirdparty', array(
7
+ 'title' => 'PMPro WooCommerce',
8
+ 'version' => '1.2.2',
9
+ 'widget' => 'pmpro_addon_pmpro_woocommerce_widget',
10
+ 'enabled' => function_exists('pmprowoo_add_membership_from_order')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_woocommerce_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-woocommerce.gif" />
18
+ <div class="info">
19
+ <p>Use <a href="http://www.woothemes.com/woocommerce/">WooCommerce</a> to purchase membership levels or set members-only product pricing.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-woocommerce/pmpro-woocommerce.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-woocommerce/pmpro-woocommerce.php'), 'activate-plugin_pmpro-woocommerce/pmpro-woocommerce.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=pmpro-woocommerce'), 'install-plugin_pmpro-woocommerce'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/pmpro-wp-affiliate.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: PMPro WP Affiliate Platform Integration
4
- Slug: pmpro-wp-affiliate
5
- */
6
- pmpro_add_addon('thirdparty', array(
7
- 'title' => 'PMPro WP Affiliate Platform Integration',
8
- 'version' => '.3',
9
- 'widget' => 'pmpro_addon_pmpro_wp_affiliate_widget',
10
- 'enabled' => function_exists('wpa_pmpro_after_checkout')
11
- )
12
- );
13
-
14
- function pmpro_addon_pmpro_wp_affiliate_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-wp-affiliate-platform.jpg" />
18
- <div class="info">
19
- <p>Process an affiliate via WP Affiliate Platform after a PMPro checkout.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="https://github.com/strangerstudios/pmpro-wp-affiliate-platform/" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-wp-affiliate-platform/pmpro-wp-affiliate-platform.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-wp-affiliate-platform/pmpro-wp-affiliate-platform.php'), 'activate-plugin_pmpro-wp-affiliate-platform/pmpro-wp-affiliate-platform.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-wp-affiliate-platform.zip" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: PMPro WP Affiliate Platform Integration
4
+ Slug: pmpro-wp-affiliate
5
+ */
6
+ pmpro_add_addon('thirdparty', array(
7
+ 'title' => 'PMPro WP Affiliate Platform Integration',
8
+ 'version' => '.3',
9
+ 'widget' => 'pmpro_addon_pmpro_wp_affiliate_widget',
10
+ 'enabled' => function_exists('wpa_pmpro_after_checkout')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_pmpro_wp_affiliate_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/pmpro-wp-affiliate-platform.jpg" />
18
+ <div class="info">
19
+ <p>Process an affiliate via WP Affiliate Platform after a PMPro checkout.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="https://github.com/strangerstudios/pmpro-wp-affiliate-platform/" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../pmpro-wp-affiliate-platform/pmpro-wp-affiliate-platform.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=pmpro-wp-affiliate-platform/pmpro-wp-affiliate-platform.php'), 'activate-plugin_pmpro-wp-affiliate-platform/pmpro-wp-affiliate-platform.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="http://www.paidmembershipspro.com/wp-content/uploads/plugins/pmpro-wp-affiliate-platform.zip" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/addons/tml.php CHANGED
@@ -1,32 +1,32 @@
1
- <?php
2
- /*
3
- Addon: Theme My Login
4
- Slug: pmpro-tml
5
- */
6
- pmpro_add_addon('recommended', array(
7
- 'title' => 'Theme My Login',
8
- 'widget' => 'pmpro_addon_tml_widget',
9
- 'enabled' => class_exists('Theme_My_Login'),
10
- 'version' => '6.3.10'
11
- )
12
- );
13
-
14
- function pmpro_addon_tml_widget($addon)
15
- {
16
- ?>
17
- <div class="info">
18
- <p>This plugin themes the WordPress login, registration and forgot password pages according to your current theme. By <a href="http://www.jfarthing.com/" target="_blank">Jeff Farthing</a></p>
19
- <div class="actions">
20
- <form method="post" name="component-actions" action="">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../theme-my-login/theme-my-login.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=theme-my-login/theme-my-login.php'), 'activate-plugin_theme-my-login/theme-my-login.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=theme-my-login'), 'install-plugin_theme-my-login'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </form>
29
- </div>
30
- </div> <!-- end info -->
31
- <?php
32
- }
1
+ <?php
2
+ /*
3
+ Addon: Theme My Login
4
+ Slug: pmpro-tml
5
+ */
6
+ pmpro_add_addon('recommended', array(
7
+ 'title' => 'Theme My Login',
8
+ 'widget' => 'pmpro_addon_tml_widget',
9
+ 'enabled' => class_exists('Theme_My_Login'),
10
+ 'version' => '6.3.10'
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_tml_widget($addon)
15
+ {
16
+ ?>
17
+ <div class="info">
18
+ <p>This plugin themes the WordPress login, registration and forgot password pages according to your current theme. By <a href="http://www.jfarthing.com/" target="_blank">Jeff Farthing</a></p>
19
+ <div class="actions">
20
+ <form method="post" name="component-actions" action="">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="<?php echo admin_url("plugins.php");?>" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../theme-my-login/theme-my-login.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=theme-my-login/theme-my-login.php'), 'activate-plugin_theme-my-login/theme-my-login.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=theme-my-login'), 'install-plugin_theme-my-login'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </form>
29
+ </div>
30
+ </div> <!-- end info -->
31
+ <?php
32
+ }
adminpages/addons/wp-bouncer.php CHANGED
@@ -1,31 +1,31 @@
1
- <?php
2
- /*
3
- Addon: WP Bouncer
4
- Slug: wp-bouncer
5
- */
6
- pmpro_add_addon('repo', array(
7
- 'title' => 'WP Bouncer',
8
- 'version' => '1.1',
9
- 'widget' => 'pmpro_addon_wp_bouncer_widget',
10
- 'enabled' => class_exists('WP_Bouncer')
11
- )
12
- );
13
-
14
- function pmpro_addon_wp_bouncer_widget($addon)
15
- {
16
- ?>
17
- <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/wp-bouncer.gif" />
18
- <div class="info">
19
- <p>Make sure users are only logged in from one computer or device at a time.</p>
20
- <div class="actions">
21
- <?php if($addon['enabled']) { ?>
22
- <a href="http://wordpress.org/plugins/wp-bouncer/" class="button">Enabled</a>
23
- <?php } elseif(file_exists(dirname(__FILE__) . "/../../../wp-bouncer/wp-bouncer.php")) { ?>
24
- <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=wp-bouncer/wp-bouncer.php'), 'activate-plugin_wp-bouncer/wp-bouncer.php')?>" class="button button-primary">Activate</a>
25
- <?php } else { ?>
26
- <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=wp-bouncer'), 'install-plugin_wp-bouncer'); ?>" class="button button-primary">Download</a>
27
- <?php } ?>
28
- </div>
29
- </div> <!-- end info -->
30
- <?php
31
- }
1
+ <?php
2
+ /*
3
+ Addon: WP Bouncer
4
+ Slug: wp-bouncer
5
+ */
6
+ pmpro_add_addon('repo', array(
7
+ 'title' => 'WP Bouncer',
8
+ 'version' => '1.1',
9
+ 'widget' => 'pmpro_addon_wp_bouncer_widget',
10
+ 'enabled' => class_exists('WP_Bouncer')
11
+ )
12
+ );
13
+
14
+ function pmpro_addon_wp_bouncer_widget($addon)
15
+ {
16
+ ?>
17
+ <img class="addon-thumb" src="<?php echo PMPRO_URL?>/adminpages/addons/images/wp-bouncer.gif" />
18
+ <div class="info">
19
+ <p>Make sure users are only logged in from one computer or device at a time.</p>
20
+ <div class="actions">
21
+ <?php if($addon['enabled']) { ?>
22
+ <a href="http://wordpress.org/plugins/wp-bouncer/" class="button">Enabled</a>
23
+ <?php } elseif(file_exists(dirname(__FILE__) . "/../../../wp-bouncer/wp-bouncer.php")) { ?>
24
+ <a href="<?php echo wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=wp-bouncer/wp-bouncer.php'), 'activate-plugin_wp-bouncer/wp-bouncer.php')?>" class="button button-primary">Activate</a>
25
+ <?php } else { ?>
26
+ <a href="<?php echo wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=wp-bouncer'), 'install-plugin_wp-bouncer'); ?>" class="button button-primary">Download</a>
27
+ <?php } ?>
28
+ </div>
29
+ </div> <!-- end info -->
30
+ <?php
31
+ }
adminpages/admin_footer.php CHANGED
@@ -1,2 +1,2 @@
1
- <div class="clear"></div>
2
</div>
1
+ <div class="clear"></div>
2
</div>
adminpages/admin_header.php CHANGED
@@ -1,156 +1,173 @@
1
- <?php
2
- require_once(dirname(__FILE__) . "/functions.php");
3
-
4
- if(isset($_REQUEST['page']))
5
- $view = $_REQUEST['page'];
6
- else
7
- $view = "";
8
-
9
- global $pmpro_ready, $msg, $msgt;
10
- $pmpro_ready = pmpro_is_ready();
11
- if(!$pmpro_ready)
12
- {
13
- global $pmpro_level_ready, $pmpro_gateway_ready, $pmpro_pages_ready;
14
- if(!isset($edit))
15
- {
16
- if(isset($_REQUEST['edit']))
17
- $edit = $_REQUEST['edit'];
18
- else
19
- $edit = false;
20
- }
21
-
22
- if(empty($msg))
23
- $msg = -1;
24
- if(empty($pmpro_level_ready) && empty($edit))
25
- $msgt .= " <a href=\"?page=pmpro-membershiplevels&edit=-1\">" . __("Add a membership level to get started.", "pmpro") . "</a>";
26
- elseif($pmpro_level_ready && !$pmpro_pages_ready && $view != "pmpro-pagesettings")
27
- $msgt .= " <a href=\"?page=pmpro-pagesettings\">" . __("Setup the membership pages", "pmpro") . "</a>.";
28
- elseif($pmpro_level_ready && $pmpro_pages_ready && !$pmpro_gateway_ready && $view != "pmpro-paymentsettings")
29
- $msgt .= " <a href=\"?page=pmpro-paymentsettings\">" . __("Setup your SSL certificate and payment gateway", "pmpro") . "</a>.";
30
-
31
- if(empty($msgt))
32
- $msg = false;
33
- }
34
-
35
- if(!pmpro_checkLevelForStripeCompatibility())
36
- {
37
- $msg = -1;
38
- $msgt = __("The billing details for some of your membership levels is not supported by Stripe.", "pmpro");
39
- if($view == "pmpro-membershiplevels" && !empty($_REQUEST['edit']) && $_REQUEST['edit'] > 0)
40
- {
41
- if(!pmpro_checkLevelForStripeCompatibility($_REQUEST['edit']))
42
- {
43
- global $pmpro_stripe_error;
44
- $pmpro_stripe_error = true;
45
- $msg = -1;
46
- $msgt = __("The billing details for this level are not supported by Stripe. Please review the notes in the Billing Details section below.", "pmpro");
47
- }
48
- }
49
- elseif($view == "pmpro-membershiplevels")
50
- $msgt .= " " . __("The levels with issues are highlighted below.", "pmpro");
51
- else
52
- $msgt .= " <a href=\"?page=pmpro-membershiplevels\">" . __("Please edit your levels", "pmpro") . "</a>.";
53
- }
54
-
55
- if(!pmpro_checkLevelForPayflowCompatibility())
56
- {
57
- $msg = -1;
58
- $msgt = __("The billing details for some of your membership levels is not supported by Payflow.", "pmpro");
59
- if($view == "pmpro-membershiplevels" && !empty($_REQUEST['edit']) && $_REQUEST['edit'] > 0)
60
- {
61
- if(!pmpro_checkLevelForPayflowCompatibility($_REQUEST['edit']))
62
- {
63
- global $pmpro_payflow_error;
64
- $pmpro_payflow_error = true;
65
- $msg = -1;
66
- $msgt = __("The billing details for this level are not supported by Payflow. Please review the notes in the Billing Details section below.", "pmpro");
67
- }
68
- }
69
- elseif($view == "pmpro-membershiplevels")
70
- $msgt .= " " . __("The levels with issues are highlighted below.", "pmpro");
71
- else
72
- $msgt .= " <a href=\"?page=pmpro-membershiplevels\">" . __("Please edit your levels", "pmpro") . "</a>.";
73
- }
74
-
75
- if(!pmpro_checkLevelForBraintreeCompatibility())
76
- {
77
- $msg = -1;
78
- $msgt = __("The billing details for some of your membership levels is not supported by Braintree.", "pmpro");
79
- if($view == "pmpro-membershiplevels" && !empty($_REQUEST['edit']) && $_REQUEST['edit'] > 0)
80
- {
81
- if(!pmpro_checkLevelForBraintreeCompatibility($_REQUEST['edit']))
82
- {
83
- global $pmpro_braintree_error;
84
- $pmpro_braintree_error = true;
85
- $msg = -1;
86
- $msgt = __("The billing details for this level are not supported by Braintree. Please review the notes in the Billing Details section below.", "pmpro");
87
- }
88
- }
89
- elseif($view == "pmpro-membershiplevels")
90
- $msgt .= " " . __("The levels with issues are highlighted below.", "pmpro");
91
- else
92
- $msgt .= " <a href=\"?page=pmpro-membershiplevels\">" . __("Please edit your levels", "pmpro") . "</a>.";
93
- }
94
-
95
- if(!pmpro_checkLevelForTwoCheckoutCompatibility())
96
- {
97
- $msg = -1;
98
- $msgt = __("The billing details for some of your membership levels is not supported by TwoCheckout.", "pmpro");
99
- if($view == "pmpro-membershiplevels" && !empty($_REQUEST['edit']) && $_REQUEST['edit'] > 0)
100
- {
101
- if(!pmpro_checkLevelForTwoCheckoutCompatibility($_REQUEST['edit']))
102
- {
103
- global $pmpro_twocheckout_error;
104
- $pmpro_twocheckout_error = true;
105
-
106
- $msg = -1;
107
- $msgt = __("The billing details for this level are not supported by 2Checkout. Please review the notes in the Billing Details section below.", "pmpro");
108
- }
109
- }
110
- elseif($view == "pmpro-membershiplevels")
111
- $msgt .= " " . __("The levels with issues are highlighted below.", "pmpro");
112
- else
113
- $msgt .= " <a href=\"?page=pmpro-membershiplevels\">" . __("Please edit your levels", "pmpro") . "</a>.";
114
- }
115
-
116
- if(!empty($msg))
117
- {
118
- ?>
119
- <div id="message" class="<?php if($msg > 0) echo "updated fade"; else echo "error"; ?>"><p><?php echo $msgt?></p></div>
120
- <?php
121
- }
122
-
123
- ?>
124
- <div class="wrap pmpro_admin">
125
- <div class="pmpro_banner">
126
- <a class="pmpro_logo" title="Paid Memberships Pro - Membership Plugin for WordPress" target="_blank" href="<?php echo pmpro_https_filter("http://www.paidmembershipspro.com")?>"><img src="<?php echo PMPRO_URL?>/images/Paid-Memberships-Pro.png" width="350" height="75" border="0" alt="Paid Memberships Pro(c) - All Rights Reserved" /></a>
127
- <div class="pmpro_meta"><span class="pmpro_tag-grey">v<?php echo PMPRO_VERSION?></span><a target="_blank" class="pmpro_tag-blue" href="<?php echo pmpro_https_filter("http://www.paidmembershipspro.com")?>"><?php _e('Plugin Support', 'pmpro');?></a><a target="_blank" class="pmpro_tag-blue" href="http://www.paidmembershipspro.com/forums/"><?php _e('User Forum', 'pmpro');?></a></div>
128
-
129
- <br style="clear:both;" />
130
- </div>
131
-
132
- <div id="pmpro_notifications">
133
- </div>
134
- <script>
135
- jQuery(document).ready(function() {
136
- jQuery.get('<?php echo get_admin_url(NULL, "/admin-ajax.php?action=pmpro_notifications"); ?>', function(data) {
137
- if(data && data != 'NULL')
138
- jQuery('#pmpro_notifications').html(data);
139
- });
140
- });
141
- </script>
142
-
143
- <?php
144
- $settings_tabs = array("pmpro-membershiplevels", "pmpro-pagesettings", "pmpro-paymentsettings", "pmpro-emailsettings", "pmpro-advancedsettings", "pmpro-addons");
145
- if(in_array($view, $settings_tabs))
146
- {
147
- ?>
148
- <h2 class="nav-tab-wrapper">
149
- <a href="admin.php?page=pmpro-membershiplevels" class="nav-tab<?php if($view == 'pmpro-membershiplevels') { ?> nav-tab-active<?php } ?>"><?php _e('Membership Levels', 'pmpro');?></a>
150
- <a href="admin.php?page=pmpro-pagesettings" class="nav-tab<?php if($view == 'pmpro-pagesettings') { ?> nav-tab-active<?php } ?>"><?php _e('Pages', 'pmpro');?></a>
151
- <a href="admin.php?page=pmpro-paymentsettings" class="nav-tab<?php if($view == 'pmpro-paymentsettings') { ?> nav-tab-active<?php } ?>"><?php _e('Payment Gateway &amp; SSL', 'pmpro');?></a>
152
- <a href="admin.php?page=pmpro-emailsettings" class="nav-tab<?php if($view == 'pmpro-emailsettings') { ?> nav-tab-active<?php } ?>"><?php _e('Email', 'pmpro');?></a>
153
- <a href="admin.php?page=pmpro-advancedsettings" class="nav-tab<?php if($view == 'pmpro-advancedsettings') { ?> nav-tab-active<?php } ?>"><?php _e('Advanced', 'pmpro');?></a>
154
- <a href="admin.php?page=pmpro-addons" class="nav-tab<?php if($view == 'pmpro-addons') { ?> nav-tab-active<?php } ?>"><?php _e('Add Ons', 'pmpro');?></a>
155
- </h2>
156
- <?php } ?>
1
+ <?php
2
+ require_once(dirname(__FILE__) . "/functions.php");
3
+
4
+ if(isset($_REQUEST['page']))
5
+ $view = $_REQUEST['page'];
6
+ else
7
+ $view = "";
8
+
9
+ global $pmpro_ready, $msg, $msgt;
10
+ $pmpro_ready = pmpro_is_ready();
11
+ if(!$pmpro_ready)
12
+ {
13
+ global $pmpro_level_ready, $pmpro_gateway_ready, $pmpro_pages_ready;
14
+ if(!isset($edit))
15
+ {
16
+ if(isset($_REQUEST['edit']))
17
+ $edit = $_REQUEST['edit'];
18
+ else
19
+ $edit = false;
20
+ }
21
+
22
+ if(empty($msg))
23
+ $msg = -1;
24
+ if(empty($pmpro_level_ready) && empty($edit))
25
+ $msgt .= " <a href=\"?page=pmpro-membershiplevels&edit=-1\">" . __("Add a membership level to get started.", "pmpro") . "</a>";
26
+ elseif($pmpro_level_ready && !$pmpro_pages_ready && $view != "pmpro-pagesettings")
27
+ $msgt .= " <a href=\"?page=pmpro-pagesettings\">" . __("Setup the membership pages", "pmpro") . "</a>.";
28
+ elseif($pmpro_level_ready && $pmpro_pages_ready && !$pmpro_gateway_ready && $view != "pmpro-paymentsettings")
29
+ $msgt .= " <a href=\"?page=pmpro-paymentsettings\">" . __("Setup your SSL certificate and payment gateway", "pmpro") . "</a>.";
30
+
31
+ if(empty($msgt))
32
+ $msg = false;
33
+ }
34
+
35
+ if(!pmpro_checkLevelForStripeCompatibility())
36
+ {
37
+ $msg = -1;
38
+ $msgt = __("The billing details for some of your membership levels is not supported by Stripe.", "pmpro");
39
+ if($view == "pmpro-membershiplevels" && !empty($_REQUEST['edit']) && $_REQUEST['edit'] > 0)
40
+ {
41
+ if(!pmpro_checkLevelForStripeCompatibility($_REQUEST['edit']))
42
+ {
43
+ global $pmpro_stripe_error;
44
+ $pmpro_stripe_error = true;
45
+ $msg = -1;
46
+ $msgt = __("The billing details for this level are not supported by Stripe. Please review the notes in the Billing Details section below.", "pmpro");
47
+ }
48
+ }
49
+ elseif($view == "pmpro-membershiplevels")
50
+ $msgt .= " " . __("The levels with issues are highlighted below.", "pmpro");
51
+ else
52
+ $msgt .= " <a href=\"?page=pmpro-membershiplevels\">" . __("Please edit your levels", "pmpro") . "</a>.";
53
+ }
54
+
55
+ if(!pmpro_checkLevelForPayflowCompatibility())
56
+ {
57
+ $msg = -1;
58
+ $msgt = __("The billing details for some of your membership levels is not supported by Payflow.", "pmpro");
59
+ if($view == "pmpro-membershiplevels" && !empty($_REQUEST['edit']) && $_REQUEST['edit'] > 0)
60
+ {
61
+ if(!pmpro_checkLevelForPayflowCompatibility($_REQUEST['edit']))
62
+ {
63
+ global $pmpro_payflow_error;
64
+ $pmpro_payflow_error = true;
65
+ $msg = -1;
66
+ $msgt = __("The billing details for this level are not supported by Payflow. Please review the notes in the Billing Details section below.", "pmpro");
67
+ }
68
+ }
69
+ elseif($view == "pmpro-membershiplevels")
70
+ $msgt .= " " . __("The levels with issues are highlighted below.", "pmpro");
71
+ else
72
+ $msgt .= " <a href=\"?page=pmpro-membershiplevels\">" . __("Please edit your levels", "pmpro") . "</a>.";
73
+ }
74
+
75
+ if(!pmpro_checkLevelForBraintreeCompatibility())
76
+ {
77
+ $msg = -1;
78
+ $msgt = __("The billing details for some of your membership levels is not supported by Braintree.", "pmpro");
79
+ if($view == "pmpro-membershiplevels" && !empty($_REQUEST['edit']) && $_REQUEST['edit'] > 0)
80
+ {
81
+ if(!pmpro_checkLevelForBraintreeCompatibility($_REQUEST['edit']))
82
+ {
83
+ global $pmpro_braintree_error;
84
+ $pmpro_braintree_error = true;
85
+ $msg = -1;
86
+ $msgt = __("The billing details for this level are not supported by Braintree. Please review the notes in the Billing Details section below.", "pmpro");
87
+ }
88
+ }
89
+ elseif($view == "pmpro-membershiplevels")
90
+ $msgt .= " " . __("The levels with issues are highlighted below.", "pmpro");
91
+ else
92
+ $msgt .= " <a href=\"?page=pmpro-membershiplevels\">" . __("Please edit your levels", "pmpro") . "</a>.";
93
+ }
94
+
95
+ if(!pmpro_checkLevelForTwoCheckoutCompatibility())
96
+ {
97
+ $msg = -1;
98
+ $msgt = __("The billing details for some of your membership levels is not supported by TwoCheckout.", "pmpro");
99
+ if($view == "pmpro-membershiplevels" && !empty($_REQUEST['edit']) && $_REQUEST['edit'] > 0)
100
+ {
101
+ if(!pmpro_checkLevelForTwoCheckoutCompatibility($_REQUEST['edit']))
102
+ {
103
+ global $pmpro_twocheckout_error;
104
+ $pmpro_twocheckout_error = true;
105
+
106
+ $msg = -1;
107
+ $msgt = __("The billing details for this level are not supported by 2Checkout. Please review the notes in the Billing Details section below.", "pmpro");
108
+ }
109
+ }
110
+ elseif($view == "pmpro-membershiplevels")
111
+ $msgt .= " " . __("The levels with issues are highlighted below.", "pmpro");
112
+ else
113
+ $msgt .= " <a href=\"?page=pmpro-membershiplevels\">" . __("Please edit your levels", "pmpro") . "</a>.";
114
+ }
115
+
116
+ if(!empty($msg))
117
+ {
118
+ ?>
119
+ <div id="message" class="<?php if($msg > 0) echo "updated fade"; else echo "error"; ?>"><p><?php echo $msgt?></p></div>
120
+ <?php
121
+ }
122
+
123
+ ?>
124
+ <div class="wrap pmpro_admin">
125
+ <div class="pmpro_banner">
126
+ <a class="pmpro_logo" title="Paid Memberships Pro - Membership Plugin for WordPress" target="_blank" href="<?php echo pmpro_https_filter("http://www.paidmembershipspro.com")?>"><img src="<?php echo PMPRO_URL?>/images/Paid-Memberships-Pro.png" width="350" height="75" border="0" alt="Paid Memberships Pro(c) - All Rights Reserved" /></a>
127
+ <div class="pmpro_meta"><span class="pmpro_tag-grey">v<?php echo PMPRO_VERSION?></span><a target="_blank" class="pmpro_tag-blue" href="<?php echo pmpro_https_filter("http://www.paidmembershipspro.com")?>"><?php _e('Plugin Support', 'pmpro');?></a><a target="_blank" class="pmpro_tag-blue" href="http://www.paidmembershipspro.com/forums/"><?php _e('User Forum', 'pmpro');?></a></div>
128
+
129
+ <br style="clear:both;" />
130
+ </div>
131
+
132
+ <div id="pmpro_notifications">
133
+ </div>
134
+ <script>
135
+ jQuery(document).ready(function() {
136
+ jQuery.get('<?php echo get_admin_url(NULL, "/admin-ajax.php?action=pmpro_notifications"); ?>', function(data) {
137
+ if(data && data != 'NULL')
138
+ jQuery('#pmpro_notifications').html(data);
139
+ });
140
+ });
141
+ </script>
142
+
143
+ <?php
144
+ $settings_tabs = array("pmpro-membershiplevels", "pmpro-pagesettings", "pmpro-paymentsettings", "pmpro-emailsettings", "pmpro-advancedsettings", "pmpro-addons");
145
+ if(in_array($view, $settings_tabs))
146
+ {
147
+ ?>
148
+ <h2 class="nav-tab-wrapper">
149
+ <?php if(current_user_can('pmpro_membershiplevels')) { ?>
150
+ <a href="admin.php?page=pmpro-membershiplevels" class="nav-tab<?php if($view == 'pmpro-membershiplevels') { ?> nav-tab-active<?php } ?>"><?php _e('Membership Levels', 'pmpro');?></a>
151
+ <?php } ?>
152
+
153
+ <?php if(current_user_can('pmpro_pagesettings')) { ?>
154
+ <a href="admin.php?page=pmpro-pagesettings" class="nav-tab<?php if($view == 'pmpro-pagesettings') { ?> nav-tab-active<?php } ?>"><?php _e('Pages', 'pmpro');?></a>
155
+ <?php } ?>
156
+
157
+ <?php if(current_user_can('pmpro_paymentsettings')) { ?>
158
+ <a href="admin.php?page=pmpro-paymentsettings" class="nav-tab<?php if($view == 'pmpro-paymentsettings') { ?> nav-tab-active<?php } ?>"><?php _e('Payment Gateway &amp; SSL', 'pmpro');?></a>
159
+ <?php } ?>
160
+
161
+ <?php if(current_user_can('pmpro_emailsettings')) { ?>
162
+ <a href="admin.php?page=pmpro-emailsettings" class="nav-tab<?php if($view == 'pmpro-emailsettings') { ?> nav-tab-active<?php } ?>"><?php _e('Email', 'pmpro');?></a>
163
+ <?php } ?>
164
+
165
+ <?php if(current_user_can('pmpro_advancedsettings')) { ?>
166
+ <a href="admin.php?page=pmpro-advancedsettings" class="nav-tab<?php if($view == 'pmpro-advancedsettings') { ?> nav-tab-active<?php } ?>"><?php _e('Advanced', 'pmpro');?></a>
167
+ <?php } ?>
168
+
169
+ <?php if(current_user_can('pmpro_addons')) { ?>
170
+ <a href="admin.php?page=pmpro-addons" class="nav-tab<?php if($view == 'pmpro-addons') { ?> nav-tab-active<?php } ?>"><?php _e('Add Ons', 'pmpro');?></a>
171
+ <?php } ?>
172
+ </h2>
173
+ <?php } ?>
adminpages/advancedsettings.php CHANGED
@@ -3,31 +3,31 @@
3
if(!function_exists("current_user_can") || (!current_user_can("manage_options") && !current_user_can("pmpro_advancedsettings")))
4
{
5
die(__("You do not have permissions to perform this action.", "pmpro"));
6
- }
7
-
8
global $wpdb, $msg, $msgt;
9
-
10
- //get/set settings
11
if(!empty($_REQUEST['savesettings']))
12
- {
13
//other settings
14
pmpro_setOption("nonmembertext");
15
pmpro_setOption("notloggedintext");
16
- pmpro_setOption("rsstext");
17
pmpro_setOption("filterqueries");
18
pmpro_setOption("showexcerpts");
19
pmpro_setOption("hideads");
20
pmpro_setOption("hideadslevels");
21
- pmpro_setOption("redirecttosubscription");
22
-
23
//captcha
24
pmpro_setOption("recaptcha");
25
pmpro_setOption("recaptcha_publickey");
26
- pmpro_setOption("recaptcha_privatekey");
27
-
28
//tos
29
- pmpro_setOption("tospage");
30
-
31
//footer link
32
pmpro_setOption("hide_footer_link");
33
@@ -37,58 +37,58 @@
37
pmpro_setOption($key);
38
}
39
}
40
-
41
//assume success
42
$msg = true;
43
- $msgt = __("Your advanced settings have been updated.", "pmpro");
44
}
45
46
$nonmembertext = pmpro_getOption("nonmembertext");
47
$notloggedintext = pmpro_getOption("notloggedintext");
48
- $rsstext = pmpro_getOption("rsstext");
49
$hideads = pmpro_getOption("hideads");
50
$filterqueries = pmpro_getOption('filterqueries');
51
$showexcerpts = pmpro_getOption("showexcerpts");
52
$hideadslevels = pmpro_getOption("hideadslevels");
53
-
54
if(is_multisite())
55
$redirecttosubscription = pmpro_getOption("redirecttosubscription");
56
-
57
$recaptcha = pmpro_getOption("recaptcha");
58
$recaptcha_publickey = pmpro_getOption("recaptcha_publickey");
59
$recaptcha_privatekey = pmpro_getOption("recaptcha_privatekey");
60
-
61
$tospage = pmpro_getOption("tospage");
62
-
63
$hide_footer_link = pmpro_getOption("hide_footer_link");
64
-
65
//default settings
66
if(!$nonmembertext)
67
{
68
$nonmembertext = sprintf( __( 'This content is for !!levels!! members only. <a href="%s">Register here</a>.', 'pmpro' ), wp_login_url() . "?action=register" );
69
pmpro_setOption("nonmembertext", $nonmembertext);
70
- }
71
if(!$notloggedintext)
72
{
73
$notloggedintext = sprintf( __( 'Please <a href="%s">login</a> to view this content. (<a href="%s">Register here</a>.)', 'pmpro' ), wp_login_url( get_permalink() ), wp_login_url() . "?action=register" );
74
pmpro_setOption("notloggedintext", $notloggedintext);
75
- }
76
if(!$rsstext)
77
{
78
$rsstext = __( 'This content is for members only. Visit the site and log in/register to read.', 'pmpro' );
79
pmpro_setOption("rsstext", $rsstext);
80
- }
81
-
82
$levels = $wpdb->get_results( "SELECT * FROM {$wpdb->pmpro_membership_levels}", OBJECT );
83
-
84
- require_once(dirname(__FILE__) . "/admin_header.php");
85
?>
86
87
- <form action="" method="post" enctype="multipart/form-data">
88
<h2><?php _e('Advanced Settings', 'pmpro');?></h2>
89
-
90
<table class="form-table">
91
- <tbody>
92
<tr>
93
<th scope="row" valign="top">
94
<label for="nonmembertext"><?php _e('Message for Logged-in Non-members', 'pmpro');?>:</label>
@@ -97,7 +97,7 @@
97
<textarea name="nonmembertext" rows="3" cols="80"><?php echo stripslashes($nonmembertext)?></textarea><br />
98
<small class="litegray"><?php _e('This message replaces the post content for non-members. Available variables', 'pmpro');?>: !!levels!!, !!referrer!!</small>
99
</td>
100
- </tr>
101
<tr>
102
<th scope="row" valign="top">
103
<label for="notloggedintext"><?php _e('Message for Logged-out Users', 'pmpro');?>:</label>
@@ -106,7 +106,7 @@
106
<textarea name="notloggedintext" rows="3" cols="80"><?php echo stripslashes($notloggedintext)?></textarea><br />
107
<small class="litegray"><?php _e('This message replaces the post content for logged-out visitors.', 'pmpro');?></small>
108
</td>
109
- </tr>
110
<tr>
111
<th scope="row" valign="top">
112
<label for="rsstext"><?php _e('Message for RSS Feed', 'pmpro');?>:</label>
@@ -115,8 +115,8 @@
115
<textarea name="rsstext" rows="3" cols="80"><?php echo stripslashes($rsstext)?></textarea><br />
116
<small class="litegray"><?php _e('This message replaces the post content in RSS feeds.', 'pmpro');?></small>
117
</td>
118
- </tr>
119
-
120
<tr>
121