FEEDZY RSS Feeds Lite - Version 3.1.2

Version Description

  • 22/05/2017 =
  • Fixed author protocol.
  • Added core fetch_feed method.
Download this release

Release Info

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

Code changes from version 3.1.1 to 3.1.2

CHANGELOG.md CHANGED
@@ -1,7 +1,8 @@
1
 
2
- ### v3.1.1 - 2017-05-23
3
  **Changes:**
4
-
 
5
  ### v3.1.1 - 2017-05-22
6
  **Changes:**
7
  - Replace alt in span with title
1
 
2
+ ### v3.1.2 - 2017-05-26
3
  **Changes:**
4
+ - Release 3.1.2
5
+
6
  ### v3.1.1 - 2017-05-22
7
  **Changes:**
8
  - Replace alt in span with title
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.1
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.2
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: This is a short description of what the plugin does. It's displayed in the WordPress admin area.
18
- * Version: 3.1.1
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: This is a short description of what the plugin does. It's displayed in the WordPress admin area.
18
+ * Version: 3.1.2
19
  * Author: Themeisle
20
  * Author URI: http://themeisle.com
21
  * License: GPL-2.0+
includes/abstract/feedzy-rss-feeds-admin-abstract.php CHANGED
@@ -308,6 +308,7 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
308
  }
309
  // Load SimplePie Instance
310
  $feed = fetch_feed( $feedURL );
 
311
  // Report error when is an error loading the feed
312
  if ( is_wp_error( $feed ) ) {
313
  // Fallback for different edge cases.
@@ -321,39 +322,6 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
321
  return __( 'An error occured for when trying to retrieve feeds! Check the URL\'s provided as feed sources.', 'feedzy-rss-feeds' );
322
  }
323
  }
324
- $feed->set_sanitize_class( 'SimplePie_Sanitize' );
325
- $feed->sanitize = new SimplePie_Sanitize();
326
- $feed->enable_cache( true );
327
- $feed->enable_order_by_date( true );
328
- $feed->set_cache_class( 'WP_Feed_Cache' );
329
- $feed->set_file_class( 'WP_SimplePie_File' );
330
- $feed->set_cache_duration( apply_filters( 'wp_feed_cache_transient_lifetime', 7200, $feedURL ) );
331
- do_action_ref_array( 'wp_feed_options', array( $feed, $feedURL ) );
332
- $feed->strip_comments( true );
333
- $feed->strip_htmltags( array(
334
- 'base',
335
- 'blink',
336
- 'body',
337
- 'doctype',
338
- 'embed',
339
- 'font',
340
- 'form',
341
- 'frame',
342
- 'frameset',
343
- 'html',
344
- 'iframe',
345
- 'input',
346
- 'marquee',
347
- 'meta',
348
- 'noscript',
349
- 'object',
350
- 'param',
351
- 'script',
352
- 'style',
353
- ) );
354
- $feed->init();
355
- $feed->handle_content_type();
356
-
357
  return $feed;
358
  }
359
 
@@ -612,9 +580,9 @@ abstract class Feedzy_Rss_Feeds_Admin_Abstract {
612
  }
613
  if ( $authorName ) {
614
  $domain = parse_url( $newLink );
615
- $authorURL = 'http://' . $domain['host'];
616
  $authorURL = apply_filters( 'feedzy_author_url', $authorURL, $authorName, $feedURL );
617
- $contentMeta .= __( 'by', 'feedzy-rss-feeds' ) . ' <a href="http://' . $authorURL . '" target="' . $sc['target'] . '" title="' . $domain['host'] . '" >' . $authorName . '</a> ';
618
  }
619
  }
620
  if ( $metaArgs['date'] ) {
308
  }
309
  // Load SimplePie Instance
310
  $feed = fetch_feed( $feedURL );
311
+
312
  // Report error when is an error loading the feed
313
  if ( is_wp_error( $feed ) ) {
314
  // Fallback for different edge cases.
322
  return __( 'An error occured for when trying to retrieve feeds! Check the URL\'s provided as feed sources.', 'feedzy-rss-feeds' );
323
  }
324
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  return $feed;
326
  }
327
 
580
  }
581
  if ( $authorName ) {
582
  $domain = parse_url( $newLink );
583
+ $authorURL = '//' . $domain['host'];
584
  $authorURL = apply_filters( 'feedzy_author_url', $authorURL, $authorName, $feedURL );
585
+ $contentMeta .= __( 'by', 'feedzy-rss-feeds' ) . ' <a href="' . $authorURL . '" target="' . $sc['target'] . '" title="' . $domain['host'] . '" >' . $authorName . '</a> ';
586
  }
587
  }
588
  if ( $metaArgs['date'] ) {
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.1';
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.2';
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.0\n"
6
  "Report-Msgid-Bugs-To: https://github.com/Codeinwp/feedzy-rss-feeds/issues\n"
7
- "POT-Creation-Date: 2017-05-17 11:58:32+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -24,43 +24,36 @@ msgstr ""
24
  "X-Poedit-Bookmarks: \n"
25
  "X-Textdomain-Support: yes\n"
26
 
27
- #: dist/form/form.php:44 form/form.php:44
28
  msgid "Premium"
29
  msgstr ""
30
 
31
- #: dist/includes/abstract/feedzy-rss-feeds-admin-abstract.php:57
32
  #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:57
33
  msgid "Sorry, this feed is currently unavailable or does not exists anymore."
34
  msgstr ""
35
 
36
- #: dist/includes/abstract/feedzy-rss-feeds-admin-abstract.php:247
37
- #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:321
38
  msgid ""
39
  "An error occured for when trying to retrieve feeds! Check the URL's "
40
  "provided as feed sources."
41
  msgstr ""
42
 
43
- #: dist/includes/abstract/feedzy-rss-feeds-admin-abstract.php:588
44
- #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:617
45
  msgid "by"
46
  msgstr ""
47
 
48
- #: dist/includes/abstract/feedzy-rss-feeds-admin-abstract.php:594
49
- #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:623
50
  msgid "on"
51
  msgstr ""
52
 
53
- #: dist/includes/abstract/feedzy-rss-feeds-admin-abstract.php:596
54
- #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:625
55
  msgid "at"
56
  msgstr ""
57
 
58
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:132
59
  #: includes/admin/feedzy-rss-feeds-admin.php:132
60
  msgid "Enable Tracking"
61
  msgstr ""
62
 
63
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:134
64
  #: includes/admin/feedzy-rss-feeds-admin.php:134
65
  msgid ""
66
  "Allow Themeisle to anonymously track how this plugin is used and help us "
@@ -68,189 +61,146 @@ msgid ""
68
  "\t\t\t\t\tplugin better. No sensitive data is tracked."
69
  msgstr ""
70
 
71
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:170
72
  #: includes/admin/feedzy-rss-feeds-admin.php:170
73
  msgid "Feed Categories"
74
  msgstr ""
75
 
76
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:171
77
  #: includes/admin/feedzy-rss-feeds-admin.php:171
78
  msgid "Feed Category"
79
  msgstr ""
80
 
81
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:172
82
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:173
83
  #: includes/admin/feedzy-rss-feeds-admin.php:172
84
  #: includes/admin/feedzy-rss-feeds-admin.php:173
85
  msgid "Add Category"
86
  msgstr ""
87
 
88
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:174
89
  #: includes/admin/feedzy-rss-feeds-admin.php:174
90
  msgid "Edit Category"
91
  msgstr ""
92
 
93
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:175
94
  #: includes/admin/feedzy-rss-feeds-admin.php:175
95
  msgid "New Feed Category"
96
  msgstr ""
97
 
98
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:176
99
  #: includes/admin/feedzy-rss-feeds-admin.php:176
100
  msgid "View Category"
101
  msgstr ""
102
 
103
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:177
104
  #: includes/admin/feedzy-rss-feeds-admin.php:177
105
  msgid "Search Category"
106
  msgstr ""
107
 
108
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:178
109
  #: includes/admin/feedzy-rss-feeds-admin.php:178
110
  msgid "No categories found"
111
  msgstr ""
112
 
113
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:179
114
  #: includes/admin/feedzy-rss-feeds-admin.php:179
115
  msgid "No categories in the trash"
116
  msgstr ""
117
 
118
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:207
119
- #: includes/admin/feedzy-rss-feeds-admin.php:207
120
  msgid "Category Feeds"
121
  msgstr ""
122
 
123
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:213
124
- #: includes/admin/feedzy-rss-feeds-admin.php:213
125
  msgid "Contribute to Feedzy RSS Feeds"
126
  msgstr ""
127
 
128
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:237
129
- #: includes/admin/feedzy-rss-feeds-admin.php:237
130
  msgid "Place your URL's here followed by a comma."
131
  msgstr ""
132
 
133
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:298
134
- #: includes/admin/feedzy-rss-feeds-admin.php:298
135
  msgid "Category Title"
136
  msgstr ""
137
 
138
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:299
139
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:302
140
- #: includes/admin/feedzy-rss-feeds-admin.php:299
141
- #: includes/admin/feedzy-rss-feeds-admin.php:302
142
  msgid "Slug"
143
  msgstr ""
144
 
145
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:326
146
- #: includes/admin/feedzy-rss-feeds-admin.php:326
147
  msgid "Undefined"
148
  msgstr ""
149
 
150
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:351
151
- #: includes/admin/feedzy-rss-feeds-admin.php:351
152
  msgid "Documentation and examples"
153
  msgstr ""
154
 
155
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:352
156
- #: includes/admin/feedzy-rss-feeds-admin.php:352
157
  msgid "More Plugins"
158
  msgstr ""
159
 
160
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:352
161
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:370
162
- #: includes/admin/feedzy-rss-feeds-admin.php:352
163
- #: includes/admin/feedzy-rss-feeds-admin.php:370
164
  msgid "More Features"
165
  msgstr ""
166
 
167
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:368
168
- #: dist/includes/admin/feedzy-wp-widget.php:40
169
- #: includes/admin/feedzy-rss-feeds-admin.php:368
170
  #: includes/admin/feedzy-wp-widget.php:40
171
  msgid "Feedzy RSS Feeds"
172
  msgstr ""
173
 
174
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:368
175
- #: includes/admin/feedzy-rss-feeds-admin.php:368
176
  msgid "Feedzy RSS"
177
  msgstr ""
178
 
179
- #: dist/includes/admin/feedzy-rss-feeds-admin.php:378
180
- #: includes/admin/feedzy-rss-feeds-admin.php:378
181
  msgid "Import Posts"
182
  msgstr ""
183
 
184
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:53
185
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:53
186
  msgid "Feedzy Lite"
187
  msgstr ""
188
 
189
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:54
190
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:54
191
  msgid "Insert Feedzy RSS Feeds Shortcode"
192
  msgstr ""
193
 
194
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:55
195
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:55
196
  msgid "Use Image"
197
  msgstr ""
198
 
199
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:56
200
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:56
201
  msgid "Insert Shortcode"
202
  msgstr ""
203
 
204
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:57
205
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:57
206
  msgid "Cancel"
207
  msgstr ""
208
 
209
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:58
210
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:58
211
  msgid "Get Feedzy RSS Feeds Premium"
212
  msgstr ""
213
 
214
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:108
215
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:108
216
  msgid "Feed Source"
217
  msgstr ""
218
 
219
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:111
220
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:111
221
  msgid "The feed(s) URL (comma-separated list)."
222
  msgstr ""
223
 
224
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:111
225
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:111
226
  msgid "Check feed before insert."
227
  msgstr ""
228
 
229
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:112
230
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:112
231
  msgid "Feed URL"
232
  msgstr ""
233
 
234
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:117
235
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:117
236
  msgid "Number of items to display."
237
  msgstr ""
238
 
239
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:118
240
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:118
241
  msgid "(eg: 5)"
242
  msgstr ""
243
 
244
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:123
245
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:123
246
  msgid "Should we display the RSS title?"
247
  msgstr ""
248
 
249
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:128
250
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:185
251
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:200
252
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:244
253
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:281
254
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:128
255
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:185
256
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:200
@@ -259,11 +209,6 @@ msgstr ""
259
  msgid "Yes"
260
  msgstr ""
261
 
262
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:132
263
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:189
264
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:204
265
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:248
266
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:285
267
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:132
268
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:189
269
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:204
@@ -272,207 +217,166 @@ msgstr ""
272
  msgid "No"
273
  msgstr ""
274
 
275
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:140
276
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:140
277
  msgid "Item Options"
278
  msgstr ""
279
 
280
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:143
281
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:143
282
  msgid "Links may be opened in the same window or a new tab."
283
  msgstr ""
284
 
285
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:148
286
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:240
287
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:148
288
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:240
289
  msgid "Auto"
290
  msgstr ""
291
 
292
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:152
293
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:152
294
  msgid "_blank"
295
  msgstr ""
296
 
297
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:156
298
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:156
299
  msgid "_self"
300
  msgstr ""
301
 
302
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:160
303
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:160
304
  msgid "_parent"
305
  msgstr ""
306
 
307
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:164
308
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:164
309
  msgid "_top"
310
  msgstr ""
311
 
312
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:168
313
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:168
314
  msgid "framename"
315
  msgstr ""
316
 
317
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:174
318
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:174
319
  msgid "Trim the title of the item after X characters."
320
  msgstr ""
321
 
322
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:175
323
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:212
324
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:175
325
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:212
326
  msgid "(eg: 160)"
327
  msgstr ""
328
 
329
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:180
330
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:180
331
  msgid "Should we display the date of publication and the author name?"
332
  msgstr ""
333
 
334
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:195
335
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:195
336
  msgid "Should we display a description (abstract) of the retrieved item?"
337
  msgstr ""
338
 
339
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:210
340
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:210
341
  msgid "Crop description (summary) of the element after X characters."
342
  msgstr ""
343
 
344
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:216
345
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:216
346
  msgid ""
347
  "Only display item if title contains specific keyword(s) (comma-separated "
348
  "list/case sensitive)."
349
  msgstr ""
350
 
351
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:217
352
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:217
353
  msgid "(eg: news, sports etc.)"
354
  msgstr ""
355
 
356
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:223
357
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:223
358
  msgid ""
359
  "Exclude items if title or content contains specific keyword(s) "
360
  "(comma-separated list/case sensitive). "
361
  msgstr ""
362
 
363
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:224
364
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:224
365
  msgid "(eg: politics, gossip etc.)"
366
  msgstr ""
367
 
368
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:232
369
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:232
370
  msgid "Item Image Options"
371
  msgstr ""
372
 
373
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:235
374
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:235
375
  msgid "Should we display the first image of the content if it is available?"
376
  msgstr ""
377
 
378
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:254
379
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:254
380
  msgid "Default thumbnail URL if no image is found."
381
  msgstr ""
382
 
383
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:255
384
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:255
385
  msgid "Image URL"
386
  msgstr ""
387
 
388
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:259
389
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:259
390
  msgid "Select from Gallery"
391
  msgstr ""
392
 
393
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:263
394
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:263
395
  msgid "Thumblails dimension. Do not include \"px\". Eg: 150"
396
  msgstr ""
397
 
398
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:264
399
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:264
400
  msgid "(eg: 150)"
401
  msgstr ""
402
 
403
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:271
404
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:271
405
  msgid "PRO Options"
406
  msgstr ""
407
 
408
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:272
409
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:272
410
  msgid ""
411
  "Get access to more options and customizations with full version of Feedzy "
412
  "RSS Feeds . Use existing templates or extend them and make them your own."
413
  msgstr ""
414
 
415
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:272
416
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:272
417
  msgid "See more features of Feedzy RSS Feeds "
418
  msgstr ""
419
 
420
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:275
421
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:275
422
  msgid "Should we display the price from the feed if it is available?"
423
  msgstr ""
424
 
425
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:291
426
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:291
427
  msgid "Referral URL parameters (w/o \"?\")."
428
  msgstr ""
429
 
430
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:292
431
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:292
432
  msgid "(eg. promo_code=feedzy_is_awesome)"
433
  msgstr ""
434
 
435
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:298
436
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:298
437
  msgid "How many columns we should use to display the feed items"
438
  msgstr ""
439
 
440
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:299
441
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:299
442
  msgid "(eg. 1, 2, ..., 6)"
443
  msgstr ""
444
 
445
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:305
446
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:305
447
  msgid "Template to use when displaying the feed."
448
  msgstr ""
449
 
450
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:311
451
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:311
452
  msgid "Default"
453
  msgstr ""
454
 
455
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:315
456
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:315
457
  msgid "Style 1"
458
  msgstr ""
459
 
460
- #: dist/includes/admin/feedzy-rss-feeds-ui-lang.php:319
461
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:319
462
  msgid "Style 2"
463
  msgstr ""
464
 
465
- #: dist/includes/admin/feedzy-wp-widget.php:83
466
  #: includes/admin/feedzy-wp-widget.php:83
467
  msgid "Widget Title"
468
  msgstr ""
469
 
470
- #: dist/includes/admin/feedzy-wp-widget.php:87
471
  #: includes/admin/feedzy-wp-widget.php:87
472
  msgid "Intro text"
473
  msgstr ""
474
 
475
- #: dist/vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-licenser.php:453
476
  #: vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-licenser.php:453
477
  msgid ""
478
  "Updating this theme will lose any customizations you have made. Cancel to "
2
  # This file is distributed under the GPL-2.0+.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Feedzy RSS Feeds Lite 3.1.1\n"
6
  "Report-Msgid-Bugs-To: https://github.com/Codeinwp/feedzy-rss-feeds/issues\n"
7
+ "POT-Creation-Date: 2017-05-25 13:42:35+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
24
  "X-Poedit-Bookmarks: \n"
25
  "X-Textdomain-Support: yes\n"
26
 
27
+ #: form/form.php:44
28
  msgid "Premium"
29
  msgstr ""
30
 
 
31
  #: includes/abstract/feedzy-rss-feeds-admin-abstract.php:57
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
 
 
53
  #: includes/admin/feedzy-rss-feeds-admin.php:132
54
  msgid "Enable Tracking"
55
  msgstr ""
56
 
 
57
  #: includes/admin/feedzy-rss-feeds-admin.php:134
58
  msgid ""
59
  "Allow Themeisle to anonymously track how this plugin is used and help us "
61
  "\t\t\t\t\tplugin better. No sensitive data is tracked."
62
  msgstr ""
63
 
 
64
  #: includes/admin/feedzy-rss-feeds-admin.php:170
65
  msgid "Feed Categories"
66
  msgstr ""
67
 
 
68
  #: includes/admin/feedzy-rss-feeds-admin.php:171
69
  msgid "Feed Category"
70
  msgstr ""
71
 
 
 
72
  #: includes/admin/feedzy-rss-feeds-admin.php:172
73
  #: includes/admin/feedzy-rss-feeds-admin.php:173
74
  msgid "Add Category"
75
  msgstr ""
76
 
 
77
  #: includes/admin/feedzy-rss-feeds-admin.php:174
78
  msgid "Edit Category"
79
  msgstr ""
80
 
 
81
  #: includes/admin/feedzy-rss-feeds-admin.php:175
82
  msgid "New Feed Category"
83
  msgstr ""
84
 
 
85
  #: includes/admin/feedzy-rss-feeds-admin.php:176
86
  msgid "View Category"
87
  msgstr ""
88
 
 
89
  #: includes/admin/feedzy-rss-feeds-admin.php:177
90
  msgid "Search Category"
91
  msgstr ""
92
 
 
93
  #: includes/admin/feedzy-rss-feeds-admin.php:178
94
  msgid "No categories found"
95
  msgstr ""
96
 
 
97
  #: includes/admin/feedzy-rss-feeds-admin.php:179
98
  msgid "No categories in the trash"
99
  msgstr ""
100
 
101
+ #: includes/admin/feedzy-rss-feeds-admin.php:208
 
102
  msgid "Category Feeds"
103
  msgstr ""
104
 
105
+ #: includes/admin/feedzy-rss-feeds-admin.php:214
 
106
  msgid "Contribute to Feedzy RSS Feeds"
107
  msgstr ""
108
 
109
+ #: includes/admin/feedzy-rss-feeds-admin.php:238
 
110
  msgid "Place your URL's here followed by a comma."
111
  msgstr ""
112
 
113
+ #: includes/admin/feedzy-rss-feeds-admin.php:299
 
114
  msgid "Category Title"
115
  msgstr ""
116
 
117
+ #: includes/admin/feedzy-rss-feeds-admin.php:300
118
+ #: includes/admin/feedzy-rss-feeds-admin.php:303
 
 
119
  msgid "Slug"
120
  msgstr ""
121
 
122
+ #: includes/admin/feedzy-rss-feeds-admin.php:327
 
123
  msgid "Undefined"
124
  msgstr ""
125
 
126
+ #: includes/admin/feedzy-rss-feeds-admin.php:352
 
127
  msgid "Documentation and examples"
128
  msgstr ""
129
 
130
+ #: includes/admin/feedzy-rss-feeds-admin.php:353
 
131
  msgid "More Plugins"
132
  msgstr ""
133
 
134
+ #: includes/admin/feedzy-rss-feeds-admin.php:353
135
+ #: includes/admin/feedzy-rss-feeds-admin.php:371
 
 
136
  msgid "More Features"
137
  msgstr ""
138
 
139
+ #: includes/admin/feedzy-rss-feeds-admin.php:369
 
 
140
  #: includes/admin/feedzy-wp-widget.php:40
141
  msgid "Feedzy RSS Feeds"
142
  msgstr ""
143
 
144
+ #: includes/admin/feedzy-rss-feeds-admin.php:369
 
145
  msgid "Feedzy RSS"
146
  msgstr ""
147
 
148
+ #: includes/admin/feedzy-rss-feeds-admin.php:379
 
149
  msgid "Import Posts"
150
  msgstr ""
151
 
 
152
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:53
153
  msgid "Feedzy Lite"
154
  msgstr ""
155
 
 
156
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:54
157
  msgid "Insert Feedzy RSS Feeds Shortcode"
158
  msgstr ""
159
 
 
160
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:55
161
  msgid "Use Image"
162
  msgstr ""
163
 
 
164
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:56
165
  msgid "Insert Shortcode"
166
  msgstr ""
167
 
 
168
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:57
169
  msgid "Cancel"
170
  msgstr ""
171
 
 
172
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:58
173
  msgid "Get Feedzy RSS Feeds Premium"
174
  msgstr ""
175
 
 
176
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:108
177
  msgid "Feed Source"
178
  msgstr ""
179
 
 
180
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:111
181
  msgid "The feed(s) URL (comma-separated list)."
182
  msgstr ""
183
 
 
184
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:111
185
  msgid "Check feed before insert."
186
  msgstr ""
187
 
 
188
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:112
189
  msgid "Feed URL"
190
  msgstr ""
191
 
 
192
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:117
193
  msgid "Number of items to display."
194
  msgstr ""
195
 
 
196
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:118
197
  msgid "(eg: 5)"
198
  msgstr ""
199
 
 
200
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:123
201
  msgid "Should we display the RSS title?"
202
  msgstr ""
203
 
 
 
 
 
 
204
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:128
205
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:185
206
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:200
209
  msgid "Yes"
210
  msgstr ""
211
 
 
 
 
 
 
212
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:132
213
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:189
214
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:204
217
  msgid "No"
218
  msgstr ""
219
 
 
220
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:140
221
  msgid "Item Options"
222
  msgstr ""
223
 
 
224
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:143
225
  msgid "Links may be opened in the same window or a new tab."
226
  msgstr ""
227
 
 
 
228
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:148
229
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:240
230
  msgid "Auto"
231
  msgstr ""
232
 
 
233
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:152
234
  msgid "_blank"
235
  msgstr ""
236
 
 
237
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:156
238
  msgid "_self"
239
  msgstr ""
240
 
 
241
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:160
242
  msgid "_parent"
243
  msgstr ""
244
 
 
245
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:164
246
  msgid "_top"
247
  msgstr ""
248
 
 
249
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:168
250
  msgid "framename"
251
  msgstr ""
252
 
 
253
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:174
254
  msgid "Trim the title of the item after X characters."
255
  msgstr ""
256
 
 
 
257
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:175
258
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:212
259
  msgid "(eg: 160)"
260
  msgstr ""
261
 
 
262
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:180
263
  msgid "Should we display the date of publication and the author name?"
264
  msgstr ""
265
 
 
266
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:195
267
  msgid "Should we display a description (abstract) of the retrieved item?"
268
  msgstr ""
269
 
 
270
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:210
271
  msgid "Crop description (summary) of the element after X characters."
272
  msgstr ""
273
 
 
274
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:216
275
  msgid ""
276
  "Only display item if title contains specific keyword(s) (comma-separated "
277
  "list/case sensitive)."
278
  msgstr ""
279
 
 
280
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:217
281
  msgid "(eg: news, sports etc.)"
282
  msgstr ""
283
 
 
284
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:223
285
  msgid ""
286
  "Exclude items if title or content contains specific keyword(s) "
287
  "(comma-separated list/case sensitive). "
288
  msgstr ""
289
 
 
290
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:224
291
  msgid "(eg: politics, gossip etc.)"
292
  msgstr ""
293
 
 
294
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:232
295
  msgid "Item Image Options"
296
  msgstr ""
297
 
 
298
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:235
299
  msgid "Should we display the first image of the content if it is available?"
300
  msgstr ""
301
 
 
302
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:254
303
  msgid "Default thumbnail URL if no image is found."
304
  msgstr ""
305
 
 
306
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:255
307
  msgid "Image URL"
308
  msgstr ""
309
 
 
310
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:259
311
  msgid "Select from Gallery"
312
  msgstr ""
313
 
 
314
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:263
315
  msgid "Thumblails dimension. Do not include \"px\". Eg: 150"
316
  msgstr ""
317
 
 
318
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:264
319
  msgid "(eg: 150)"
320
  msgstr ""
321
 
 
322
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:271
323
  msgid "PRO Options"
324
  msgstr ""
325
 
 
326
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:272
327
  msgid ""
328
  "Get access to more options and customizations with full version of Feedzy "
329
  "RSS Feeds . Use existing templates or extend them and make them your own."
330
  msgstr ""
331
 
 
332
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:272
333
  msgid "See more features of Feedzy RSS Feeds "
334
  msgstr ""
335
 
 
336
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:275
337
  msgid "Should we display the price from the feed if it is available?"
338
  msgstr ""
339
 
 
340
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:291
341
  msgid "Referral URL parameters (w/o \"?\")."
342
  msgstr ""
343
 
 
344
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:292
345
  msgid "(eg. promo_code=feedzy_is_awesome)"
346
  msgstr ""
347
 
 
348
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:298
349
  msgid "How many columns we should use to display the feed items"
350
  msgstr ""
351
 
 
352
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:299
353
  msgid "(eg. 1, 2, ..., 6)"
354
  msgstr ""
355
 
 
356
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:305
357
  msgid "Template to use when displaying the feed."
358
  msgstr ""
359
 
 
360
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:311
361
  msgid "Default"
362
  msgstr ""
363
 
 
364
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:315
365
  msgid "Style 1"
366
  msgstr ""
367
 
 
368
  #: includes/admin/feedzy-rss-feeds-ui-lang.php:319
369
  msgid "Style 2"
370
  msgstr ""
371
 
 
372
  #: includes/admin/feedzy-wp-widget.php:83
373
  msgid "Widget Title"
374
  msgstr ""
375
 
 
376
  #: includes/admin/feedzy-wp-widget.php:87
377
  msgid "Intro text"
378
  msgstr ""
379
 
 
380
  #: vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-licenser.php:453
381
  msgid ""
382
  "Updating this theme will lose any customizations you have made. Cancel to "
readme.txt CHANGED
@@ -203,6 +203,10 @@ http://docs.themeisle.com/article/638-how-to-eliminate-duplicate-feed-item
203
 
204
  == Changelog ==
205
 
 
 
 
 
206
  = 3.1.1 - 22/05/2017 =
207
  * Fixed span alt tag, replaced with title.
208
 
203
 
204
  == Changelog ==
205
 
206
+ = 3.1.2 - 22/05/2017 =
207
+ * Fixed author protocol.
208
+ * Added core fetch_feed method.
209
+
210
  = 3.1.1 - 22/05/2017 =
211
  * Fixed span alt tag, replaced with title.
212
 
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInitd47900c88dcb06d0771a90eff9f7db98::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit276c9582fa115366ac05248d47125f8f::getLoader();
vendor/autoload_52.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
- return ComposerAutoloaderInit7b23871f1933733f5ae138f0de992846::getLoader();
4
 
5
  require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
6
 
7
+ return ComposerAutoloaderInit05b53f459746cd03dadab9a349c46a87::getLoader();
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-feedback-deactivate.php ADDED
@@ -0,0 +1,355 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The deactivate feedback model class for ThemeIsle SDK
4
+ *
5
+ * @package ThemeIsleSDK
6
+ * @subpackage Feedback
7
+ * @copyright Copyright (c) 2017, Marius Cristea
8
+ * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License
9
+ * @since 1.0.0
10
+ */
11
+ // Exit if accessed directly.
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+ if ( ! class_exists( 'ThemeIsle_SDK_Feedback_Deactivate' ) ) :
16
+ /**
17
+ * Deactivate feedback model for ThemeIsle SDK.
18
+ */
19
+ class ThemeIsle_SDK_Feedback_Deactivate extends ThemeIsle_SDK_Feedback {
20
+
21
+ /**
22
+ * @var array $options The main options list
23
+ */
24
+ private $options = array(
25
+ 'I only needed the plugin for a short period' => array(
26
+ 'id' => 1,
27
+ ),
28
+ 'The plugin broke my site' => array(
29
+ 'id' => 2,
30
+ ),
31
+ 'I found a better plugin' => array(
32
+ 'id' => 3,
33
+ 'type' => 'text',
34
+ 'placeholder' => 'What\'s the plugin\'s name?',
35
+ ),
36
+ 'The plugin suddenly stopped working' => array(
37
+ 'id' => 4,
38
+ ),
39
+ 'I no longer need the plugin' => array(
40
+ 'id' => 5,
41
+ 'type' => 'textarea',
42
+ 'placeholder' => 'If you could improve one thing about our product, what would it be?',
43
+ ),
44
+ 'It\'s a temporary deactivation. I\'m just debugging an issue.' => array(
45
+ 'id' => 6,
46
+ ),
47
+ );
48
+
49
+ /**
50
+ * @var array $other The other option
51
+ */
52
+ private $other = array(
53
+ 'Other' => array(
54
+ 'id' => 999,
55
+ 'type' => 'textarea',
56
+ 'placeholder' => 'cmon cmon tell us',
57
+ ),
58
+ );
59
+
60
+ /**
61
+ * @var string $heading The heading of the modal
62
+ */
63
+ private $heading = 'If you have a moment, please let us know why you are deactivating:';
64
+
65
+ /**
66
+ * @var string $button_submit_before The text of the deactivate button before an option is chosen
67
+ */
68
+ private $button_submit_before = 'Skip &amp; Deactivate';
69
+
70
+ /**
71
+ * @var string $button_submit The text of the deactivate button
72
+ */
73
+ private $button_submit = 'Submit &amp; Deactivate';
74
+
75
+ /**
76
+ * @var string $button_cancel The text of the cancel button
77
+ */
78
+ private $button_cancel = 'Cancel';
79
+
80
+ /**
81
+ * ThemeIsle_SDK_Feedback_Deactivate constructor.
82
+ *
83
+ * @param ThemeIsle_SDK_Product $product_object The product object.
84
+ */
85
+ public function __construct( $product_object ) {
86
+ parent::__construct( $product_object );
87
+ }
88
+
89
+ /**
90
+ * Registers the hooks
91
+ */
92
+ public function setup_hooks_child() {
93
+ global $pagenow;
94
+ if ( 'plugins.php' === $pagenow ) {
95
+ add_action( 'admin_head', array( $this, 'load_resources' ) );
96
+ }
97
+ add_action( 'wp_ajax_' . $this->product->get_key() . __CLASS__, array( $this, 'post_deactivate' ) );
98
+ }
99
+
100
+ /**
101
+ * Loads the additional resources
102
+ */
103
+ function load_resources() {
104
+ add_thickbox();
105
+
106
+ $id = $this->product->get_key() . '_deactivate';
107
+
108
+ $this->add_css( $this->product->get_key() );
109
+ $this->add_js( $this->product->get_key(), '#TB_inline?' . apply_filters( $this->product->get_key() . '_feedback_deactivate_attributes', 'width=600&height=550' ) . '&inlineId=' . $id );
110
+
111
+ echo '<div id="' . $id . '" style="display:none;" class="themeisle-deactivate-box">' . $this->get_html( $this->product->get_key() ) . '</div>';
112
+ }
113
+
114
+ /**
115
+ * Loads the css
116
+ *
117
+ * @param string $key The product key.
118
+ */
119
+ function add_css( $key ) {
120
+ ?>
121
+ <style type="text/css" id="<?php echo $key; ?>ti-deactivate-css">
122
+ input[name="ti-deactivate-option"] ~ div {
123
+ display: none;
124
+ }
125
+
126
+ input[name="ti-deactivate-option"]:checked ~ div {
127
+ display: block;
128
+ }
129
+
130
+ body.plugins-php .<?php echo $key; ?>-containe #TB_window.thickbox-loading:before {
131
+ background: none !important;
132
+ }
133
+
134
+ body.plugins-php .<?php echo $key; ?>-container #TB_title {
135
+ font-size: 21px;
136
+ padding: 20px 0;
137
+ background-color: #f3f3f3;
138
+ }
139
+
140
+ body.plugins-php .<?php echo $key; ?>-container div.actions {
141
+ padding: 20px 0;
142
+ background-color: #f3f3f3;
143
+ border-top: 1px solid #dddddd;
144
+ }
145
+
146
+ body.plugins-php .<?php echo $key; ?>-container input.button.button-primary {
147
+ margin-right: 20px;
148
+ }
149
+
150
+ body.plugins-php .<?php echo $key; ?>-container input.button {
151
+ margin-right: 20px;
152
+ }
153
+
154
+ body.plugins-php .<?php echo $key; ?>-container #TB_ajaxWindowTitle {
155
+ text-align: left;
156
+ margin-left: 15px;
157
+ }
158
+
159
+ body.plugins-php .<?php echo $key; ?>-container div.revive_network-container {
160
+ background-color: #ffffff;
161
+ }
162
+
163
+ body.plugins-php .<?php echo $key; ?>-container ul.ti-list li {
164
+ font-size: 14px;
165
+ }
166
+
167
+ body.plugins-php .<?php echo $key; ?>-container ul.ti-list li label {
168
+ margin-left: 10px;
169
+ line-height: 32px;
170
+ font-size: 16px;
171
+ }
172
+
173
+ body.plugins-php .<?php echo $key; ?>-container #TB_ajaxContent {
174
+ padding: 10px 20px;
175
+ }
176
+
177
+ body.plugins-php .<?php echo $key; ?>-container li div textarea {
178
+ padding: 10px 15px;
179
+ width: 100%;
180
+ }
181
+
182
+ body.plugins-php .<?php echo $key; ?>-container ul.ti-list li div {
183
+ margin: 10px 30px;
184
+ }
185
+
186
+ .<?php echo $key; ?>-container #TB_title #TB_ajaxWindowTitle {
187
+ display: block;
188
+ }
189
+
190
+ body.plugins-php .<?php echo $key; ?>-container .actions {
191
+
192
+ width: 100%;
193
+ display: block;
194
+ position: absolute;
195
+ left: 0px;
196
+ bottom: 0px;
197
+ text-align: right;
198
+ }
199
+
200
+ body.plugins-php .<?php echo $key; ?>-container #TB_title {
201
+
202
+ height: 33px;
203
+ width: 100%;
204
+ text-align: center;
205
+ }
206
+
207
+ body.plugins-php .<?php echo $key; ?>-container {
208
+
209
+ margin: auto !important;
210
+ height: 550px !important;
211
+ top: 0 !important;
212
+ left: 0 !important;
213
+ bottom: 0 !important;
214
+ right: 0 !important;
215
+ }
216
+ </style>
217
+ <?php
218
+ }
219
+
220
+ /**
221
+ * Loads the js
222
+ *
223
+ * @param string $key The product key.
224
+ * @param string $src The url that will hijack the deactivate button url.
225
+ */
226
+ function add_js( $key, $src ) {
227
+
228
+ $heading = apply_filters( $this->product->get_key() . '_feedback_deactivate_heading', $this->heading );
229
+ ?>
230
+ <script type="text/javascript" id="ti-deactivate-js">
231
+ (function ($) {
232
+ $(document).ready(function () {
233
+ var href = $('tr[data-slug="<?php echo $this->product->get_slug();?>"] span.deactivate a').attr('href');
234
+ $('#<?php echo $key;?>ti-deactivate-no').on('click', function (e) {
235
+ e.preventDefault();
236
+ e.stopPropagation();
237
+ $('body').unbind('thickbox:removed');
238
+ tb_remove();
239
+ });
240
+
241
+ $('#<?php echo $key;?> ul.ti-list label, #<?php echo $key;?> ul.ti-list input[name="ti-deactivate-option"]').on('click', function (e) {
242
+ $('#<?php echo $key;?>ti-deactivate-yes').val($('#<?php echo $key;?>ti-deactivate-yes').attr('data-after-text'));
243
+
244
+ var radio = $(this).prop('tagName') === 'LABEL' ? $(this).parent() : $(this);
245
+ if (radio.parent().find('textarea').length > 0 && radio.parent().find('textarea').val().length === 0) {
246
+ $('#<?php echo $key;?>ti-deactivate-yes').attr('disabled', 'disabled');
247
+ radio.parent().find('textarea').on('keyup', function (ee) {
248
+ if ($(this).val().length === 0) {
249
+ $('#<?php echo $key;?>ti-deactivate-yes').attr('disabled', 'disabled');
250
+ } else {
251
+ $('#<?php echo $key;?>ti-deactivate-yes').removeAttr('disabled');
252
+ }
253
+ });
254
+ } else {
255
+ $('#<?php echo $key;?>ti-deactivate-yes').removeAttr('disabled');
256
+ }
257
+ });
258
+
259
+ $('#<?php echo $key;?>ti-deactivate-yes').attr('data-ti-action', href).on('click', function (e) {
260
+ e.preventDefault();
261
+ e.stopPropagation();
262
+ $.ajax({
263
+ url: ajaxurl,
264
+ method: 'post',
265
+ data: {
266
+ 'action': '<?php echo $key . __CLASS__;?>',
267
+ 'nonce': '<?php echo wp_create_nonce( (string) __CLASS__ );?>',
268
+ 'id': $('#<?php echo $key;?> input[name="ti-deactivate-option"]:checked').parent().attr('ti-option-id'),
269
+ 'msg': $('#<?php echo $key;?> input[name="ti-deactivate-option"]:checked').parent().find('textarea').val()
270
+ },
271
+ });
272
+ location.href = $(this).attr('data-ti-action');
273
+ });
274
+ $('tr[data-slug="<?php echo $this->product->get_slug();?>"] span.deactivate a').attr('name', '<?php echo esc_html( $heading ); ?>').attr('href', '<?php echo $src;?>').addClass('thickbox');
275
+ var thicbox_timer;
276
+ $('tr[data-slug="<?php echo $this->product->get_slug();?>"] span.deactivate a').on('click', function () {
277
+ tiBindThickbox();
278
+ });
279
+
280
+ function tiBindThickbox() {
281
+ var thicbox_timer = setTimeout(function () {
282
+ if ($("#<?php echo esc_html( $key ); ?>").is(":visible")) {
283
+ $("body").trigger('thickbox:iframe:loaded');
284
+ $("#TB_window").addClass("<?php echo $key; ?>-container");
285
+ clearTimeout(thicbox_timer);
286
+ } else {
287
+ tiBindThickbox();
288
+ }
289
+ }, 100);
290
+ }
291
+ });
292
+ })(jQuery);
293
+ </script>
294
+ <?php
295
+ }
296
+
297
+ /**
298
+ * Generates the HTML
299
+ *
300
+ * @param string $key The product key.
301
+ */
302
+ function get_html( $key ) {
303
+ $options = $this->randomize_options( apply_filters( $this->product->get_key() . '_feedback_deactivate_options', $this->options ) );
304
+ $button_submit_before = apply_filters( $this->product->get_key() . '_feedback_deactivate_button_submit_before', $this->button_submit_before );
305
+ $button_submit = apply_filters( $this->product->get_key() . '_feedback_deactivate_button_submit', $this->button_submit );
306
+ $button_cancel = apply_filters( $this->product->get_key() . '_feedback_deactivate_button_cancel', $this->button_cancel );
307
+
308
+ $options += $this->other;
309
+
310
+ $list = '';
311
+ foreach ( $options as $title => $attributes ) {
312
+ $id = $attributes['id'];
313
+ $list .= '<li ti-option-id="' . $id . '"><input type="radio" name="ti-deactivate-option" id="' . $key . $id . '"><label for="' . $key . $id . '">' . __( $title ) . '</label>';
314
+ if ( array_key_exists( 'type', $attributes ) ) {
315
+ $list .= '<div>';
316
+ $placeholder = array_key_exists( 'placeholder', $attributes ) ? __( $attributes['placeholder'] ) : '';
317
+ switch ( $attributes['type'] ) {
318
+ case 'text':
319
+ $list .= '<textarea style="width: 100%" rows="1" name="comments" placeholder="' . $placeholder . '"></textarea>';
320
+ break;
321
+ case 'textarea':
322
+ $list .= '<textarea style="width: 100%" rows="2" name="comments" placeholder="' . $placeholder . '"></textarea>';
323
+ break;
324
+ }
325
+ $list .= '</div>';
326
+ }
327
+ $list .= '</li>';
328
+ }
329
+
330
+ return '<div id="' . $this->product->get_key() . '">'
331
+ . '<ul class="ti-list">' . $list . '</ul>'
332
+ . '<div class="actions">'
333
+ . get_submit_button( __( $button_submit_before ), 'secondary', $this->product->get_key() . 'ti-deactivate-yes', false, array(
334
+ 'data-after-text' => $button_submit,
335
+ ) )
336
+ . get_submit_button( __( $button_cancel ), 'primary', $this->product->get_key() . 'ti-deactivate-no', false )
337
+ . '</div></div>';
338
+ }
339
+
340
+ /**
341
+ * Called when the deactivate button is clicked
342
+ */
343
+ function post_deactivate() {
344
+ check_ajax_referer( (string) __CLASS__, 'nonce' );
345
+
346
+ if ( ! empty( $_POST['id'] ) ) {
347
+ $this->call_api( array(
348
+ 'type' => 'deactivate',
349
+ 'id' => $_POST['id'],
350
+ 'comment' => isset( $_POST['msg'] ) ? $_POST['msg'] : '',
351
+ ) );
352
+ }
353
+ }
354
+ }
355
+ endif;
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-feedback-factory.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The feedback factory class for ThemeIsle SDK
4
+ *
5
+ * @package ThemeIsleSDK
6
+ * @subpackage Feedback
7
+ * @copyright Copyright (c) 2017, Marius Cristea
8
+ * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License
9
+ * @since 1.0.0
10
+ */
11
+ // Exit if accessed directly.
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+ if ( ! class_exists( 'ThemeIsle_SDK_Feedback_Factory' ) ) :
16
+ /**
17
+ * Feedback model for ThemeIsle SDK.
18
+ */
19
+ class ThemeIsle_SDK_Feedback_Factory {
20
+
21
+ /**
22
+ * ThemeIsle_SDK_Feedback_Factory constructor.
23
+ *
24
+ * @param ThemeIsle_SDK_Product $product_object Product Object.
25
+ * @param array $feedback_types the feedback types.
26
+ */
27
+ public function __construct( $product_object, $feedback_types ) {
28
+ if ( $product_object instanceof ThemeIsle_SDK_Product && $feedback_types && is_array( $feedback_types ) ) {
29
+ foreach ( $feedback_types as $type ) {
30
+ $class = 'ThemeIsle_SDK_Feedback_' . ucwords( $type );
31
+ $instance = new $class( $product_object );
32
+ $instance->setup_hooks();
33
+ }
34
+ }
35
+ }
36
+ }
37
+ endif;
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-feedback.php ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The feedback model class for ThemeIsle SDK
4
+ *
5
+ * @package ThemeIsleSDK
6
+ * @subpackage Feedback
7
+ * @copyright Copyright (c) 2017, Marius Cristea
8
+ * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License
9
+ * @since 1.0.0
10
+ */
11
+ // Exit if accessed directly.
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+ if ( ! class_exists( 'ThemeIsle_SDK_Feedback' ) ) :
16
+ /**
17
+ * Feedback model for ThemeIsle SDK.
18
+ */
19
+ abstract class ThemeIsle_SDK_Feedback {
20
+ /**
21
+ * @var ThemeIsle_SDK_Product $product Themeisle Product.
22
+ */
23
+ protected $product;
24
+
25
+ /**
26
+ * @var string $feedback_url Url where to send the feedback
27
+ */
28
+ private $feedback_url = 'http://feedback.themeisle.com/wordpress/wp-json/__pirate_feedback_/v1/feedback';
29
+
30
+ /**
31
+ * ThemeIsle_SDK_Feedback constructor.
32
+ *
33
+ * @param ThemeIsle_SDK_Product $product_object Product Object.
34
+ */
35
+ public function __construct( $product_object ) {
36
+ if ( $product_object instanceof ThemeIsle_SDK_Product ) {
37
+ $this->product = $product_object;
38
+ }
39
+ $this->setup_hooks();
40
+ }
41
+
42
+ /**
43
+ * Registers the hooks and then delegates to the child
44
+ */
45
+ public function setup_hooks() {
46
+ $this->setup_hooks_child();
47
+ }
48
+
49
+ /**
50
+ * Calls the API
51
+ *
52
+ * @param string $attributes The attributes of the post body.
53
+ */
54
+ protected function call_api( $attributes ) {
55
+ $slug = $this->product->get_slug();
56
+ $attributes['slug'] = $slug;
57
+
58
+ $response = wp_remote_post( $this->feedback_url, array(
59
+ 'body' => $attributes,
60
+ ) );
61
+ }
62
+
63
+ /**
64
+ * Randomizes the options array
65
+ *
66
+ * @param array $options The options array.
67
+ */
68
+ function randomize_options( $options ) {
69
+ $new = array();
70
+ $keys = array_keys( $options );
71
+ shuffle( $keys );
72
+
73
+ foreach ( $keys as $key ) {
74
+ $new[ $key ] = $options[ $key ];
75
+ }
76
+
77
+ return $new;
78
+ }
79
+
80
+ /**
81
+ * Abstract function for delegating to the child
82
+ */
83
+ protected abstract function setup_hooks_child();
84
+
85
+ }
86
+ endif;
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-loader.php CHANGED
@@ -55,6 +55,12 @@ if ( ! class_exists( 'ThemeIsle_SDK_Loader' ) ) :
55
  $logger->enable();
56
  }
57
 
 
 
 
 
 
 
58
  return self::$instance;
59
  }
60
 
55
  $logger->enable();
56
  }
57
 
58
+ // If we should load the uninstall feedback or no.
59
+ if ( $product_object->require_uninstall_feedback() ) {
60
+ $feedback = new ThemeIsle_SDK_Feedback_Factory( $product_object, $product_object->get_feedback_types() );
61
+ }
62
+
63
+ $widgets = new ThemeIsle_SDK_Widgets_Factory( $product_object, $product_object->get_widget_types() );
64
  return self::$instance;
65
  }
66
 
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-product.php CHANGED
@@ -61,6 +61,15 @@ if ( ! class_exists( 'ThemeIsle_SDK_Product' ) ) :
61
  * @var string $version The product version.
62
  */
63
  private $version;
 
 
 
 
 
 
 
 
 
64
 
65
  /**
66
  * ThemeIsle_SDK_Product constructor.
@@ -245,6 +254,24 @@ if ( ! class_exists( 'ThemeIsle_SDK_Product' ) ) :
245
  return $this->file;
246
  }
247
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
248
  /**
249
  * We log the user website and product version.
250
  *
@@ -261,5 +288,14 @@ if ( ! class_exists( 'ThemeIsle_SDK_Product' ) ) :
261
  }
262
  }
263
 
 
 
 
 
 
 
 
 
 
264
  }
265
  endif;
61
  * @var string $version The product version.
62
  */
63
  private $version;
64
+ /**
65
+ * @var string $feedback_types All the feedback types the product supports
66
+ */
67
+ private $feedback_types = array( 'deactivate' );
68
+
69
+ /**
70
+ * @var string $widget_types All the widget types the product supports
71
+ */
72
+ private $widget_types = array( 'dashboard_blog' );
73
 
74
  /**
75
  * ThemeIsle_SDK_Product constructor.
254
  return $this->file;
255
  }
256
 
257
+ /**
258
+ * Returns feedback types
259
+ *
260
+ * @return array The feedback types.
261
+ */
262
+ public function get_feedback_types() {
263
+ return apply_filters( $this->get_key() . '_feedback_types', $this->feedback_types );
264
+ }
265
+
266
+ /**
267
+ * Returns widget types
268
+ *
269
+ * @return array The widget types.
270
+ */
271
+ public function get_widget_types() {
272
+ return apply_filters( $this->get_key() . '_widget_types', $this->widget_types );
273
+ }
274
+
275
  /**
276
  * We log the user website and product version.
277
  *
288
  }
289
  }
290
 
291
+ /**
292
+ * We require feedback on uninstall.
293
+ *
294
+ * @return bool Either we should require feedback on uninstall or not.
295
+ */
296
+ public function require_uninstall_feedback() {
297
+ return $this->get_type() === 'plugin';
298
+ }
299
+
300
  }
301
  endif;
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-widget-dashboard-blog.php ADDED
@@ -0,0 +1,330 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The blog dashboard model class for ThemeIsle SDK
4
+ *
5
+ * @package ThemeIsleSDK
6
+ * @subpackage Widgets
7
+ * @copyright Copyright (c) 2017, Marius Cristea
8
+ * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License
9
+ * @since 1.0.0
10
+ */
11
+ // Exit if accessed directly.
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+ if ( ! class_exists( 'ThemeIsle_SDK_Widget_Dashboard_Blog' ) ) :
16
+ /**
17
+ * Blog dashboard widget model for ThemeIsle SDK.
18
+ */
19
+ class ThemeIsle_SDK_Widget_Dashboard_Blog extends ThemeIsle_SDK_Widget {
20
+
21
+ /**
22
+ * @var array instance The instances.
23
+ */
24
+ protected $product;
25
+
26
+ /**
27
+ * ThemeIsle_SDK_Widget_Dashboard_Blog constructor.
28
+ *
29
+ * @param ThemeIsle_SDK_Product $product_object The product object.
30
+ */
31
+ public function __construct( $product_object ) {
32
+ $this->product = $product_object;
33
+ parent::__construct( $product_object );
34
+ }
35
+
36
+ /**
37
+ * Registers the hooks
38
+ */
39
+ public function setup_hooks_child() {
40
+ $this->setup_vars();
41
+ add_action( 'wp_dashboard_setup', array( &$this, 'add_widget' ) );
42
+ add_action( 'wp_network_dashboard_setup', array( &$this, 'add_widget' ) );
43
+ add_filter( 'themeisle_sdk_recommend_plugin_or_theme', array( &$this, 'recommend_plugin_or_theme' ) );
44
+ }
45
+
46
+ /**
47
+ * Setup class variables
48
+ */
49
+ function setup_vars() {
50
+ $this->dashboard_name = apply_filters( 'themeisle_sdk_dashboard_widget_name', 'WordPress Guides/Tutorials' );
51
+ $this->feeds = apply_filters( 'themeisle_sdk_dashboard_widget_feeds', array(
52
+ 'https://themeisle.com/blog/feed'
53
+ ) );
54
+ }
55
+
56
+ /**
57
+ * Add widget to the dashboard
58
+ *
59
+ * @return string|void
60
+ */
61
+ function add_widget() {
62
+ global $wp_meta_boxes;
63
+ if ( isset( $wp_meta_boxes['dashboard']['normal']['core']['themeisle'] ) ) {
64
+ return;
65
+ }
66
+ // Load SimplePie Instance
67
+ $feed = fetch_feed( $this->feeds );
68
+ // TODO report error when is an error loading the feed
69
+ if ( is_wp_error( $feed ) ) {
70
+ return '';
71
+ }
72
+
73
+ $items = $feed->get_items( 0, 5 );
74
+ foreach ( (array) $items as $item ) {
75
+ $this->items[] = array(
76
+ 'title' => $item->get_title(),
77
+ 'date' => $item->get_date( 'U' ),
78
+ 'link' => $item->get_permalink(),
79
+ );
80
+ }
81
+ wp_add_dashboard_widget( 'themeisle', $this->dashboard_name, array(
82
+ &$this,
83
+ 'render_dashboard_widget',
84
+ ) );
85
+ }
86
+
87
+ /**
88
+ * Render widget content
89
+ */
90
+ function render_dashboard_widget() {
91
+ ?>
92
+ <style type="text/css">
93
+ #themeisle ul {
94
+ margin-bottom: 0px;
95
+ }
96
+
97
+ #themeisle ul li.ti-dw-recommend-item {
98
+
99
+ padding-left: 7px;
100
+ border-top: 1px solid #eee;
101
+ padding-top: 3px;
102
+ }
103
+
104
+ #themeisle h2.hndle {
105
+ background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAdCAYAAABWk2cPAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALfSURBVEhL7VW/ayJBFL7/5ZqziBzIcSCHxUE4hAiCgnAQsBASOAikEAIeCAaCiJAyIBICQURYwoJoEUmxa6MWioWxURu30mq77b57s86acX+oOQhp8sFjdmbfzrfve2/efMI74IP0VTB0gz/th/8iNbQxOt0eOmoN6WgAn78cwJeoYcLf78KrSPVneU3isEQZoz0D3pt03jhDrDTERJXxWM3A5yAOIPmgce/t2IvUGFzjkDa+7C5RTx0gWbxG0v8bBXUG3fLReigk4rh55gtbsAfpGDfhVTS+VA19bYbH7BkqU/56AzNU7nrYpbI7qfbEcxfBkSOHJGO27Vk0htqEYoXvARdS+tsEJyAJY1GRkOxnGTdq2zuaRZOkJ1Wi1+h7ODlJB/l1kYRKZVyKhMwoSmUw5M4uWMhIcl9f1l1qB2m/aMkZQIE2d5BeDTGiSD0VfC4jZPmSKiO+LMJGuoRE1bkiOIW00CAdW3NuxzLmxhD1hyHmug7dbBRD9KdLc4dR6Zfgn0ffXN2EjVSMLIcOrWxuwiyyPhYGI7X0m/agqPeIib5+yit/LWILKYuUlrTa5kbMwjko7J0AXc1RLZwifRF58Us1YXMzYSMV5WQ5ZWsG5VnYaG1BxM7zKBRzOAkHac460gxK9sUnVBqbu9rhKCS9lRaq1/poCeUq7tL6uPnjSLeoBRo9/KXjslqP4Na1gbiQssiULK9gP+VVqPnFQMblnwi+WmTfIji5amLES1mn/mz9yCFVuddZdiFlIJlTK+JtH2/AaPMogzipzrZ+4yQ1qCL1JSaNDL6bf81y1aOb5R6Vhow6G1tPNK9Borl0R2NLRiEaxNEF9Wa3yrHBSarTbeHot7ySqVmYR4AucDYuaJyzkfptZ0e/FeGa03m3jOQPizCAo0QG9W2ktL5HgGt45JRgaBh1x9R1WHY0KCTnLZOW5Kw0miuZq01ITGa6Z18Db9I3xAfpm+IdSIF/du91gSA2+I8AAAAASUVORK5CYII=');
106
+ background-repeat: no-repeat;
107
+ background-position: 90% 50%;
108
+ background-size: 29px;
109
+ }
110
+
111
+ .ti-dw-feed-item {
112
+ display: flex;
113
+ align-items: center;
114
+ }
115
+
116
+ .ti-dw-feed-item a {
117
+ float: left;
118
+ width: 89.9%;
119
+ }
120
+
121
+ .ti-dw-feed-item .ti-dw-day-container {
122
+ width: 100%;
123
+ letter-spacing: 3px;
124
+ display: block;
125
+ }
126
+
127
+ .ti-dw-feed-item .ti-dw-month-container {
128
+
129
+ width: 100%;
130
+ display: block;
131
+ font-weight: 600;
132
+ padding: 0px;
133
+ margin-top: -6px;
134
+ text-transform: uppercase;
135
+ font-size: 10px;
136
+ letter-spacing: 1px;
137
+ }
138
+
139
+ .ti-dw-feed-item .ti-dw-date-container {
140
+ float: left;
141
+ min-height: 30px;
142
+ margin-right: 0.1%;
143
+ width: 10%;
144
+ text-align: center;
145
+ }
146
+
147
+ </style>
148
+ <ul>
149
+ <?php
150
+ foreach ( $this->items as $item ) {
151
+ ?>
152
+ <li class="ti-dw-feed-item"><span class="ti-dw-date-container"><span
153
+ class="ti-dw-day-container"><?php echo date( 'd', $item['date'] ); ?></span> <span
154
+ class="ti-dw-month-container"><?php echo substr( date( 'M', $item['date'] ), 0, 3 ); ?></span></span><a
155
+ href="<?php echo add_query_arg(
156
+ array(
157
+ 'utm_campaign' => 'feed',
158
+ 'utm_medium' => 'dashboard_widget',
159
+ ), $item['link'] ); ?>" target="_blank"><?php echo $item['title']; ?></a>
160
+ <div class="clear"></div>
161
+ </li>
162
+ <?php
163
+ }
164
+
165
+ $recommend = apply_filters( 'themeisle_sdk_recommend_plugin_or_theme', array() );
166
+ if ( is_array( $recommend ) && ! empty( $recommend ) ) {
167
+
168
+ $type = $recommend['type'];
169
+ if ( ( $type == 'theme' && current_user_can( 'install_themes' ) ) || ( $type == 'plugin' && current_user_can( 'install_plugins' ) ) ) {
170
+ add_thickbox();
171
+ $url = add_query_arg( array(
172
+ 'theme' => $recommend['slug'],
173
+ ), network_admin_url( 'theme-install.php' ) );
174
+
175
+ if ( 'plugin' === $type ) {
176
+
177
+ $url = add_query_arg( array(
178
+ 'tab' => 'plugin-information',
179
+ 'plugin' => $recommend['slug'],
180
+ ), network_admin_url( 'plugin-install.php' ) );
181
+ }
182
+ ?>
183
+ <li class="ti-dw-recommend-item">
184
+ <span class="ti-dw-recommend"><?php echo apply_filters( 'themeisle_sdk_dashboard_popular_label', sprintf( 'Popular %s', ucwords( $type ) ) ); ?>
185
+ :
186
+ <?php echo trim( str_replace( array( 'lite', 'Lite' ), '', $recommend['name'] ) ); ?>
187
+ (<a class="thickbox open-plugin-details-modal"
188
+ href="<?php echo $url . '&TB_iframe=true&width=600&height=500' ; ?>"><?php _e( 'Install' ); ?></a>)</span>
189
+ </li>
190
+
191
+ <?php
192
+ }
193
+ }
194
+ ?>
195
+ </ul>
196
+
197
+ <?php
198
+
199
+ }
200
+
201
+ /**
202
+ * Either the current product is installed or not.
203
+ *
204
+ * @param array $val The current recommended product.
205
+ *
206
+ * @return bool Either we should exclude the plugin or not.
207
+ */
208
+ public function remove_current_products( $val ) {
209
+ if ( $val['type'] === 'theme' ) {
210
+ $exist = wp_get_theme( $val['slug'] );
211
+
212
+ return ! $exist->exists();
213
+ } else {
214
+ $all_plugins = array_keys( get_plugins() );
215
+ foreach ( $all_plugins as $slug ) {
216
+ if ( strpos( $slug, $val['slug'] ) !== false ) {
217
+ return false;
218
+ }
219
+ }
220
+
221
+ return true;
222
+ }
223
+ }
224
+
225
+ /**
226
+ * Fetch themes from wporg api.
227
+ *
228
+ * @param string $author The author name.
229
+ *
230
+ * @return array The list of themes.
231
+ */
232
+ function get_themes_from_wporg( $author ) {
233
+ $products = wp_remote_get(
234
+ 'https://api.wordpress.org/themes/info/1.1/?action=query_themes&request[author]=' . $author . '&request[per_page]=30&request[fields][active_installs]=true'
235
+ );
236
+ $products = json_decode( wp_remote_retrieve_body( $products ) );
237
+ if ( is_object( $products ) ) {
238
+ $products = isset( $products->themes ) ? $products->themes : array();
239
+ } else {
240
+ $products = array();
241
+ }
242
+
243
+ return $products;
244
+ }
245
+
246
+ /**
247
+ * Fetch plugin from wporg api.
248
+ *
249
+ * @param string $author The author slug.
250
+ *
251
+ * @return array The list of plugins for the selected author.
252
+ */
253
+ function get_plugins_from_wporg( $author ) {
254
+ $products = wp_remote_get(
255
+ 'https://api.wordpress.org/plugins/info/1.1/?action=query_plugins&request[author]=' . $author . '&request[author]=codeinwp&request[per_page]=20&request[fields][active_installs]=true'
256
+ );
257
+ $products = json_decode( wp_remote_retrieve_body( $products ) );
258
+ if ( is_object( $products ) ) {
259
+ $products = isset( $products->plugins ) ? $products->plugins : array();
260
+ } else {
261
+ $products = array();
262
+ }
263
+
264
+ return $products;
265
+ }
266
+
267
+ /**
268
+ * Fetch products from the recomended section.
269
+ *
270
+ * @return array|mixed The list of products to use in recomended section.
271
+ */
272
+ function get_product_from_api() {
273
+ if ( false === ( $products = get_transient( 'themeisle_sdk_products' ) ) ) {
274
+ $products = array();
275
+ $themeisle_themes = $this->get_themes_from_wporg( 'themeisle' );
276
+ $codeinwp_themes = $this->get_themes_from_wporg( 'codeinwp' );
277
+
278
+ $themeisle_plugins = $this->get_plugins_from_wporg( 'themeisle' );
279
+ $codeinwp_plugins = $this->get_plugins_from_wporg( 'codeinwp' );
280
+
281
+ $all_themes = array_merge( $themeisle_themes, $codeinwp_themes );
282
+ foreach ( $all_themes as $theme ) {
283
+ if ( $theme->active_installs < 4999 ) {
284
+ continue;
285
+ }
286
+ $products[] = array(
287
+ 'name' => $theme->name,
288
+ 'type' => 'theme',
289
+ 'slug' => $theme->slug,
290
+ 'installs' => $theme->active_installs,
291
+ );
292
+ }
293
+ $all_plugins = array_merge( $themeisle_plugins, $codeinwp_plugins );
294
+ foreach ( $all_plugins as $plugin ) {
295
+ if ( $plugin->active_installs < 5999 ) {
296
+ continue;
297
+ }
298
+ $products[] = array(
299
+ 'name' => $plugin->name,
300
+ 'type' => 'plugin',
301
+ 'slug' => $plugin->slug,
302
+ 'installs' => $plugin->active_installs,
303
+ );
304
+ }
305
+ set_transient( 'themeisle_sdk_products', $products, 6 * HOUR_IN_SECONDS );
306
+ }
307
+
308
+ return $products;
309
+ }
310
+
311
+ /**
312
+ * Contact the API and fetch the recommended plugins/themes
313
+ */
314
+ function recommend_plugin_or_theme() {
315
+ $products = $this->get_product_from_api();
316
+ if ( ! is_array( $products ) ) {
317
+ $products = array();
318
+ }
319
+ $products = array_filter( $products, array( $this, 'remove_current_products' ) );
320
+ $products = array_merge( $products );
321
+ if ( count( $products ) > 1 ) {
322
+ shuffle( $products );
323
+ $products = array_slice( $products, 0, 1 );
324
+ }
325
+ $to_recommend = isset( $products[0] ) ? $products[0] : $products;
326
+
327
+ return $to_recommend;
328
+ }
329
+ }
330
+ endif;
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-widget.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The widget model class for ThemeIsle SDK
4
+ *
5
+ * @package ThemeIsleSDK
6
+ * @subpackage Widgets
7
+ * @copyright Copyright (c) 2017, Marius Cristea
8
+ * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License
9
+ * @since 1.0.0
10
+ */
11
+ // Exit if accessed directly.
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+ if ( ! class_exists( 'ThemeIsle_SDK_Widget' ) ) :
16
+ /**
17
+ * Widget model for ThemeIsle SDK.
18
+ */
19
+ abstract class ThemeIsle_SDK_Widget {
20
+ /**
21
+ * @var ThemeIsle_SDK_Product $product Themeisle Product.
22
+ */
23
+ protected $product;
24
+
25
+ /**
26
+ * ThemeIsle_SDK_Widget constructor.
27
+ *
28
+ * @param ThemeIsle_SDK_Product $product_object Product Object.
29
+ */
30
+ public function __construct( $product_object ) {
31
+ if ( $product_object instanceof ThemeIsle_SDK_Product ) {
32
+ $this->product = $product_object;
33
+ }
34
+ $this->setup_hooks();
35
+ }
36
+
37
+ /**
38
+ * Registers the hooks and then delegates to the child
39
+ */
40
+ public function setup_hooks() {
41
+ $this->setup_hooks_child();
42
+ }
43
+
44
+ /**
45
+ * Abstract function for delegating to the child
46
+ */
47
+ protected abstract function setup_hooks_child();
48
+
49
+ }
50
+ endif;
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-widgets-factory.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * The widgets factory class for ThemeIsle SDK
4
+ *
5
+ * @package ThemeIsleSDK
6
+ * @subpackage Widgets
7
+ * @copyright Copyright (c) 2017, Marius Cristea
8
+ * @license http://opensource.org/licenses/gpl-3.0.php GNU Public License
9
+ * @since 1.0.0
10
+ */
11
+ // Exit if accessed directly.
12
+ if ( ! defined( 'ABSPATH' ) ) {
13
+ exit;
14
+ }
15
+ if ( ! class_exists( 'ThemeIsle_SDK_Widgets_Factory' ) ) :
16
+ /**
17
+ * Widgets factory model for ThemeIsle SDK.
18
+ */
19
+ class ThemeIsle_SDK_Widgets_Factory {
20
+
21
+ /**
22
+ * ThemeIsle_SDK_Widgets_Factory constructor.
23
+ *
24
+ * @param ThemeIsle_SDK_Product $product_object Product Object.
25
+ * @param array $widgets the widgets.
26
+ */
27
+ public function __construct( $product_object, $widgets ) {
28
+ if ( $product_object instanceof ThemeIsle_SDK_Product && $widgets && is_array( $widgets ) ) {
29
+ foreach ( $widgets as $widget ) {
30
+ $class = 'ThemeIsle_SDK_Widget_' . str_replace( ' ', '_', ucwords( str_replace( '_', ' ', $widget ) ) );
31
+ $instance = new $class( $product_object );
32
+ $instance->setup_hooks();
33
+ }
34
+ }
35
+ }
36
+ }
37
+ endif;
vendor/codeinwp/themeisle-sdk/composer.json CHANGED
@@ -18,7 +18,13 @@
18
  "class-themeisle-sdk-loader.php",
19
  "class-themeisle-sdk-product.php",
20
  "class-themeisle-sdk-logger.php",
21
- "class-themeisle-sdk-licenser.php"
 
 
 
 
 
 
22
  ]
23
  },
24
  "support": {
18
  "class-themeisle-sdk-loader.php",
19
  "class-themeisle-sdk-product.php",
20
  "class-themeisle-sdk-logger.php",
21
+ "class-themeisle-sdk-licenser.php",
22
+ "class-themeisle-sdk-feedback-factory.php",
23
+ "class-themeisle-sdk-feedback.php",
24
+ "class-themeisle-sdk-feedback-deactivate.php",
25
+ "class-themeisle-sdk-widget.php",
26
+ "class-themeisle-sdk-widget-dashboard-blog.php",
27
+ "class-themeisle-sdk-widgets-factory.php"
28
  ]
29
  },
30
  "support": {
vendor/codeinwp/themeisle-sdk/phpcs.xml CHANGED
@@ -21,6 +21,7 @@
21
  <exclude name="WordPress.NamingConvention.ValidVariableName.StringNotSnakeCase"/>
22
  <exclude name="WordPress.NamingConventions.ValidVariableName.NotSnakeCase"/>
23
  <exclude name="WordPress.PHP.YodaConditions.NotYoda"/>
 
24
  <exclude name="Squiz.PHP.DisallowMultipleAssignments" />
25
  </rule>
26
  <rule ref="WordPress-Docs">
21
  <exclude name="WordPress.NamingConvention.ValidVariableName.StringNotSnakeCase"/>
22
  <exclude name="WordPress.NamingConventions.ValidVariableName.NotSnakeCase"/>
23
  <exclude name="WordPress.PHP.YodaConditions.NotYoda"/>
24
+ <exclude name="WordPress.WP.I18n.NonSingularStringLiteralText"/>
25
  <exclude name="Squiz.PHP.DisallowMultipleAssignments" />
26
  </rule>
27
  <rule ref="WordPress-Docs">
vendor/composer/autoload_classmap.php CHANGED
@@ -6,8 +6,14 @@ $vendorDir = dirname(dirname(__FILE__));
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
 
 
 
9
  'ThemeIsle_SDK_Licenser' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-licenser.php',
10
  'ThemeIsle_SDK_Loader' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-loader.php',
11
  'ThemeIsle_SDK_Logger' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-logger.php',
12
  'ThemeIsle_SDK_Product' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-product.php',
 
 
 
13
  );
6
  $baseDir = dirname($vendorDir);
7
 
8
  return array(
9
+ 'ThemeIsle_SDK_Feedback' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-feedback.php',
10
+ 'ThemeIsle_SDK_Feedback_Deactivate' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-feedback-deactivate.php',
11
+ 'ThemeIsle_SDK_Feedback_Factory' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-feedback-factory.php',
12
  'ThemeIsle_SDK_Licenser' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-licenser.php',
13
  'ThemeIsle_SDK_Loader' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-loader.php',
14
  'ThemeIsle_SDK_Logger' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-logger.php',
15
  'ThemeIsle_SDK_Product' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-product.php',
16
+ 'ThemeIsle_SDK_Widget' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-widget.php',
17
+ 'ThemeIsle_SDK_Widget_Dashboard_Blog' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-widget-dashboard-blog.php',
18
+ 'ThemeIsle_SDK_Widgets_Factory' => $vendorDir . '/codeinwp/themeisle-sdk/class-themeisle-sdk-widgets-factory.php',
19
  );
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInitd47900c88dcb06d0771a90eff9f7db98
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitd47900c88dcb06d0771a90eff9f7db98
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInitd47900c88dcb06d0771a90eff9f7db98', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInitd47900c88dcb06d0771a90eff9f7db98', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit276c9582fa115366ac05248d47125f8f
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit276c9582fa115366ac05248d47125f8f', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit276c9582fa115366ac05248d47125f8f', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
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 ComposerAutoloaderInit7b23871f1933733f5ae138f0de992846 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit7b23871f1933733f5ae138f0de992846 {
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit7b23871f1933733f5ae138f0de992846', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit7b23871f1933733f5ae138f0de992846', '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 ComposerAutoloaderInit05b53f459746cd03dadab9a349c46a87 {
6
  private static $loader;
7
 
8
  public static function loadClassLoader($class) {
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit05b53f459746cd03dadab9a349c46a87', 'loadClassLoader'), true /*, true */);
23
  self::$loader = $loader = new xrstf_Composer52_ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit05b53f459746cd03dadab9a349c46a87', '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": "154eeed18afdaeafface47acffa8426764c68308"
43
  },
44
  "dist": {
45
  "type": "zip",
46
- "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/154eeed18afdaeafface47acffa8426764c68308",
47
- "reference": "154eeed18afdaeafface47acffa8426764c68308",
48
  "shasum": ""
49
  },
50
- "time": "2017-05-12 14:50:37",
51
  "type": "library",
52
  "installation-source": "source",
53
  "autoload": {
@@ -55,7 +55,13 @@
55
  "class-themeisle-sdk-loader.php",
56
  "class-themeisle-sdk-product.php",
57
  "class-themeisle-sdk-logger.php",
58
- "class-themeisle-sdk-licenser.php"
 
 
 
 
 
 
59
  ]
60
  },
61
  "license": [
39
  "source": {
40
  "type": "git",
41
  "url": "https://github.com/Codeinwp/themeisle-sdk.git",
42
+ "reference": "6f80d2f1820e34188121824fb43937494b676084"
43
  },
44
  "dist": {
45
  "type": "zip",
46
+ "url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/6f80d2f1820e34188121824fb43937494b676084",
47
+ "reference": "6f80d2f1820e34188121824fb43937494b676084",
48
  "shasum": ""
49
  },
50
+ "time": "2017-05-26 17:00:03",
51
  "type": "library",
52
  "installation-source": "source",
53
  "autoload": {
55
  "class-themeisle-sdk-loader.php",
56
  "class-themeisle-sdk-product.php",
57
  "class-themeisle-sdk-logger.php",
58
+ "class-themeisle-sdk-licenser.php",
59
+ "class-themeisle-sdk-feedback-factory.php",
60
+ "class-themeisle-sdk-feedback.php",
61
+ "class-themeisle-sdk-feedback-deactivate.php",
62
+ "class-themeisle-sdk-widget.php",
63
+ "class-themeisle-sdk-widget-dashboard-blog.php",
64
+ "class-themeisle-sdk-widgets-factory.php"
65
  ]
66
  },
67
  "license": [