FEEDZY RSS Feeds Lite - Version 3.1.10

Version Description

  • 2017-08-03
Download this release

Release Info

Developer codeinwp
Plugin Icon 128x128 FEEDZY RSS Feeds Lite
Version 3.1.10
Comparing to
See all releases

Code changes from version 3.1.9 to 3.1.10

CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
 
 
 
 
 
 
 
 
 
2
  ### v3.1.9 - 2017-07-21
3
  **Changes:**
4
  * Fixed issue with fetching images containg GET parameters.
1
 
2
+ ### v3.1.10 - 2017-08-07
3
+ **Changes:**
4
+
5
+ ### v3.1.10 - 2017-08-03
6
+ **Changes:**
7
+ * Fixed typos in shortcode builder.
8
+ * Fixed image encoding issue.
9
+
10
  ### v3.1.9 - 2017-07-21
11
  **Changes:**
12
  * Fixed issue with fetching images containg GET parameters.
css/feedzy-rss-feeds.css CHANGED
@@ -2,7 +2,7 @@
2
  * feedzy-rss-feeds.css
3
  * Feedzy RSS Feed
4
  * Copyright: (c) 2016 Themeisle, themeisle.com
5
- * Version: 3.1.9
6
  * Plugin Name: FEEDZY RSS Feeds
7
  * Plugin URI: http://themeisle.com/plugins/feedzy-rss-feeds/
8
  * Author: Themeisle
2
  * feedzy-rss-feeds.css
3
  * Feedzy RSS Feed
4
  * Copyright: (c) 2016 Themeisle, themeisle.com
5
+ * Version: 3.1.10
6
  * Plugin Name: FEEDZY RSS Feeds
7
  * Plugin URI: http://themeisle.com/plugins/feedzy-rss-feeds/
8
  * Author: Themeisle
feedzy-rss-feed.php CHANGED
@@ -15,7 +15,7 @@
15
  * Plugin Name: Feedzy RSS Feeds Lite
16
  * Plugin URI: https://themeisle.com/plugins/feedzy-rss-feeds-lite/
17
  * Description: A small and lightweight RSS aggregator plugin. Fast and very easy to use, it allows you to aggregate multiple RSS feeds into your WordPress site through fully customizable shortcodes & widgets.
18
- * Version: 3.1.9
19
  * Author: Themeisle
20
  * Author URI: http://themeisle.com
21
  * License: GPL-2.0+
15
  * Plugin Name: Feedzy RSS Feeds Lite
16
  * Plugin URI: https://themeisle.com/plugins/feedzy-rss-feeds-lite/
17
  * Description: A small and lightweight RSS aggregator plugin. Fast and very easy to use, it allows you to aggregate multiple RSS feeds into your WordPress site through fully customizable shortcodes & widgets.
18
+ * Version: 3.1.10
19
  * Author: Themeisle
20
  * Author URI: http://themeisle.com
21
  * License: GPL-2.0+
includes/abstract/feedzy-rss-feeds-admin-abstract.php CHANGED
@@ -725,6 +725,8 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
725
  $theThumbnail = $this->feedzy_return_image( $feedDescription );
726
  }
727
 
 
 
728
  return $theThumbnail;
729
  }
730
 
725
  $theThumbnail = $this->feedzy_return_image( $feedDescription );
726
  }
727
 
728
+ $theThumbnail = preg_replace( '/\s+/', '-', trim( preg_replace( '/[\s-]+/', ' ', $theThumbnail ) ) );
729
+
730
  return $theThumbnail;
731
  }
732
 
includes/admin/feedzy-rss-feeds-ui-lang.php CHANGED
@@ -260,7 +260,7 @@ class Feedzy_Rss_Feeds_Ui_Lang {
260
  ),
261
  ),
262
  'size' => array(
263
- 'label' => __( 'Thumblails dimension. Do not include "px". Eg: 150', 'feedzy-rss-feeds' ),
264
  'placeholder' => __( '(eg: 150)', 'feedzy-rss-feeds' ),
265
  'type' => 'text',
266
  'value' => '',
260
  ),
261
  ),
262
  'size' => array(
263
+ 'label' => __( 'Thumbnails dimension. Do not include "px". Eg: 150', 'feedzy-rss-feeds' ),
264
  'placeholder' => __( '(eg: 150)', 'feedzy-rss-feeds' ),
265
  'type' => 'text',
266
  'value' => '',
includes/feedzy-rss-feeds.php CHANGED
@@ -104,7 +104,7 @@ class Feedzy_Rss_Feeds {
104
  */
105
  public function init() {
106
  self::$plugin_name = 'feedzy-rss-feeds';
107
- self::$version = '3.1.9';
108
  self::$instance->load_dependencies();
109
  self::$instance->set_locale();
110
  self::$instance->define_admin_hooks();
104
  */
105
  public function init() {
106
  self::$plugin_name = 'feedzy-rss-feeds';
107
+ self::$version = '3.1.10';
108
  self::$instance->load_dependencies();
109
  self::$instance->set_locale();
110
  self::$instance->define_admin_hooks();
languages/feedzy-rss-feeds.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the GPL-2.0+.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Feedzy RSS Feeds Lite 3.1.4\n"
6
  "Report-Msgid-Bugs-To: https://github.com/Codeinwp/feedzy-rss-feeds/issues\n"
7
- "POT-Creation-Date: 2017-05-31 11:32:30+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -32,21 +32,21 @@ msgstr ""
32
  msgid "Sorry, this feed is currently unavailable or does not exists anymore."
33
  msgstr ""
34
 
35
- #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:322
36
  msgid ""
37
  "An error occured for when trying to retrieve feeds! Check the URL's "
38
  "provided as feed sources."
39
  msgstr ""
40
 
41
- #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:585
42
  msgid "by"
43
  msgstr ""
44
 
45
- #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:591
46
  msgid "on"
47
  msgstr ""
48
 
49
- #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:593
50
  msgid "at"
51
  msgstr ""
52
 
@@ -87,50 +87,50 @@ msgstr ""
87
  msgid "No categories in the trash"
88
  msgstr ""
89
 
90
- #: includes/admin/feedzy-rss-feeds-admin.php:148
91
  msgid "Category Feeds"
92
  msgstr ""
93
 
94
- #: includes/admin/feedzy-rss-feeds-admin.php:168
95
  msgid "Place your URL's here followed by a comma."
96
  msgstr ""
97
 
98
- #: includes/admin/feedzy-rss-feeds-admin.php:229
99
  msgid "Category Title"
100
  msgstr ""
101
 
102
- #: includes/admin/feedzy-rss-feeds-admin.php:230
103
- #: includes/admin/feedzy-rss-feeds-admin.php:233
104
  msgid "Slug"
105
  msgstr ""
106
 
107
- #: includes/admin/feedzy-rss-feeds-admin.php:257
108
  msgid "Undefined"
109
  msgstr ""
110
 
111
- #: includes/admin/feedzy-rss-feeds-admin.php:282
112
  msgid "Documentation and examples"
113
  msgstr ""
114
 
115
- #: includes/admin/feedzy-rss-feeds-admin.php:283
116
  msgid "More Plugins"
117
  msgstr ""
118
 
119
- #: includes/admin/feedzy-rss-feeds-admin.php:283
120
- #: includes/admin/feedzy-rss-feeds-admin.php:301
121
  msgid "More Features"
122
  msgstr ""
123
 
124
- #: includes/admin/feedzy-rss-feeds-admin.php:299
125
  #: includes/admin/feedzy-wp-widget.php:40
126
  msgid "Feedzy RSS Feeds"
127
  msgstr ""
128
 
129
- #: includes/admin/feedzy-rss-feeds-admin.php:299
130
  msgid "Feedzy RSS"
131
  msgstr ""
132
 
133
- #: includes/admin/feedzy-rss-feeds-admin.php:309
134
  msgid "Import Posts"
135
  msgstr ""
136
 
@@ -297,7 +297,7 @@ msgid "Select from Gallery"
297
  msgstr ""
298
 
299
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:263
300
- msgid "Thumblails dimension. Do not include \"px\". Eg: 150"
301
  msgstr ""
302
 
303
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:264
@@ -362,16 +362,6 @@ msgstr ""
362
  msgid "Intro text"
363
  msgstr ""
364
 
365
- #: vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-licenser.php:453
366
- msgid ""
367
- "Updating this theme will lose any customizations you have made. Cancel to "
368
- "stop, OK to update."
369
- msgstr ""
370
-
371
- #: vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-widget-dashboard-blog.php:197
372
- msgid "Install"
373
- msgstr ""
374
-
375
  #. Plugin Name of the plugin/theme
376
  msgid "Feedzy RSS Feeds Lite"
377
  msgstr ""
@@ -382,8 +372,9 @@ msgstr ""
382
 
383
  #. Description of the plugin/theme
384
  msgid ""
385
- "This is a short description of what the plugin does. It's displayed in the "
386
- "WordPress admin area."
 
387
  msgstr ""
388
 
389
  #. Author of the plugin/theme
2
  # This file is distributed under the GPL-2.0+.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Feedzy RSS Feeds Lite 3.1.9\n"
6
  "Report-Msgid-Bugs-To: https://github.com/Codeinwp/feedzy-rss-feeds/issues\n"
7
+ "POT-Creation-Date: 2017-07-26 20:26:01+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
32
  msgid "Sorry, this feed is currently unavailable or does not exists anymore."
33
  msgstr ""
34
 
35
+ #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:356
36
  msgid ""
37
  "An error occured for when trying to retrieve feeds! Check the URL's "
38
  "provided as feed sources."
39
  msgstr ""
40
 
41
+ #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:622
42
  msgid "by"
43
  msgstr ""
44
 
45
+ #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:628
46
  msgid "on"
47
  msgstr ""
48
 
49
+ #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:630
50
  msgid "at"
51
  msgstr ""
52
 
87
  msgid "No categories in the trash"
88
  msgstr ""
89
 
90
+ #: includes/admin/feedzy-rss-feeds-admin.php:149
91
  msgid "Category Feeds"
92
  msgstr ""
93
 
94
+ #: includes/admin/feedzy-rss-feeds-admin.php:170
95
  msgid "Place your URL's here followed by a comma."
96
  msgstr ""
97
 
98
+ #: includes/admin/feedzy-rss-feeds-admin.php:231
99
  msgid "Category Title"
100
  msgstr ""
101
 
102
+ #: includes/admin/feedzy-rss-feeds-admin.php:232
103
+ #: includes/admin/feedzy-rss-feeds-admin.php:235
104
  msgid "Slug"
105
  msgstr ""
106
 
107
+ #: includes/admin/feedzy-rss-feeds-admin.php:259
108
  msgid "Undefined"
109
  msgstr ""
110
 
111
+ #: includes/admin/feedzy-rss-feeds-admin.php:284
112
  msgid "Documentation and examples"
113
  msgstr ""
114
 
115
+ #: includes/admin/feedzy-rss-feeds-admin.php:285
116
  msgid "More Plugins"
117
  msgstr ""
118
 
119
+ #: includes/admin/feedzy-rss-feeds-admin.php:285
120
+ #: includes/admin/feedzy-rss-feeds-admin.php:304
121
  msgid "More Features"
122
  msgstr ""
123
 
124
+ #: includes/admin/feedzy-rss-feeds-admin.php:301
125
  #: includes/admin/feedzy-wp-widget.php:40
126
  msgid "Feedzy RSS Feeds"
127
  msgstr ""
128
 
129
+ #: includes/admin/feedzy-rss-feeds-admin.php:301
130
  msgid "Feedzy RSS"
131
  msgstr ""
132
 
133
+ #: includes/admin/feedzy-rss-feeds-admin.php:314
134
  msgid "Import Posts"
135
  msgstr ""
136
 
297
  msgstr ""
298
 
299
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:263
300
+ msgid "Thumbnails dimension. Do not include \"px\". Eg: 150"
301
  msgstr ""
302
 
303
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:264
362
  msgid "Intro text"
363
  msgstr ""
364
 
 
 
 
 
 
 
 
 
 
 
365
  #. Plugin Name of the plugin/theme
366
  msgid "Feedzy RSS Feeds Lite"
367
  msgstr ""
372
 
373
  #. Description of the plugin/theme
374
  msgid ""
375
+ "A small and lightweight RSS aggregator plugin. Fast and very easy to use, "
376
+ "it allows you to aggregate multiple RSS feeds into your WordPress site "
377
+ "through fully customizable shortcodes & widgets."
378
  msgstr ""
379
 
380
  #. Author of the plugin/theme
readme.txt CHANGED
@@ -2,7 +2,7 @@
2
  Contributors: themeisle,codeinwp,hardeepasrani
3
  Tags: RSS, SimplePie, shortcode, feed, thumbnail, image, rss feeds, aggregator, tinyMCE, WYSIWYG, MCE, UI, flux, plugin, WordPress, widget, importer, XML, ATOM, API, parser
4
  Requires at least: 3.7
5
- Tested up to: 4.8.0
6
  Stable tag: trunk
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -136,65 +136,71 @@ Yes it is.
136
 
137
  You have to check first if your feed is valid. Please test it here: https://validator.w3.org/feed/
138
 
 
 
 
 
 
 
139
  = How to change cache lifetime for a specific feed =
140
- http://docs.themeisle.com/article/547-how-to-change-cache-lifetime-for-a-specific-feed
141
 
142
  = How to change thumbs size and aspect ratio =
143
- http://docs.themeisle.com/article/551-how-to-change-thumbs-size-and-aspect-ratio
144
 
145
  = What hooks and filters are available in Feedzy =
146
- http://docs.themeisle.com/article/540-what-hooks-and-filters-are-available-in-feedzy
147
 
148
  = How to change the blacklist image name =
149
- http://docs.themeisle.com/article/552-how-to-change-the-blacklist-image-name
150
 
151
  = How to decode item title =
152
- http://docs.themeisle.com/article/548-how-to-decode-item-title-with
153
 
154
  = How to remove featured image from blog feed =
155
- http://docs.themeisle.com/article/554-how-to-remove-featured-image-from-blog-feed
156
 
157
  = How to keep html in feed items content =
158
- http://docs.themeisle.com/article/542-how-to-keep-html-in-feed-items-content
159
 
160
  = How to remove plugin css =
161
- http://docs.themeisle.com/article/545-how-to-remove-plugin-css
162
 
163
  = How to remove links =
164
- http://docs.themeisle.com/article/541-how-to-remove-links
165
 
166
  = How to add a read more link =
167
- http://docs.themeisle.com/article/544-how-to-add-a-read-more-link
168
 
169
  = How to remove time from publication date =
170
- http://docs.themeisle.com/article/553-how-to-remove-time-from-publication-date
171
 
172
  = How to handle publication date and author content =
173
- http://docs.themeisle.com/article/549-how-to-handle-time-and-date-content
174
 
175
  = How to use your own inline css =
176
- http://docs.themeisle.com/article/546-how-to-use-your-own-inline-css
177
 
178
  = How to remove the end hellip =
179
- http://docs.themeisle.com/article/543-how-to-remove-the-end-hellip
180
 
181
  = How to display items in a random order =
182
- http://docs.themeisle.com/article/550-how-to-display-items-in-a-random-order
183
 
184
  = How to sort items alphabetically by their title =
185
- http://docs.themeisle.com/article/633-how-to-sort-feed-items-by-title
186
 
187
  = How to display RSS feed time and date in local time =
188
- http://docs.themeisle.com/article/567-how-to-display-rss-feed-time-and-date-in-local-time
189
 
190
  = How to change author url =
191
- http://docs.themeisle.com/article/636-how-to-change-author-url
192
 
193
  = How remove feed items duplicates by url =
194
- http://docs.themeisle.com/article/638-how-to-eliminate-duplicate-feed-item
195
 
196
  = How to use feedzy categories =
197
- http://docs.themeisle.com/article/640-how-to-use-feedzy-categories
198
 
199
  == Screenshots ==
200
 
@@ -205,6 +211,12 @@ http://docs.themeisle.com/article/640-how-to-use-feedzy-categories
205
 
206
 
207
  == Changelog ==
 
 
 
 
 
 
208
  = 3.1.9 - 2017-07-21 =
209
 
210
  * Fixed issue with fetching images containg GET parameters.
2
  Contributors: themeisle,codeinwp,hardeepasrani
3
  Tags: RSS, SimplePie, shortcode, feed, thumbnail, image, rss feeds, aggregator, tinyMCE, WYSIWYG, MCE, UI, flux, plugin, WordPress, widget, importer, XML, ATOM, API, parser
4
  Requires at least: 3.7
5
+ Tested up to: 4.8
6
  Stable tag: trunk
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
136
 
137
  You have to check first if your feed is valid. Please test it here: https://validator.w3.org/feed/
138
 
139
+ = Where do i find the plugin documentation =
140
+ [http://docs.themeisle.com/article/658-feedzy-rss-feeds](http://docs.themeisle.com/article/658-feedzy-rss-feeds)
141
+
142
+ = How to fix images that are not showing in the feed =
143
+ [http://docs.themeisle.com/article/666-how-to-fix-images-that-are-not-showing-in-the-feed](http://docs.themeisle.com/article/666-how-to-fix-images-that-are-not-showing-in-the-feed)
144
+
145
  = How to change cache lifetime for a specific feed =
146
+ [http://docs.themeisle.com/article/547-how-to-change-cache-lifetime-for-a-specific-feed](http://docs.themeisle.com/article/547-how-to-change-cache-lifetime-for-a-specific-feed)
147
 
148
  = How to change thumbs size and aspect ratio =
149
+ [http://docs.themeisle.com/article/551-how-to-change-thumbs-size-and-aspect-ratio](http://docs.themeisle.com/article/551-how-to-change-thumbs-size-and-aspect-ratio)
150
 
151
  = What hooks and filters are available in Feedzy =
152
+ [http://docs.themeisle.com/article/540-what-hooks-and-filters-are-available-in-feedzy](http://docs.themeisle.com/article/540-what-hooks-and-filters-are-available-in-feedzy)
153
 
154
  = How to change the blacklist image name =
155
+ [http://docs.themeisle.com/article/552-how-to-change-the-blacklist-image-name](http://docs.themeisle.com/article/552-how-to-change-the-blacklist-image-name)
156
 
157
  = How to decode item title =
158
+ [http://docs.themeisle.com/article/548-how-to-decode-item-title-with](http://docs.themeisle.com/article/548-how-to-decode-item-title-with)
159
 
160
  = How to remove featured image from blog feed =
161
+ [http://docs.themeisle.com/article/554-how-to-remove-featured-image-from-blog-feed](http://docs.themeisle.com/article/554-how-to-remove-featured-image-from-blog-feed)
162
 
163
  = How to keep html in feed items content =
164
+ [http://docs.themeisle.com/article/542-how-to-keep-html-in-feed-items-content](http://docs.themeisle.com/article/542-how-to-keep-html-in-feed-items-content)
165
 
166
  = How to remove plugin css =
167
+ [http://docs.themeisle.com/article/545-how-to-remove-plugin-css](http://docs.themeisle.com/article/545-how-to-remove-plugin-css)
168
 
169
  = How to remove links =
170
+ [http://docs.themeisle.com/article/541-how-to-remove-links](http://docs.themeisle.com/article/541-how-to-remove-links)
171
 
172
  = How to add a read more link =
173
+ [http://docs.themeisle.com/article/544-how-to-add-a-read-more-link](http://docs.themeisle.com/article/544-how-to-add-a-read-more-link)
174
 
175
  = How to remove time from publication date =
176
+ [http://docs.themeisle.com/article/553-how-to-remove-time-from-publication-date](http://docs.themeisle.com/article/553-how-to-remove-time-from-publication-date)
177
 
178
  = How to handle publication date and author content =
179
+ [http://docs.themeisle.com/article/549-how-to-handle-time-and-date-content](http://docs.themeisle.com/article/549-how-to-handle-time-and-date-content)
180
 
181
  = How to use your own inline css =
182
+ [http://docs.themeisle.com/article/546-how-to-use-your-own-inline-css](http://docs.themeisle.com/article/546-how-to-use-your-own-inline-css)
183
 
184
  = How to remove the end hellip =
185
+ [http://docs.themeisle.com/article/543-how-to-remove-the-end-hellip](http://docs.themeisle.com/article/543-how-to-remove-the-end-hellip)
186
 
187
  = How to display items in a random order =
188
+ [http://docs.themeisle.com/article/550-how-to-display-items-in-a-random-order](http://docs.themeisle.com/article/550-how-to-display-items-in-a-random-order)
189
 
190
  = How to sort items alphabetically by their title =
191
+ [http://docs.themeisle.com/article/633-how-to-sort-feed-items-by-title](http://docs.themeisle.com/article/633-how-to-sort-feed-items-by-title)
192
 
193
  = How to display RSS feed time and date in local time =
194
+ [http://docs.themeisle.com/article/567-how-to-display-rss-feed-time-and-date-in-local-time](http://docs.themeisle.com/article/567-how-to-display-rss-feed-time-and-date-in-local-time)
195
 
196
  = How to change author url =
197
+ [http://docs.themeisle.com/article/636-how-to-change-author-url](http://docs.themeisle.com/article/636-how-to-change-author-url)
198
 
199
  = How remove feed items duplicates by url =
200
+ [http://docs.themeisle.com/article/638-how-to-eliminate-duplicate-feed-item](http://docs.themeisle.com/article/638-how-to-eliminate-duplicate-feed-item)
201
 
202
  = How to use feedzy categories =
203
+ [http://docs.themeisle.com/article/640-how-to-use-feedzy-categories](http://docs.themeisle.com/article/640-how-to-use-feedzy-categories)
204
 
205
  == Screenshots ==
206
 
211
 
212
 
213
  == Changelog ==
214
+ = 3.1.10 - 2017-08-03 =
215
+
216
+ * Fixed typos in shortcode builder.
217
+ * Fixed image encoding issue.
218
+
219
+
220
  = 3.1.9 - 2017-07-21 =
221
 
222
  * Fixed issue with fetching images containg GET parameters.
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInitab16ad30c91b5a02c0955bf374590651::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit7261a8751a6448dcb948c98e3fc2b13d::getLoader();
vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInitc7c3c0522117728f5887b31048b459c7::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInit6defe65396badecd56440924d9151502::getLoader();
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-feedback-deactivate.php CHANGED
@@ -231,50 +231,50 @@ if ( ! class_exists( 'ThemeIsle_SDK_Feedback_Deactivate' ) ) :
231
  (function ($) {
232
  $(document).ready(function () {
233
 
234
- var href = $('tr[data-plugin^="<?php echo $this->product->get_slug();?>/"] span.deactivate a').attr('href');
235
- $('#<?php echo $key;?>ti-deactivate-no').on('click', function (e) {
236
  e.preventDefault();
237
  e.stopPropagation();
238
  $('body').unbind('thickbox:removed');
239
  tb_remove();
240
  });
241
 
242
- $('#<?php echo $key;?> ul.ti-list label, #<?php echo $key;?> ul.ti-list input[name="ti-deactivate-option"]').on('click', function (e) {
243
- $('#<?php echo $key;?>ti-deactivate-yes').val($('#<?php echo $key;?>ti-deactivate-yes').attr('data-after-text'));
244
 
245
  var radio = $(this).prop('tagName') === 'LABEL' ? $(this).parent() : $(this);
246
  if (radio.parent().find('textarea').length > 0 && radio.parent().find('textarea').val().length === 0) {
247
- $('#<?php echo $key;?>ti-deactivate-yes').attr('disabled', 'disabled');
248
  radio.parent().find('textarea').on('keyup', function (ee) {
249
  if ($(this).val().length === 0) {
250
- $('#<?php echo $key;?>ti-deactivate-yes').attr('disabled', 'disabled');
251
  } else {
252
- $('#<?php echo $key;?>ti-deactivate-yes').removeAttr('disabled');
253
  }
254
  });
255
  } else {
256
- $('#<?php echo $key;?>ti-deactivate-yes').removeAttr('disabled');
257
  }
258
  });
259
 
260
- $('#<?php echo $key;?>ti-deactivate-yes').attr('data-ti-action', href).on('click', function (e) {
261
  e.preventDefault();
262
  e.stopPropagation();
263
  $.ajax({
264
  url: ajaxurl,
265
  method: 'post',
266
  data: {
267
- 'action': '<?php echo $key . __CLASS__;?>',
268
- 'nonce': '<?php echo wp_create_nonce( (string) __CLASS__ );?>',
269
- 'id': $('#<?php echo $key;?> input[name="ti-deactivate-option"]:checked').parent().attr('ti-option-id'),
270
- 'msg': $('#<?php echo $key;?> input[name="ti-deactivate-option"]:checked').parent().find('textarea').val()
271
  },
272
  });
273
  location.href = $(this).attr('data-ti-action');
274
  });
275
- $('tr[data-plugin^="<?php echo $this->product->get_slug();?>/"] span.deactivate a').attr('name', '<?php echo esc_html( $heading ); ?>').attr('href', '<?php echo $src;?>').addClass('thickbox');
276
  var thicbox_timer;
277
- $('tr[data-plugin^="<?php echo $this->product->get_slug();?>/"] span.deactivate a').on('click', function () {
278
  tiBindThickbox();
279
  });
280
 
@@ -330,13 +330,15 @@ if ( ! class_exists( 'ThemeIsle_SDK_Feedback_Deactivate' ) ) :
330
  }
331
 
332
  return '<div id="' . $this->product->get_key() . '">'
333
- . '<ul class="ti-list">' . $list . '</ul>'
334
- . '<div class="actions">'
335
- . get_submit_button( __( $button_submit_before ), 'secondary', $this->product->get_key() . 'ti-deactivate-yes', false, array(
336
- 'data-after-text' => $button_submit,
337
- ) )
338
- . get_submit_button( __( $button_cancel ), 'primary', $this->product->get_key() . 'ti-deactivate-no', false )
339
- . '</div></div>';
 
 
340
  }
341
 
342
  /**
@@ -346,11 +348,13 @@ if ( ! class_exists( 'ThemeIsle_SDK_Feedback_Deactivate' ) ) :
346
  check_ajax_referer( (string) __CLASS__, 'nonce' );
347
 
348
  if ( ! empty( $_POST['id'] ) ) {
349
- $this->call_api( array(
350
- 'type' => 'deactivate',
351
- 'id' => $_POST['id'],
352
- 'comment' => isset( $_POST['msg'] ) ? $_POST['msg'] : '',
353
- ) );
 
 
354
  }
355
  }
356
  }
231
  (function ($) {
232
  $(document).ready(function () {
233
 
234
+ var href = $('tr[data-plugin^="<?php echo $this->product->get_slug(); ?>/"] span.deactivate a').attr('href');
235
+ $('#<?php echo $key; ?>ti-deactivate-no').on('click', function (e) {
236
  e.preventDefault();
237
  e.stopPropagation();
238
  $('body').unbind('thickbox:removed');
239
  tb_remove();
240
  });
241
 
242
+ $('#<?php echo $key; ?> ul.ti-list label, #<?php echo $key; ?> ul.ti-list input[name="ti-deactivate-option"]').on('click', function (e) {
243
+ $('#<?php echo $key; ?>ti-deactivate-yes').val($('#<?php echo $key; ?>ti-deactivate-yes').attr('data-after-text'));
244
 
245
  var radio = $(this).prop('tagName') === 'LABEL' ? $(this).parent() : $(this);
246
  if (radio.parent().find('textarea').length > 0 && radio.parent().find('textarea').val().length === 0) {
247
+ $('#<?php echo $key; ?>ti-deactivate-yes').attr('disabled', 'disabled');
248
  radio.parent().find('textarea').on('keyup', function (ee) {
249
  if ($(this).val().length === 0) {
250
+ $('#<?php echo $key; ?>ti-deactivate-yes').attr('disabled', 'disabled');
251
  } else {
252
+ $('#<?php echo $key; ?>ti-deactivate-yes').removeAttr('disabled');
253
  }
254
  });
255
  } else {
256
+ $('#<?php echo $key; ?>ti-deactivate-yes').removeAttr('disabled');
257
  }
258
  });
259
 
260
+ $('#<?php echo $key; ?>ti-deactivate-yes').attr('data-ti-action', href).on('click', function (e) {
261
  e.preventDefault();
262
  e.stopPropagation();
263
  $.ajax({
264
  url: ajaxurl,
265
  method: 'post',
266
  data: {
267
+ 'action': '<?php echo $key . __CLASS__; ?>',
268
+ 'nonce': '<?php echo wp_create_nonce( (string) __CLASS__ ); ?>',
269
+ 'id': $('#<?php echo $key; ?> input[name="ti-deactivate-option"]:checked').parent().attr('ti-option-id'),
270
+ 'msg': $('#<?php echo $key; ?> input[name="ti-deactivate-option"]:checked').parent().find('textarea').val()
271
  },
272
  });
273
  location.href = $(this).attr('data-ti-action');
274
  });
275
+ $('tr[data-plugin^="<?php echo $this->product->get_slug(); ?>/"] span.deactivate a').attr('name', '<?php echo esc_html( $heading ); ?>').attr('href', '<?php echo $src; ?>').addClass('thickbox');
276
  var thicbox_timer;
277
+ $('tr[data-plugin^="<?php echo $this->product->get_slug(); ?>/"] span.deactivate a').on('click', function () {
278
  tiBindThickbox();
279
  });
280
 
330
  }
331
 
332
  return '<div id="' . $this->product->get_key() . '">'
333
+ . '<ul class="ti-list">' . $list . '</ul>'
334
+ . '<div class="actions">'
335
+ . get_submit_button(
336
+ __( $button_submit_before ), 'secondary', $this->product->get_key() . 'ti-deactivate-yes', false, array(
337
+ 'data-after-text' => $button_submit,
338
+ )
339
+ )
340
+ . get_submit_button( __( $button_cancel ), 'primary', $this->product->get_key() . 'ti-deactivate-no', false )
341
+ . '</div></div>';
342
  }
343
 
344
  /**
348
  check_ajax_referer( (string) __CLASS__, 'nonce' );
349
 
350
  if ( ! empty( $_POST['id'] ) ) {
351
+ $this->call_api(
352
+ array(
353
+ 'type' => 'deactivate',
354
+ 'id' => $_POST['id'],
355
+ 'comment' => isset( $_POST['msg'] ) ? $_POST['msg'] : '',
356
+ )
357
+ );
358
  }
359
  }
360
  }
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-feedback-review.php CHANGED
@@ -21,12 +21,19 @@ if ( ! class_exists( 'ThemeIsle_SDK_Feedback_Review' ) ) :
21
  /**
22
  * @var string $heading The heading of the modal
23
  */
24
- private $heading = 'Hey, it’s great to see you have {product} active for a few days now. How is everything going? If you can spare a few moments to rate it on WordPress.org it would help us a lot (and boost my motivation). Cheers! <br/> <br/>~ Marius, developer of {product}';
25
 
26
  /**
27
  * @var string $button_cancel The text of the cancel button
28
  */
29
  private $button_cancel = 'No, thanks.';
 
 
 
 
 
 
 
30
  /**
31
  * @var string $button_already The text of the already did it button
32
  */
@@ -107,17 +114,17 @@ if ( ! class_exists( 'ThemeIsle_SDK_Feedback_Review' ) ) :
107
  <script type="text/javascript" id="<?php echo $key; ?>ti-review-js">
108
  (function ($) {
109
  $(document).ready(function () {
110
- $('#<?php echo $key?>_review').on('click', '.notice-dismiss, .review-dismiss', function (e) {
111
 
112
  $.ajax({
113
  url: ajaxurl,
114
  method: "post",
115
  data: {
116
- 'nonce': '<?php echo wp_create_nonce( (string) __CLASS__ );?>',
117
- 'action': '<?php echo $this->product->get_key() . __CLASS__;?>'
118
  },
119
  success: function () {
120
- $('#<?php echo $key;?>_review').hide();
121
  }
122
  });
123
  });
@@ -133,19 +140,23 @@ if ( ! class_exists( 'ThemeIsle_SDK_Feedback_Review' ) ) :
133
  * @param string $key The product key.
134
  */
135
  function get_html( $key ) {
136
- $link = 'https://wordpress.org/support/plugin/' . $this->product->get_slug() . '/reviews/#wporg-footer';
137
- $heading = apply_filters( $this->product->get_key() . '_feedback_review_heading', $this->heading );
138
- $heading = str_replace( array( '{product}' ),
139
- trim( str_replace( 'Lite', '', $this->product->get_name() ) ), $heading );
 
 
 
 
140
  $button_cancel = apply_filters( $this->product->get_key() . '_feedback_review_button_cancel', $this->button_cancel );
141
  $button_do = apply_filters( $this->product->get_key() . '_feedback_review_button_do', $this->button_do );
142
 
143
  return '<div id="' . $this->product->get_key() . '-review-notification" class="themeisle-sdk-review-box">'
144
- . '<p>' . $heading . '</p>'
145
- . '<div class="actions">'
146
- . '<a href="' . $link . '" target="_blank" class="button button-primary review-dismiss"> ' . $button_do . '</a>'
147
- . get_submit_button( $button_cancel, 'review-dismiss ' . $this->product->get_key() . '-ti-review', $this->product->get_key() . 'ti-review-no', false )
148
- . '</div></div>';
149
  }
150
 
151
  /**
21
  /**
22
  * @var string $heading The heading of the modal
23
  */
24
+ private $heading = 'Hey, it’s great to see you have {product} active for a few days now. How is everything going? If you can spare a few moments to rate it on WordPress.org it would help us a lot (and boost my motivation). Cheers! <br/> <br/>~ {developer}, developer of {product}';
25
 
26
  /**
27
  * @var string $button_cancel The text of the cancel button
28
  */
29
  private $button_cancel = 'No, thanks.';
30
+ /**
31
+ * @var array Developers who work for each type of product for review purpose.
32
+ */
33
+ private $developers = array(
34
+ 'plugin' => array( 'Marius', 'Bogdan' ),
35
+ 'theme' => array( 'Rodica', 'Andrei', 'Bogdan', 'Cristi' ),
36
+ );
37
  /**
38
  * @var string $button_already The text of the already did it button
39
  */
114
  <script type="text/javascript" id="<?php echo $key; ?>ti-review-js">
115
  (function ($) {
116
  $(document).ready(function () {
117
+ $('#<?php echo $key; ?>_review').on('click', '.notice-dismiss, .review-dismiss', function (e) {
118
 
119
  $.ajax({
120
  url: ajaxurl,
121
  method: "post",
122
  data: {
123
+ 'nonce': '<?php echo wp_create_nonce( (string) __CLASS__ ); ?>',
124
+ 'action': '<?php echo $this->product->get_key() . __CLASS__; ?>'
125
  },
126
  success: function () {
127
+ $('#<?php echo $key; ?>_review').hide();
128
  }
129
  });
130
  });
140
  * @param string $key The product key.
141
  */
142
  function get_html( $key ) {
143
+ $link = 'https://wordpress.org/support/' . $this->product->get_type() . '/' . $this->product->get_slug() . '/reviews/#wporg-footer';
144
+ $heading = apply_filters( $this->product->get_key() . '_feedback_review_heading', $this->heading );
145
+ $heading = str_replace(
146
+ array( '{product}' ),
147
+ trim( str_replace( 'Lite', '', $this->product->get_name() ) ), $heading
148
+ );
149
+ $heading = str_replace( '{developer}', $this->developers[ $this->product->get_type() ][ rand( 0, ( count( $this->developers[ $this->product->get_type() ] ) - 1 ) ) ], $heading );
150
+
151
  $button_cancel = apply_filters( $this->product->get_key() . '_feedback_review_button_cancel', $this->button_cancel );
152
  $button_do = apply_filters( $this->product->get_key() . '_feedback_review_button_do', $this->button_do );
153
 
154
  return '<div id="' . $this->product->get_key() . '-review-notification" class="themeisle-sdk-review-box">'
155
+ . '<p>' . $heading . '</p>'
156
+ . '<div class="actions">'
157
+ . '<a href="' . $link . '" target="_blank" class="button button-primary review-dismiss"> ' . $button_do . '</a>'
158
+ . get_submit_button( $button_cancel, 'review-dismiss ' . $this->product->get_key() . '-ti-review', $this->product->get_key() . 'ti-review-no', false )
159
+ . '</div></div>';
160
  }
161
 
162
  /**
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-feedback.php CHANGED
@@ -57,9 +57,11 @@ if ( ! class_exists( 'ThemeIsle_SDK_Feedback' ) ) :
57
  $attributes['slug'] = $slug;
58
  $attributes['version'] = $version;
59
 
60
- $response = wp_remote_post( $this->feedback_url, array(
61
- 'body' => $attributes,
62
- ) );
 
 
63
  }
64
 
65
  /**
57
  $attributes['slug'] = $slug;
58
  $attributes['version'] = $version;
59
 
60
+ $response = wp_remote_post(
61
+ $this->feedback_url, array(
62
+ 'body' => $attributes,
63
+ )
64
+ );
65
  }
66
 
67
  /**
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-licenser.php CHANGED
@@ -90,13 +90,14 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
90
  // Decode the JSON response
91
  $themes = json_decode( $r['body']['themes'] );
92
 
93
- unset( $themes->themes->{ $this->product->get_slug() } );
94
 
95
  // Encode the updated JSON response
96
  $r['body']['themes'] = json_encode( $themes );
97
 
98
  return $r;
99
  }
 
100
  /**
101
  * Register the setting for the license of the product
102
  *
@@ -228,25 +229,35 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
228
  return false;
229
  }
230
  $status = $this->get_license_status();
231
- $no_activations_string = apply_filters( $this->product->get_key() . '_lc_no_activations_string', 'No activations left for %s !!!. You need to
 
232
  upgrade your plan in order to use %s on more
233
  websites. Please ask the %s
234
- Staff for more details.' );
235
- $no_valid_string = apply_filters( $this->product->get_key() . '_lc_no_valid_string', 'In order to benefit from updates and support for %s , please add
 
 
236
  your license code from your <a href="%s" target="_blank">purchase history</a> and validate it <a
237
- href="%s">here</a> ' );
238
- $expiration_string = apply_filters( $this->product->get_key() . '_lc_expiration_string', 'Your license is about to expire
239
- for %s. You can go to %s and renew it ' );
 
 
 
240
  $hide_notice_string = apply_filters( $this->product->get_key() . '_lc_hide_notice_string', 'Hide Notice' );
241
  if ( $status != 'valid' ) {
242
  if ( $this->check_activation() ) {
243
  if ( $this->check_hide( 'activation' ) ) {
244
  ?>
245
  <div class="error">
246
- <p><strong><?php
247
- echo sprintf( $no_activations_string, $this->product->get_name(), $this->product->get_name(), '<a href="' . $this->product->get_store_url() . '"
248
- target="_blank">' . $this->product->get_store_name() . '</a>' );
249
- ?></strong> | <a
 
 
 
 
250
  href="<?php echo add_query_arg( $this->product->get_key() . '_activation', 'yes' ); ?> "><?php echo $hide_notice_string; ?></a>
251
  </p>
252
  </div>
@@ -271,9 +282,15 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
271
  ?>
272
  <div class="update-nag">
273
  <p>
274
- <strong><?php echo sprintf( $expiration_string, $this->product->get_name() . ' ' . $this->product->get_type(), '<a
 
 
 
275
  href="' . $this->renew_url() . '"
276
- target="_blank">' . $this->product->get_store_name() . '</a>' ); ?> </strong> |
 
 
 
277
  <a
278
  href="<?php echo add_query_arg( $this->product->get_key() . '_hide_expiration', 'yes' ); ?> "><?php echo $hide_notice_string; ?></a>
279
  </p>
@@ -333,10 +350,12 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
333
  'url' => rawurlencode( home_url() ),
334
  );
335
  // Call the custom API.
336
- $response = wp_remote_get( add_query_arg( $api_params, $this->product->get_store_url() ), array(
337
- 'timeout' => 15,
338
- 'sslverify' => false,
339
- ) );
 
 
340
  if ( is_wp_error( $response ) ) {
341
  $license_data = new stdClass();
342
  $license_data->license = 'valid';
@@ -436,10 +455,12 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
436
  */
437
  public function enable() {
438
  if ( $this->product->get_type() == 'plugin' ) {
439
- add_filter( 'pre_set_site_transient_update_plugins', array(
440
- $this,
441
- 'pre_set_site_transient_update_plugins_filter',
442
- ) );
 
 
443
  add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
444
  add_filter( 'http_request_args', array( $this, 'http_request_args' ), 10, 2 );
445
  }
@@ -473,10 +494,12 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
473
  return;
474
  }
475
  $update_url = wp_nonce_url( 'update.php?action=upgrade-theme&amp;theme=' . urlencode( $this->product->get_slug() ), 'upgrade-theme_' . $this->product->get_slug() );
476
- $update_onclick = ' onclick="if ( confirm(\'' . esc_js( __( 'Updating this theme will lose any customizations you have made. Cancel to stop, OK to update.' ) ) . '\') ) {return true;}return false;"';
 
477
  if ( version_compare( $this->product->get_version(), $api_response->new_version, '<' ) ) {
478
  echo '<div id="update-nag">';
479
- printf( '<strong>%1$s %2$s</strong> is available. <a href="%3$s" class="thickbox" title="%4s">Check out what\'s new</a> or <a href="%5$s"%6$s>update now</a>.',
 
480
  $theme->get( 'Name' ),
481
  $api_response->new_version,
482
  '#TB_inline?width=640&amp;inlineId=' . $this->product->get_version() . '_changelog',
@@ -534,11 +557,13 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
534
  'author' => $this->product->get_store_name(),
535
  'url' => rawurlencode( home_url() ),
536
  );
537
- $response = wp_remote_post( $this->product->get_store_url(), array(
538
- 'timeout' => 15,
539
- 'sslverify' => false,
540
- 'body' => $api_params,
541
- ) );
 
 
542
  // make sure the response was successful
543
  if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
544
  $failed = true;
@@ -606,7 +631,7 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
606
  * @uses is_wp_error()
607
  *
608
  * @param string $_action The requested action.
609
- * @param array $_data Parameters for the API action.
610
  *
611
  * @return false||object
612
  */
@@ -622,11 +647,13 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
622
  'author' => $this->product->get_store_name(),
623
  'url' => rawurlencode( home_url() ),
624
  );
625
- $request = wp_remote_post( $this->product->get_store_url(), array(
626
- 'timeout' => 15,
627
- 'sslverify' => false,
628
- 'body' => $api_params,
629
- ) );
 
 
630
  if ( ! is_wp_error( $request ) ) :
631
  $request = json_decode( wp_remote_retrieve_body( $request ) );
632
  if ( $request && isset( $request->sections ) ) {
@@ -644,9 +671,9 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
644
  *
645
  * @uses api_request()
646
  *
647
- * @param mixed $_data Plugin data.
648
  * @param string $_action Action to send.
649
- * @param object $_args Arguments to use.
650
  *
651
  * @return object $_data
652
  */
@@ -666,7 +693,7 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
666
  * Disable SSL verification in order to prevent download update failures
667
  *
668
  * @param array $args Http args.
669
- * @param string $url Url to check.
670
  *
671
  * @return object $array
672
  */
90
  // Decode the JSON response
91
  $themes = json_decode( $r['body']['themes'] );
92
 
93
+ unset( $themes->themes->{$this->product->get_slug()} );
94
 
95
  // Encode the updated JSON response
96
  $r['body']['themes'] = json_encode( $themes );
97
 
98
  return $r;
99
  }
100
+
101
  /**
102
  * Register the setting for the license of the product
103
  *
229
  return false;
230
  }
231
  $status = $this->get_license_status();
232
+ $no_activations_string = apply_filters(
233
+ $this->product->get_key() . '_lc_no_activations_string', 'No activations left for %s !!!. You need to
234
  upgrade your plan in order to use %s on more
235
  websites. Please ask the %s
236
+ Staff for more details.'
237
+ );
238
+ $no_valid_string = apply_filters(
239
+ $this->product->get_key() . '_lc_no_valid_string', 'In order to benefit from updates and support for %s , please add
240
  your license code from your <a href="%s" target="_blank">purchase history</a> and validate it <a
241
+ href="%s">here</a> '
242
+ );
243
+ $expiration_string = apply_filters(
244
+ $this->product->get_key() . '_lc_expiration_string', 'Your license is about to expire
245
+ for %s. You can go to %s and renew it '
246
+ );
247
  $hide_notice_string = apply_filters( $this->product->get_key() . '_lc_hide_notice_string', 'Hide Notice' );
248
  if ( $status != 'valid' ) {
249
  if ( $this->check_activation() ) {
250
  if ( $this->check_hide( 'activation' ) ) {
251
  ?>
252
  <div class="error">
253
+ <p><strong>
254
+ <?php
255
+ echo sprintf(
256
+ $no_activations_string, $this->product->get_name(), $this->product->get_name(), '<a href="' . $this->product->get_store_url() . '"
257
+ target="_blank">' . $this->product->get_store_name() . '</a>'
258
+ );
259
+ ?>
260
+ </strong> | <a
261
  href="<?php echo add_query_arg( $this->product->get_key() . '_activation', 'yes' ); ?> "><?php echo $hide_notice_string; ?></a>
262
  </p>
263
  </div>
282
  ?>
283
  <div class="update-nag">
284
  <p>
285
+ <strong>
286
+ <?php
287
+ echo sprintf(
288
+ $expiration_string, $this->product->get_name() . ' ' . $this->product->get_type(), '<a
289
  href="' . $this->renew_url() . '"
290
+ target="_blank">' . $this->product->get_store_name() . '</a>'
291
+ );
292
+ ?>
293
+ </strong> |
294
  <a
295
  href="<?php echo add_query_arg( $this->product->get_key() . '_hide_expiration', 'yes' ); ?> "><?php echo $hide_notice_string; ?></a>
296
  </p>
350
  'url' => rawurlencode( home_url() ),
351
  );
352
  // Call the custom API.
353
+ $response = wp_remote_get(
354
+ add_query_arg( $api_params, $this->product->get_store_url() ), array(
355
+ 'timeout' => 15,
356
+ 'sslverify' => false,
357
+ )
358
+ );
359
  if ( is_wp_error( $response ) ) {
360
  $license_data = new stdClass();
361
  $license_data->license = 'valid';
455
  */
456
  public function enable() {
457
  if ( $this->product->get_type() == 'plugin' ) {
458
+ add_filter(
459
+ 'pre_set_site_transient_update_plugins', array(
460
+ $this,
461
+ 'pre_set_site_transient_update_plugins_filter',
462
+ )
463
+ );
464
  add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
465
  add_filter( 'http_request_args', array( $this, 'http_request_args' ), 10, 2 );
466
  }
494
  return;
495
  }
496
  $update_url = wp_nonce_url( 'update.php?action=upgrade-theme&amp;theme=' . urlencode( $this->product->get_slug() ), 'upgrade-theme_' . $this->product->get_slug() );
497
+ $update_message = apply_filters( 'themeisle_sdk_license_update_message', 'Updating this theme will lose any customizations you have made. Cancel to stop, OK to update.' );
498
+ $update_onclick = ' onclick="if ( confirm(\'' . esc_js( $update_message ) . '\') ) {return true;}return false;"';
499
  if ( version_compare( $this->product->get_version(), $api_response->new_version, '<' ) ) {
500
  echo '<div id="update-nag">';
501
+ printf(
502
+ '<strong>%1$s %2$s</strong> is available. <a href="%3$s" class="thickbox" title="%4s">Check out what\'s new</a> or <a href="%5$s"%6$s>update now</a>.',
503
  $theme->get( 'Name' ),
504
  $api_response->new_version,
505
  '#TB_inline?width=640&amp;inlineId=' . $this->product->get_version() . '_changelog',
557
  'author' => $this->product->get_store_name(),
558
  'url' => rawurlencode( home_url() ),
559
  );
560
+ $response = wp_remote_post(
561
+ $this->product->get_store_url(), array(
562
+ 'timeout' => 15,
563
+ 'sslverify' => false,
564
+ 'body' => $api_params,
565
+ )
566
+ );
567
  // make sure the response was successful
568
  if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
569
  $failed = true;
631
  * @uses is_wp_error()
632
  *
633
  * @param string $_action The requested action.
634
+ * @param array $_data Parameters for the API action.
635
  *
636
  * @return false||object
637
  */
647
  'author' => $this->product->get_store_name(),
648
  'url' => rawurlencode( home_url() ),
649
  );
650
+ $request = wp_remote_post(
651
+ $this->product->get_store_url(), array(
652
+ 'timeout' => 15,
653
+ 'sslverify' => false,
654
+ 'body' => $api_params,
655
+ )
656
+ );
657
  if ( ! is_wp_error( $request ) ) :
658
  $request = json_decode( wp_remote_retrieve_body( $request ) );
659
  if ( $request && isset( $request->sections ) ) {
671
  *
672
  * @uses api_request()
673
  *
674
+ * @param mixed $_data Plugin data.
675
  * @param string $_action Action to send.
676
+ * @param object $_args Arguments to use.
677
  *
678
  * @return object $_data
679
  */
693
  * Disable SSL verification in order to prevent download update failures
694
  *
695
  * @param array $args Http args.
696
+ * @param string $url Url to check.
697
  *
698
  * @return object $array
699
  */
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-loader.php CHANGED
@@ -47,7 +47,7 @@ if ( ! class_exists( 'ThemeIsle_SDK_Loader' ) ) :
47
  self::$products[ $product_object->get_slug() ] = $product_object;
48
 
49
  $notifications = array();
50
- // Based on the Wordpress Available file header we enable the logger or not.
51
  if ( ! $product_object->is_wordpress_available() ) {
52
  $licenser = new ThemeIsle_SDK_Licenser( $product_object );
53
  $licenser->enable();
47
  self::$products[ $product_object->get_slug() ] = $product_object;
48
 
49
  $notifications = array();
50
+ // Based on the WordPress Available file header we enable the logger or not.
51
  if ( ! $product_object->is_wordpress_available() ) {
52
  $licenser = new ThemeIsle_SDK_Licenser( $product_object );
53
  $licenser->enable();
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-logger.php CHANGED
@@ -37,7 +37,7 @@ if ( ! class_exists( 'ThemeIsle_SDK_Logger' ) ) :
37
  /**
38
  * @var string $heading The heading of the modal
39
  */
40
- private $heading = 'Do you enjoy {product}? Become a contributor by opting in to our anonymous plugin data tracking. We guarantee no sensitive data is collected.';
41
 
42
  /**
43
  * @var string $button_submit The text of the submit button
@@ -77,20 +77,22 @@ if ( ! class_exists( 'ThemeIsle_SDK_Logger' ) ) :
77
  * Send the statistics to the api endpoint
78
  */
79
  public function send_log() {
80
- wp_remote_post( $this->logging_url, array(
81
- 'method' => 'POST',
82
- 'timeout' => 3,
83
- 'redirection' => 5,
84
- 'headers' => array(
85
- 'X-ThemeIsle-Event' => 'log_site',
86
- ),
87
- 'body' => array(
88
- 'site' => get_site_url(),
89
- 'slug' => $this->product->get_slug(),
90
- 'version' => $this->product->get_version(),
91
- 'data' => apply_filters( $this->product->get_key() . '_logger_data', array() ),
92
- ),
93
- ) );
 
 
94
  }
95
 
96
  /**
@@ -140,8 +142,9 @@ if ( ! class_exists( 'ThemeIsle_SDK_Logger' ) ) :
140
  */
141
  function get_html( $key ) {
142
  $heading = apply_filters( $this->product->get_key() . '_logger_heading', $this->heading );
143
- $heading = str_replace( array( '{product}' ), array(
144
- trim( str_replace( 'Lite', '', $this->product->get_name() ) )
 
145
  ),
146
  $heading
147
  );
@@ -149,15 +152,19 @@ if ( ! class_exists( 'ThemeIsle_SDK_Logger' ) ) :
149
  $button_cancel = apply_filters( $this->product->get_key() . '_logger_button_cancel', $this->button_cancel );
150
 
151
  return '<div >'
152
- . '<p>' . $heading . '</p>'
153
- . '<div class="actions">'
154
- . get_submit_button( __( $button_submit ), 'primary ' . $this->product->get_key() . '-ti-logger', $this->product->get_key() . 'ti-logger-yes', false, array(
155
- 'data-ti-log-enable' => 1,
156
- ) )
157
- . get_submit_button( __( $button_cancel ), 'secondary ' . $this->product->get_key() . '-ti-logger', $this->product->get_key() . 'ti-logger-no', false, array(
158
- 'data-ti-log-enable' => 0,
159
- ) )
160
- . '</div></div>';
 
 
 
 
161
  }
162
 
163
  /**
@@ -179,18 +186,18 @@ if ( ! class_exists( 'ThemeIsle_SDK_Logger' ) ) :
179
  <script type="text/javascript" id="<?php echo $key; ?>ti-logger-js">
180
  (function ($) {
181
  $(document).ready(function () {
182
- $('.<?php echo $key?>-ti-logger').on('click', function (e) {
183
 
184
  $.ajax({
185
  url: ajaxurl,
186
  method: "post",
187
  data: {
188
- 'nonce': '<?php echo wp_create_nonce( (string) __CLASS__ );?>',
189
- 'action': '<?php echo $this->product->get_key() . __CLASS__;?>',
190
  'enable': $(this).attr('data-ti-log-enable')
191
  },
192
  success: function () {
193
- $('#<?php echo $key;?>-logger-notification').hide();
194
  }
195
  });
196
  });
37
  /**
38
  * @var string $heading The heading of the modal
39
  */
40
+ private $heading = 'Do you enjoy {product}? Become a contributor by opting in to our anonymous data tracking. We guarantee no sensitive data is collected.';
41
 
42
  /**
43
  * @var string $button_submit The text of the submit button
77
  * Send the statistics to the api endpoint
78
  */
79
  public function send_log() {
80
+ wp_remote_post(
81
+ $this->logging_url, array(
82
+ 'method' => 'POST',
83
+ 'timeout' => 3,
84
+ 'redirection' => 5,
85
+ 'headers' => array(
86
+ 'X-ThemeIsle-Event' => 'log_site',
87
+ ),
88
+ 'body' => array(
89
+ 'site' => get_site_url(),
90
+ 'slug' => $this->product->get_slug(),
91
+ 'version' => $this->product->get_version(),
92
+ 'data' => apply_filters( $this->product->get_key() . '_logger_data', array() ),
93
+ ),
94
+ )
95
+ );
96
  }
97
 
98
  /**
142
  */
143
  function get_html( $key ) {
144
  $heading = apply_filters( $this->product->get_key() . '_logger_heading', $this->heading );
145
+ $heading = str_replace(
146
+ array( '{product}' ), array(
147
+ trim( str_replace( 'Lite', '', $this->product->get_name() ) ),
148
  ),
149
  $heading
150
  );
152
  $button_cancel = apply_filters( $this->product->get_key() . '_logger_button_cancel', $this->button_cancel );
153
 
154
  return '<div >'
155
+ . '<p>' . $heading . '</p>'
156
+ . '<div class="actions">'
157
+ . get_submit_button(
158
+ __( $button_submit ), 'primary ' . $this->product->get_key() . '-ti-logger', $this->product->get_key() . 'ti-logger-yes', false, array(
159
+ 'data-ti-log-enable' => 1,
160
+ )
161
+ )
162
+ . get_submit_button(
163
+ __( $button_cancel ), 'secondary ' . $this->product->get_key() . '-ti-logger', $this->product->get_key() . 'ti-logger-no', false, array(
164
+ 'data-ti-log-enable' => 0,
165
+ )
166
+ )
167
+ . '</div></div>';
168
  }
169
 
170
  /**
186
  <script type="text/javascript" id="<?php echo $key; ?>ti-logger-js">
187
  (function ($) {
188
  $(document).ready(function () {
189
+ $('.<?php echo $key; ?>-ti-logger').on('click', function (e) {
190
 
191
  $.ajax({
192
  url: ajaxurl,
193
  method: "post",
194
  data: {
195
+ 'nonce': '<?php echo wp_create_nonce( (string) __CLASS__ ); ?>',
196
+ 'action': '<?php echo $this->product->get_key() . __CLASS__; ?>',
197
  'enable': $(this).attr('data-ti-log-enable')
198
  },
199
  success: function () {
200
+ $('#<?php echo $key; ?>-logger-notification').hide();
201
  }
202
  });
203
  });
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-product.php CHANGED
@@ -66,7 +66,7 @@ if ( ! class_exists( 'ThemeIsle_SDK_Product' ) ) :
66
  */
67
  private $requires_license;
68
  /**
69
- * @var bool $wordpress_available Either is available on wordpress or not.
70
  */
71
  private $wordpress_available;
72
  /**
@@ -152,7 +152,7 @@ if ( ! class_exists( 'ThemeIsle_SDK_Product' ) ) :
152
  if ( $this->require_uninstall_feedback() ) {
153
  $this->feedback_types[] = 'deactivate';
154
  }
155
- if ( $this->is_wordpress_available() && $this->get_type() === 'plugin' ) {
156
  $this->feedback_types[] = 'review';
157
  }
158
  }
@@ -343,7 +343,7 @@ if ( ! class_exists( 'ThemeIsle_SDK_Product' ) ) :
343
  * @return bool Either we log the data or not.
344
  */
345
  public function is_logger_active() {
346
- // If is not available on wordpress log this automatically.
347
  if ( ! $this->is_wordpress_available() ) {
348
  return true;
349
  } else {
66
  */
67
  private $requires_license;
68
  /**
69
+ * @var bool $wordpress_available Either is available on WordPress or not.
70
  */
71
  private $wordpress_available;
72
  /**
152
  if ( $this->require_uninstall_feedback() ) {
153
  $this->feedback_types[] = 'deactivate';
154
  }
155
+ if ( $this->is_wordpress_available() ) {
156
  $this->feedback_types[] = 'review';
157
  }
158
  }
343
  * @return bool Either we log the data or not.
344
  */
345
  public function is_logger_active() {
346
+ // If is not available on WordPress log this automatically.
347
  if ( ! $this->is_wordpress_available() ) {
348
  return true;
349
  } else {
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-widget-dashboard-blog.php CHANGED
@@ -52,9 +52,11 @@ if ( ! class_exists( 'ThemeIsle_SDK_Widget_Dashboard_Blog' ) ) :
52
  */
53
  function setup_vars() {
54
  $this->dashboard_name = apply_filters( 'themeisle_sdk_dashboard_widget_name', 'WordPress Guides/Tutorials' );
55
- $this->feeds = apply_filters( 'themeisle_sdk_dashboard_widget_feeds', array(
56
- 'https://themeisle.com/blog/feed'
57
- ) );
 
 
58
  }
59
 
60
  /**
@@ -67,10 +69,12 @@ if ( ! class_exists( 'ThemeIsle_SDK_Widget_Dashboard_Blog' ) ) :
67
  if ( isset( $wp_meta_boxes['dashboard']['normal']['core']['themeisle'] ) ) {
68
  return;
69
  }
70
- wp_add_dashboard_widget( 'themeisle', $this->dashboard_name, array(
71
- &$this,
72
- 'render_dashboard_widget',
73
- ) );
 
 
74
  }
75
 
76
  /**
@@ -174,11 +178,16 @@ if ( ! class_exists( 'ThemeIsle_SDK_Widget_Dashboard_Blog' ) ) :
174
  <li class="ti-dw-feed-item"><span class="ti-dw-date-container"><span
175
  class="ti-dw-day-container"><?php echo date( 'd', $item['date'] ); ?></span> <span
176
  class="ti-dw-month-container"><?php echo substr( date( 'M', $item['date'] ), 0, 3 ); ?></span></span><a
177
- href="<?php echo add_query_arg(
 
 
178
  array(
179
  'utm_campaign' => 'feed',
180
  'utm_medium' => 'dashboard_widget',
181
- ), $item['link'] ); ?>" target="_blank"><?php echo $item['title']; ?></a>
 
 
 
182
  <div class="clear"></div>
183
  </li>
184
  <?php
@@ -190,26 +199,37 @@ if ( ! class_exists( 'ThemeIsle_SDK_Widget_Dashboard_Blog' ) ) :
190
  $type = $recommend['type'];
191
  if ( ( $type == 'theme' && current_user_can( 'install_themes' ) ) || ( $type == 'plugin' && current_user_can( 'install_plugins' ) ) ) {
192
  add_thickbox();
193
- $url = add_query_arg( array(
194
- 'theme' => $recommend['slug'],
195
- ), network_admin_url( 'theme-install.php' ) );
 
 
196
 
197
  if ( 'plugin' === $type ) {
198
 
199
- $url = add_query_arg( array(
200
- 'tab' => 'plugin-information',
201
- 'plugin' => $recommend['slug'],
202
- ), network_admin_url( 'plugin-install.php' ) );
 
 
203
  }
204
  ?>
205
  <li class="ti-dw-recommend-item ">
206
  <span class="ti-dw-recommend"><?php echo apply_filters( 'themeisle_sdk_dashboard_popular_label', sprintf( 'Popular %s', ucwords( $type ) ) ); ?>
207
- : </span><?php echo trim( str_replace( array(
208
- 'lite',
209
- 'Lite',
210
- ), '', $recommend['name'] ) ); ?>
 
 
 
 
 
 
 
211
  (<a class="thickbox open-plugin-details-modal"
212
- href="<?php echo $url . '&TB_iframe=true&width=600&height=500'; ?>"><?php _e( 'Install' ); ?></a>)
213
  </li>
214
 
215
  <?php
52
  */
53
  function setup_vars() {
54
  $this->dashboard_name = apply_filters( 'themeisle_sdk_dashboard_widget_name', 'WordPress Guides/Tutorials' );
55
+ $this->feeds = apply_filters(
56
+ 'themeisle_sdk_dashboard_widget_feeds', array(
57
+ 'https://themeisle.com/blog/feed',
58
+ )
59
+ );
60
  }
61
 
62
  /**
69
  if ( isset( $wp_meta_boxes['dashboard']['normal']['core']['themeisle'] ) ) {
70
  return;
71
  }
72
+ wp_add_dashboard_widget(
73
+ 'themeisle', $this->dashboard_name, array(
74
+ &$this,
75
+ 'render_dashboard_widget',
76
+ )
77
+ );
78
  }
79
 
80
  /**
178
  <li class="ti-dw-feed-item"><span class="ti-dw-date-container"><span
179
  class="ti-dw-day-container"><?php echo date( 'd', $item['date'] ); ?></span> <span
180
  class="ti-dw-month-container"><?php echo substr( date( 'M', $item['date'] ), 0, 3 ); ?></span></span><a
181
+ href="
182
+ <?php
183
+ echo add_query_arg(
184
  array(
185
  'utm_campaign' => 'feed',
186
  'utm_medium' => 'dashboard_widget',
187
+ ), $item['link']
188
+ );
189
+ ?>
190
+ " target="_blank"><?php echo $item['title']; ?></a>
191
  <div class="clear"></div>
192
  </li>
193
  <?php
199
  $type = $recommend['type'];
200
  if ( ( $type == 'theme' && current_user_can( 'install_themes' ) ) || ( $type == 'plugin' && current_user_can( 'install_plugins' ) ) ) {
201
  add_thickbox();
202
+ $url = add_query_arg(
203
+ array(
204
+ 'theme' => $recommend['slug'],
205
+ ), network_admin_url( 'theme-install.php' )
206
+ );
207
 
208
  if ( 'plugin' === $type ) {
209
 
210
+ $url = add_query_arg(
211
+ array(
212
+ 'tab' => 'plugin-information',
213
+ 'plugin' => $recommend['slug'],
214
+ ), network_admin_url( 'plugin-install.php' )
215
+ );
216
  }
217
  ?>
218
  <li class="ti-dw-recommend-item ">
219
  <span class="ti-dw-recommend"><?php echo apply_filters( 'themeisle_sdk_dashboard_popular_label', sprintf( 'Popular %s', ucwords( $type ) ) ); ?>
220
+ : </span>
221
+ <?php
222
+ echo trim(
223
+ str_replace(
224
+ array(
225
+ 'lite',
226
+ 'Lite',
227
+ ), '', $recommend['name']
228
+ )
229
+ );
230
+ ?>
231
  (<a class="thickbox open-plugin-details-modal"
232
+ href="<?php echo $url . '&TB_iframe=true&width=600&height=500'; ?>"><?php echo apply_filters( 'themeisle_sdk_dashboard_install_label', 'Install' ); ?></a>)
233
  </li>
234
 
235
  <?php
vendor/codeinwp/themeisle-sdk/load.php CHANGED
@@ -11,7 +11,7 @@
11
  */
12
 
13
  // Current SDK version and path.
14
- $themeisle_sdk_version = '1.4.0';
15
  $themeisle_sdk_path = dirname( __FILE__ );
16
 
17
  global $themeisle_sdk_max_version;
11
  */
12
 
13
  // Current SDK version and path.
14
+ $themeisle_sdk_version = '1.5.0';
15
  $themeisle_sdk_path = dirname( __FILE__ );
16
 
17
  global $themeisle_sdk_max_version;
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitab16ad30c91b5a02c0955bf374590651
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitab16ad30c91b5a02c0955bf374590651
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInitab16ad30c91b5a02c0955bf374590651', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInitab16ad30c91b5a02c0955bf374590651', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
@@ -42,14 +42,14 @@ class ComposerAutoloaderInitab16ad30c91b5a02c0955bf374590651
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
- composerRequireab16ad30c91b5a02c0955bf374590651($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
- function composerRequireab16ad30c91b5a02c0955bf374590651($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit7261a8751a6448dcb948c98e3fc2b13d
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit7261a8751a6448dcb948c98e3fc2b13d', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit7261a8751a6448dcb948c98e3fc2b13d', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
+ composerRequire7261a8751a6448dcb948c98e3fc2b13d($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
+ function composerRequire7261a8751a6448dcb948c98e3fc2b13d($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
vendor/composer/autoload_real_52.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
- class ComposerAutoloaderInitc7c3c0522117728f5887b31048b459c7 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitc7c3c0522117728f5887b31048b459c7 {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInitc7c3c0522117728f5887b31048b459c7', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInitc7c3c0522117728f5887b31048b459c7', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
2
 
3
  // autoload_real_52.php generated by xrstf/composer-php52
4
 
5
+ class ComposerAutoloaderInit6defe65396badecd56440924d9151502 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit6defe65396badecd56440924d9151502', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit6defe65396badecd56440924d9151502', 'loadClassLoader'));
25
 
26
  $vendorDir = dirname(dirname(__FILE__));
27
  $baseDir = dirname($vendorDir);
vendor/composer/installed.json CHANGED
@@ -39,15 +39,15 @@
39
  "source": {
40
  "type": "git",
41
  "url": "https://github.com/Codeinwp/themeisle-sdk.git",
42
- "reference": "ebbbe0398ef8ee9922d17704e1dd2e9114e53ccb"
43
  },
44
  "dist": {
45
  "type": "zip",
46
- "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/ebbbe0398ef8ee9922d17704e1dd2e9114e53ccb",
47
- "reference": "ebbbe0398ef8ee9922d17704e1dd2e9114e53ccb",
48
  "shasum": ""
49
  },
50
- "time": "2017-07-04 13:54:14",
51
  "type": "library",
52
  "installation-source": "dist",
53
  "autoload": {
39
  "source": {
40
  "type": "git",
41
  "url": "https://github.com/Codeinwp/themeisle-sdk.git",
42
+ "reference": "b3c85372e9a5c8f692747445c7921634d457f7cb"
43
  },
44
  "dist": {
45
  "type": "zip",
46
+ "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/b3c85372e9a5c8f692747445c7921634d457f7cb",
47
+ "reference": "b3c85372e9a5c8f692747445c7921634d457f7cb",
48
  "shasum": ""
49
  },
50
+ "time": "2017-08-07 08:36:48",
51
  "type": "library",
52
  "installation-source": "dist",
53
  "autoload": {