Version Description
2020/Nov/2 =
TWEAK: Pass callback function to Appsero instead of relying on caching.
TWEAK: Switches Appsero integration to only collected info on the user that logged in.
FIX: Adds PHP5.3 compatibility by removing array shorthand syntax
Download this release
Release Info
| Developer | metaslider |
| Plugin | |
| Version | 3.18.8 |
| Comparing to | |
| See all releases | |
Code changes from version 3.18.7 to 3.18.8
- admin/support/Analytics.php +28 -14
- ml-slider.php +2 -2
- readme.txt +7 -1
admin/support/Analytics.php
CHANGED
|
@@ -18,7 +18,7 @@ class MetaSlider_Analytics
|
|
| 18 |
/**
|
| 19 |
* @var array $whereToShow
|
| 20 |
*/
|
| 21 |
-
public $whereToShow =
|
| 22 |
|
| 23 |
/**
|
| 24 |
* Start various analytics systems
|
|
@@ -142,6 +142,7 @@ class MetaSlider_Analytics
|
|
| 142 |
if (!class_exists('MSAppsero/Client')) {
|
| 143 |
require_once(METASLIDER_PATH . 'lib/appsero/src/Client.php');
|
| 144 |
}
|
|
|
|
| 145 |
$client = new MSAppsero\Client($key, $name, $path);
|
| 146 |
$this->appsero = $client->insights();
|
| 147 |
return $this;
|
|
@@ -158,11 +159,10 @@ class MetaSlider_Analytics
|
|
| 158 |
return;
|
| 159 |
}
|
| 160 |
|
| 161 |
-
$extra = $this->extraDataToCollect();
|
| 162 |
if (self::siteIsOptin()) {
|
| 163 |
// If the user has opted in to sharing data with MetaSlider, we can skip the Appsero opt in
|
| 164 |
// $this->appsero->hide_notice()->init()->optinIfNotAlready(); <-- would be nice
|
| 165 |
-
$this->appsero->hide_notice()->add_extra($
|
| 166 |
if (get_option('ml-slider_allow_tracking') === 'no') {
|
| 167 |
$this->appsero->optin();
|
| 168 |
}
|
|
@@ -170,7 +170,7 @@ class MetaSlider_Analytics
|
|
| 170 |
// Here we are hiding the notice for users that aren't opted in, because we are serving our own notices
|
| 171 |
// We will make sure they are opted out from appsero too. Note, this initializes, but that's just for
|
| 172 |
// showing the notice and doesn't do any actual tracking unless the user approves.
|
| 173 |
-
$this->appsero->hide_notice()->add_extra($
|
| 174 |
if (get_option('ml-slider_allow_tracking') === 'yes') {
|
| 175 |
$this->appsero->optout();
|
| 176 |
}
|
|
@@ -178,15 +178,33 @@ class MetaSlider_Analytics
|
|
| 178 |
}
|
| 179 |
|
| 180 |
/**
|
| 181 |
-
*
|
|
|
|
| 182 |
*
|
| 183 |
-
* @
|
|
|
|
|
|
|
| 184 |
*/
|
| 185 |
-
|
| 186 |
{
|
| 187 |
-
if (
|
| 188 |
-
return $
|
| 189 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 190 |
try {
|
| 191 |
$sliders_count = new WP_Query(array(
|
| 192 |
'post_type' => 'ml-slider',
|
|
@@ -201,8 +219,6 @@ class MetaSlider_Analytics
|
|
| 201 |
'optin_via' => get_option('metaslider_optin_via'),
|
| 202 |
'slider_count' => $sliders_count ? $sliders_count->found_posts : 0
|
| 203 |
);
|
| 204 |
-
// Cache one day
|
| 205 |
-
set_transient('metaslider_extra_analytics_data', $data, 86400);
|
| 206 |
return $data;
|
| 207 |
} catch (\Throwable $th) {
|
| 208 |
return array();
|
|
@@ -253,7 +269,6 @@ class MetaSlider_Analytics
|
|
| 253 |
*/
|
| 254 |
public function optin()
|
| 255 |
{
|
| 256 |
-
delete_transient('metaslider_extra_analytics_data');
|
| 257 |
$current_user = wp_get_current_user();
|
| 258 |
update_option('metaslider_optin_user_extras', array(
|
| 259 |
'id' => $current_user->ID,
|
|
@@ -263,8 +278,7 @@ class MetaSlider_Analytics
|
|
| 263 |
));
|
| 264 |
|
| 265 |
if ($this->appsero) {
|
| 266 |
-
$
|
| 267 |
-
$this->appsero->hide_notice()->add_extra($extra)->init();
|
| 268 |
$this->appsero->optin();
|
| 269 |
}
|
| 270 |
|
| 18 |
/**
|
| 19 |
* @var array $whereToShow
|
| 20 |
*/
|
| 21 |
+
public $whereToShow = array('plugins', 'dashboard');
|
| 22 |
|
| 23 |
/**
|
| 24 |
* Start various analytics systems
|
| 142 |
if (!class_exists('MSAppsero/Client')) {
|
| 143 |
require_once(METASLIDER_PATH . 'lib/appsero/src/Client.php');
|
| 144 |
}
|
| 145 |
+
add_filter('ml-slider_tracker_data', array($this, 'filterTrackingData'));
|
| 146 |
$client = new MSAppsero\Client($key, $name, $path);
|
| 147 |
$this->appsero = $client->insights();
|
| 148 |
return $this;
|
| 159 |
return;
|
| 160 |
}
|
| 161 |
|
|
|
|
| 162 |
if (self::siteIsOptin()) {
|
| 163 |
// If the user has opted in to sharing data with MetaSlider, we can skip the Appsero opt in
|
| 164 |
// $this->appsero->hide_notice()->init()->optinIfNotAlready(); <-- would be nice
|
| 165 |
+
$this->appsero->hide_notice()->add_extra(array($this, 'extraDataToCollect'))->init();
|
| 166 |
if (get_option('ml-slider_allow_tracking') === 'no') {
|
| 167 |
$this->appsero->optin();
|
| 168 |
}
|
| 170 |
// Here we are hiding the notice for users that aren't opted in, because we are serving our own notices
|
| 171 |
// We will make sure they are opted out from appsero too. Note, this initializes, but that's just for
|
| 172 |
// showing the notice and doesn't do any actual tracking unless the user approves.
|
| 173 |
+
$this->appsero->hide_notice()->add_extra(array($this, 'extraDataToCollect'))->init();
|
| 174 |
if (get_option('ml-slider_allow_tracking') === 'yes') {
|
| 175 |
$this->appsero->optout();
|
| 176 |
}
|
| 178 |
}
|
| 179 |
|
| 180 |
/**
|
| 181 |
+
* Filter Appsero's data
|
| 182 |
+
* - We want the user that opts in, not the first admin user
|
| 183 |
*
|
| 184 |
+
* @var array $data - The data from Appsero
|
| 185 |
+
*
|
| 186 |
+
* @return array
|
| 187 |
*/
|
| 188 |
+
public function filterTrackingData($data)
|
| 189 |
{
|
| 190 |
+
if (!$extras = get_option('metaslider_optin_user_extras')) {
|
| 191 |
+
return $data;
|
| 192 |
}
|
| 193 |
+
if ($admin_user = get_userdata($extras['id'])) {
|
| 194 |
+
$data['admin_email'] = $admin_user->user_email;
|
| 195 |
+
$data['first_name'] = $admin_user->first_name ? $admin_user->first_name : $admin_user->display_name;
|
| 196 |
+
$data['last_name'] = $admin_user->last_name;
|
| 197 |
+
}
|
| 198 |
+
return $data;
|
| 199 |
+
}
|
| 200 |
+
|
| 201 |
+
/**
|
| 202 |
+
* Add some extra fields - This is called async now so no need to cache it.
|
| 203 |
+
*
|
| 204 |
+
* @return void
|
| 205 |
+
*/
|
| 206 |
+
public function extraDataToCollect()
|
| 207 |
+
{
|
| 208 |
try {
|
| 209 |
$sliders_count = new WP_Query(array(
|
| 210 |
'post_type' => 'ml-slider',
|
| 219 |
'optin_via' => get_option('metaslider_optin_via'),
|
| 220 |
'slider_count' => $sliders_count ? $sliders_count->found_posts : 0
|
| 221 |
);
|
|
|
|
|
|
|
| 222 |
return $data;
|
| 223 |
} catch (\Throwable $th) {
|
| 224 |
return array();
|
| 269 |
*/
|
| 270 |
public function optin()
|
| 271 |
{
|
|
|
|
| 272 |
$current_user = wp_get_current_user();
|
| 273 |
update_option('metaslider_optin_user_extras', array(
|
| 274 |
'id' => $current_user->ID,
|
| 278 |
));
|
| 279 |
|
| 280 |
if ($this->appsero) {
|
| 281 |
+
$this->appsero->hide_notice()->add_extra(array($this, 'extraDataToCollect'))->init();
|
|
|
|
| 282 |
$this->appsero->optin();
|
| 283 |
}
|
| 284 |
|
ml-slider.php
CHANGED
|
@@ -6,7 +6,7 @@
|
|
| 6 |
* Plugin Name: MetaSlider
|
| 7 |
* Plugin URI: https://www.metaslider.com
|
| 8 |
* Description: Easy to use slideshow plugin. Create SEO optimised responsive slideshows with Nivo Slider, Flex Slider, Coin Slider and Responsive Slides.
|
| 9 |
-
* Version: 3.18.
|
| 10 |
* Author: MetaSlider
|
| 11 |
* Author URI: https://www.metaslider.com
|
| 12 |
* License: GPL-2.0+
|
|
@@ -35,7 +35,7 @@ class MetaSliderPlugin
|
|
| 35 |
*
|
| 36 |
* @var string
|
| 37 |
*/
|
| 38 |
-
public $version = '3.18.
|
| 39 |
|
| 40 |
/**
|
| 41 |
* Pro installed version number
|
| 6 |
* Plugin Name: MetaSlider
|
| 7 |
* Plugin URI: https://www.metaslider.com
|
| 8 |
* Description: Easy to use slideshow plugin. Create SEO optimised responsive slideshows with Nivo Slider, Flex Slider, Coin Slider and Responsive Slides.
|
| 9 |
+
* Version: 3.18.8
|
| 10 |
* Author: MetaSlider
|
| 11 |
* Author URI: https://www.metaslider.com
|
| 12 |
* License: GPL-2.0+
|
| 35 |
*
|
| 36 |
* @var string
|
| 37 |
*/
|
| 38 |
+
public $version = '3.18.8';
|
| 39 |
|
| 40 |
/**
|
| 41 |
* Pro installed version number
|
readme.txt
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
Contributors: matchalabs, DavidAnderson, dnutbourne, kbat82
|
| 3 |
Tags: slideshow, slider, image slider, carousel, gallery, flexslider, wordpress slider, nivoslider, rotating banner, responsive slideshow, seo slideshow, unsplash
|
| 4 |
Requires at least: 3.5
|
| 5 |
-
Stable tag: 3.18.
|
| 6 |
Requires PHP: 5.2
|
| 7 |
Tested up to: 5.5
|
| 8 |
License: GPLv2 or later
|
|
@@ -173,6 +173,12 @@ See https://www.metaslider.com/documentation/image-cropping/
|
|
| 173 |
|
| 174 |
== Changelog ==
|
| 175 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 176 |
= 3.18.7 - 2020/Oct/27 =
|
| 177 |
|
| 178 |
* TWEAK: Clean up some of the Analytic specific items and reporting bugs. Note: no bugs related to improper handling.
|
| 2 |
Contributors: matchalabs, DavidAnderson, dnutbourne, kbat82
|
| 3 |
Tags: slideshow, slider, image slider, carousel, gallery, flexslider, wordpress slider, nivoslider, rotating banner, responsive slideshow, seo slideshow, unsplash
|
| 4 |
Requires at least: 3.5
|
| 5 |
+
Stable tag: 3.18.8
|
| 6 |
Requires PHP: 5.2
|
| 7 |
Tested up to: 5.5
|
| 8 |
License: GPLv2 or later
|
| 173 |
|
| 174 |
== Changelog ==
|
| 175 |
|
| 176 |
+
= 3.18.8 - 2020/Nov/2 =
|
| 177 |
+
|
| 178 |
+
* TWEAK: Pass callback function to Appsero instead of relying on caching.
|
| 179 |
+
* TWEAK: Switches Appsero integration to only collected info on the user that logged in.
|
| 180 |
+
* FIX: Adds PHP5.3 compatibility by removing array shorthand syntax
|
| 181 |
+
|
| 182 |
= 3.18.7 - 2020/Oct/27 =
|
| 183 |
|
| 184 |
* TWEAK: Clean up some of the Analytic specific items and reporting bugs. Note: no bugs related to improper handling.
|
