Subscribe2 - Version 10.12

Version Description

Download this release

Release Info

Developer tanaylakhani
Plugin Icon 128x128 Subscribe2
Version 10.12
Comparing to
See all releases

Code changes from version 10.11 to 10.12

ChangeLog.txt CHANGED
@@ -1,3 +1,9 @@
 
 
 
 
 
 
1
  = Version 10.11 =
2
 
3
  * 2-way synchronization with readygraph popup
1
+ = 10.12 =
2
+
3
+ * Popup customization templates selection
4
+ * Performance update for faster javascript load.
5
+ * updated signup form information
6
+
7
  = Version 10.11 =
8
 
9
  * 2-way synchronization with readygraph popup
ReadMe.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_butt
4
  Tags: posts, subscription, email, subscribe, notify, notification
5
  Requires at least: 3.3
6
  Tested up to: 3.9.1
7
- Stable tag: 10.11
8
  License: GPL3
9
 
10
  Sends a list of subscribers an email notification when new posts are published to your blog. Automate user growth through ReadyGraph integration.
@@ -93,10 +93,105 @@ This token will automatically be replaced by dynamic subscription information an
93
 
94
  == Frequently Asked Questions ==
95
 
96
- If you have questions or concerns contact us anytime at [info@readygraph.com](mailto:info@readygraph.com)
97
-
98
  [Visit FAQ site](http://subscribe2.wordpress.com/support/faqs/)
99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  == Screenshots ==
101
  1. The Subscribe2->Mail Subscribers admin page generated by the plugin.
102
  2. The Subscribe2->Subscribers admin page generated by the plugin.
4
  Tags: posts, subscription, email, subscribe, notify, notification
5
  Requires at least: 3.3
6
  Tested up to: 3.9.1
7
+ Stable tag: 10.12
8
  License: GPL3
9
 
10
  Sends a list of subscribers an email notification when new posts are published to your blog. Automate user growth through ReadyGraph integration.
93
 
94
  == Frequently Asked Questions ==
95
 
 
 
96
  [Visit FAQ site](http://subscribe2.wordpress.com/support/faqs/)
97
 
98
+ = ReadyGraph FAQ =
99
+
100
+ = GENERAL QUESTIONS: =
101
+
102
+ **What is ReadyGraph?**
103
+
104
+ ReadyGraph is a tool that makes it easy for websites to grow and manage their user-base, by allowing/utilizing: **user sign-up**, through an optional notification tab and an intelligent pop-up, with one-click sign-up and social login options; **user friend invitations**, through the sign-up pop-up, or a sidebar button; **automated emails** (optional) that keep visitors coming back, such as welcome messages to greet new users, recent site updates/posts to keep them informed, gentle reminders for inactive users, and a weekly digest of new content; **mass emailing**, for fast communication to all your subscribers; **user-interaction**, through an optional comment-feed sidebar; **analytic tools**, to track new subscribers, daily visits, and other key metrics that quantify your website’s growth and user engagement.
105
+
106
+ **How do I install ReadyGraph?**
107
+
108
+ After installing this plug-in, you can activate the ReadyGraph features by connecting/signing-up for your ReadyGraph account.
109
+
110
+ **How do I uninstall ReadyGraph?**
111
+
112
+ You can deactivate the ReadyGraph features by navigating to the upper-right corner of the “ReadyGraph App” page, clicking the drop-down menu with your email address, and disconnecting your ReadyGraph account.
113
+
114
+ **Can I delay the sign-up pop-up?**
115
+
116
+ Yes, you can delay the pop-up for up to 20 minutes; however, the most effective delay is only a few seconds. That ensures that users are engaged, before showing the pop-up to them.
117
+
118
+ **How do I check my website’s stats?**
119
+
120
+ You can check your website’s stats by clicking the “Insights” button at the upper-right corner of the “ReadyGraph App” page. There, you will find various metrics about your site growth.
121
+
122
+ **Can I use both the pop-up and the form widget?**
123
+
124
+ Yes, you can; they will not conflict with each other.
125
+
126
+ **How do I contact someone for support, or to suggest a feature?**
127
+
128
+ You can contact us at info@readygraph.com. We appreciate all feedback.
129
+
130
+ **I’m having problems with the latest version of the plug-in; can I switch back to an older version?**
131
+
132
+ Yes, just navigate to the “Developers” tab on the wordpress.org plug-in page, and select the version that works for you.
133
+
134
+ = ACCOUNT QUESTIONS: =
135
+
136
+ **How do I change my account email address?**
137
+
138
+ Contact us as info@readygraph.com.
139
+
140
+ **How do I turn off email notifications from ReadyGraph?**
141
+
142
+ You can turn them off via the account settings page on ReadyGraph.com.
143
+
144
+ **How do I disconnect ReadyGraph from my site?**
145
+
146
+ You can disconnect ReadyGraph from your site by navigating to the upper-right corner of the “ReadyGraph App” page in this plug-in, and clicking the drop-down menu with your email address on it; there will be an option there to disconnect ReadyGraph from your site.
147
+
148
+ = CUSTOMIZATION QUESTIONS: =
149
+
150
+ **Can I customize the pop-up?**
151
+
152
+ Yes, you can choose a template that matches your site design, from the various templates available.
153
+
154
+ **Can I customize the friend-invite form?**
155
+
156
+ You can customize the text on the friend invite form to something that suits your website.
157
+
158
+ **Can I customize my emails?**
159
+
160
+ Yes, on the right side of the “ReadyGraph App” page, you will find a link to a page where you can Configure/Enable/Disable the various automated emails that you can send via ReadyGraph.
161
+
162
+ = QUESTIONS ABOUT YOUR SUBSCRIBERS: =
163
+
164
+ **How do I view my subscribers?**
165
+
166
+ Clicking the “Insights” button at the top of the “ReadyGraph App” page of this plug-in will take you to a page where you can view a list of your subscribers.
167
+
168
+ **How do I mail my subscribers?**
169
+
170
+ On the right side of the “ReadyGraph App” page, you will find a link to a page where you can send mass emails to your subscribers.
171
+
172
+ **Can I import a list of existing subscribers?**
173
+
174
+ This is a feature currently under development and is scheduled to be released in our next update.
175
+
176
+ **Can I export a list of my subscribers?**
177
+
178
+ This is a feature currently under development and is scheduled to be released in our next update.
179
+
180
+ **If I decide to stop using ReadyGraph, do I keep my subscribers?**
181
+
182
+ Yes, contact us at info@readygraph.com for assistance.
183
+
184
+ **Can I send automated emails/newsletters to my subscribers?**
185
+
186
+ On the right side of the “ReadyGraph App” page, you will find a link to a page where you can Enable/Disable/Configure the various automated emails that you can send via ReadyGraph.
187
+
188
+ **Is ReadyGraph necessary in order to use this plug-in?**
189
+
190
+ No, it isn’t; you can use this plug-in without ReadyGraph features enabled, but you would be missing out on added growth opportunities.
191
+
192
+ If you have questions or concerns, contact us anytime at [info@readygraph.com](mailto:info@readygraph.com)
193
+
194
+
195
  == Screenshots ==
196
  1. The Subscribe2->Mail Subscribers admin page generated by the plugin.
197
  2. The Subscribe2->Subscribers admin page generated by the plugin.
extension/readygraph/admin.php CHANGED
@@ -12,7 +12,7 @@
12
  * @copyright 2014 Your Name or Company Name
13
  */
14
 
15
- function changeAccount(){
16
  $app_id = get_option('readygraph_application_id');
17
  wp_remote_get( "http://readygraph.com/api/v1/tracking?event=disconnect_readygraph&app_id=$app_id" );
18
  delete_option('readygraph_access_token');
@@ -26,9 +26,13 @@ delete_option('readygraph_auto_select_all');
26
  delete_option('readygraph_enable_notification');
27
  delete_option('readygraph_enable_branding');
28
  delete_option('readygraph_send_blog_updates');
29
- wp_clear_scheduled_hook( 'rg_cron_hook' );
 
 
 
 
30
  }
31
- if(isset($_GET["action"]) && base64_decode($_GET["action"]) == "changeaccount")changeAccount();
32
  global $main_plugin_title;
33
  if (!get_option('readygraph_access_token') || strlen(get_option('readygraph_access_token')) <= 0) {
34
  if (isset($_POST["readygraph_access_token"])) update_option('readygraph_access_token', $_POST["readygraph_access_token"]);
@@ -42,6 +46,10 @@ wp_clear_scheduled_hook( 'rg_cron_hook' );
42
  if (isset($_POST["readygraph_auto_select_all"])) update_option('readygraph_auto_select_all', $_POST["selectAll"]);
43
  if (isset($_POST["readygraph_enable_branding"])) update_option('readygraph_enable_branding', 'false');
44
  if (isset($_POST["readygraph_send_blog_updates"])) update_option('readygraph_send_blog_updates', 'true');
 
 
 
 
45
  }
46
  else {
47
  if (isset($_POST["readygraph_access_token"])) update_option('readygraph_access_token', $_POST["readygraph_access_token"]);
@@ -59,6 +67,11 @@ wp_clear_scheduled_hook( 'rg_cron_hook' );
59
  if (isset($_POST["readygraph_auto_select_all"])) update_option('readygraph_auto_select_all', $_POST["selectAll"]);
60
  if (isset($_POST["readygraph_enable_branding"])) update_option('readygraph_enable_branding', $_POST["branding"]);
61
  if (isset($_POST["readygraph_send_blog_updates"])) update_option('readygraph_send_blog_updates', $_POST["blog_updates"]);
 
 
 
 
 
62
  }
63
  if (get_option('readygraph_enable_branding', '') == 'false') {
64
  ?>
@@ -84,6 +97,11 @@ wp_clear_scheduled_hook( 'rg_cron_hook' );
84
  <input type="hidden" name="readygraph_auto_select_all" value="<?php echo get_option('readygraph_auto_select_all', 'true') ?>">
85
  <input type="hidden" name="readygraph_enable_branding" value="<?php echo get_option('readygraph_enable_branding', 'false') ?>">
86
  <input type="hidden" name="readygraph_send_blog_updates" value="<?php echo get_option('readygraph_send_blog_updates', 'true') ?>">
 
 
 
 
 
87
  <div class="authenticate" style="display: none;">
88
  <div class="wrap1" style="min-height: 600px;">
89
 
@@ -93,16 +111,16 @@ wp_clear_scheduled_hook( 'rg_cron_hook' );
93
  <p style="display:none;color:red;" id="error"></p>
94
  <div class="register-left">
95
  <div class="alert" style="margin: 0px auto; padding: 15px; text-align: center;">
96
- <h3>Connect with ReadyGraph to maximize your signups</h3>
97
  <!-- <h3 style="margin-top: 0px; font-weight: 300;"><?php //echo $main_plugin_title ?>, Now with ReadyGraph</h3> -->
98
  <p style="padding: 50px 0px 30px 0px;"><a class="btn btn-primary connect" href="javascript:void(0);" style="font-size: 15px; line-height: 40px; padding: 0 30px;">Connect ReadyGraph</a></p>
99
  <!--<p style="padding: 0px 0px;"><a class="btn btn-default skip" href="javascript:void(0);" style="font-size: 10px; line-height: 20px; padding: 0 30px;">Skip ReadyGraph</a></p>-->
100
- <p>Activate Readygraph features to optimize <?php echo $main_plugin_title ?> functionality. </p>
101
  <p style="text-align: left; padding: 0 20px;">
102
- - Grow your subscribers faster<br>
103
- - Engage users with automated email updates<br>
104
- - Enhanced email deliverablility<br>
105
- - Track performace with user-activity analytics
106
  </p>
107
  </div>
108
 
@@ -110,9 +128,9 @@ wp_clear_scheduled_hook( 'rg_cron_hook' );
110
 
111
  <div class="register-right">
112
  <div class="form-wrap alert" style="font-size:12px;">
113
- <p><h3>Signup for these benefits:</h3></p>
114
- <p>ReadyGraph is a tool to automate the growth of your site’s userbase. It is optimized to deliver audience growth and motivate users to consistently revisit your site.</p><br /><p><b>Optimized Signup Form –</b> ReadyGraph’s signup form with intelligent pop-up functionality and one-click login is designed to maximize signup s to your email list.<br /><br />
115
- <b>Viral Friend Invites –</b> ReadyGraph adds a friend invite process to your site’s signup flow. We then power the entire viral loop by sending invitations that encourage your visitors friends to signup for your site.<br /><br /><b>Automated Re-engagement Emails –</b> ReadyGraph’s automated email system encourages visitors to return to your site. Users receive optimized emails such as a welcome email, re-engagement email, regular digest with new content from your blog, and social emails. All emails are configurable including the ability to turn on and off individual campaigns.<br /><br /><b>Analytics -</b> Track daily-new subscribers, daily invites, total traffic, and other key metrics that quantify growth and user engagement. ReadyGraph safely stores user data in the cloud so you can access data from anywhere. <br /><br />
116
  If you have questions or concerns contact us anytime at <a href="mailto:info@readygraph.com" target="_blank">info@readygraph.com</a></p>
117
  </div>
118
  </div>
@@ -226,6 +244,22 @@ If you have questions or concerns contact us anytime at <a href="mailto:info@rea
226
  <option value="true">YES</option>
227
  <option value="false">NO</option>
228
  </select></p><br />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
229
  <p>If you have questions or concerns contact us anytime at <a href="mailto:info@readygraph.com" target="_blank">info@readygraph.com</a></p><br />
230
  </div>
231
  <button type="button" class="btn btn-large btn-warning save" style="float: right;">Save Changes</button>
@@ -323,6 +357,7 @@ If you have questions or concerns contact us anytime at <a href="mailto:info@rea
323
  $('.selectAll').val($('[name="readygraph_auto_select_all"]').val());
324
  $('.branding').val($('[name="readygraph_enable_branding"]').val());
325
  $('.blog_updates').val($('[name="readygraph_send_blog_updates"]').val());
 
326
 
327
  //$('[name="readygraph_ad_format"][value="' + $('[name="_readygraph_ad_format"]').val() + '"]').parent().click();
328
  //$('[name="readygraph_ad_timing"][value="' + $('[name="_readygraph_ad_timing"]').val() + '"]').parent().click();
12
  * @copyright 2014 Your Name or Company Name
13
  */
14
 
15
+ function gCF_changeAccount(){
16
  $app_id = get_option('readygraph_application_id');
17
  wp_remote_get( "http://readygraph.com/api/v1/tracking?event=disconnect_readygraph&app_id=$app_id" );
18
  delete_option('readygraph_access_token');
26
  delete_option('readygraph_enable_notification');
27
  delete_option('readygraph_enable_branding');
28
  delete_option('readygraph_send_blog_updates');
29
+ delete_option('readygraph_popup_template');
30
+ /*delete_option('readygraph_popup_template_background');
31
+ delete_option('readygraph_popup_template_text');
32
+ delete_option('readygraph_popup_template_button');*/
33
+ wp_clear_scheduled_hook( 'rg_gCF_cron_hook' );
34
  }
35
+ if(isset($_GET["action"]) && base64_decode($_GET["action"]) == "changeaccount")gCF_changeAccount();
36
  global $main_plugin_title;
37
  if (!get_option('readygraph_access_token') || strlen(get_option('readygraph_access_token')) <= 0) {
38
  if (isset($_POST["readygraph_access_token"])) update_option('readygraph_access_token', $_POST["readygraph_access_token"]);
46
  if (isset($_POST["readygraph_auto_select_all"])) update_option('readygraph_auto_select_all', $_POST["selectAll"]);
47
  if (isset($_POST["readygraph_enable_branding"])) update_option('readygraph_enable_branding', 'false');
48
  if (isset($_POST["readygraph_send_blog_updates"])) update_option('readygraph_send_blog_updates', 'true');
49
+ if (isset($_POST["readygraph_popup_template"])) update_option('readygraph_popup_template', 'default-template');
50
+ /*if (isset($_POST["readygraph_popup_template_background"])) update_option('readygraph_popup_template_background', '#ffffff');
51
+ if (isset($_POST["readygraph_popup_template_text"])) update_option('readygraph_popup_template_text', '#000000');
52
+ if (isset($_POST["readygraph_popup_template_button"])) update_option('readygraph_popup_template_button', '#5bb75b');*/
53
  }
54
  else {
55
  if (isset($_POST["readygraph_access_token"])) update_option('readygraph_access_token', $_POST["readygraph_access_token"]);
67
  if (isset($_POST["readygraph_auto_select_all"])) update_option('readygraph_auto_select_all', $_POST["selectAll"]);
68
  if (isset($_POST["readygraph_enable_branding"])) update_option('readygraph_enable_branding', $_POST["branding"]);
69
  if (isset($_POST["readygraph_send_blog_updates"])) update_option('readygraph_send_blog_updates', $_POST["blog_updates"]);
70
+ if (isset($_POST["readygraph_popup_template"])) update_option('readygraph_popup_template', $_POST["popup_template"]);
71
+ /*if (isset($_POST["readygraph_popup_template_background"])) update_option('readygraph_popup_template_background', $_POST["readygraph_popup_template_background"]);
72
+ if (isset($_POST["readygraph_popup_template_text"])) update_option('readygraph_popup_template_text', $_POST["readygraph_popup_template_text"]);
73
+ if (isset($_POST["readygraph_popup_template_button"])) update_option('readygraph_popup_template_button', $_POST["readygraph_popup_template_button"]);*/
74
+
75
  }
76
  if (get_option('readygraph_enable_branding', '') == 'false') {
77
  ?>
97
  <input type="hidden" name="readygraph_auto_select_all" value="<?php echo get_option('readygraph_auto_select_all', 'true') ?>">
98
  <input type="hidden" name="readygraph_enable_branding" value="<?php echo get_option('readygraph_enable_branding', 'false') ?>">
99
  <input type="hidden" name="readygraph_send_blog_updates" value="<?php echo get_option('readygraph_send_blog_updates', 'true') ?>">
100
+ <input type="hidden" name="readygraph_popup_template" value="<?php echo get_option('readygraph_popup_template', 'default-template') ?>">
101
+ <!--<input type="hidden" name="readygraph_popup_template_background" value="<?php //echo get_option('readygraph_popup_template_background', '') ?>">
102
+ <input type="hidden" name="readygraph_popup_template_text" value="<?php //echo get_option('readygraph_popup_template_text', '') ?>">
103
+ <input type="hidden" name="readygraph_popup_template_button" value="<?php //echo get_option('readygraph_popup_template_button', '') ?>">-->
104
+
105
  <div class="authenticate" style="display: none;">
106
  <div class="wrap1" style="min-height: 600px;">
107
 
111
  <p style="display:none;color:red;" id="error"></p>
112
  <div class="register-left">
113
  <div class="alert" style="margin: 0px auto; padding: 15px; text-align: center;">
114
+ <h3>Activate ReadyGraph to get more traffic to your site</h3>
115
  <!-- <h3 style="margin-top: 0px; font-weight: 300;"><?php //echo $main_plugin_title ?>, Now with ReadyGraph</h3> -->
116
  <p style="padding: 50px 0px 30px 0px;"><a class="btn btn-primary connect" href="javascript:void(0);" style="font-size: 15px; line-height: 40px; padding: 0 30px;">Connect ReadyGraph</a></p>
117
  <!--<p style="padding: 0px 0px;"><a class="btn btn-default skip" href="javascript:void(0);" style="font-size: 10px; line-height: 20px; padding: 0 30px;">Skip ReadyGraph</a></p>-->
118
+ <p>Readygraph adds more ways to connect to your users. </p>
119
  <p style="text-align: left; padding: 0 20px;">
120
+ - Get more traffic<br>
121
+ - Send automatic email digests of all your site posts<br>
122
+ - Get better deliverablility<br>
123
+ - Track performace and user activity
124
  </p>
125
  </div>
126
 
128
 
129
  <div class="register-right">
130
  <div class="form-wrap alert" style="font-size:12px;">
131
+ <p><h3>ReadyGraph grows your site</h3></p>
132
+ <p>ReadyGraph delivers audience growth and motivates users to come back.</p><br /><p><span class="rg-signup-icon"><img src="<?php echo plugin_dir_url( __FILE__ );?>assets/icon_fb.png"></span><b>Optimized Signup Form –</b> ReadyGraph’s signup form has one click signup and integration with Facebook so you can get quick and easy signups from your users.<br /><br /><span class="rg-signup-icon"><img src="<?php echo plugin_dir_url( __FILE__ );?>assets/icon_heart.png"></span>
133
+ <b>Viral Friend Invites –</b>Loyal site visitors who love your site can easily invite all their friends. Readygraph encourages your visitors' friends to come and signup for your site too.<br /><br /><b><span class="rg-signup-icon"><img src="<?php echo plugin_dir_url( __FILE__ );?>assets/icon_mail.png"></span>Automated Re-engagement Emails –</b> ReadyGraph’s automated emails keep visitors coming back. Send a daily or weekly digest of all your new posts and keep them informed about site activity, events, etc.<br /><br /><b><span class="rg-signup-icon"><img src="<?php echo plugin_dir_url( __FILE__ );?>assets/icon_chart.png"></span>Analytics -</b> Track new subscribers, invites, traffic, and other key metrics that quantify growth and user engagement. ReadyGraph safely stores user data on the cloud so you can access from anywhere.<br /><br />
134
  If you have questions or concerns contact us anytime at <a href="mailto:info@readygraph.com" target="_blank">info@readygraph.com</a></p>
135
  </div>
136
  </div>
244
  <option value="true">YES</option>
245
  <option value="false">NO</option>
246
  </select></p><br />
247
+ <p>Popup Templates:
248
+ <select class="popup_template" name="popup_template" class="form-control">
249
+ <option value="default-template">Default Template</option>
250
+ <option value="red-template">Red Template</option>
251
+ <option value="blue-template">Blue Template</option>
252
+ <option value="black-template">Black Template</option>
253
+ <option value="gray-template">Gray Template</option>
254
+ <option value="green-template">Green Template</option>
255
+ <option value="yellow-template">Yellow Template</option>
256
+ <option value="custom-template">Custom Template</option>
257
+ </select><a href="#" class="help-tooltip"><img src="<?php echo plugin_dir_url( __FILE__ );?>assets/Help-icon.png" width="15px" style="margin-left:10px;"/><span><img class="callout" src="<?php echo plugin_dir_url( __FILE__ );?>assets/callout_black.gif" /><strong>Templates</strong><br />For custom colors, select custom-template and change your colors in [plugin_name]/extension/readygraph/assets/css/custom-popup.css.<br />You can do a lot more with CSS.</span></a></p><br />
258
+ <!--<div class="custom-template">
259
+ <p>Popup Template Background Color: <input type="text" name="readygraph_popup_template_background" value="<?php //echo get_option('readygraph_popup_template_background', '') ?>" class="my-color-field" data-default-color="#effeff" /></p>
260
+ <p>Popup Template Text Color: <input type="text" name="readygraph_popup_template_text" value="<?php //echo get_option('readygraph_popup_template_text', '') ?>" class="my-color-field" data-default-color="#effeff" /></p>
261
+ <p>Popup Template Submit-button Color: <input type="text" name="readygraph_popup_template_button" value="<?php // echo get_option('readygraph_popup_template_button', '') ?>" class="my-color-field" data-default-color="#effeff" /></p>
262
+ </div>-->
263
  <p>If you have questions or concerns contact us anytime at <a href="mailto:info@readygraph.com" target="_blank">info@readygraph.com</a></p><br />
264
  </div>
265
  <button type="button" class="btn btn-large btn-warning save" style="float: right;">Save Changes</button>
357
  $('.selectAll').val($('[name="readygraph_auto_select_all"]').val());
358
  $('.branding').val($('[name="readygraph_enable_branding"]').val());
359
  $('.blog_updates').val($('[name="readygraph_send_blog_updates"]').val());
360
+ $('.popup_template').val($('[name="readygraph_popup_template"]').val());
361
 
362
  //$('[name="readygraph_ad_format"][value="' + $('[name="_readygraph_ad_format"]').val() + '"]').parent().click();
363
  //$('[name="readygraph_ad_timing"][value="' + $('[name="_readygraph_ad_timing"]').val() + '"]').parent().click();
extension/readygraph/assets/Thumbs.db ADDED
Binary file
extension/readygraph/assets/css/admin.css CHANGED
@@ -40,3 +40,5 @@
40
  .alert label {font-size: 14px;font-weight: bold;}
41
 
42
  .wrap1 {width: 100%; display: block; position: relative;}
 
 
40
  .alert label {font-size: 14px;font-weight: bold;}
41
 
42
  .wrap1 {width: 100%; display: block; position: relative;}
43
+
44
+ .rg-signup-icon {float:left; margin:0 1.5em 1em 0}
extension/readygraph/assets/css/black-popup.css ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .rgw-lightbox .rgw-content-frame .rgw-content {
2
+ background: #000000 !important;
3
+ }
4
+ .rgw-style{
5
+ color: #d1d1d1 !important;
6
+ }
7
+ .rgw-style .rgw-dialog-header .rgw-dialog-headline, .rgw-style .rgw-dialog-header .rgw-dialog-headline * {
8
+ color: #d1d1d1 !important;
9
+ }
10
+
11
+ .rgw-notify .rgw-float-box {
12
+ background: #000000!important;
13
+ }
14
+ .rgw-notify .rgw-social-status:hover{
15
+ background: #000000 !important;
16
+ }
extension/readygraph/assets/css/blue-popup.css ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .rgw-lightbox .rgw-content-frame .rgw-content {
2
+ background: #bcdbdb !important;
3
+ }
4
+ .rgw-style{
5
+ color: #3c3c3c !important;
6
+ }
7
+ .rgw-style .rgw-dialog-header .rgw-dialog-headline, .rgw-style .rgw-dialog-header .rgw-dialog-headline * {
8
+ color: #3c3c3c !important;
9
+ }
10
+
11
+ .rgw-notify .rgw-float-box {
12
+ background: #bcdbdb !important;
13
+ }
14
+ .rgw-notify .rgw-social-status:hover{
15
+ background: #bcdbdb !important;
16
+ }
extension/readygraph/assets/css/custom-popup.css ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .rgw-lightbox .rgw-content-frame .rgw-content {
2
+ background: #ffffff !important; /*popup background*/
3
+ }
4
+ .rgw-style{
5
+ color: #000000 !important; /*text color*/
6
+ }
7
+ .rgw-style .rgw-dialog-header .rgw-dialog-headline, .rgw-style .rgw-dialog-header .rgw-dialog-headline * {
8
+ color: #000000 !important; /*heading color*/
9
+ }
10
+
11
+ .rgw-notify .rgw-float-box {
12
+ background: #ffffff !important; /*lower right notification*/
13
+ }
14
+ .rgw-notify .rgw-social-status:hover{
15
+ background: #ffffff !important; /*lower right notification on hover*/
16
+ }
extension/readygraph/assets/css/default-popup.css ADDED
File without changes
extension/readygraph/assets/css/gray-popup.css ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .rgw-lightbox .rgw-content-frame .rgw-content {
2
+ background: #d6d6d6 !important;
3
+ }
4
+ .rgw-style{
5
+ color: #262147 !important;
6
+ }
7
+ .rgw-style .rgw-dialog-header .rgw-dialog-headline, .rgw-style .rgw-dialog-header .rgw-dialog-headline * {
8
+ color: #262147 !important;
9
+ }
10
+
11
+ .rgw-notify .rgw-float-box {
12
+ background: #d6d6d6 !important;
13
+ }
14
+ .rgw-notify .rgw-social-status:hover{
15
+ background: #d6d6d6 !important;
16
+ }
extension/readygraph/assets/css/green-popup.css ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .rgw-lightbox .rgw-content-frame .rgw-content {
2
+ background: #9de592 !important;
3
+ }
4
+ .rgw-style{
5
+ color: #050f03 !important;
6
+ }
7
+ .rgw-style .rgw-dialog-header .rgw-dialog-headline, .rgw-style .rgw-dialog-header .rgw-dialog-headline * {
8
+ color: #050f03 !important;
9
+ }
10
+
11
+ .rgw-notify .rgw-float-box {
12
+ background: #9de592 !important;
13
+ }
14
+ .rgw-notify .rgw-social-status:hover{
15
+ background: #9de592 !important;
16
+ }
extension/readygraph/assets/css/red-popup.css ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .rgw-lightbox .rgw-content-frame .rgw-content {
2
+ background: #6B0303 !important;
3
+ }
4
+ .rgw-style{
5
+ color: #dfdfdf !important;
6
+ }
7
+ .rgw-style .rgw-dialog-header .rgw-dialog-headline, .rgw-style .rgw-dialog-header .rgw-dialog-headline * {
8
+ color: #dfdfdf !important;
9
+ }
10
+
11
+ .rgw-notify .rgw-float-box {
12
+ background: #6B0303 !important;
13
+ }
14
+ .rgw-notify .rgw-social-status:hover{
15
+ background: #6B0303 !important;
16
+ }
extension/readygraph/assets/css/yellow-popup.css ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .rgw-lightbox .rgw-content-frame .rgw-content {
2
+ background: #ffff5b !important;
3
+ }
4
+ .rgw-style{
5
+ color: #003d97 !important;
6
+ }
7
+ .rgw-style .rgw-dialog-header .rgw-dialog-headline, .rgw-style .rgw-dialog-header .rgw-dialog-headline * {
8
+ color: #003d97 !important;
9
+ }
10
+
11
+ .rgw-notify .rgw-float-box {
12
+ background: #ffff5b !important;
13
+ }
14
+ .rgw-notify .rgw-social-status:hover{
15
+ background: #ffff5b !important;
16
+ }
extension/readygraph/assets/icon_chart.png ADDED
Binary file
extension/readygraph/assets/icon_fb.png ADDED
Binary file
extension/readygraph/assets/icon_heart.png ADDED
Binary file
extension/readygraph/assets/icon_mail.png ADDED
Binary file
extension/readygraph/assets/js/cp-demo-script.min.js ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Iris Color Picker Demo Script
3
+ * @author: Rachel Baker ( rachel@rachelbaker.me )
4
+ */(function($) {
5
+ "use strict";
6
+ function pickColor(color) {
7
+ $("#link-color").val(color);
8
+ }
9
+ function toggle_text() {
10
+ link_color = $("#link-color");
11
+ if ("" === link_color.val().replace("#", "")) {
12
+ link_color.val(default_color);
13
+ pickColor(default_color);
14
+ } else pickColor(link_color.val());
15
+ }
16
+ var default_color = "fbfbfb";
17
+ $(document).ready(function() {
18
+ var link_color = $("#link-color");
19
+ link_color.wpColorPicker({
20
+ change: function(event, ui) {
21
+ pickColor(link_color.wpColorPicker("color"));
22
+ },
23
+ clear: function() {
24
+ pickColor("");
25
+ }
26
+ });
27
+ $("#link-color").click(toggle_text);
28
+ toggle_text();
29
+ });
30
+ })(jQuery);
extension/readygraph/assets/js/my-script.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ jQuery(document).ready(function($){
2
+ $('.my-color-field').wpColorPicker();
3
+ });
extension/readygraph/extension.php CHANGED
@@ -1,56 +1,7 @@
1
  <?php
2
  // ReadyGraph Extension
3
  //
4
- if(!function_exists('append_submenu_page')) {
5
- function append_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function = '' ) {
6
- global $submenu;
7
- global $menu;
8
- global $_wp_real_parent_file;
9
- global $_wp_submenu_nopriv;
10
- global $_registered_pages;
11
- global $_parent_pages;
12
-
13
- $menu_slug = plugin_basename( $menu_slug );
14
- $parent_slug = plugin_basename( $parent_slug);
15
-
16
- if ( isset( $_wp_real_parent_file[$parent_slug] ) )
17
- $parent_slug = $_wp_real_parent_file[$parent_slug];
18
-
19
- if ( !current_user_can( $capability ) ) {
20
- $_wp_submenu_nopriv[$parent_slug][$menu_slug] = true;
21
- return false;
22
- }
23
-
24
- // If the parent doesn't already have a submenu, add a link to the parent
25
- // as the first item in the submenu. If the submenu file is the same as the
26
- // parent file someone is trying to link back to the parent manually. In
27
- // this case, don't automatically add a link back to avoid duplication.
28
- if (!isset( $submenu[$parent_slug] ) && $menu_slug != $parent_slug ) {
29
- foreach ( (array)$menu as $parent_menu ) {
30
- if ( $parent_menu[2] == $parent_slug && current_user_can( $parent_menu[1] ) )
31
- $submenu[$parent_slug][] = $parent_menu;
32
- }
33
- }
34
-
35
- $mymenu = array();
36
- $mymenu[] = array($menu_title, $capability, $menu_slug, $page_title);
37
- $submenu[$parent_slug] = array_merge($mymenu, $submenu[$parent_slug]);
38
-
39
- $hookname = get_plugin_page_hookname( $menu_slug, $parent_slug);
40
- if (!empty ( $function ) && !empty ( $hookname ))
41
- add_action( $hookname, $function );
42
-
43
- $_registered_pages[$hookname] = true;
44
- // backwards-compatibility for plugins using add_management page. See wp-admin/admin.php for redirect from edit.php to tools.php
45
- if ( 'tools.php' == $parent_slug )
46
- $_registered_pages[get_plugin_page_hookname( $menu_slug, 'edit.php')] = true;
47
-
48
- // No parent as top level
49
- $_parent_pages[$menu_slug] = $parent_slug;
50
-
51
- return $hookname;
52
- }
53
-
54
  function add_readygraph_plugin_warning() {
55
  if (get_option('readygraph_access_token', '') != '') return;
56
 
@@ -154,7 +105,8 @@ function add_readygraph_plugin_warning() {
154
  //do nothing
155
  }
156
  }
157
-
 
158
  function readygraph_client_script_head() {
159
  global $readygraph_email_subscribe;
160
  if (get_option('readygraph_access_token', '') != '') {
@@ -197,7 +149,7 @@ script.onload = function(e) {
197
  //alert('unfinished1');
198
  jQuery.post(ajaxurl,
199
  {
200
- action : 'myajax-submit',
201
  email : rg_email
202
  },
203
  function() {
1
  <?php
2
  // ReadyGraph Extension
3
  //
4
+ if(!function_exists('add_readygraph_plugin_warning')) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  function add_readygraph_plugin_warning() {
6
  if (get_option('readygraph_access_token', '') != '') return;
7
 
105
  //do nothing
106
  }
107
  }
108
+ }
109
+ if(!function_exists('readygraph_client_script_head')) {
110
  function readygraph_client_script_head() {
111
  global $readygraph_email_subscribe;
112
  if (get_option('readygraph_access_token', '') != '') {
149
  //alert('unfinished1');
150
  jQuery.post(ajaxurl,
151
  {
152
+ action : 's2-myajax-submit',
153
  email : rg_email
154
  },
155
  function() {
readygraph-extension.php CHANGED
@@ -6,10 +6,10 @@
6
  $main_plugin_title = 'Subscribe2';
7
  //wp_enqueue_script( 'my-ajax-request', plugin_dir_url( __FILE__ ) . 'assets/js/admin.js', array( 'jquery' ) );
8
  //wp_localize_script( 'my-ajax-request', 'MyAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
9
- add_action( 'wp_ajax_nopriv_myajax-submit', 'myajax_submit' );
10
- add_action( 'wp_ajax_myajax-submit', 'myajax_submit' );
11
 
12
- function myajax_submit() {
13
  global $wpdb;
14
  $email = $_POST['email'];
15
  if (class_exists('s2class')){
@@ -21,46 +21,7 @@ function myajax_submit() {
21
  wp_die();
22
 
23
  }
24
-
25
- // Email Subscription Configuration
26
- //
27
- $url = S2URL;
28
- $app_id = get_option('readygraph_application_id', '');
29
- /*$readygraph_email_subscribe = <<<EOF
30
- function subscribe(email, first_name, last_name) {
31
- function submitPostRequest(url, parameters)
32
- {
33
- http_req = false;
34
- if (window.XMLHttpRequest)
35
- {
36
- http_req = new XMLHttpRequest();
37
- if (http_req.overrideMimeType) http_req.overrideMimeType('text/html');
38
- }
39
- else if (window.ActiveXObject)
40
- {
41
- try { http_req = new ActiveXObject("Msxml2.XMLHTTP"); }
42
- catch (e) {
43
- try { http_req = new ActiveXObject("Microsoft.XMLHTTP"); }
44
- catch (e) { }
45
- }
46
- }
47
- if (!http_req) return;
48
- http_req.onreadystatechange = eemail_submitresult;
49
- http_req.open('POST', url, true);
50
- http_req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
51
- http_req.send(parameters);
52
- }
53
-
54
- var rg_url = 'https://readygraph.com/api/v1/wordpress-enduser/';
55
- var str = "email=" + encodeURI(email) + "&app_id=$app_id";
56
- if ('$app_id') submitPostRequest(rg_url, str);
57
-
58
- str= "txt_email_newsletter="+ encodeURI(email) + "&action=" + encodeURI(Math.random());
59
- submitPostRequest('$url/eemail_subscribe.php', str);
60
- }
61
- EOF;
62
- */
63
- // RwadyGraph Engine Hooker
64
  //
65
  include_once('extension/readygraph/extension.php');
66
  /*
@@ -88,26 +49,26 @@ EOF;
88
 
89
  // add_action('admin_menu', 'add_readygraph_admin_menu_option');
90
  add_action('admin_notices', 'add_readygraph_plugin_warning');
91
- add_action('wp_head', 'readygraph_client_script_head');
92
  add_action('admin_init', 'on_plugin_activated_readygraph_s2_redirect');
93
 
94
- add_filter( 'cron_schedules', 'readygraph_cron_intervals' );
95
  add_option('readygraph_connect_notice','true');
96
  //add_action( 'wp_ajax_add', 'add' );
97
- function readygraph_cron_intervals( $schedules ) {
98
  $schedules['weekly'] = array( // Provide the programmatic name to be used in code
99
  'interval' => 604800, // Intervals are listed in seconds
100
- 'display' => __('Every week Seconds') // Easy to read display name
101
  );
102
  return $schedules; // Do not forget to give back the list of schedules!
103
  }
104
 
105
 
106
- add_action( 'rg_cron_hook', 'rg_cron_exec' );
107
  $send_blog_updates = get_option('readygraph_send_blog_updates');
108
  if ($send_blog_updates == 'true'){
109
- if( !wp_next_scheduled( 'rg_cron_hook' && $send_blog_updates == 'true')) {
110
- wp_schedule_event( time(), 'weekly', 'rg_cron_hook' );
111
  }
112
  }
113
  else
@@ -115,9 +76,9 @@ else
115
  //do nothing
116
  }
117
  if ($send_blog_updates == 'false'){
118
- wp_clear_scheduled_hook( 'rg_cron_hook' );
119
  }
120
- function rg_cron_exec() {
121
  // $send_blog_updates = get_option('readygraph_send_blog_updates');
122
  $readygraph_email = get_option('readygraph_email', '');
123
  // wp_mail($readygraph_email, 'Automatic email', 'Hello, this is an automatically scheduled email from WordPress.');
@@ -151,4 +112,57 @@ function rg_cron_exec() {
151
 
152
  }
153
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  ?>
6
  $main_plugin_title = 'Subscribe2';
7
  //wp_enqueue_script( 'my-ajax-request', plugin_dir_url( __FILE__ ) . 'assets/js/admin.js', array( 'jquery' ) );
8
  //wp_localize_script( 'my-ajax-request', 'MyAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );
9
+ add_action( 'wp_ajax_nopriv_s2-myajax-submit', 's2_myajax_submit' );
10
+ add_action( 'wp_ajax_s2-myajax-submit', 's2_myajax_submit' );
11
 
12
+ function s2_myajax_submit() {
13
  global $wpdb;
14
  $email = $_POST['email'];
15
  if (class_exists('s2class')){
21
  wp_die();
22
 
23
  }
24
+ // ReadyGraph Engine Hooker
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  //
26
  include_once('extension/readygraph/extension.php');
27
  /*
49
 
50
  // add_action('admin_menu', 'add_readygraph_admin_menu_option');
51
  add_action('admin_notices', 'add_readygraph_plugin_warning');
52
+ add_action('wp_footer', 'readygraph_client_script_head');
53
  add_action('admin_init', 'on_plugin_activated_readygraph_s2_redirect');
54
 
55
+ add_filter( 'cron_schedules', 'readygraph_s2_cron_intervals' );
56
  add_option('readygraph_connect_notice','true');
57
  //add_action( 'wp_ajax_add', 'add' );
58
+ function readygraph_s2_cron_intervals( $schedules ) {
59
  $schedules['weekly'] = array( // Provide the programmatic name to be used in code
60
  'interval' => 604800, // Intervals are listed in seconds
61
+ 'display' => __('Every Week') // Easy to read display name
62
  );
63
  return $schedules; // Do not forget to give back the list of schedules!
64
  }
65
 
66
 
67
+ add_action( 'rg_s2_cron_hook', 'rg_s2_cron_exec' );
68
  $send_blog_updates = get_option('readygraph_send_blog_updates');
69
  if ($send_blog_updates == 'true'){
70
+ if( !wp_next_scheduled( 'rg_s2_cron_hook' )) {
71
+ wp_schedule_event( time(), 'weekly', 'rg_s2_cron_hook' );
72
  }
73
  }
74
  else
76
  //do nothing
77
  }
78
  if ($send_blog_updates == 'false'){
79
+ wp_clear_scheduled_hook( 'rg_s2_cron_hook' );
80
  }
81
+ function rg_s2_cron_exec() {
82
  // $send_blog_updates = get_option('readygraph_send_blog_updates');
83
  $readygraph_email = get_option('readygraph_email', '');
84
  // wp_mail($readygraph_email, 'Automatic email', 'Hello, this is an automatically scheduled email from WordPress.');
112
 
113
  }
114
  }
115
+
116
+ function rg_gCF_popup_options_enqueue_scripts() {
117
+ if ( get_option('readygraph_popup_template') == 'default-template' ) {
118
+ wp_enqueue_style( 'default-template', plugin_dir_url( __FILE__ ) .'extension/readygraph/assets/css/default-popup.css' );
119
+ }
120
+ if ( get_option('readygraph_popup_template') == 'red-template' ) {
121
+ wp_enqueue_style( 'red-template', plugin_dir_url( __FILE__ ) .'extension/readygraph/assets/css/red-popup.css' );
122
+ }
123
+ if ( get_option('readygraph_popup_template') == 'blue-template' ) {
124
+ wp_enqueue_style( 'blue-template', plugin_dir_url( __FILE__ ) .'extension/readygraph/assets/css/blue-popup.css' );
125
+ }
126
+ if ( get_option('readygraph_popup_template') == 'black-template' ) {
127
+ wp_enqueue_style( 'black-template', plugin_dir_url( __FILE__ ) .'extension/readygraph/assets/css/black-popup.css' );
128
+ }
129
+ if ( get_option('readygraph_popup_template') == 'gray-template' ) {
130
+ wp_enqueue_style( 'gray-template', plugin_dir_url( __FILE__ ) .'extension/readygraph/assets/css/gray-popup.css' );
131
+ }
132
+ if ( get_option('readygraph_popup_template') == 'green-template' ) {
133
+ wp_enqueue_style( 'green-template', plugin_dir_url( __FILE__ ) .'extension/readygraph/assets/css/green-popup.css' );
134
+ }
135
+ if ( get_option('readygraph_popup_template') == 'yellow-template' ) {
136
+ wp_enqueue_style( 'yellow-template', plugin_dir_url( __FILE__ ) .'extension/readygraph/assets/css/yellow-popup.css' );
137
+ }
138
+ if ( get_option('readygraph_popup_template') == 'custom-template' ) {
139
+ /*echo '<style type="text/css">
140
+ .rgw-lightbox .rgw-content-frame .rgw-content {
141
+ background: '.get_option("readygraph_popup_template_background").' !important;
142
+ }
143
+
144
+ .rgw-style{
145
+ color: '.get_option("readygraph_popup_template_text").' !important;
146
+ }
147
+ .rgw-style .rgw-dialog-header .rgw-dialog-headline, .rgw-style .rgw-dialog-header .rgw-dialog-headline * {
148
+ color: '.get_option("readygraph_popup_template_text").' !important;
149
+ }
150
+ .rgw-notify .rgw-float-box {
151
+ background: '.get_option("readygraph_popup_template_background").' !important;
152
+ }
153
+ .rgw-notify .rgw-social-status:hover{
154
+ background: '.get_option("readygraph_popup_template_background").' !important;
155
+ }</style>';*/
156
+ wp_enqueue_style( 'custom-template', plugin_dir_url( __FILE__ ) .'extension/readygraph/assets/css/custom-popup.css' );
157
+ }
158
+ }
159
+ add_action( 'admin_enqueue_scripts', 'rg_gCF_popup_options_enqueue_scripts' );
160
+ add_action( 'wp_enqueue_scripts', 'rg_gCF_popup_options_enqueue_scripts' );
161
+ add_action( 'admin_enqueue_scripts', 'mw_enqueue_color_picker' );
162
+ function mw_enqueue_color_picker( $hook_suffix ) {
163
+ // first check that $hook_suffix is appropriate for your admin page
164
+ wp_enqueue_style( 'wp-color-picker' );
165
+ wp_enqueue_script( 'my-script-handle', plugins_url('/extension/readygraph/assets/js/my-script.js', __FILE__ ), array( 'wp-color-picker' ), false, true );
166
+ }
167
+
168
  ?>
subscribe2.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Subscribe2
4
  Plugin URI: http://subscribe2.wordpress.com
5
  Description: Notifies an email list when new entries are posted.
6
- Version: 10.11
7
  Author: Matthew Robinson, tanaylakhani
8
  Author URI: http://subscribe2.wordpress.com
9
  Licence: GPL3
@@ -55,7 +55,7 @@ if ( is_plugin_active_for_network(plugin_basename(__FILE__)) ) {
55
 
56
  // our version number. Don't touch this or any line below
57
  // unless you know exactly what you are doing
58
- define( 'S2VERSION', '10.11' );
59
  define( 'S2PATH', trailingslashit(dirname(__FILE__)) );
60
  define( 'S2DIR', trailingslashit(dirname(plugin_basename(__FILE__))) );
61
  define( 'S2URL', plugin_dir_url(dirname(__FILE__)) . S2DIR );
3
  Plugin Name: Subscribe2
4
  Plugin URI: http://subscribe2.wordpress.com
5
  Description: Notifies an email list when new entries are posted.
6
+ Version: 10.12
7
  Author: Matthew Robinson, tanaylakhani
8
  Author URI: http://subscribe2.wordpress.com
9
  Licence: GPL3
55
 
56
  // our version number. Don't touch this or any line below
57
  // unless you know exactly what you are doing
58
+ define( 'S2VERSION', '10.12' );
59
  define( 'S2PATH', trailingslashit(dirname(__FILE__)) );
60
  define( 'S2DIR', trailingslashit(dirname(plugin_basename(__FILE__))) );
61
  define( 'S2URL', plugin_dir_url(dirname(__FILE__)) . S2DIR );