Version Description
- Sidekick platform major refactoring
- Fixes issues with toggles for taskbar buttons not working
Download this release
Release Info
Developer | raptor235 |
Plugin | Sidekick |
Version | 2.5.0 |
Comparing to | |
See all releases |
Code changes from version 2.4.0 to 2.5.0
- js/sidekick_admin.js +7 -0
- libs/admin_page.php +2 -6
- libs/licensing.php +2 -0
- libs/ms_admin_page.php +0 -6
- libs/sk_config_data.php +32 -31
- readme.txt +9 -1
- sidekick.php +96 -176
- sidekick_embed.php +132 -219
js/sidekick_admin.js
CHANGED
@@ -214,6 +214,13 @@ function sk_populate(data){
|
|
214 |
|
215 |
jQuery('.sk_walkthrough_list').append('<div class="sk_product" id="' + item.cacheId + '"><b>' + item.name + '</b> (<span class="select_all">Toggle All</span>)</div>');
|
216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
|
218 |
if (sk_config.disable_wts) {
|
219 |
currently_disabled_wts = sk_config.disable_wts;
|
214 |
|
215 |
jQuery('.sk_walkthrough_list').append('<div class="sk_product" id="' + item.cacheId + '"><b>' + item.name + '</b> (<span class="select_all">Toggle All</span>)</div>');
|
216 |
|
217 |
+
if (typeof sk_config.disable_wts === "string" && sk_config.disable_wts.indexOf(']') > -1) {
|
218 |
+
sk_config.disable_wts = JSON.parse(sk_config.disable_wts);
|
219 |
+
};
|
220 |
+
|
221 |
+
if (typeof sk_config.disable_network_wts === "string" && sk_config.disable_network_wts.indexOf(']') > -1) {
|
222 |
+
sk_config.disable_network_wts = JSON.parse(sk_config.disable_network_wts);
|
223 |
+
};
|
224 |
|
225 |
if (sk_config.disable_wts) {
|
226 |
currently_disabled_wts = sk_config.disable_wts;
|
libs/admin_page.php
CHANGED
@@ -5,10 +5,6 @@
|
|
5 |
var last_site_key = null;
|
6 |
var sk_ms_admin = false;
|
7 |
|
8 |
-
jQuery(document).ready(function($) {
|
9 |
-
mixpanel.track('Settings Page Visit - Plugin');
|
10 |
-
});
|
11 |
-
|
12 |
</script>
|
13 |
|
14 |
<div class="page-header"><h2><a id="pluginlogo_32" class="header-icon32" href="http://www.sidekick.pro/modules/wordpress-core-module-premium/?utm_source=plugin&utm_medium=settings&utm_campaign=header" target="_blank"></a>Sidekick Dashboard</h2></div>
|
@@ -79,7 +75,7 @@
|
|
79 |
Enable Composer Mode
|
80 |
</th>
|
81 |
<td>
|
82 |
-
<button class='open_composer'>Open Composer</button>
|
83 |
</td>
|
84 |
</tr>
|
85 |
</tbody>
|
@@ -163,7 +159,7 @@
|
|
163 |
<li><a href="https://twitter.com/share" class="twitter-share-button" data-url="http://sidekick.pro" data-text="I use @sidekickhelps for the fastest and easiest way to learn WordPress." data-via="sidekickhelps" data-size="large">Tweet</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li>
|
164 |
<li>Like SIDEKICK? Please leave us a 5 star rating on <a href='http://WordPress.org' target='_blank'>WordPress.org</a></li>
|
165 |
<li><a href="http://www.sidekick.pro/plans/wordpress-basics/">Sign up for a full WordPress Basics package</a></li>
|
166 |
-
<li><a href="http://support.sidekick.pro/
|
167 |
</ul>
|
168 |
</div>
|
169 |
</div>
|
5 |
var last_site_key = null;
|
6 |
var sk_ms_admin = false;
|
7 |
|
|
|
|
|
|
|
|
|
8 |
</script>
|
9 |
|
10 |
<div class="page-header"><h2><a id="pluginlogo_32" class="header-icon32" href="http://www.sidekick.pro/modules/wordpress-core-module-premium/?utm_source=plugin&utm_medium=settings&utm_campaign=header" target="_blank"></a>Sidekick Dashboard</h2></div>
|
75 |
Enable Composer Mode
|
76 |
</th>
|
77 |
<td>
|
78 |
+
<button type='button' class='open_composer'>Open Composer</button>
|
79 |
</td>
|
80 |
</tr>
|
81 |
</tbody>
|
159 |
<li><a href="https://twitter.com/share" class="twitter-share-button" data-url="http://sidekick.pro" data-text="I use @sidekickhelps for the fastest and easiest way to learn WordPress." data-via="sidekickhelps" data-size="large">Tweet</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li>
|
160 |
<li>Like SIDEKICK? Please leave us a 5 star rating on <a href='http://WordPress.org' target='_blank'>WordPress.org</a></li>
|
161 |
<li><a href="http://www.sidekick.pro/plans/wordpress-basics/">Sign up for a full WordPress Basics package</a></li>
|
162 |
+
<li><a href="http://support.sidekick.pro/collection/50-quick-start-guides" target="_blank"><strong>Visit the SIDEKICK Quick Start guides</strong></a>.</li>
|
163 |
</ul>
|
164 |
</div>
|
165 |
</div>
|
libs/licensing.php
CHANGED
@@ -475,6 +475,8 @@ if (!class_exists('sidekickMassActivator')) {
|
|
475 |
$sk_hide_composer_upgrade_button = get_option('sk_hide_composer_upgrade_button');
|
476 |
$is_ms_admin = true;
|
477 |
|
|
|
|
|
478 |
require_once('ms_admin_page.php');
|
479 |
}
|
480 |
}
|
475 |
$sk_hide_composer_upgrade_button = get_option('sk_hide_composer_upgrade_button');
|
476 |
$is_ms_admin = true;
|
477 |
|
478 |
+
$this->track(array('what' => 'Network Settings Page', 'where' => 'plugin'));
|
479 |
+
|
480 |
require_once('ms_admin_page.php');
|
481 |
}
|
482 |
}
|
libs/ms_admin_page.php
CHANGED
@@ -7,12 +7,6 @@
|
|
7 |
var last_site_key = null;
|
8 |
var sk_ms_admin = true;
|
9 |
|
10 |
-
jQuery(document).ready(function($) {
|
11 |
-
if (typeof mixpanel !== 'undefined') {
|
12 |
-
mixpanel.track('Network Settings Page Visit - Plugin');
|
13 |
-
};
|
14 |
-
});
|
15 |
-
|
16 |
</script>
|
17 |
|
18 |
<div class="page-header"><h2><a id="pluginlogo_32" class="header-icon32" href="http://www.sidekick.pro" target="_blank"></a>Sidekick Licensing</h2></div>
|
7 |
var last_site_key = null;
|
8 |
var sk_ms_admin = true;
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
</script>
|
11 |
|
12 |
<div class="page-header"><h2><a id="pluginlogo_32" class="header-icon32" href="http://www.sidekick.pro" target="_blank"></a>Sidekick Licensing</h2></div>
|
libs/sk_config_data.php
CHANGED
@@ -22,17 +22,17 @@ if (!class_exists('sk_config_data')) {
|
|
22 |
function get_post_types(){
|
23 |
global $wpdb;
|
24 |
|
25 |
-
if ( false === ( $result = get_transient( '
|
26 |
|
27 |
$query = "SELECT post_type, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type";
|
28 |
$counts = $wpdb->get_results($query);
|
29 |
-
$result =
|
30 |
|
31 |
foreach ($counts as $key => $type) {
|
32 |
$type->post_type = str_replace('-', '_', $type->post_type);
|
33 |
-
$result
|
34 |
}
|
35 |
-
set_transient( '
|
36 |
}
|
37 |
|
38 |
return $result;
|
@@ -52,9 +52,9 @@ if (!class_exists('sk_config_data')) {
|
|
52 |
}
|
53 |
|
54 |
function get_themes(){
|
55 |
-
if ( false === ( $result = get_transient( '
|
56 |
$result = wp_get_themes( array( 'allowed' => true ) );
|
57 |
-
set_transient( '
|
58 |
}
|
59 |
|
60 |
return count($result);
|
@@ -64,18 +64,18 @@ if (!class_exists('sk_config_data')) {
|
|
64 |
global $wpdb;
|
65 |
|
66 |
// Can't find a good method to clear cache for newly registered post types that fires once
|
67 |
-
// if ( false === ( $result = get_transient( '
|
68 |
$query = "SELECT post_type, post_status, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type, post_status";
|
69 |
$counts = $wpdb->get_results($query);
|
70 |
-
$result =
|
71 |
|
72 |
foreach ($counts as $key => $type) {
|
73 |
$type->post_type = str_replace('-', '_', $type->post_type);
|
74 |
$type->post_status = str_replace('-', '_', $type->post_status);
|
75 |
|
76 |
-
$result
|
77 |
}
|
78 |
-
set_transient( '
|
79 |
// }
|
80 |
|
81 |
return $result;
|
@@ -84,16 +84,15 @@ if (!class_exists('sk_config_data')) {
|
|
84 |
function get_taxonomies(){
|
85 |
global $wpdb;
|
86 |
|
87 |
-
// if ( false === ( $result = get_transient( '
|
88 |
$query = "SELECT count(distinct term_taxonomy_id) as count, taxonomy from {$wpdb->prefix}term_taxonomy group by taxonomy";
|
89 |
$counts = $wpdb->get_results($query);
|
90 |
-
$result = '';
|
91 |
|
92 |
foreach ($counts as $key => $taxonomy) {
|
93 |
$taxonomy->taxonomy = str_replace('-', '_', $taxonomy->taxonomy);
|
94 |
-
$result
|
95 |
}
|
96 |
-
set_transient( '
|
97 |
// }
|
98 |
|
99 |
return $result;
|
@@ -102,30 +101,29 @@ if (!class_exists('sk_config_data')) {
|
|
102 |
function get_comments(){
|
103 |
global $wpdb;
|
104 |
|
105 |
-
if ( false === ( $
|
106 |
$query = "SELECT count(distinct comment_ID) as count from {$wpdb->prefix}comments";
|
107 |
$counts = $wpdb->get_var($query);
|
108 |
if (!$counts) $counts = 0;
|
109 |
-
|
110 |
-
set_transient( 'sk_get_comments', $result, $this->cache_time );
|
111 |
}
|
112 |
|
113 |
-
return $
|
114 |
}
|
115 |
|
116 |
function get_post_statuses(){
|
117 |
global $wpdb;
|
118 |
|
119 |
-
if ( false === ( $result = get_transient( '
|
120 |
$query = "SELECT post_status, count(ID) as count from {$wpdb->prefix}posts group by post_status";
|
121 |
$counts = $wpdb->get_results($query);
|
122 |
-
$result =
|
123 |
|
124 |
foreach ($counts as $key => $type) {
|
125 |
$type->post_status = str_replace('-', '_', $type->post_status);
|
126 |
-
$result
|
127 |
}
|
128 |
-
set_transient( '
|
129 |
}
|
130 |
|
131 |
return $result;
|
@@ -134,17 +132,17 @@ if (!class_exists('sk_config_data')) {
|
|
134 |
function get_user_data(){
|
135 |
global $current_user;
|
136 |
|
137 |
-
if ( false === ( $result = get_transient( '
|
138 |
$data = get_userdata($current_user->ID);
|
139 |
-
$result = "
|
140 |
|
141 |
foreach ($data->allcaps as $cap => $val) {
|
142 |
$cap = sanitize_title($cap);
|
143 |
$cap = str_replace('-', '_', $cap);
|
144 |
if (!$val) $val = 0;
|
145 |
-
$result
|
146 |
}
|
147 |
-
set_transient( '
|
148 |
}
|
149 |
|
150 |
return $result;
|
@@ -155,20 +153,23 @@ if (!class_exists('sk_config_data')) {
|
|
155 |
|
156 |
$frameworks = array('genesis');
|
157 |
|
158 |
-
$
|
159 |
|
160 |
foreach ($frameworks as $framework) {
|
161 |
switch ($framework) {
|
162 |
case 'genesis':
|
163 |
if (function_exists( 'genesis' ) ) {
|
164 |
if (defined('PARENT_THEME_VERSION')) {
|
165 |
-
$
|
|
|
|
|
|
|
166 |
}
|
167 |
}
|
168 |
break;
|
169 |
}
|
170 |
}
|
171 |
-
return $
|
172 |
}
|
173 |
|
174 |
function get_current_url() {
|
@@ -206,7 +207,7 @@ if (!class_exists('sk_config_data')) {
|
|
206 |
|
207 |
function get_plugins(){
|
208 |
|
209 |
-
if ( false === ( $result = get_transient( '
|
210 |
$active_plugins = wp_get_active_and_valid_plugins();
|
211 |
$mu_plugins = get_mu_plugins();
|
212 |
$result = array();
|
@@ -226,7 +227,7 @@ if (!class_exists('sk_config_data')) {
|
|
226 |
$result[$slug] = '1.0.0';
|
227 |
}
|
228 |
}
|
229 |
-
set_transient( '
|
230 |
}
|
231 |
|
232 |
return $result;
|
22 |
function get_post_types(){
|
23 |
global $wpdb;
|
24 |
|
25 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_post_types' ) ) ) {
|
26 |
|
27 |
$query = "SELECT post_type, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type";
|
28 |
$counts = $wpdb->get_results($query);
|
29 |
+
$result = array();
|
30 |
|
31 |
foreach ($counts as $key => $type) {
|
32 |
$type->post_type = str_replace('-', '_', $type->post_type);
|
33 |
+
$result["post_type_{$type->post_type}"] = intval($type->count);
|
34 |
}
|
35 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_post_types', $result, $this->cache_time );
|
36 |
}
|
37 |
|
38 |
return $result;
|
52 |
}
|
53 |
|
54 |
function get_themes(){
|
55 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_themes' ) ) ) {
|
56 |
$result = wp_get_themes( array( 'allowed' => true ) );
|
57 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_themes', $result, $this->cache_time );
|
58 |
}
|
59 |
|
60 |
return count($result);
|
64 |
global $wpdb;
|
65 |
|
66 |
// Can't find a good method to clear cache for newly registered post types that fires once
|
67 |
+
// if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_post_types_and_statuses' ) ) ) {
|
68 |
$query = "SELECT post_type, post_status, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type, post_status";
|
69 |
$counts = $wpdb->get_results($query);
|
70 |
+
$result = array();
|
71 |
|
72 |
foreach ($counts as $key => $type) {
|
73 |
$type->post_type = str_replace('-', '_', $type->post_type);
|
74 |
$type->post_status = str_replace('-', '_', $type->post_status);
|
75 |
|
76 |
+
$result["post_type_{$type->post_type}_{$type->post_status}"] = intval($type->count);
|
77 |
}
|
78 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_post_types_and_statuses', $result, $this->cache_time );
|
79 |
// }
|
80 |
|
81 |
return $result;
|
84 |
function get_taxonomies(){
|
85 |
global $wpdb;
|
86 |
|
87 |
+
// if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_taxonomies' ) ) ) {
|
88 |
$query = "SELECT count(distinct term_taxonomy_id) as count, taxonomy from {$wpdb->prefix}term_taxonomy group by taxonomy";
|
89 |
$counts = $wpdb->get_results($query);
|
|
|
90 |
|
91 |
foreach ($counts as $key => $taxonomy) {
|
92 |
$taxonomy->taxonomy = str_replace('-', '_', $taxonomy->taxonomy);
|
93 |
+
$result["taxonomy_{$taxonomy->taxonomy}"] = intval($taxonomy->count);
|
94 |
}
|
95 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_taxonomies', $result, $this->cache_time );
|
96 |
// }
|
97 |
|
98 |
return $result;
|
101 |
function get_comments(){
|
102 |
global $wpdb;
|
103 |
|
104 |
+
if ( false === ( $counts = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_comments' ) ) ) {
|
105 |
$query = "SELECT count(distinct comment_ID) as count from {$wpdb->prefix}comments";
|
106 |
$counts = $wpdb->get_var($query);
|
107 |
if (!$counts) $counts = 0;
|
108 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_comments', $counts, $this->cache_time );
|
|
|
109 |
}
|
110 |
|
111 |
+
return intval($counts);
|
112 |
}
|
113 |
|
114 |
function get_post_statuses(){
|
115 |
global $wpdb;
|
116 |
|
117 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_post_statuses' ) ) ) {
|
118 |
$query = "SELECT post_status, count(ID) as count from {$wpdb->prefix}posts group by post_status";
|
119 |
$counts = $wpdb->get_results($query);
|
120 |
+
$result = array();
|
121 |
|
122 |
foreach ($counts as $key => $type) {
|
123 |
$type->post_status = str_replace('-', '_', $type->post_status);
|
124 |
+
$result["post_status_{$type->post_status}"] = intval($type->count);
|
125 |
}
|
126 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_post_statuses', $result, $this->cache_time );
|
127 |
}
|
128 |
|
129 |
return $result;
|
132 |
function get_user_data(){
|
133 |
global $current_user;
|
134 |
|
135 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_user_data' ) ) ) {
|
136 |
$data = get_userdata($current_user->ID);
|
137 |
+
$result = array("user_id" => $current_user->ID);
|
138 |
|
139 |
foreach ($data->allcaps as $cap => $val) {
|
140 |
$cap = sanitize_title($cap);
|
141 |
$cap = str_replace('-', '_', $cap);
|
142 |
if (!$val) $val = 0;
|
143 |
+
$result["cap_{$cap}"] = $val;
|
144 |
}
|
145 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_user_data', $result, $this->cache_time );
|
146 |
}
|
147 |
|
148 |
return $result;
|
153 |
|
154 |
$frameworks = array('genesis');
|
155 |
|
156 |
+
$result = array("theme_framework" => false);
|
157 |
|
158 |
foreach ($frameworks as $framework) {
|
159 |
switch ($framework) {
|
160 |
case 'genesis':
|
161 |
if (function_exists( 'genesis' ) ) {
|
162 |
if (defined('PARENT_THEME_VERSION')) {
|
163 |
+
$result["theme_framework"] = array(
|
164 |
+
"name" => $framework,
|
165 |
+
"version" => PARENT_THEME_VERSION
|
166 |
+
);
|
167 |
}
|
168 |
}
|
169 |
break;
|
170 |
}
|
171 |
}
|
172 |
+
return $result;
|
173 |
}
|
174 |
|
175 |
function get_current_url() {
|
207 |
|
208 |
function get_plugins(){
|
209 |
|
210 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_plugins' ) ) ) {
|
211 |
$active_plugins = wp_get_active_and_valid_plugins();
|
212 |
$mu_plugins = get_mu_plugins();
|
213 |
$result = array();
|
227 |
$result[$slug] = '1.0.0';
|
228 |
}
|
229 |
}
|
230 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_plugins', $result, $this->cache_time );
|
231 |
}
|
232 |
|
233 |
return $result;
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.sidekick.pro
|
|
4 |
Tags: help, tutorial, training, learn, learning, sidekick, guide, teach, video, manual, videos, wphelp, support, instructions, question, questions, answers, answer, clippy, q&a, wpuniversity, helper, walkthrough
|
5 |
Requires at least: 3.7
|
6 |
Tested up to: 4.2
|
7 |
-
Stable tag: 2.
|
8 |
License: GNU Version 2 or Any Later Version
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -145,6 +145,14 @@ We read and respond to every piece of feedback we get.
|
|
145 |
|
146 |
== Changelog ==
|
147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
= 2.4.0 =
|
149 |
* WordPress Customizer support
|
150 |
* Platform fixes
|
4 |
Tags: help, tutorial, training, learn, learning, sidekick, guide, teach, video, manual, videos, wphelp, support, instructions, question, questions, answers, answer, clippy, q&a, wpuniversity, helper, walkthrough
|
5 |
Requires at least: 3.7
|
6 |
Tested up to: 4.2
|
7 |
+
Stable tag: 2.5.0
|
8 |
License: GNU Version 2 or Any Later Version
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
145 |
|
146 |
== Changelog ==
|
147 |
|
148 |
+
= 2.5.0 =
|
149 |
+
* Sidekick platform major refactoring
|
150 |
+
* Fixes issues with toggles for taskbar buttons not working
|
151 |
+
|
152 |
+
= 2.4.1 =
|
153 |
+
* Added new compatibility checking for front page static vs blog listing
|
154 |
+
* Readines for Sidekick intro walkthrough
|
155 |
+
|
156 |
= 2.4.0 =
|
157 |
* WordPress Customizer support
|
158 |
* Platform fixes
|
sidekick.php
CHANGED
@@ -6,17 +6,12 @@ Plugin URL: http://wordpress.org/plugins/sidekick/
|
|
6 |
Description: Adds a real-time WordPress training walkthroughs right in your Dashboard
|
7 |
Requires at least: 4.0
|
8 |
Tested up to: 4.1.1
|
9 |
-
Version: 2.
|
10 |
Author: Sidekick.pro
|
11 |
Author URI: http://www.sidekick.pro
|
12 |
*/
|
13 |
|
14 |
|
15 |
-
if ( ! defined( 'PLAYER_DOMAIN' ) ) define( 'PLAYER_DOMAIN', 'player.sidekick.pro' );
|
16 |
-
if ( ! defined( 'PLAYER_PATH' ) ) define( 'PLAYER_PATH', 'tag/latest' );
|
17 |
-
if ( ! defined( 'PLAYER_FILE' ) ) define( 'PLAYER_FILE', 'sidekick.min.js' );
|
18 |
-
if ( ! defined( 'COMPOSER_DOMAIN' ) ) define( 'COMPOSER_DOMAIN', 'composer.sidekick.pro' );
|
19 |
-
if ( ! defined( 'COMPOSER_PATH' ) ) define( 'COMPOSER_PATH', 'tag/latest' );
|
20 |
if ( ! defined( 'SK_EMBEDDED_PARTNER' ) ) define( 'SK_EMBEDDED_PARTNER', '' );
|
21 |
|
22 |
if ( ! function_exists('mlog')) {
|
@@ -28,36 +23,24 @@ if (!class_exists('Sidekick')){
|
|
28 |
class Sidekick{
|
29 |
|
30 |
function __construct(){
|
31 |
-
if (!defined('SK_TRACKING_API')) define('SK_TRACKING_API','//tracking.sidekick.pro/');
|
32 |
-
if (!defined('SK_COMPOSER_API')) define('SK_COMPOSER_API','//apiv2.sidekick.pro');
|
33 |
if (!defined('SK_API')) define('SK_API','//apiv2.sidekick.pro/');
|
34 |
-
if (!defined('
|
35 |
-
if (!defined('SK_ASSETS')) define('SK_ASSETS','//assets.sidekick.pro/');
|
36 |
-
if (!defined('SK_AUDIO')) define('SK_AUDIO','//audio.sidekick.pro/');
|
37 |
}
|
38 |
|
39 |
function enqueue_required(){
|
40 |
-
wp_enqueue_script('jquery'
|
41 |
-
wp_enqueue_script('underscore'
|
42 |
-
wp_enqueue_script('backbone'
|
43 |
-
wp_enqueue_script('jquery-ui-core'
|
44 |
-
wp_enqueue_script('jquery-ui-position'
|
45 |
-
wp_enqueue_script('jquery-ui-draggable'
|
46 |
-
wp_enqueue_script('jquery-ui-droppable'
|
47 |
-
wp_enqueue_script('jquery-effects-scale'
|
48 |
-
wp_enqueue_script('jquery-effects-highlight'
|
49 |
-
wp_enqueue_script('sidekick-admin'
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
$prod_build = apply_filters( 'sk_build', true );
|
54 |
-
if ($prod_build) {
|
55 |
-
wp_enqueue_script('sidekick' ,"//" . PLAYER_DOMAIN ."/" . PLAYER_PATH . "/" . PLAYER_FILE, array('backbone','jquery','underscore','jquery-effects-highlight'),null);
|
56 |
-
wp_enqueue_style('wp-pointer');
|
57 |
-
wp_enqueue_script('wp-pointer');
|
58 |
-
} else {
|
59 |
-
do_action( 'sk_enqueue' );
|
60 |
-
}
|
61 |
}
|
62 |
|
63 |
function setup_menu(){
|
@@ -100,9 +83,11 @@ if (!class_exists('Sidekick')){
|
|
100 |
|
101 |
$activation_id = (get_option( "sk_activation_id" ) ? get_option( "sk_activation_id" ) : '');
|
102 |
$sk_track_data = get_option( 'sk_track_data' );
|
|
|
103 |
$sk_hide_composer_taskbar_button = get_option('sk_hide_composer_taskbar_button');
|
104 |
$sk_hide_config_taskbar_button = get_option('sk_hide_config_taskbar_button');
|
105 |
$sk_hide_composer_upgrade_button = get_option('sk_hide_composer_upgrade_button');
|
|
|
106 |
$current_user = wp_get_current_user();
|
107 |
$status = 'Free';
|
108 |
$error = null;
|
@@ -113,6 +98,8 @@ if (!class_exists('Sidekick')){
|
|
113 |
$status = 'Checking...';
|
114 |
}
|
115 |
|
|
|
|
|
116 |
global $wp_version;
|
117 |
if (version_compare($wp_version, '3.9', '<=')) {
|
118 |
$error = "Sorry, Sidekick requires WordPress 3.9 or higher to function.";
|
@@ -145,7 +132,6 @@ if (!class_exists('Sidekick')){
|
|
145 |
|
146 |
function set_disabled_wts(){
|
147 |
|
148 |
-
|
149 |
if (isset($_POST['sk_setting_disabled'])){
|
150 |
|
151 |
if (!check_admin_referer('update_sk_settings')) {
|
@@ -226,149 +212,87 @@ if (!class_exists('Sidekick')){
|
|
226 |
function footer(){
|
227 |
global $current_user;
|
228 |
|
|
|
|
|
229 |
require_once('libs/sk_config_data.php');
|
230 |
|
231 |
$sk_config_data = new sk_config_data;
|
232 |
-
|
233 |
-
$
|
234 |
-
|
235 |
-
$
|
236 |
-
$sk_hide_config_taskbar_button = get_option( 'sk_hide_config_taskbar_button' );
|
237 |
-
$sk_hide_composer_upgrade_button = get_option( 'sk_hide_composer_upgrade_button' );
|
238 |
-
$activation_id = (get_option( "sk_activation_id" ) ? get_option( "sk_activation_id" ) : '');
|
239 |
-
$autostart_network_walkthrough_id = (get_site_option('sk_autostart_walkthrough_id') ? get_site_option('sk_autostart_walkthrough_id') : 'null' );
|
240 |
$autostart_walkthrough_id = (get_option('sk_autostart_walkthrough_id') ? get_option('sk_autostart_walkthrough_id') : $autostart_network_walkthrough_id );
|
241 |
-
$custom_class = (get_option( "sk_custom_class" ) ? get_option( "sk_custom_class" ) : '');
|
242 |
$theme = wp_get_theme();
|
243 |
-
|
244 |
-
$user_email = ($sk_track_data) ? $current_user->user_email : '';
|
245 |
-
$disabled_wts = (!is_network_admin()) ? $sk_config_data->get_disabled_wts() : '[]';
|
246 |
-
$user_role = $sk_config_data->get_user_role();
|
247 |
-
$site_url = $sk_config_data->get_domain();
|
248 |
$installed_plugins = $sk_config_data->get_plugins();
|
249 |
-
$plugin_count = (isset($plugins) && is_array($plugins)) ? count($plugins) : array();
|
250 |
-
$disabled_network_wts = $sk_config_data->get_disabled_network_wts();
|
251 |
-
$current_url = $sk_config_data->get_current_url();
|
252 |
-
$post_types = $sk_config_data->get_post_types();
|
253 |
-
$taxonomies = $sk_config_data->get_taxonomies();
|
254 |
-
$user_data = $sk_config_data->get_user_data();
|
255 |
-
$comments = $sk_config_data->get_comments();
|
256 |
-
$post_statuses = $sk_config_data->get_post_statuses();
|
257 |
-
$post_types_and_statuses = $sk_config_data->get_post_types_and_statuses();
|
258 |
-
$number_of_themes = $sk_config_data->get_themes();
|
259 |
-
$frameworks = $sk_config_data->get_framework();
|
260 |
$file_editor_enabled = $sk_config_data->get_file_editor_enabled();
|
261 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
|
264 |
-
|
265 |
-
if(preg_match('/(?i)msie [6-8]/',$_SERVER['HTTP_USER_AGENT'])) $not_supported_ie = true;
|
266 |
|
267 |
?>
|
268 |
|
269 |
-
|
270 |
-
|
271 |
-
<script type="text/javascript">
|
272 |
-
|
273 |
-
<?php if (is_network_admin()): ?>var is_network_admin = true; <?php endif ?>
|
274 |
-
|
275 |
-
var sk_config = {
|
276 |
-
// Compatibility
|
277 |
-
|
278 |
-
compatibilities: {
|
279 |
-
<?php echo $post_types ?>
|
280 |
-
<?php echo $taxonomies ?>
|
281 |
-
<?php echo $user_data ?>
|
282 |
-
<?php echo $comments ?>
|
283 |
-
<?php echo $post_statuses ?>
|
284 |
-
<?php echo $frameworks ?>
|
285 |
-
<?php echo $post_types_and_statuses ?>
|
286 |
-
installed_plugins: <?php echo json_encode($installed_plugins) ?>,
|
287 |
-
plugin_count: <?php echo ($plugin_count) ? $plugin_count : 0 ?>,
|
288 |
-
is_multisite: <?php echo (is_multisite()) ? "true" : "false" ?>,
|
289 |
-
number_of_themes: <?php echo $number_of_themes ?>,
|
290 |
-
installed_theme: '<?php echo sanitize_title($theme->Name) ?>',
|
291 |
-
theme_version: '<?php echo $theme->Version ?>',
|
292 |
-
main_soft_version: '<?php echo get_bloginfo("version") ?>',
|
293 |
-
// main_soft_version: '4.5.1',
|
294 |
-
user_level: '<?php echo $user_role ?>',
|
295 |
-
main_soft_name: 'WordPress',
|
296 |
-
file_editor_enabled: <?php echo ($file_editor_enabled) ? $file_editor_enabled: 'null' ?>,
|
297 |
-
role: '<?php echo $user_role ?>'
|
298 |
-
},
|
299 |
-
|
300 |
-
disable_wts: <?php echo $disabled_wts ?>,
|
301 |
-
disable_network_wts: <?php echo $disabled_network_wts ?>,
|
302 |
-
main_soft_name: 'WordPress',
|
303 |
-
embedded: false,
|
304 |
-
|
305 |
-
// User Settings
|
306 |
-
activation_id: '<?php echo $activation_id ?>',
|
307 |
-
auto_open_root_bucket_id: 79,
|
308 |
-
auto_open_product: 'default',
|
309 |
-
disable_wts_in_root_bucket_ids: [5,87],
|
310 |
-
autostart_walkthrough_id: <?php echo $autostart_walkthrough_id ?>,
|
311 |
-
track_data: '<?php echo $sk_track_data ?>',
|
312 |
-
user_email: '<?php echo $user_email ?>',
|
313 |
-
custom_class: '<?php echo $custom_class ?>',
|
314 |
-
|
315 |
-
// Toggles
|
316 |
-
path_not_found_continue: true,
|
317 |
-
show_powered_by: true,
|
318 |
-
show_powered_by_link: true,
|
319 |
-
sk_autostart_only_once: true,
|
320 |
-
use_native_controls: false,
|
321 |
-
basics_upgrade: true,
|
322 |
-
composer_upgrade_off: <?php echo ($sk_hide_composer_upgrade_button ? "true" : "false") ?>,
|
323 |
-
hide_taskbar_composer_button: <?php echo ($sk_hide_composer_taskbar_button ? "true" : "false") ?>,
|
324 |
-
hide_taskbar_config_button: <?php echo ($sk_hide_config_taskbar_button ? "true" : "false") ?>,
|
325 |
-
|
326 |
-
// Platform Info
|
327 |
-
library_version: 2,
|
328 |
-
platform_id: 1,
|
329 |
-
embedded_partner: '<?php echo SK_EMBEDDED_PARTNER ?>', // Track the emb
|
330 |
-
|
331 |
-
// Generic Info
|
332 |
-
just_activated: <?php echo ($sk_just_activated) ? "true" : "false" ?>,
|
333 |
-
show_login: <?php echo ($sk_just_activated) ? "true" : "false" ?>,
|
334 |
-
platform_version: null,
|
335 |
-
plugin_version: '2.4.0',
|
336 |
-
|
337 |
-
// SIDEKICK URLS
|
338 |
-
assets: '<?php echo SK_ASSETS ?>',
|
339 |
-
api: '<?php echo SK_API ?>',
|
340 |
-
tracking_api: '<?php echo SK_TRACKING_API ?>',
|
341 |
-
sk_path: '<?php echo PLAYER_PATH ?>',
|
342 |
-
audio: '<?php echo SK_AUDIO ?>',
|
343 |
-
library: '<?php echo SK_LIBRARY ?>',
|
344 |
-
|
345 |
-
// URLS
|
346 |
-
site_url: '<?php echo $site_url ?>',
|
347 |
-
domain: '<?php echo str_replace("http://","",$_SERVER["SERVER_NAME"]) ?>',
|
348 |
-
domain_used: '//<?php echo PLAYER_DOMAIN ?>/',
|
349 |
-
plugin_url: '<?php echo admin_url("admin.php?page=sidekick") ?>',
|
350 |
-
base_url: '<?php echo site_url() ?>',
|
351 |
-
current_url: '<?php echo $current_url ?>'
|
352 |
-
}
|
353 |
-
|
354 |
-
sk_config.onBeforePlay = [
|
355 |
-
{path: 'a.customize-controls-close,a.media-modal-close', event: 'click'}
|
356 |
-
];
|
357 |
-
|
358 |
-
var skc_config = {
|
359 |
-
audioPlaceholderUrl: '<?php echo SK_ASSETS ?>walkthrough-audio-placeholder.mp3',
|
360 |
-
audioBaseUrl: '<?php echo SK_AUDIO ?>',
|
361 |
-
apiUrl: '<?php echo SK_COMPOSER_API ?>',
|
362 |
-
trackingUrl: '<?php echo SK_TRACKING_API ?>',
|
363 |
-
js: '//<?php echo COMPOSER_DOMAIN ?>/<?php echo COMPOSER_PATH ?>/sidekick-composer.js',
|
364 |
-
css: '//<?php echo COMPOSER_DOMAIN ?>/<?php echo COMPOSER_PATH ?>/sidekick-composer.css',
|
365 |
-
baseSiteUrl: sk_config.base_url,
|
366 |
-
platformId: 1,
|
367 |
-
compatibilities: sk_config.compatibilities,
|
368 |
-
siteAjaxUrl: window.ajaxurl || ''
|
369 |
-
}
|
370 |
|
|
|
|
|
371 |
</script>
|
|
|
372 |
<?php endif ?>
|
373 |
|
374 |
<?php
|
@@ -384,11 +308,11 @@ if (!class_exists('Sidekick')){
|
|
384 |
|
385 |
switch ($data['type']) {
|
386 |
case 'activate':
|
387 |
-
|
388 |
break;
|
389 |
|
390 |
case 'deactivate':
|
391 |
-
|
392 |
break;
|
393 |
|
394 |
default:
|
@@ -410,6 +334,7 @@ if (!class_exists('Sidekick')){
|
|
410 |
'cookies' => array()
|
411 |
)
|
412 |
);
|
|
|
413 |
}
|
414 |
|
415 |
function activate($return = false){
|
@@ -435,7 +360,7 @@ if (!class_exists('Sidekick')){
|
|
435 |
function check_ver(){
|
436 |
|
437 |
if (isset($_GET['sk_ver_check'])){
|
438 |
-
$data = json_encode('2.
|
439 |
|
440 |
if(array_key_exists('callback', $_GET)){
|
441 |
|
@@ -460,7 +385,6 @@ if (!class_exists('Sidekick')){
|
|
460 |
|
461 |
function admin_notice() {
|
462 |
global $current_user ;
|
463 |
-
|
464 |
if ( ! get_user_meta($current_user->ID, 'sk_ignore_notice') ) {
|
465 |
printf ('<div class="updated"><p>Need help with WordPress? Click HELP ME in the bottom left corner to get started! <a href="%1$s">Hide</a></p></div>','?sk_ignore_notice=1');
|
466 |
}
|
@@ -477,23 +401,23 @@ if (!class_exists('Sidekick')){
|
|
477 |
|
478 |
function delete_sk_get_comments(){
|
479 |
mlog("delete_sk_get_comments");
|
480 |
-
delete_transient('
|
481 |
}
|
482 |
|
483 |
function delete_sk_get_post_types(){
|
484 |
mlog('delete sk_get_post_types');
|
485 |
-
delete_transient('
|
486 |
-
delete_transient('
|
487 |
}
|
488 |
|
489 |
function delete_sk_get_user_data(){
|
490 |
mlog('delete sk_get_user_data');
|
491 |
-
delete_transient('
|
492 |
}
|
493 |
|
494 |
function delete_sk_get_plugins(){
|
495 |
mlog('delete sk_get_plugins');
|
496 |
-
delete_transient('
|
497 |
}
|
498 |
|
499 |
}
|
@@ -515,15 +439,11 @@ if (!class_exists('Sidekick')){
|
|
515 |
if (!(isset($_GET['tab']) && $_GET['tab'] == 'plugin-information')) {
|
516 |
add_action('admin_footer', array($sidekick,'footer'));
|
517 |
add_action('customize_controls_print_footer_scripts', array($sidekick,'footer'));
|
518 |
-
add_action('admin_enqueue_scripts', array($sidekick,'enqueue'));
|
519 |
add_action('admin_enqueue_scripts', array($sidekick,'enqueue_required'));
|
520 |
-
add_action('customize_controls_enqueue_scripts', array($sidekick,'enqueue'),1000);
|
521 |
add_action('customize_controls_enqueue_scripts', array($sidekick,'enqueue_required'),1000);
|
522 |
}
|
523 |
-
|
524 |
-
//
|
525 |
-
// add_action('transition_post_status',array($sidekick,'delete_sk_get_post_types_and_statuses'));
|
526 |
-
// add_action('clean_post_cache',array($sidekick,'delete_sk_get_post_types_and_statuses'));
|
527 |
|
528 |
add_action('wp_update_comment_count',array($sidekick,'delete_sk_get_comments'));
|
529 |
|
6 |
Description: Adds a real-time WordPress training walkthroughs right in your Dashboard
|
7 |
Requires at least: 4.0
|
8 |
Tested up to: 4.1.1
|
9 |
+
Version: 2.5.0
|
10 |
Author: Sidekick.pro
|
11 |
Author URI: http://www.sidekick.pro
|
12 |
*/
|
13 |
|
14 |
|
|
|
|
|
|
|
|
|
|
|
15 |
if ( ! defined( 'SK_EMBEDDED_PARTNER' ) ) define( 'SK_EMBEDDED_PARTNER', '' );
|
16 |
|
17 |
if ( ! function_exists('mlog')) {
|
23 |
class Sidekick{
|
24 |
|
25 |
function __construct(){
|
|
|
|
|
26 |
if (!defined('SK_API')) define('SK_API','//apiv2.sidekick.pro/');
|
27 |
+
if (!defined('SK_CACHE_PREFIX')) define('SK_CACHE_PREFIX',str_replace('.', '_', '2.5.0'));
|
|
|
|
|
28 |
}
|
29 |
|
30 |
function enqueue_required(){
|
31 |
+
wp_enqueue_script('jquery' , null );
|
32 |
+
wp_enqueue_script('underscore' , null, array('underscore'));
|
33 |
+
wp_enqueue_script('backbone' , null, array('jquery','underscore'));
|
34 |
+
wp_enqueue_script('jquery-ui-core' , null, array('jquery') );
|
35 |
+
wp_enqueue_script('jquery-ui-position' , null, array('jquery-ui-core') );
|
36 |
+
wp_enqueue_script('jquery-ui-draggable' , null, array('jquery-ui-core') );
|
37 |
+
wp_enqueue_script('jquery-ui-droppable' , null, array('jquery-ui-core') );
|
38 |
+
wp_enqueue_script('jquery-effects-scale' , null, array('jquery-ui-core') );
|
39 |
+
wp_enqueue_script('jquery-effects-highlight' , null, array('jquery-ui-core') );
|
40 |
+
wp_enqueue_script('sidekick-admin' , '//assets.sidekick.pro/plugin/tag/latest/js/sidekick_admin.js',array( 'jquery' ), null);
|
41 |
+
wp_enqueue_script('sidekick' ,"//loader.sidekick.pro/platforms/d9993157-d972-4c49-93be-a0c684096961.js", array('backbone','jquery','underscore','jquery-effects-highlight'),null,true);
|
42 |
+
wp_enqueue_style('wp-pointer');
|
43 |
+
wp_enqueue_script('wp-pointer');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
}
|
45 |
|
46 |
function setup_menu(){
|
83 |
|
84 |
$activation_id = (get_option( "sk_activation_id" ) ? get_option( "sk_activation_id" ) : '');
|
85 |
$sk_track_data = get_option( 'sk_track_data' );
|
86 |
+
|
87 |
$sk_hide_composer_taskbar_button = get_option('sk_hide_composer_taskbar_button');
|
88 |
$sk_hide_config_taskbar_button = get_option('sk_hide_config_taskbar_button');
|
89 |
$sk_hide_composer_upgrade_button = get_option('sk_hide_composer_upgrade_button');
|
90 |
+
|
91 |
$current_user = wp_get_current_user();
|
92 |
$status = 'Free';
|
93 |
$error = null;
|
98 |
$status = 'Checking...';
|
99 |
}
|
100 |
|
101 |
+
$this->track(array('what' => 'Settings Page', 'where' => 'plugin'));
|
102 |
+
|
103 |
global $wp_version;
|
104 |
if (version_compare($wp_version, '3.9', '<=')) {
|
105 |
$error = "Sorry, Sidekick requires WordPress 3.9 or higher to function.";
|
132 |
|
133 |
function set_disabled_wts(){
|
134 |
|
|
|
135 |
if (isset($_POST['sk_setting_disabled'])){
|
136 |
|
137 |
if (!check_admin_referer('update_sk_settings')) {
|
212 |
function footer(){
|
213 |
global $current_user;
|
214 |
|
215 |
+
delete_option( 'sk_just_activated' );
|
216 |
+
|
217 |
require_once('libs/sk_config_data.php');
|
218 |
|
219 |
$sk_config_data = new sk_config_data;
|
220 |
+
|
221 |
+
$current_user = (get_option( 'sk_track_data' )) ? wp_get_current_user() : null;
|
222 |
+
|
223 |
+
$autostart_network_walkthrough_id = (get_site_option('sk_autostart_walkthrough_id') ? get_site_option('sk_autostart_walkthrough_id') : null );
|
|
|
|
|
|
|
|
|
224 |
$autostart_walkthrough_id = (get_option('sk_autostart_walkthrough_id') ? get_option('sk_autostart_walkthrough_id') : $autostart_network_walkthrough_id );
|
|
|
225 |
$theme = wp_get_theme();
|
226 |
+
|
|
|
|
|
|
|
|
|
227 |
$installed_plugins = $sk_config_data->get_plugins();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
$file_editor_enabled = $sk_config_data->get_file_editor_enabled();
|
229 |
|
230 |
+
$sk_config = array(
|
231 |
+
"compatibilities" => array(
|
232 |
+
"theme_version" => $theme->Version,
|
233 |
+
"installed_theme" => sanitize_title($theme->Name),
|
234 |
+
"main_soft_version" => get_bloginfo("version"),
|
235 |
+
"is_multisite" => (is_multisite()) ? true : false,
|
236 |
+
"comment_count" => $sk_config_data->get_comments(),
|
237 |
+
"role" => $sk_config_data->get_user_role(),
|
238 |
+
"number_of_themes" => $sk_config_data->get_themes(),
|
239 |
+
"show_on_front" => get_option('show_on_front'),
|
240 |
+
"page_on_front" => intval(get_option('page_on_front')),
|
241 |
+
"page_for_posts" => intval(get_option('page_for_posts')),
|
242 |
+
"plugin_count" => (isset($installed_plugins) && is_array($installed_plugins)) ? count($installed_plugins) : 0,
|
243 |
+
"installed_plugins" => (isset($installed_plugins)) ? $installed_plugins : array()
|
244 |
+
),
|
245 |
+
|
246 |
+
// Platform
|
247 |
+
"baseClientUrl" => site_url(),
|
248 |
+
"base_url" => site_url(),
|
249 |
+
|
250 |
+
// User Settings
|
251 |
+
"activation_id" => (get_option( "sk_activation_id" ) ? get_option( "sk_activation_id" ) : ''),
|
252 |
+
"custom_class" => (get_option( "sk_custom_class" ) ? get_option( "sk_custom_class" ) : ''),
|
253 |
+
"distributor_id" => (get_option( "sk_distributor_id" ) ? intval(get_option( "sk_distributor_id" )) : ''),
|
254 |
+
"user_email" => ($current_user) ? $current_user->user_email : '',
|
255 |
+
"autostart_walkthrough_id" => ($autostart_walkthrough_id) ? $autostart_walkthrough_id : '',
|
256 |
+
"disable_wts" => (!is_network_admin()) ? $sk_config_data->get_disabled_wts() : array(), // Copying these to compatibilities, have to update this over time
|
257 |
+
"disable_network_wts" => $sk_config_data->get_disabled_network_wts(), // Copying these to compatibilities, have to update this over time
|
258 |
+
|
259 |
+
// Toggles
|
260 |
+
"hide_taskbar_composer_button" => (get_option( 'sk_hide_composer_taskbar_button' ) ? true : false), // hide composer button on the taskbar
|
261 |
+
"hide_taskbar_config_button" => (get_option( 'sk_hide_config_taskbar_button' ) ? true : false), // hide settings button on taskbar
|
262 |
+
"show_login" => (get_option( 'sk_just_activated' )) ? true : false, // open drawer automatically, same as just_activated
|
263 |
+
|
264 |
+
// WordPress
|
265 |
+
"embedded" => false,
|
266 |
+
"embedPartner" => SK_EMBEDDED_PARTNER, // for tracking purposes if sidekick has been embeded in another WordPress plugin or theme
|
267 |
+
"plugin_version" => '2.5.0', // WordPress plugin version
|
268 |
+
"site_url" => $sk_config_data->get_domain(),
|
269 |
+
"domain" => str_replace("http://","",$_SERVER["SERVER_NAME"]),
|
270 |
+
"plugin_url" => admin_url("admin.php?page=sidekick"),
|
271 |
+
|
272 |
+
);
|
273 |
+
|
274 |
+
if ($file_editor_enabled) { //
|
275 |
+
$sk_config["compatibilities"]["file_editor_enabled"] = $file_editor_enabled;
|
276 |
+
}
|
277 |
|
278 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_post_types());
|
279 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_taxonomies());
|
280 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_user_data());
|
281 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_post_statuses());
|
282 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_post_types_and_statuses());
|
283 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_framework());
|
284 |
|
285 |
+
$sk_config = apply_filters('sk_config',$sk_config);
|
|
|
286 |
|
287 |
?>
|
288 |
|
289 |
+
<!-- Old IE Not Supported -->
|
290 |
+
<?php if (!preg_match('/(?i)msie [6-8]/',$_SERVER['HTTP_USER_AGENT'])): ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
291 |
|
292 |
+
<script type="text/preloaded" data-provider="sidekick">
|
293 |
+
<?php echo json_encode($sk_config) ?>
|
294 |
</script>
|
295 |
+
|
296 |
<?php endif ?>
|
297 |
|
298 |
<?php
|
308 |
|
309 |
switch ($data['type']) {
|
310 |
case 'activate':
|
311 |
+
$mp->track("Activate - Plugin", array("domain" => $domain));
|
312 |
break;
|
313 |
|
314 |
case 'deactivate':
|
315 |
+
$mp->track("Deactivate - Plugin", array("domain" => $domain));
|
316 |
break;
|
317 |
|
318 |
default:
|
334 |
'cookies' => array()
|
335 |
)
|
336 |
);
|
337 |
+
mlog('$response',$response);
|
338 |
}
|
339 |
|
340 |
function activate($return = false){
|
360 |
function check_ver(){
|
361 |
|
362 |
if (isset($_GET['sk_ver_check'])){
|
363 |
+
$data = json_encode('2.5.0');
|
364 |
|
365 |
if(array_key_exists('callback', $_GET)){
|
366 |
|
385 |
|
386 |
function admin_notice() {
|
387 |
global $current_user ;
|
|
|
388 |
if ( ! get_user_meta($current_user->ID, 'sk_ignore_notice') ) {
|
389 |
printf ('<div class="updated"><p>Need help with WordPress? Click HELP ME in the bottom left corner to get started! <a href="%1$s">Hide</a></p></div>','?sk_ignore_notice=1');
|
390 |
}
|
401 |
|
402 |
function delete_sk_get_comments(){
|
403 |
mlog("delete_sk_get_comments");
|
404 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_get_comments');
|
405 |
}
|
406 |
|
407 |
function delete_sk_get_post_types(){
|
408 |
mlog('delete sk_get_post_types');
|
409 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_get_post_types');
|
410 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_post_statuses');
|
411 |
}
|
412 |
|
413 |
function delete_sk_get_user_data(){
|
414 |
mlog('delete sk_get_user_data');
|
415 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_get_user_data');
|
416 |
}
|
417 |
|
418 |
function delete_sk_get_plugins(){
|
419 |
mlog('delete sk_get_plugins');
|
420 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_get_plugins');
|
421 |
}
|
422 |
|
423 |
}
|
439 |
if (!(isset($_GET['tab']) && $_GET['tab'] == 'plugin-information')) {
|
440 |
add_action('admin_footer', array($sidekick,'footer'));
|
441 |
add_action('customize_controls_print_footer_scripts', array($sidekick,'footer'));
|
|
|
442 |
add_action('admin_enqueue_scripts', array($sidekick,'enqueue_required'));
|
|
|
443 |
add_action('customize_controls_enqueue_scripts', array($sidekick,'enqueue_required'),1000);
|
444 |
}
|
445 |
+
|
446 |
+
// Reset Transient Cache
|
|
|
|
|
447 |
|
448 |
add_action('wp_update_comment_count',array($sidekick,'delete_sk_get_comments'));
|
449 |
|
sidekick_embed.php
CHANGED
@@ -8,17 +8,12 @@ Description: Adds a real-time WordPress training walkthroughs right in your Dash
|
|
8 |
We recommend not activating SIDEKICK automatically for people but via an Opt-In process when they configure your own theme or plugin.
|
9 |
Requires at least: 4.0
|
10 |
Tested up to: 4.1.1
|
11 |
-
Version: 2.
|
12 |
Author: Sidekick.pro
|
13 |
Author URI: http://www.sidekick.pro
|
14 |
*/
|
15 |
|
16 |
|
17 |
-
if ( ! defined( 'PLAYER_DOMAIN' ) ) define( 'PLAYER_DOMAIN', 'player.sidekick.pro' );
|
18 |
-
if ( ! defined( 'PLAYER_PATH' ) ) define( 'PLAYER_PATH', 'tag/latest' );
|
19 |
-
if ( ! defined( 'PLAYER_FILE' ) ) define( 'PLAYER_FILE', 'sidekick.min.js' );
|
20 |
-
if ( ! defined( 'COMPOSER_DOMAIN' ) ) define( 'COMPOSER_DOMAIN', 'composer.sidekick.pro' );
|
21 |
-
if ( ! defined( 'COMPOSER_PATH' ) ) define( 'COMPOSER_PATH', 'tag/latest' );
|
22 |
if ( ! defined( 'SK_EMBEDDED_PARTNER' ) ) define( 'SK_EMBEDDED_PARTNER', '' );
|
23 |
|
24 |
if ( ! function_exists('mlog')) {
|
@@ -33,36 +28,24 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
33 |
class Sidekick{
|
34 |
|
35 |
function __construct(){
|
36 |
-
if (!defined('SK_TRACKING_API')) define('SK_TRACKING_API','//tracking.sidekick.pro/');
|
37 |
-
if (!defined('SK_COMPOSER_API')) define('SK_COMPOSER_API','//apiv2.sidekick.pro');
|
38 |
if (!defined('SK_API')) define('SK_API','//apiv2.sidekick.pro/');
|
39 |
-
if (!defined('
|
40 |
-
if (!defined('SK_ASSETS')) define('SK_ASSETS','//assets.sidekick.pro/');
|
41 |
-
if (!defined('SK_AUDIO')) define('SK_AUDIO','//audio.sidekick.pro/');
|
42 |
}
|
43 |
|
44 |
function enqueue_required(){
|
45 |
-
wp_enqueue_script('jquery'
|
46 |
-
wp_enqueue_script('underscore'
|
47 |
-
wp_enqueue_script('backbone'
|
48 |
-
wp_enqueue_script('jquery-ui-core'
|
49 |
-
wp_enqueue_script('jquery-ui-position'
|
50 |
-
wp_enqueue_script('jquery-ui-draggable'
|
51 |
-
wp_enqueue_script('jquery-ui-droppable'
|
52 |
-
wp_enqueue_script('jquery-effects-scale'
|
53 |
-
wp_enqueue_script('jquery-effects-highlight'
|
54 |
-
wp_enqueue_script('sidekick-admin'
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
$prod_build = apply_filters( 'sk_build', true );
|
59 |
-
if ($prod_build) {
|
60 |
-
wp_enqueue_script('sidekick' ,"//" . PLAYER_DOMAIN ."/" . PLAYER_PATH . "/" . PLAYER_FILE, array('backbone','jquery','underscore','jquery-effects-highlight'),null);
|
61 |
-
wp_enqueue_style('wp-pointer');
|
62 |
-
wp_enqueue_script('wp-pointer');
|
63 |
-
} else {
|
64 |
-
do_action( 'sk_enqueue' );
|
65 |
-
}
|
66 |
}
|
67 |
|
68 |
function setup_menu(){
|
@@ -105,9 +88,11 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
105 |
|
106 |
$activation_id = (get_option( "sk_activation_id" ) ? get_option( "sk_activation_id" ) : '');
|
107 |
$sk_track_data = get_option( 'sk_track_data' );
|
|
|
108 |
$sk_hide_composer_taskbar_button = get_option('sk_hide_composer_taskbar_button');
|
109 |
$sk_hide_config_taskbar_button = get_option('sk_hide_config_taskbar_button');
|
110 |
$sk_hide_composer_upgrade_button = get_option('sk_hide_composer_upgrade_button');
|
|
|
111 |
$current_user = wp_get_current_user();
|
112 |
$status = 'Free';
|
113 |
$error = null;
|
@@ -118,6 +103,8 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
118 |
$status = 'Checking...';
|
119 |
}
|
120 |
|
|
|
|
|
121 |
global $wp_version;
|
122 |
if (version_compare($wp_version, '3.9', '<=')) {
|
123 |
$error = "Sorry, Sidekick requires WordPress 3.9 or higher to function.";
|
@@ -151,10 +138,6 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
151 |
var last_site_key = null;
|
152 |
var sk_ms_admin = false;
|
153 |
|
154 |
-
jQuery(document).ready(function($) {
|
155 |
-
mixpanel.track('Settings Page Visit - Plugin');
|
156 |
-
});
|
157 |
-
|
158 |
</script>
|
159 |
|
160 |
<div class="page-header"><h2><a id="pluginlogo_32" class="header-icon32" href="http://www.sidekick.pro/modules/wordpress-core-module-premium/?utm_source=plugin&utm_medium=settings&utm_campaign=header" target="_blank"></a>Sidekick Dashboard</h2></div>
|
@@ -225,7 +208,7 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
225 |
Enable Composer Mode
|
226 |
</th>
|
227 |
<td>
|
228 |
-
<button class='open_composer'>Open Composer</button>
|
229 |
</td>
|
230 |
</tr>
|
231 |
</tbody>
|
@@ -391,7 +374,7 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
391 |
<li><a href="https://twitter.com/share" class="twitter-share-button" data-url="http://sidekick.pro" data-text="I use @sidekickhelps for the fastest and easiest way to learn WordPress." data-via="sidekickhelps" data-size="large">Tweet</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li>
|
392 |
<li>Like SIDEKICK? Please leave us a 5 star rating on <a href='http://WordPress.org' target='_blank'>WordPress.org</a></li>
|
393 |
<li><a href="http://www.sidekick.pro/plans/wordpress-basics/">Sign up for a full WordPress Basics package</a></li>
|
394 |
-
<li><a href="http://support.sidekick.pro/
|
395 |
</ul>
|
396 |
</div>
|
397 |
</div>
|
@@ -408,7 +391,6 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
408 |
|
409 |
function set_disabled_wts(){
|
410 |
|
411 |
-
|
412 |
if (isset($_POST['sk_setting_disabled'])){
|
413 |
|
414 |
if (!check_admin_referer('update_sk_settings')) {
|
@@ -489,149 +471,87 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
489 |
function footer(){
|
490 |
global $current_user;
|
491 |
|
|
|
|
|
492 |
|
493 |
|
494 |
$sk_config_data = new sk_config_data;
|
495 |
-
|
496 |
-
$
|
497 |
-
|
498 |
-
$
|
499 |
-
$sk_hide_config_taskbar_button = get_option( 'sk_hide_config_taskbar_button' );
|
500 |
-
$sk_hide_composer_upgrade_button = get_option( 'sk_hide_composer_upgrade_button' );
|
501 |
-
$activation_id = (get_option( "sk_activation_id" ) ? get_option( "sk_activation_id" ) : '');
|
502 |
-
$autostart_network_walkthrough_id = (get_site_option('sk_autostart_walkthrough_id') ? get_site_option('sk_autostart_walkthrough_id') : 'null' );
|
503 |
$autostart_walkthrough_id = (get_option('sk_autostart_walkthrough_id') ? get_option('sk_autostart_walkthrough_id') : $autostart_network_walkthrough_id );
|
504 |
-
$custom_class = (get_option( "sk_custom_class" ) ? get_option( "sk_custom_class" ) : '');
|
505 |
$theme = wp_get_theme();
|
506 |
-
|
507 |
-
$user_email = ($sk_track_data) ? $current_user->user_email : '';
|
508 |
-
$disabled_wts = (!is_network_admin()) ? $sk_config_data->get_disabled_wts() : '[]';
|
509 |
-
$user_role = $sk_config_data->get_user_role();
|
510 |
-
$site_url = $sk_config_data->get_domain();
|
511 |
$installed_plugins = $sk_config_data->get_plugins();
|
512 |
-
$plugin_count = (isset($plugins) && is_array($plugins)) ? count($plugins) : array();
|
513 |
-
$disabled_network_wts = $sk_config_data->get_disabled_network_wts();
|
514 |
-
$current_url = $sk_config_data->get_current_url();
|
515 |
-
$post_types = $sk_config_data->get_post_types();
|
516 |
-
$taxonomies = $sk_config_data->get_taxonomies();
|
517 |
-
$user_data = $sk_config_data->get_user_data();
|
518 |
-
$comments = $sk_config_data->get_comments();
|
519 |
-
$post_statuses = $sk_config_data->get_post_statuses();
|
520 |
-
$post_types_and_statuses = $sk_config_data->get_post_types_and_statuses();
|
521 |
-
$number_of_themes = $sk_config_data->get_themes();
|
522 |
-
$frameworks = $sk_config_data->get_framework();
|
523 |
$file_editor_enabled = $sk_config_data->get_file_editor_enabled();
|
524 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
525 |
|
|
|
|
|
|
|
|
|
|
|
|
|
526 |
|
527 |
-
|
528 |
-
if(preg_match('/(?i)msie [6-8]/',$_SERVER['HTTP_USER_AGENT'])) $not_supported_ie = true;
|
529 |
|
530 |
?>
|
531 |
|
532 |
-
|
533 |
-
|
534 |
-
<script type="text/javascript">
|
535 |
-
|
536 |
-
<?php if (is_network_admin()): ?>var is_network_admin = true; <?php endif ?>
|
537 |
-
|
538 |
-
var sk_config = {
|
539 |
-
// Compatibility
|
540 |
-
|
541 |
-
compatibilities: {
|
542 |
-
<?php echo $post_types ?>
|
543 |
-
<?php echo $taxonomies ?>
|
544 |
-
<?php echo $user_data ?>
|
545 |
-
<?php echo $comments ?>
|
546 |
-
<?php echo $post_statuses ?>
|
547 |
-
<?php echo $frameworks ?>
|
548 |
-
<?php echo $post_types_and_statuses ?>
|
549 |
-
installed_plugins: <?php echo json_encode($installed_plugins) ?>,
|
550 |
-
plugin_count: <?php echo ($plugin_count) ? $plugin_count : 0 ?>,
|
551 |
-
is_multisite: <?php echo (is_multisite()) ? "true" : "false" ?>,
|
552 |
-
number_of_themes: <?php echo $number_of_themes ?>,
|
553 |
-
installed_theme: '<?php echo sanitize_title($theme->Name) ?>',
|
554 |
-
theme_version: '<?php echo $theme->Version ?>',
|
555 |
-
main_soft_version: '<?php echo get_bloginfo("version") ?>',
|
556 |
-
// main_soft_version: '4.5.1',
|
557 |
-
user_level: '<?php echo $user_role ?>',
|
558 |
-
main_soft_name: 'WordPress',
|
559 |
-
file_editor_enabled: <?php echo ($file_editor_enabled) ? $file_editor_enabled: 'null' ?>,
|
560 |
-
role: '<?php echo $user_role ?>'
|
561 |
-
},
|
562 |
-
|
563 |
-
disable_wts: <?php echo $disabled_wts ?>,
|
564 |
-
disable_network_wts: <?php echo $disabled_network_wts ?>,
|
565 |
-
main_soft_name: 'WordPress',
|
566 |
-
embedded: false,
|
567 |
-
|
568 |
-
// User Settings
|
569 |
-
activation_id: '<?php echo $activation_id ?>',
|
570 |
-
auto_open_root_bucket_id: 79,
|
571 |
-
auto_open_product: 'default',
|
572 |
-
disable_wts_in_root_bucket_ids: [5,87],
|
573 |
-
autostart_walkthrough_id: <?php echo $autostart_walkthrough_id ?>,
|
574 |
-
track_data: '<?php echo $sk_track_data ?>',
|
575 |
-
user_email: '<?php echo $user_email ?>',
|
576 |
-
custom_class: '<?php echo $custom_class ?>',
|
577 |
-
|
578 |
-
// Toggles
|
579 |
-
path_not_found_continue: true,
|
580 |
-
show_powered_by: true,
|
581 |
-
show_powered_by_link: true,
|
582 |
-
sk_autostart_only_once: true,
|
583 |
-
use_native_controls: false,
|
584 |
-
basics_upgrade: true,
|
585 |
-
composer_upgrade_off: <?php echo ($sk_hide_composer_upgrade_button ? "true" : "false") ?>,
|
586 |
-
hide_taskbar_composer_button: <?php echo ($sk_hide_composer_taskbar_button ? "true" : "false") ?>,
|
587 |
-
hide_taskbar_config_button: <?php echo ($sk_hide_config_taskbar_button ? "true" : "false") ?>,
|
588 |
-
|
589 |
-
// Platform Info
|
590 |
-
library_version: 2,
|
591 |
-
platform_id: 1,
|
592 |
-
embedded_partner: '<?php echo SK_EMBEDDED_PARTNER ?>', // Track the emb
|
593 |
-
|
594 |
-
// Generic Info
|
595 |
-
just_activated: <?php echo ($sk_just_activated) ? "true" : "false" ?>,
|
596 |
-
show_login: <?php echo ($sk_just_activated) ? "true" : "false" ?>,
|
597 |
-
platform_version: null,
|
598 |
-
plugin_version: '2.4.0',
|
599 |
-
|
600 |
-
// SIDEKICK URLS
|
601 |
-
assets: '<?php echo SK_ASSETS ?>',
|
602 |
-
api: '<?php echo SK_API ?>',
|
603 |
-
tracking_api: '<?php echo SK_TRACKING_API ?>',
|
604 |
-
sk_path: '<?php echo PLAYER_PATH ?>',
|
605 |
-
audio: '<?php echo SK_AUDIO ?>',
|
606 |
-
library: '<?php echo SK_LIBRARY ?>',
|
607 |
-
|
608 |
-
// URLS
|
609 |
-
site_url: '<?php echo $site_url ?>',
|
610 |
-
domain: '<?php echo str_replace("http://","",$_SERVER["SERVER_NAME"]) ?>',
|
611 |
-
domain_used: '//<?php echo PLAYER_DOMAIN ?>/',
|
612 |
-
plugin_url: '<?php echo admin_url("admin.php?page=sidekick") ?>',
|
613 |
-
base_url: '<?php echo site_url() ?>',
|
614 |
-
current_url: '<?php echo $current_url ?>'
|
615 |
-
}
|
616 |
-
|
617 |
-
sk_config.onBeforePlay = [
|
618 |
-
{path: 'a.customize-controls-close,a.media-modal-close', event: 'click'}
|
619 |
-
];
|
620 |
-
|
621 |
-
var skc_config = {
|
622 |
-
audioPlaceholderUrl: '<?php echo SK_ASSETS ?>walkthrough-audio-placeholder.mp3',
|
623 |
-
audioBaseUrl: '<?php echo SK_AUDIO ?>',
|
624 |
-
apiUrl: '<?php echo SK_COMPOSER_API ?>',
|
625 |
-
trackingUrl: '<?php echo SK_TRACKING_API ?>',
|
626 |
-
js: '//<?php echo COMPOSER_DOMAIN ?>/<?php echo COMPOSER_PATH ?>/sidekick-composer.js',
|
627 |
-
css: '//<?php echo COMPOSER_DOMAIN ?>/<?php echo COMPOSER_PATH ?>/sidekick-composer.css',
|
628 |
-
baseSiteUrl: sk_config.base_url,
|
629 |
-
platformId: 1,
|
630 |
-
compatibilities: sk_config.compatibilities,
|
631 |
-
siteAjaxUrl: window.ajaxurl || ''
|
632 |
-
}
|
633 |
|
|
|
|
|
634 |
</script>
|
|
|
635 |
<?php endif ?>
|
636 |
|
637 |
<?php
|
@@ -647,11 +567,11 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
647 |
|
648 |
switch ($data['type']) {
|
649 |
case 'activate':
|
650 |
-
|
651 |
break;
|
652 |
|
653 |
case 'deactivate':
|
654 |
-
|
655 |
break;
|
656 |
|
657 |
default:
|
@@ -673,6 +593,7 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
673 |
'cookies' => array()
|
674 |
)
|
675 |
);
|
|
|
676 |
}
|
677 |
|
678 |
function activate($return = false){
|
@@ -698,7 +619,7 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
698 |
function check_ver(){
|
699 |
|
700 |
if (isset($_GET['sk_ver_check'])){
|
701 |
-
$data = json_encode('2.
|
702 |
|
703 |
if(array_key_exists('callback', $_GET)){
|
704 |
|
@@ -723,7 +644,6 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
723 |
|
724 |
function admin_notice() {
|
725 |
global $current_user ;
|
726 |
-
|
727 |
if ( ! get_user_meta($current_user->ID, 'sk_ignore_notice') ) {
|
728 |
printf ('<div class="updated"><p>Need help with WordPress? Click HELP ME in the bottom left corner to get started! <a href="%1$s">Hide</a></p></div>','?sk_ignore_notice=1');
|
729 |
}
|
@@ -740,23 +660,23 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
740 |
|
741 |
function delete_sk_get_comments(){
|
742 |
mlog("delete_sk_get_comments");
|
743 |
-
delete_transient('
|
744 |
}
|
745 |
|
746 |
function delete_sk_get_post_types(){
|
747 |
mlog('delete sk_get_post_types');
|
748 |
-
delete_transient('
|
749 |
-
delete_transient('
|
750 |
}
|
751 |
|
752 |
function delete_sk_get_user_data(){
|
753 |
mlog('delete sk_get_user_data');
|
754 |
-
delete_transient('
|
755 |
}
|
756 |
|
757 |
function delete_sk_get_plugins(){
|
758 |
mlog('delete sk_get_plugins');
|
759 |
-
delete_transient('
|
760 |
}
|
761 |
|
762 |
}
|
@@ -778,15 +698,11 @@ if (!$sidekick_active && !class_exists('Sidekick')){
|
|
778 |
if (!(isset($_GET['tab']) && $_GET['tab'] == 'plugin-information')) {
|
779 |
add_action('admin_footer', array($sidekick,'footer'));
|
780 |
add_action('customize_controls_print_footer_scripts', array($sidekick,'footer'));
|
781 |
-
add_action('admin_enqueue_scripts', array($sidekick,'enqueue'));
|
782 |
add_action('admin_enqueue_scripts', array($sidekick,'enqueue_required'));
|
783 |
-
add_action('customize_controls_enqueue_scripts', array($sidekick,'enqueue'),1000);
|
784 |
add_action('customize_controls_enqueue_scripts', array($sidekick,'enqueue_required'),1000);
|
785 |
}
|
786 |
-
|
787 |
-
//
|
788 |
-
// add_action('transition_post_status',array($sidekick,'delete_sk_get_post_types_and_statuses'));
|
789 |
-
// add_action('clean_post_cache',array($sidekick,'delete_sk_get_post_types_and_statuses'));
|
790 |
|
791 |
add_action('wp_update_comment_count',array($sidekick,'delete_sk_get_comments'));
|
792 |
|
@@ -1276,6 +1192,8 @@ if (!$sidekick_active && !class_exists('sidekickMassActivator')) {
|
|
1276 |
$sk_hide_composer_upgrade_button = get_option('sk_hide_composer_upgrade_button');
|
1277 |
$is_ms_admin = true;
|
1278 |
|
|
|
|
|
1279 |
?>
|
1280 |
?> <!-- ms_admin_page.php -->
|
1281 |
|
@@ -1286,12 +1204,6 @@ if (!$sidekick_active && !class_exists('sidekickMassActivator')) {
|
|
1286 |
var last_site_key = null;
|
1287 |
var sk_ms_admin = true;
|
1288 |
|
1289 |
-
jQuery(document).ready(function($) {
|
1290 |
-
if (typeof mixpanel !== 'undefined') {
|
1291 |
-
mixpanel.track('Network Settings Page Visit - Plugin');
|
1292 |
-
};
|
1293 |
-
});
|
1294 |
-
|
1295 |
</script>
|
1296 |
|
1297 |
<div class="page-header"><h2><a id="pluginlogo_32" class="header-icon32" href="http://www.sidekick.pro" target="_blank"></a>Sidekick Licensing</h2></div>
|
@@ -1616,17 +1528,17 @@ if (!$sidekick_active && !class_exists('sk_config_data')) {
|
|
1616 |
function get_post_types(){
|
1617 |
global $wpdb;
|
1618 |
|
1619 |
-
if ( false === ( $result = get_transient( '
|
1620 |
|
1621 |
$query = "SELECT post_type, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type";
|
1622 |
$counts = $wpdb->get_results($query);
|
1623 |
-
$result =
|
1624 |
|
1625 |
foreach ($counts as $key => $type) {
|
1626 |
$type->post_type = str_replace('-', '_', $type->post_type);
|
1627 |
-
$result
|
1628 |
}
|
1629 |
-
set_transient( '
|
1630 |
}
|
1631 |
|
1632 |
return $result;
|
@@ -1646,9 +1558,9 @@ if (!$sidekick_active && !class_exists('sk_config_data')) {
|
|
1646 |
}
|
1647 |
|
1648 |
function get_themes(){
|
1649 |
-
if ( false === ( $result = get_transient( '
|
1650 |
$result = wp_get_themes( array( 'allowed' => true ) );
|
1651 |
-
set_transient( '
|
1652 |
}
|
1653 |
|
1654 |
return count($result);
|
@@ -1658,18 +1570,18 @@ if (!$sidekick_active && !class_exists('sk_config_data')) {
|
|
1658 |
global $wpdb;
|
1659 |
|
1660 |
// Can't find a good method to clear cache for newly registered post types that fires once
|
1661 |
-
// if ( false === ( $result = get_transient( '
|
1662 |
$query = "SELECT post_type, post_status, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type, post_status";
|
1663 |
$counts = $wpdb->get_results($query);
|
1664 |
-
$result =
|
1665 |
|
1666 |
foreach ($counts as $key => $type) {
|
1667 |
$type->post_type = str_replace('-', '_', $type->post_type);
|
1668 |
$type->post_status = str_replace('-', '_', $type->post_status);
|
1669 |
|
1670 |
-
$result
|
1671 |
}
|
1672 |
-
set_transient( '
|
1673 |
// }
|
1674 |
|
1675 |
return $result;
|
@@ -1678,16 +1590,15 @@ if (!$sidekick_active && !class_exists('sk_config_data')) {
|
|
1678 |
function get_taxonomies(){
|
1679 |
global $wpdb;
|
1680 |
|
1681 |
-
// if ( false === ( $result = get_transient( '
|
1682 |
$query = "SELECT count(distinct term_taxonomy_id) as count, taxonomy from {$wpdb->prefix}term_taxonomy group by taxonomy";
|
1683 |
$counts = $wpdb->get_results($query);
|
1684 |
-
$result = '';
|
1685 |
|
1686 |
foreach ($counts as $key => $taxonomy) {
|
1687 |
$taxonomy->taxonomy = str_replace('-', '_', $taxonomy->taxonomy);
|
1688 |
-
$result
|
1689 |
}
|
1690 |
-
set_transient( '
|
1691 |
// }
|
1692 |
|
1693 |
return $result;
|
@@ -1696,30 +1607,29 @@ if (!$sidekick_active && !class_exists('sk_config_data')) {
|
|
1696 |
function get_comments(){
|
1697 |
global $wpdb;
|
1698 |
|
1699 |
-
if ( false === ( $
|
1700 |
$query = "SELECT count(distinct comment_ID) as count from {$wpdb->prefix}comments";
|
1701 |
$counts = $wpdb->get_var($query);
|
1702 |
if (!$counts) $counts = 0;
|
1703 |
-
|
1704 |
-
set_transient( 'sk_get_comments', $result, $this->cache_time );
|
1705 |
}
|
1706 |
|
1707 |
-
return $
|
1708 |
}
|
1709 |
|
1710 |
function get_post_statuses(){
|
1711 |
global $wpdb;
|
1712 |
|
1713 |
-
if ( false === ( $result = get_transient( '
|
1714 |
$query = "SELECT post_status, count(ID) as count from {$wpdb->prefix}posts group by post_status";
|
1715 |
$counts = $wpdb->get_results($query);
|
1716 |
-
$result =
|
1717 |
|
1718 |
foreach ($counts as $key => $type) {
|
1719 |
$type->post_status = str_replace('-', '_', $type->post_status);
|
1720 |
-
$result
|
1721 |
}
|
1722 |
-
set_transient( '
|
1723 |
}
|
1724 |
|
1725 |
return $result;
|
@@ -1728,17 +1638,17 @@ if (!$sidekick_active && !class_exists('sk_config_data')) {
|
|
1728 |
function get_user_data(){
|
1729 |
global $current_user;
|
1730 |
|
1731 |
-
if ( false === ( $result = get_transient( '
|
1732 |
$data = get_userdata($current_user->ID);
|
1733 |
-
$result = "
|
1734 |
|
1735 |
foreach ($data->allcaps as $cap => $val) {
|
1736 |
$cap = sanitize_title($cap);
|
1737 |
$cap = str_replace('-', '_', $cap);
|
1738 |
if (!$val) $val = 0;
|
1739 |
-
$result
|
1740 |
}
|
1741 |
-
set_transient( '
|
1742 |
}
|
1743 |
|
1744 |
return $result;
|
@@ -1749,20 +1659,23 @@ if (!$sidekick_active && !class_exists('sk_config_data')) {
|
|
1749 |
|
1750 |
$frameworks = array('genesis');
|
1751 |
|
1752 |
-
$
|
1753 |
|
1754 |
foreach ($frameworks as $framework) {
|
1755 |
switch ($framework) {
|
1756 |
case 'genesis':
|
1757 |
if (function_exists( 'genesis' ) ) {
|
1758 |
if (defined('PARENT_THEME_VERSION')) {
|
1759 |
-
$
|
|
|
|
|
|
|
1760 |
}
|
1761 |
}
|
1762 |
break;
|
1763 |
}
|
1764 |
}
|
1765 |
-
return $
|
1766 |
}
|
1767 |
|
1768 |
function get_current_url() {
|
@@ -1800,7 +1713,7 @@ if (!$sidekick_active && !class_exists('sk_config_data')) {
|
|
1800 |
|
1801 |
function get_plugins(){
|
1802 |
|
1803 |
-
if ( false === ( $result = get_transient( '
|
1804 |
$active_plugins = wp_get_active_and_valid_plugins();
|
1805 |
$mu_plugins = get_mu_plugins();
|
1806 |
$result = array();
|
@@ -1820,7 +1733,7 @@ if (!$sidekick_active && !class_exists('sk_config_data')) {
|
|
1820 |
$result[$slug] = '1.0.0';
|
1821 |
}
|
1822 |
}
|
1823 |
-
set_transient( '
|
1824 |
}
|
1825 |
|
1826 |
return $result;
|
8 |
We recommend not activating SIDEKICK automatically for people but via an Opt-In process when they configure your own theme or plugin.
|
9 |
Requires at least: 4.0
|
10 |
Tested up to: 4.1.1
|
11 |
+
Version: 2.5.0
|
12 |
Author: Sidekick.pro
|
13 |
Author URI: http://www.sidekick.pro
|
14 |
*/
|
15 |
|
16 |
|
|
|
|
|
|
|
|
|
|
|
17 |
if ( ! defined( 'SK_EMBEDDED_PARTNER' ) ) define( 'SK_EMBEDDED_PARTNER', '' );
|
18 |
|
19 |
if ( ! function_exists('mlog')) {
|
28 |
class Sidekick{
|
29 |
|
30 |
function __construct(){
|
|
|
|
|
31 |
if (!defined('SK_API')) define('SK_API','//apiv2.sidekick.pro/');
|
32 |
+
if (!defined('SK_CACHE_PREFIX')) define('SK_CACHE_PREFIX',str_replace('.', '_', '2.5.0'));
|
|
|
|
|
33 |
}
|
34 |
|
35 |
function enqueue_required(){
|
36 |
+
wp_enqueue_script('jquery' , null );
|
37 |
+
wp_enqueue_script('underscore' , null, array('underscore'));
|
38 |
+
wp_enqueue_script('backbone' , null, array('jquery','underscore'));
|
39 |
+
wp_enqueue_script('jquery-ui-core' , null, array('jquery') );
|
40 |
+
wp_enqueue_script('jquery-ui-position' , null, array('jquery-ui-core') );
|
41 |
+
wp_enqueue_script('jquery-ui-draggable' , null, array('jquery-ui-core') );
|
42 |
+
wp_enqueue_script('jquery-ui-droppable' , null, array('jquery-ui-core') );
|
43 |
+
wp_enqueue_script('jquery-effects-scale' , null, array('jquery-ui-core') );
|
44 |
+
wp_enqueue_script('jquery-effects-highlight' , null, array('jquery-ui-core') );
|
45 |
+
wp_enqueue_script('sidekick-admin' , '//assets.sidekick.pro/plugin/tag/latest/js/sidekick_admin.js',array( 'jquery' ), null);
|
46 |
+
wp_enqueue_script('sidekick' ,"//loader.sidekick.pro/platforms/d9993157-d972-4c49-93be-a0c684096961.js", array('backbone','jquery','underscore','jquery-effects-highlight'),null,true);
|
47 |
+
wp_enqueue_style('wp-pointer');
|
48 |
+
wp_enqueue_script('wp-pointer');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
|
51 |
function setup_menu(){
|
88 |
|
89 |
$activation_id = (get_option( "sk_activation_id" ) ? get_option( "sk_activation_id" ) : '');
|
90 |
$sk_track_data = get_option( 'sk_track_data' );
|
91 |
+
|
92 |
$sk_hide_composer_taskbar_button = get_option('sk_hide_composer_taskbar_button');
|
93 |
$sk_hide_config_taskbar_button = get_option('sk_hide_config_taskbar_button');
|
94 |
$sk_hide_composer_upgrade_button = get_option('sk_hide_composer_upgrade_button');
|
95 |
+
|
96 |
$current_user = wp_get_current_user();
|
97 |
$status = 'Free';
|
98 |
$error = null;
|
103 |
$status = 'Checking...';
|
104 |
}
|
105 |
|
106 |
+
$this->track(array('what' => 'Settings Page', 'where' => 'plugin'));
|
107 |
+
|
108 |
global $wp_version;
|
109 |
if (version_compare($wp_version, '3.9', '<=')) {
|
110 |
$error = "Sorry, Sidekick requires WordPress 3.9 or higher to function.";
|
138 |
var last_site_key = null;
|
139 |
var sk_ms_admin = false;
|
140 |
|
|
|
|
|
|
|
|
|
141 |
</script>
|
142 |
|
143 |
<div class="page-header"><h2><a id="pluginlogo_32" class="header-icon32" href="http://www.sidekick.pro/modules/wordpress-core-module-premium/?utm_source=plugin&utm_medium=settings&utm_campaign=header" target="_blank"></a>Sidekick Dashboard</h2></div>
|
208 |
Enable Composer Mode
|
209 |
</th>
|
210 |
<td>
|
211 |
+
<button type='button' class='open_composer'>Open Composer</button>
|
212 |
</td>
|
213 |
</tr>
|
214 |
</tbody>
|
374 |
<li><a href="https://twitter.com/share" class="twitter-share-button" data-url="http://sidekick.pro" data-text="I use @sidekickhelps for the fastest and easiest way to learn WordPress." data-via="sidekickhelps" data-size="large">Tweet</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script></li>
|
375 |
<li>Like SIDEKICK? Please leave us a 5 star rating on <a href='http://WordPress.org' target='_blank'>WordPress.org</a></li>
|
376 |
<li><a href="http://www.sidekick.pro/plans/wordpress-basics/">Sign up for a full WordPress Basics package</a></li>
|
377 |
+
<li><a href="http://support.sidekick.pro/collection/50-quick-start-guides" target="_blank"><strong>Visit the SIDEKICK Quick Start guides</strong></a>.</li>
|
378 |
</ul>
|
379 |
</div>
|
380 |
</div>
|
391 |
|
392 |
function set_disabled_wts(){
|
393 |
|
|
|
394 |
if (isset($_POST['sk_setting_disabled'])){
|
395 |
|
396 |
if (!check_admin_referer('update_sk_settings')) {
|
471 |
function footer(){
|
472 |
global $current_user;
|
473 |
|
474 |
+
delete_option( 'sk_just_activated' );
|
475 |
+
|
476 |
|
477 |
|
478 |
$sk_config_data = new sk_config_data;
|
479 |
+
|
480 |
+
$current_user = (get_option( 'sk_track_data' )) ? wp_get_current_user() : null;
|
481 |
+
|
482 |
+
$autostart_network_walkthrough_id = (get_site_option('sk_autostart_walkthrough_id') ? get_site_option('sk_autostart_walkthrough_id') : null );
|
|
|
|
|
|
|
|
|
483 |
$autostart_walkthrough_id = (get_option('sk_autostart_walkthrough_id') ? get_option('sk_autostart_walkthrough_id') : $autostart_network_walkthrough_id );
|
|
|
484 |
$theme = wp_get_theme();
|
485 |
+
|
|
|
|
|
|
|
|
|
486 |
$installed_plugins = $sk_config_data->get_plugins();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
487 |
$file_editor_enabled = $sk_config_data->get_file_editor_enabled();
|
488 |
|
489 |
+
$sk_config = array(
|
490 |
+
"compatibilities" => array(
|
491 |
+
"theme_version" => $theme->Version,
|
492 |
+
"installed_theme" => sanitize_title($theme->Name),
|
493 |
+
"main_soft_version" => get_bloginfo("version"),
|
494 |
+
"is_multisite" => (is_multisite()) ? true : false,
|
495 |
+
"comment_count" => $sk_config_data->get_comments(),
|
496 |
+
"role" => $sk_config_data->get_user_role(),
|
497 |
+
"number_of_themes" => $sk_config_data->get_themes(),
|
498 |
+
"show_on_front" => get_option('show_on_front'),
|
499 |
+
"page_on_front" => intval(get_option('page_on_front')),
|
500 |
+
"page_for_posts" => intval(get_option('page_for_posts')),
|
501 |
+
"plugin_count" => (isset($installed_plugins) && is_array($installed_plugins)) ? count($installed_plugins) : 0,
|
502 |
+
"installed_plugins" => (isset($installed_plugins)) ? $installed_plugins : array()
|
503 |
+
),
|
504 |
+
|
505 |
+
// Platform
|
506 |
+
"baseClientUrl" => site_url(),
|
507 |
+
"base_url" => site_url(),
|
508 |
+
|
509 |
+
// User Settings
|
510 |
+
"activation_id" => (get_option( "sk_activation_id" ) ? get_option( "sk_activation_id" ) : ''),
|
511 |
+
"custom_class" => (get_option( "sk_custom_class" ) ? get_option( "sk_custom_class" ) : ''),
|
512 |
+
"distributor_id" => (get_option( "sk_distributor_id" ) ? intval(get_option( "sk_distributor_id" )) : ''),
|
513 |
+
"user_email" => ($current_user) ? $current_user->user_email : '',
|
514 |
+
"autostart_walkthrough_id" => ($autostart_walkthrough_id) ? $autostart_walkthrough_id : '',
|
515 |
+
"disable_wts" => (!is_network_admin()) ? $sk_config_data->get_disabled_wts() : array(), // Copying these to compatibilities, have to update this over time
|
516 |
+
"disable_network_wts" => $sk_config_data->get_disabled_network_wts(), // Copying these to compatibilities, have to update this over time
|
517 |
+
|
518 |
+
// Toggles
|
519 |
+
"hide_taskbar_composer_button" => (get_option( 'sk_hide_composer_taskbar_button' ) ? true : false), // hide composer button on the taskbar
|
520 |
+
"hide_taskbar_config_button" => (get_option( 'sk_hide_config_taskbar_button' ) ? true : false), // hide settings button on taskbar
|
521 |
+
"show_login" => (get_option( 'sk_just_activated' )) ? true : false, // open drawer automatically, same as just_activated
|
522 |
+
|
523 |
+
// WordPress
|
524 |
+
"embedded" => false,
|
525 |
+
"embedPartner" => SK_EMBEDDED_PARTNER, // for tracking purposes if sidekick has been embeded in another WordPress plugin or theme
|
526 |
+
"plugin_version" => '2.5.0', // WordPress plugin version
|
527 |
+
"site_url" => $sk_config_data->get_domain(),
|
528 |
+
"domain" => str_replace("http://","",$_SERVER["SERVER_NAME"]),
|
529 |
+
"plugin_url" => admin_url("admin.php?page=sidekick"),
|
530 |
+
|
531 |
+
);
|
532 |
+
|
533 |
+
if ($file_editor_enabled) { //
|
534 |
+
$sk_config["compatibilities"]["file_editor_enabled"] = $file_editor_enabled;
|
535 |
+
}
|
536 |
|
537 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_post_types());
|
538 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_taxonomies());
|
539 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_user_data());
|
540 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_post_statuses());
|
541 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_post_types_and_statuses());
|
542 |
+
$sk_config['compatibilities'] = array_merge($sk_config['compatibilities'],$sk_config_data->get_framework());
|
543 |
|
544 |
+
$sk_config = apply_filters('sk_config',$sk_config);
|
|
|
545 |
|
546 |
?>
|
547 |
|
548 |
+
<!-- Old IE Not Supported -->
|
549 |
+
<?php if (!preg_match('/(?i)msie [6-8]/',$_SERVER['HTTP_USER_AGENT'])): ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
550 |
|
551 |
+
<script type="text/preloaded" data-provider="sidekick">
|
552 |
+
<?php echo json_encode($sk_config) ?>
|
553 |
</script>
|
554 |
+
|
555 |
<?php endif ?>
|
556 |
|
557 |
<?php
|
567 |
|
568 |
switch ($data['type']) {
|
569 |
case 'activate':
|
570 |
+
$mp->track("Activate - Plugin", array("domain" => $domain));
|
571 |
break;
|
572 |
|
573 |
case 'deactivate':
|
574 |
+
$mp->track("Deactivate - Plugin", array("domain" => $domain));
|
575 |
break;
|
576 |
|
577 |
default:
|
593 |
'cookies' => array()
|
594 |
)
|
595 |
);
|
596 |
+
mlog('$response',$response);
|
597 |
}
|
598 |
|
599 |
function activate($return = false){
|
619 |
function check_ver(){
|
620 |
|
621 |
if (isset($_GET['sk_ver_check'])){
|
622 |
+
$data = json_encode('2.5.0');
|
623 |
|
624 |
if(array_key_exists('callback', $_GET)){
|
625 |
|
644 |
|
645 |
function admin_notice() {
|
646 |
global $current_user ;
|
|
|
647 |
if ( ! get_user_meta($current_user->ID, 'sk_ignore_notice') ) {
|
648 |
printf ('<div class="updated"><p>Need help with WordPress? Click HELP ME in the bottom left corner to get started! <a href="%1$s">Hide</a></p></div>','?sk_ignore_notice=1');
|
649 |
}
|
660 |
|
661 |
function delete_sk_get_comments(){
|
662 |
mlog("delete_sk_get_comments");
|
663 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_get_comments');
|
664 |
}
|
665 |
|
666 |
function delete_sk_get_post_types(){
|
667 |
mlog('delete sk_get_post_types');
|
668 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_get_post_types');
|
669 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_post_statuses');
|
670 |
}
|
671 |
|
672 |
function delete_sk_get_user_data(){
|
673 |
mlog('delete sk_get_user_data');
|
674 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_get_user_data');
|
675 |
}
|
676 |
|
677 |
function delete_sk_get_plugins(){
|
678 |
mlog('delete sk_get_plugins');
|
679 |
+
delete_transient('sk_' . SK_CACHE_PREFIX . '_get_plugins');
|
680 |
}
|
681 |
|
682 |
}
|
698 |
if (!(isset($_GET['tab']) && $_GET['tab'] == 'plugin-information')) {
|
699 |
add_action('admin_footer', array($sidekick,'footer'));
|
700 |
add_action('customize_controls_print_footer_scripts', array($sidekick,'footer'));
|
|
|
701 |
add_action('admin_enqueue_scripts', array($sidekick,'enqueue_required'));
|
|
|
702 |
add_action('customize_controls_enqueue_scripts', array($sidekick,'enqueue_required'),1000);
|
703 |
}
|
704 |
+
|
705 |
+
// Reset Transient Cache
|
|
|
|
|
706 |
|
707 |
add_action('wp_update_comment_count',array($sidekick,'delete_sk_get_comments'));
|
708 |
|
1192 |
$sk_hide_composer_upgrade_button = get_option('sk_hide_composer_upgrade_button');
|
1193 |
$is_ms_admin = true;
|
1194 |
|
1195 |
+
$this->track(array('what' => 'Network Settings Page', 'where' => 'plugin'));
|
1196 |
+
|
1197 |
?>
|
1198 |
?> <!-- ms_admin_page.php -->
|
1199 |
|
1204 |
var last_site_key = null;
|
1205 |
var sk_ms_admin = true;
|
1206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1207 |
</script>
|
1208 |
|
1209 |
<div class="page-header"><h2><a id="pluginlogo_32" class="header-icon32" href="http://www.sidekick.pro" target="_blank"></a>Sidekick Licensing</h2></div>
|
1528 |
function get_post_types(){
|
1529 |
global $wpdb;
|
1530 |
|
1531 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_post_types' ) ) ) {
|
1532 |
|
1533 |
$query = "SELECT post_type, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type";
|
1534 |
$counts = $wpdb->get_results($query);
|
1535 |
+
$result = array();
|
1536 |
|
1537 |
foreach ($counts as $key => $type) {
|
1538 |
$type->post_type = str_replace('-', '_', $type->post_type);
|
1539 |
+
$result["post_type_{$type->post_type}"] = intval($type->count);
|
1540 |
}
|
1541 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_post_types', $result, $this->cache_time );
|
1542 |
}
|
1543 |
|
1544 |
return $result;
|
1558 |
}
|
1559 |
|
1560 |
function get_themes(){
|
1561 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_themes' ) ) ) {
|
1562 |
$result = wp_get_themes( array( 'allowed' => true ) );
|
1563 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_themes', $result, $this->cache_time );
|
1564 |
}
|
1565 |
|
1566 |
return count($result);
|
1570 |
global $wpdb;
|
1571 |
|
1572 |
// Can't find a good method to clear cache for newly registered post types that fires once
|
1573 |
+
// if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_post_types_and_statuses' ) ) ) {
|
1574 |
$query = "SELECT post_type, post_status, count(distinct ID) as count from {$wpdb->prefix}posts group by post_type, post_status";
|
1575 |
$counts = $wpdb->get_results($query);
|
1576 |
+
$result = array();
|
1577 |
|
1578 |
foreach ($counts as $key => $type) {
|
1579 |
$type->post_type = str_replace('-', '_', $type->post_type);
|
1580 |
$type->post_status = str_replace('-', '_', $type->post_status);
|
1581 |
|
1582 |
+
$result["post_type_{$type->post_type}_{$type->post_status}"] = intval($type->count);
|
1583 |
}
|
1584 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_post_types_and_statuses', $result, $this->cache_time );
|
1585 |
// }
|
1586 |
|
1587 |
return $result;
|
1590 |
function get_taxonomies(){
|
1591 |
global $wpdb;
|
1592 |
|
1593 |
+
// if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_taxonomies' ) ) ) {
|
1594 |
$query = "SELECT count(distinct term_taxonomy_id) as count, taxonomy from {$wpdb->prefix}term_taxonomy group by taxonomy";
|
1595 |
$counts = $wpdb->get_results($query);
|
|
|
1596 |
|
1597 |
foreach ($counts as $key => $taxonomy) {
|
1598 |
$taxonomy->taxonomy = str_replace('-', '_', $taxonomy->taxonomy);
|
1599 |
+
$result["taxonomy_{$taxonomy->taxonomy}"] = intval($taxonomy->count);
|
1600 |
}
|
1601 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_taxonomies', $result, $this->cache_time );
|
1602 |
// }
|
1603 |
|
1604 |
return $result;
|
1607 |
function get_comments(){
|
1608 |
global $wpdb;
|
1609 |
|
1610 |
+
if ( false === ( $counts = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_comments' ) ) ) {
|
1611 |
$query = "SELECT count(distinct comment_ID) as count from {$wpdb->prefix}comments";
|
1612 |
$counts = $wpdb->get_var($query);
|
1613 |
if (!$counts) $counts = 0;
|
1614 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_comments', $counts, $this->cache_time );
|
|
|
1615 |
}
|
1616 |
|
1617 |
+
return intval($counts);
|
1618 |
}
|
1619 |
|
1620 |
function get_post_statuses(){
|
1621 |
global $wpdb;
|
1622 |
|
1623 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_post_statuses' ) ) ) {
|
1624 |
$query = "SELECT post_status, count(ID) as count from {$wpdb->prefix}posts group by post_status";
|
1625 |
$counts = $wpdb->get_results($query);
|
1626 |
+
$result = array();
|
1627 |
|
1628 |
foreach ($counts as $key => $type) {
|
1629 |
$type->post_status = str_replace('-', '_', $type->post_status);
|
1630 |
+
$result["post_status_{$type->post_status}"] = intval($type->count);
|
1631 |
}
|
1632 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_post_statuses', $result, $this->cache_time );
|
1633 |
}
|
1634 |
|
1635 |
return $result;
|
1638 |
function get_user_data(){
|
1639 |
global $current_user;
|
1640 |
|
1641 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_user_data' ) ) ) {
|
1642 |
$data = get_userdata($current_user->ID);
|
1643 |
+
$result = array("user_id" => $current_user->ID);
|
1644 |
|
1645 |
foreach ($data->allcaps as $cap => $val) {
|
1646 |
$cap = sanitize_title($cap);
|
1647 |
$cap = str_replace('-', '_', $cap);
|
1648 |
if (!$val) $val = 0;
|
1649 |
+
$result["cap_{$cap}"] = $val;
|
1650 |
}
|
1651 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_user_data', $result, $this->cache_time );
|
1652 |
}
|
1653 |
|
1654 |
return $result;
|
1659 |
|
1660 |
$frameworks = array('genesis');
|
1661 |
|
1662 |
+
$result = array("theme_framework" => false);
|
1663 |
|
1664 |
foreach ($frameworks as $framework) {
|
1665 |
switch ($framework) {
|
1666 |
case 'genesis':
|
1667 |
if (function_exists( 'genesis' ) ) {
|
1668 |
if (defined('PARENT_THEME_VERSION')) {
|
1669 |
+
$result["theme_framework"] = array(
|
1670 |
+
"name" => $framework,
|
1671 |
+
"version" => PARENT_THEME_VERSION
|
1672 |
+
);
|
1673 |
}
|
1674 |
}
|
1675 |
break;
|
1676 |
}
|
1677 |
}
|
1678 |
+
return $result;
|
1679 |
}
|
1680 |
|
1681 |
function get_current_url() {
|
1713 |
|
1714 |
function get_plugins(){
|
1715 |
|
1716 |
+
if ( false === ( $result = get_transient( 'sk_' . SK_CACHE_PREFIX . '_get_plugins' ) ) ) {
|
1717 |
$active_plugins = wp_get_active_and_valid_plugins();
|
1718 |
$mu_plugins = get_mu_plugins();
|
1719 |
$result = array();
|
1733 |
$result[$slug] = '1.0.0';
|
1734 |
}
|
1735 |
}
|
1736 |
+
set_transient( 'sk_' . SK_CACHE_PREFIX . '_get_plugins', $result, $this->cache_time );
|
1737 |
}
|
1738 |
|
1739 |
return $result;
|