Instagram Gallery - Version 2.5.0

Version Description

  • Fix. Instagram Feed Gallery CSS optimized
  • Fix. Instagram Feed Gallery new option to reset feed cache
Download this release

Release Info

Developer quadlayers
Plugin Icon 128x128 Instagram Gallery
Version 2.5.0
Comparing to
See all releases

Code changes from version 2.4.9 to 2.5.0

assets/css/qligg-admin.css CHANGED
@@ -20,17 +20,6 @@
20
  .qlwrap hr {
21
  margin: 3em 0 1em 0;
22
  }
23
- .qligg-box {
24
- background-color: #fff;
25
- border: 1px solid #ddd;
26
- padding: 15px;
27
- word-break: break-word;
28
- margin: 0 0 15px 0;
29
- min-width: 350px;
30
- }
31
- .qligg-box h4 {
32
- margin: 0;
33
- }
34
  div.premium,
35
  tr.premium,
36
  li.premium {
@@ -50,6 +39,9 @@ li.premium:before {
50
  background-color: #eee;
51
  opacity: 0.25;
52
  }
 
 
 
53
  .ig-table .iris-picker .iris-slider {
54
  margin-left: 8px!important;
55
  }
@@ -273,138 +265,15 @@ li.premium:before {
273
  .ig-tab-content-row.active {
274
  display: table-row;
275
  }
276
- .ig_page_msg p {
277
- font-size: 20px;
278
- color: #e93b59;
279
- }
280
- .ig-table-edit td {
281
- vertical-align: top;
282
- }
283
- .ig-table-edit input[type="checkbox"] {
284
- zoom: 1.5;
285
- }
286
- .ig-table-edit input[type="checkbox"]:checked:before {
287
- color: #e23565;
288
- }
289
- .ig-table-edit input[type="color"] {
290
- vertical-align: top;
291
- padding: 1px 2px;
292
- width: 50px;
293
- height: 26px;
294
- }
295
  #ig-save-settings .insta-gallery-spinner {
296
  position: relative;
297
- padding: 10px 30px;
298
- height: 60px;
299
- -webkit-box-sizing: content-box;
300
- -moz-box-sizing: content-box;
301
- box-sizing: content-box;
302
- }
303
- .igf-response {
304
- font-size: 16px;
305
- color: #e93b59;
306
- padding: 5px;
307
- }
308
- .ig-account-section {
309
- border: 1px solid #e5e5e5;
310
- box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
311
- background: #fff;
312
- padding: 10px;
313
- }
314
- .ig-account-section .notice p {
315
- color: #e93b59;
316
- font-size: 14px;
317
  }
318
- .ig-doc-header {
319
- background: #fff;
320
- padding: 1px 10px 5px 10px;
321
- border: 1px solid #ddd;
322
- margin-bottom: 10px;
323
- }
324
- .ig-doc-body article {
325
- background: #fff;
326
- padding: 1px 10px 5px 10px;
327
- border: 1px solid #ddd;
328
- margin-bottom: 10px;
329
- -webkit-transition: .3s;
330
- transition: .3s;
331
- }
332
- .ig-doc-body article:hover {
333
- box-shadow: 0 0 11px rgba(33, 33, 33, 0.2);
334
- }
335
- .ig-doc-body article table {
336
- border-collapse: collapse;
337
- }
338
- .ig-doc-body article table th {
339
- text-align: left;
340
- padding: 3px 5px;
341
- border: 1px solid #ddd;
342
- }
343
- .ig-doc-body article table td {
344
- padding: 3px 5px;
345
- border: 1px solid #ddd;
346
- }
347
- .ig-doc-body figure img {
348
- border: 1px solid #e93b59;
349
- box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.2);
350
- }
351
- input.ig-doc-red-url {
352
- cursor: copy;
353
- min-width: 650px;
354
- color: #e93b59;
355
- }
356
- .ig-doc-figure {
357
- border: 1px solid #e93b59;
358
- box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.2);
359
- }
360
- #TB_window figure.ig-doc-figure {
361
- margin: auto;
362
- display: inline-block;
363
- }
364
- #ig-save-settings-toggle {
365
- cursor: pointer;
366
- border: 0px;
367
- }
368
- #ig-save-settings-toggle .dashicons-minus {
369
- display: none;
370
- }
371
- #ig-save-settings-toggle.active .dashicons-minus {
372
- display: initial;
373
- }
374
- #ig-save-settings-toggle.active .dashicons-plus {
375
- display: none;
376
- }
377
- .ig_donation-wrap {
378
- padding: 10px 20px;
379
- background: lightgoldenrodyellow;
380
- margin-top: 35px;
381
- font-weight: bold;
382
- }
383
- .ig_donation-wrap p {
384
- font-size: 125%;
385
- }
386
- .ig_donation_text {
387
- display: inline-block;
388
- vertical-align: middle;
389
- line-height: normal;
390
- }
391
- .ig_donation_btn {
392
- display: inline-block;
393
- margin-left: 20px;
394
- text-decoration: none;
395
- padding: 6px 20px;
396
- background: #fecb5d;
397
- color: #23282d;
398
- text-transform: uppercase;
399
- box-shadow: 1px 1px 5px #888888;
400
- font: bold 100%/24px sans-serif;
401
- }
402
- .ig_donation_btn:hover {
403
- color: #fff;
404
- background: #972dbe;
405
- }
406
- .ig_donation_btn img {
407
- vertical-align: middle;
408
- height: 24px;
409
  }
410
  /*# sourceMappingURL=qligg-admin.css.map */
20
  .qlwrap hr {
21
  margin: 3em 0 1em 0;
22
  }
 
 
 
 
 
 
 
 
 
 
 
23
  div.premium,
24
  tr.premium,
25
  li.premium {
39
  background-color: #eee;
40
  opacity: 0.25;
41
  }
42
+ .ig-table h4 {
43
+ margin: 5px 0 10px 0;
44
+ }
45
  .ig-table .iris-picker .iris-slider {
46
  margin-left: 8px!important;
47
  }
265
  .ig-tab-content-row.active {
266
  display: table-row;
267
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  #ig-save-settings .insta-gallery-spinner {
269
  position: relative;
270
+ height: 45px;
271
+ width: 45px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
272
  }
273
+ #ig-save-settings .insta-gallery-spinner .ig-spin {
274
+ max-width: 100%;
275
+ max-height: 100%;
276
+ height: auto;
277
+ width: auto;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
278
  }
279
  /*# sourceMappingURL=qligg-admin.css.map */
assets/css/qligg-admin.min.css CHANGED
@@ -1,2 +1,2 @@
1
 
2
- @-moz-keyframes "igspin"{100%{-moz-transform:rotate(360deg)}}@-webkit-keyframes "igspin"{100%{-webkit-transform:rotate(360deg)}}@keyframes "igspin"{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.qlwrap .nav-tab i{line-height:26px}.qlwrap hr{margin:3em 0 1em 0}.qligg-box{background-color:#fff;border:1px solid #ddd;padding:15px;word-break:break-word;margin:0 0 15px 0;min-width:350px}.qligg-box h4{margin:0}div.premium,tr.premium,li.premium{position:relative;pointer-events:none;opacity:.5}div.premium:before,tr.premium:before,li.premium:before{content:'';position:absolute;top:0;bottom:-1px;left:0;right:0;background-color:#eee;opacity:.25}.ig-table .iris-picker .iris-slider{margin-left:8px!important}.ig-table tr.premium{display:block!important}.ig-table tr.premium td p.description{display:none}.ig-table td{vertical-align:middle}.ig-table td.profile-picture img{width:46px;border-radius:50%}.ig-table td p.premium,.ig-table td span.premium{font-size:11px;font-weight:600;font-style:italic;color:#747474}.ig-table input[type="text"]:read-only{font-weight:bold;font-size:110%;padding:3px 10px;background:#f7f7f7;color:#72777c;cursor:copy;border-color:transparent;box-shadow:none}.ig-table input[type="text"]:read-only:focus{border-color:transparent;box-shadow:none}.ig-list-images{display:inline-block;margin:0}.ig-list-images li{display:inline-block;margin:0 10px 0 0;margin-bottom:0;vertical-align:middle;color:#aaa;position:relative;border:1px solid #f1f1f1;border-radius:3px;padding:10px;background-color:#fff;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.07)}.ig-list-images li:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;background-color:#eee;opacity:.2}.ig-list-images li.active:before,.ig-list-images li:hover:before{opacity:0}.ig-list-images li.active label,.ig-list-images li:hover label{color:#e23565}.ig-list-images label{display:block;position:relative;line-height:2em;z-index:9;cursor:pointer;transition:all .25s linear;text-align:center;font-weight:bold;color:#23282d}.ig-list-images input[type=radio]{display:none}.ig-list-buttons{display:inline-block;margin:0}.ig-list-buttons li{display:inline-block;margin-right:20px;margin-bottom:0;vertical-align:middle;color:#aaa;position:relative}.ig-list-buttons li:hover label{color:#e23565}.ig-list-buttons li:hover .check{border-color:#e23565}.ig-list-buttons li .check{display:block;position:absolute;border:5px solid #aaa;border-radius:50%;height:25px;width:25px;top:5px;z-index:5;-webkit-transition:border .25s linear;transition:border .25s linear}.ig-list-buttons li .check::before{display:block;position:absolute;content:'';border-radius:100%;height:15px;width:15px;top:5px;left:5px;margin:auto;-webkit-transition:background .25s linear;transition:background .25s linear}.ig-list-buttons input[type=radio]{position:absolute;visibility:hidden}.ig-list-buttons input[type=radio]:checked ~ .check{border-color:#e23565}.ig-list-buttons input[type=radio]:checked ~ .check::before{background:#e23565}.ig-list-buttons input[type=radio]:checked ~ label{color:#e23565}.ig-list-buttons label{display:block;position:relative;font-size:1.35em;padding:10px 5px 10px 50px;z-index:9;cursor:pointer;-webkit-transition:all .25s linear;transition:all .25s linear}.btn-instagram-account{padding:0 24px 0 120px;height:44px;line-height:44px;text-transform:uppercase;color:rgba(255,255,255,0.8)!important;text-decoration:none;border-radius:3px;transition:all .5s ease-in-out;font-weight:600;display:inline-block;background:#408bd1 url(../img/instagram.png) no-repeat 16px 13.5px;background-size:auto 20px}.btn-instagram-account:focus,.btn-instagram-account:hover{box-shadow:inset 0 0 20px 20px rgba(255,255,255,0.2)}.btn-instagram,.btn-instagram:focus{display:inline-block;height:auto;box-shadow:none;text-shadow:none;border:0;text-transform:uppercase;cursor:pointer;padding:8px 24px;border-radius:3px;transition:all .5s;text-decoration:none;background:#972dbe;color:#fff;font-size:12px;font-weight:600}.btn-instagram:focus{background:#feb547}.btn-instagram:hover{background:#feb547;color:#fff}.btn-instagram .dashicons{text-decoration:none;vertical-align:middle;height:initial;padding-right:5px;font-size:14px;line-height:12px;position:relative}.btn-instagram.secondary{background:#e23565}.btn-instagram.secondary:focus{background:#feb547;color:#fff}.btn-instagram.secondary:hover{background:#feb547;color:#fff}.ig-tab-content-row{display:none;border-bottom:1px solid #f1f1f1}.ig-tab-content-row.active{display:table-row}.ig_page_msg p{font-size:20px;color:#e93b59}.ig-table-edit td{vertical-align:top}.ig-table-edit input[type="checkbox"]{zoom:1.5}.ig-table-edit input[type="checkbox"]:checked:before{color:#e23565}.ig-table-edit input[type="color"]{vertical-align:top;padding:1px 2px;width:50px;height:26px}#ig-save-settings .insta-gallery-spinner{position:relative;padding:10px 30px;height:60px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.igf-response{font-size:16px;color:#e93b59;padding:5px}.ig-account-section{border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,0.04);background:#fff;padding:10px}.ig-account-section .notice p{color:#e93b59;font-size:14px}.ig-doc-header{background:#fff;padding:1px 10px 5px 10px;border:1px solid #ddd;margin-bottom:10px}.ig-doc-body article{background:#fff;padding:1px 10px 5px 10px;border:1px solid #ddd;margin-bottom:10px;-webkit-transition:.3s;transition:.3s}.ig-doc-body article:hover{box-shadow:0 0 11px rgba(33,33,33,0.2)}.ig-doc-body article table{border-collapse:collapse}.ig-doc-body article table th{text-align:left;padding:3px 5px;border:1px solid #ddd}.ig-doc-body article table td{padding:3px 5px;border:1px solid #ddd}.ig-doc-body figure img{border:1px solid #e93b59;box-shadow:0 3px 10px 0 rgba(0,0,0,0.2),0 3px 10px 0 rgba(0,0,0,0.2)}input.ig-doc-red-url{cursor:copy;min-width:650px;color:#e93b59}.ig-doc-figure{border:1px solid #e93b59;box-shadow:0 3px 10px 0 rgba(0,0,0,0.2),0 3px 10px 0 rgba(0,0,0,0.2)}#TB_window figure.ig-doc-figure{margin:auto;display:inline-block}#ig-save-settings-toggle{cursor:pointer;border:0}#ig-save-settings-toggle .dashicons-minus{display:none}#ig-save-settings-toggle.active .dashicons-minus{display:initial}#ig-save-settings-toggle.active .dashicons-plus{display:none}.ig_donation-wrap{padding:10px 20px;background:lightgoldenrodyellow;margin-top:35px;font-weight:bold}.ig_donation-wrap p{font-size:125%}.ig_donation_text{display:inline-block;vertical-align:middle;line-height:normal}.ig_donation_btn{display:inline-block;margin-left:20px;text-decoration:none;padding:6px 20px;background:#fecb5d;color:#23282d;text-transform:uppercase;box-shadow:1px 1px 5px #888;font:bold 100%/24px sans-serif}.ig_donation_btn:hover{color:#fff;background:#972dbe}.ig_donation_btn img{vertical-align:middle;height:24px}
1
 
2
+ @-moz-keyframes "igspin"{100%{-moz-transform:rotate(360deg)}}@-webkit-keyframes "igspin"{100%{-webkit-transform:rotate(360deg)}}@keyframes "igspin"{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.qlwrap .nav-tab i{line-height:26px}.qlwrap hr{margin:3em 0 1em 0}div.premium,tr.premium,li.premium{position:relative;pointer-events:none;opacity:.5}div.premium:before,tr.premium:before,li.premium:before{content:'';position:absolute;top:0;bottom:-1px;left:0;right:0;background-color:#eee;opacity:.25}.ig-table h4{margin:5px 0 10px 0}.ig-table .iris-picker .iris-slider{margin-left:8px!important}.ig-table tr.premium{display:block!important}.ig-table tr.premium td p.description{display:none}.ig-table td{vertical-align:middle}.ig-table td.profile-picture img{width:46px;border-radius:50%}.ig-table td p.premium,.ig-table td span.premium{font-size:11px;font-weight:600;font-style:italic;color:#747474}.ig-table input[type="text"]:read-only{font-weight:bold;font-size:110%;padding:3px 10px;background:#f7f7f7;color:#72777c;cursor:copy;border-color:transparent;box-shadow:none}.ig-table input[type="text"]:read-only:focus{border-color:transparent;box-shadow:none}.ig-list-images{display:inline-block;margin:0}.ig-list-images li{display:inline-block;margin:0 10px 0 0;margin-bottom:0;vertical-align:middle;color:#aaa;position:relative;border:1px solid #f1f1f1;border-radius:3px;padding:10px;background-color:#fff;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,0.07)}.ig-list-images li:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;background-color:#eee;opacity:.2}.ig-list-images li.active:before,.ig-list-images li:hover:before{opacity:0}.ig-list-images li.active label,.ig-list-images li:hover label{color:#e23565}.ig-list-images label{display:block;position:relative;line-height:2em;z-index:9;cursor:pointer;transition:all .25s linear;text-align:center;font-weight:bold;color:#23282d}.ig-list-images input[type=radio]{display:none}.ig-list-buttons{display:inline-block;margin:0}.ig-list-buttons li{display:inline-block;margin-right:20px;margin-bottom:0;vertical-align:middle;color:#aaa;position:relative}.ig-list-buttons li:hover label{color:#e23565}.ig-list-buttons li:hover .check{border-color:#e23565}.ig-list-buttons li .check{display:block;position:absolute;border:5px solid #aaa;border-radius:50%;height:25px;width:25px;top:5px;z-index:5;-webkit-transition:border .25s linear;transition:border .25s linear}.ig-list-buttons li .check::before{display:block;position:absolute;content:'';border-radius:100%;height:15px;width:15px;top:5px;left:5px;margin:auto;-webkit-transition:background .25s linear;transition:background .25s linear}.ig-list-buttons input[type=radio]{position:absolute;visibility:hidden}.ig-list-buttons input[type=radio]:checked ~ .check{border-color:#e23565}.ig-list-buttons input[type=radio]:checked ~ .check::before{background:#e23565}.ig-list-buttons input[type=radio]:checked ~ label{color:#e23565}.ig-list-buttons label{display:block;position:relative;font-size:1.35em;padding:10px 5px 10px 50px;z-index:9;cursor:pointer;-webkit-transition:all .25s linear;transition:all .25s linear}.btn-instagram-account{padding:0 24px 0 120px;height:44px;line-height:44px;text-transform:uppercase;color:rgba(255,255,255,0.8)!important;text-decoration:none;border-radius:3px;transition:all .5s ease-in-out;font-weight:600;display:inline-block;background:#408bd1 url(../img/instagram.png) no-repeat 16px 13.5px;background-size:auto 20px}.btn-instagram-account:focus,.btn-instagram-account:hover{box-shadow:inset 0 0 20px 20px rgba(255,255,255,0.2)}.btn-instagram,.btn-instagram:focus{display:inline-block;height:auto;box-shadow:none;text-shadow:none;border:0;text-transform:uppercase;cursor:pointer;padding:8px 24px;border-radius:3px;transition:all .5s;text-decoration:none;background:#972dbe;color:#fff;font-size:12px;font-weight:600}.btn-instagram:focus{background:#feb547}.btn-instagram:hover{background:#feb547;color:#fff}.btn-instagram .dashicons{text-decoration:none;vertical-align:middle;height:initial;padding-right:5px;font-size:14px;line-height:12px;position:relative}.btn-instagram.secondary{background:#e23565}.btn-instagram.secondary:focus{background:#feb547;color:#fff}.btn-instagram.secondary:hover{background:#feb547;color:#fff}.ig-tab-content-row{display:none;border-bottom:1px solid #f1f1f1}.ig-tab-content-row.active{display:table-row}#ig-save-settings .insta-gallery-spinner{position:relative;height:45px;width:45px}#ig-save-settings .insta-gallery-spinner .ig-spin{max-width:100%;max-height:100%;height:auto;width:auto}
includes/ajax.php CHANGED
@@ -39,6 +39,7 @@ if (!class_exists('QLIGG_AJAX')) {
39
  $keys = array(
40
  'insta_license' => 0,
41
  'insta_flush' => 0,
 
42
  'insta_spinner_image_id' => 0
43
  );
44
 
@@ -46,11 +47,11 @@ if (!class_exists('QLIGG_AJAX')) {
46
 
47
  update_option('insta_gallery_settings', $qligg, false);
48
 
49
- wp_send_json_success(__('Settings updated successfully', 'insta-gallery'));
50
  }
51
  }
52
 
53
- wp_send_json_error(__('Invalid Request', 'insta-gallery'));
54
  }
55
 
56
  function generate_token() {
@@ -62,13 +63,13 @@ if (!class_exists('QLIGG_AJAX')) {
62
  if (!empty($_REQUEST) && check_admin_referer('qligg_generate_token', 'ig_nonce')) {
63
 
64
  if (empty($_REQUEST['ig_access_token'])) {
65
- wp_send_json_error(__('Empty access token', 'insta-gallery'));
66
  }
67
 
68
  $access_token = sanitize_text_field($_REQUEST['ig_access_token']);
69
 
70
  if (count($access_token_id = explode('.', $access_token)) == 1) {
71
- wp_send_json_error(__('Invalid access token', 'insta-gallery'));
72
  }
73
 
74
  if (!$qligg_api->validate_token($access_token)) {
@@ -76,7 +77,7 @@ if (!class_exists('QLIGG_AJAX')) {
76
  }
77
 
78
  if (isset($qligg_token[$access_token_id[0]]) && $qligg_token[$access_token_id[0]] == $access_token) {
79
- wp_send_json_error(__('Account already connected. To connect a new account logout from Instagram in this browser.', 'insta-gallery'));
80
  }
81
 
82
  $new_token = array(
@@ -86,11 +87,11 @@ if (!class_exists('QLIGG_AJAX')) {
86
  update_option('insta_gallery_token', apply_filters('qligg_update_insta_gallery_token', $new_token), false);
87
  delete_transient('insta_gallery_user_profile');
88
 
89
- wp_send_json_success(__('Access token created', 'insta-gallery'));
90
  }
91
  }
92
 
93
- wp_send_json_error(__('Invalid Request', 'insta-gallery'));
94
  }
95
 
96
  function remove_token() {
@@ -102,7 +103,7 @@ if (!class_exists('QLIGG_AJAX')) {
102
  if (!empty($_REQUEST) && check_admin_referer('qligg_generate_token', 'ig_nonce')) {
103
 
104
  if (!isset($_REQUEST['item_id'])) {
105
- wp_send_json_error(__('Invalid item id', 'insta-gallery'));
106
  }
107
 
108
  $item_id = sanitize_text_field($_REQUEST['item_id']);
@@ -112,11 +113,11 @@ if (!class_exists('QLIGG_AJAX')) {
112
  update_option('insta_gallery_token', $qligg_token, false);
113
  delete_transient('insta_gallery_user_profile');
114
 
115
- wp_send_json_success(__('Token removed successfully', 'insta-gallery'));
116
  }
117
  }
118
 
119
- wp_send_json_error(__('Invalid Request', 'insta-gallery'));
120
  }
121
 
122
  function update_form() {
@@ -128,13 +129,13 @@ if (!class_exists('QLIGG_AJAX')) {
128
  if (!empty($_REQUEST) && check_admin_referer('qligg_update_form', 'ig_nonce')) {
129
 
130
  if (empty($item_type = $_REQUEST['insta_source'])) {
131
- wp_send_json_error(__('Select gallery item type', 'insta-gallery'));
132
  }
133
  if ($item_type == 'username' && empty($_REQUEST['insta_username'])) {
134
- wp_send_json_error(__('Username is empty', 'insta-gallery'));
135
  }
136
  if ($item_type == 'tag' && empty($_REQUEST['insta_tag'])) {
137
- wp_send_json_error(__('Tag is empty', 'insta-gallery'));
138
  }
139
 
140
  $instagram_feed = array();
@@ -189,7 +190,7 @@ if (!class_exists('QLIGG_AJAX')) {
189
  wp_send_json_success(admin_url("admin.php?page=qligg_feeds&tab=edit&item_id={$item_id}"));
190
  }
191
  }
192
- wp_send_json_error(__('Invalid Request', 'insta-gallery'));
193
  }
194
 
195
  function form_item_delete() {
@@ -216,7 +217,7 @@ if (!class_exists('QLIGG_AJAX')) {
216
  }
217
  }
218
 
219
- wp_send_json_error(__('Invalid Request', 'insta-gallery'));
220
  }
221
 
222
  function init() {
39
  $keys = array(
40
  'insta_license' => 0,
41
  'insta_flush' => 0,
42
+ 'insta_reset' => 1,
43
  'insta_spinner_image_id' => 0
44
  );
45
 
47
 
48
  update_option('insta_gallery_settings', $qligg, false);
49
 
50
+ wp_send_json_success(esc_html__('Settings updated successfully', 'insta-gallery'));
51
  }
52
  }
53
 
54
+ wp_send_json_error(esc_html__('Invalid Request', 'insta-gallery'));
55
  }
56
 
57
  function generate_token() {
63
  if (!empty($_REQUEST) && check_admin_referer('qligg_generate_token', 'ig_nonce')) {
64
 
65
  if (empty($_REQUEST['ig_access_token'])) {
66
+ wp_send_json_error(esc_html__('Empty access token', 'insta-gallery'));
67
  }
68
 
69
  $access_token = sanitize_text_field($_REQUEST['ig_access_token']);
70
 
71
  if (count($access_token_id = explode('.', $access_token)) == 1) {
72
+ wp_send_json_error(esc_html__('Invalid access token', 'insta-gallery'));
73
  }
74
 
75
  if (!$qligg_api->validate_token($access_token)) {
77
  }
78
 
79
  if (isset($qligg_token[$access_token_id[0]]) && $qligg_token[$access_token_id[0]] == $access_token) {
80
+ wp_send_json_error(esc_html__('Account already connected. To connect a new account logout from Instagram in this browser.', 'insta-gallery'));
81
  }
82
 
83
  $new_token = array(
87
  update_option('insta_gallery_token', apply_filters('qligg_update_insta_gallery_token', $new_token), false);
88
  delete_transient('insta_gallery_user_profile');
89
 
90
+ wp_send_json_success(esc_html__('Access token created', 'insta-gallery'));
91
  }
92
  }
93
 
94
+ wp_send_json_error(esc_html__('Invalid Request', 'insta-gallery'));
95
  }
96
 
97
  function remove_token() {
103
  if (!empty($_REQUEST) && check_admin_referer('qligg_generate_token', 'ig_nonce')) {
104
 
105
  if (!isset($_REQUEST['item_id'])) {
106
+ wp_send_json_error(esc_html__('Invalid item id', 'insta-gallery'));
107
  }
108
 
109
  $item_id = sanitize_text_field($_REQUEST['item_id']);
113
  update_option('insta_gallery_token', $qligg_token, false);
114
  delete_transient('insta_gallery_user_profile');
115
 
116
+ wp_send_json_success(esc_html__('Token removed successfully', 'insta-gallery'));
117
  }
118
  }
119
 
120
+ wp_send_json_error(esc_html__('Invalid Request', 'insta-gallery'));
121
  }
122
 
123
  function update_form() {
129
  if (!empty($_REQUEST) && check_admin_referer('qligg_update_form', 'ig_nonce')) {
130
 
131
  if (empty($item_type = $_REQUEST['insta_source'])) {
132
+ wp_send_json_error(esc_html__('Select gallery item type', 'insta-gallery'));
133
  }
134
  if ($item_type == 'username' && empty($_REQUEST['insta_username'])) {
135
+ wp_send_json_error(esc_html__('Username is empty', 'insta-gallery'));
136
  }
137
  if ($item_type == 'tag' && empty($_REQUEST['insta_tag'])) {
138
+ wp_send_json_error(esc_html__('Tag is empty', 'insta-gallery'));
139
  }
140
 
141
  $instagram_feed = array();
190
  wp_send_json_success(admin_url("admin.php?page=qligg_feeds&tab=edit&item_id={$item_id}"));
191
  }
192
  }
193
+ wp_send_json_error(esc_html__('Invalid Request', 'insta-gallery'));
194
  }
195
 
196
  function form_item_delete() {
217
  }
218
  }
219
 
220
+ wp_send_json_error(esc_html__('Invalid Request', 'insta-gallery'));
221
  }
222
 
223
  function init() {
includes/api.php CHANGED
@@ -271,7 +271,7 @@ if (!class_exists('QLIGG_API')) {
271
  return $response;
272
  }
273
 
274
- $this->message = __('Please provide a valid #tag', 'insta-gallery');
275
  }
276
 
277
  function validate_response($json = null) {
@@ -302,7 +302,7 @@ if (!class_exists('QLIGG_API')) {
302
  } else {
303
  $response = array(
304
  'error' => 1,
305
- 'message' => __('Unknow error occurred, please try again', 'insta-gallery')
306
  );
307
  }
308
  }
271
  return $response;
272
  }
273
 
274
+ $this->message = esc_html__('Please provide a valid #tag', 'insta-gallery');
275
  }
276
 
277
  function validate_response($json = null) {
302
  } else {
303
  $response = array(
304
  'error' => 1,
305
+ 'message' => esc_html__('Unknow error occurred, please try again', 'insta-gallery')
306
  );
307
  }
308
  }
includes/defaults.php CHANGED
@@ -96,7 +96,12 @@ if (!class_exists('QLIGG_Options')) {
96
 
97
  global $qligg, $qligg_token;
98
 
99
- $qligg = get_option('insta_gallery_settings', array());
 
 
 
 
 
100
 
101
  $qligg_token = get_option('insta_gallery_token', get_option('insta_gallery_iac', array()));
102
  }
96
 
97
  global $qligg, $qligg_token;
98
 
99
+ $qligg = get_option('insta_gallery_settings', array(
100
+ 'insta_license' => 0,
101
+ 'insta_flush' => 0,
102
+ 'insta_reset' => 1,
103
+ 'insta_spinner_image_id' => 0
104
+ ));
105
 
106
  $qligg_token = get_option('insta_gallery_token', get_option('insta_gallery_iac', array()));
107
  }
includes/frontend.php CHANGED
@@ -53,7 +53,7 @@ if (!class_exists('QLIGG_Frontend')) {
53
  global $qligg_token, $qligg_api;
54
 
55
  if (!isset($_REQUEST['feed']['id'])) {
56
- wp_send_json_error(__('Invalid item id', 'insta-gallery'));
57
  }
58
 
59
  $instagram_feed = $_REQUEST['feed'];
@@ -245,7 +245,7 @@ if (!class_exists('QLIGG_Frontend')) {
245
  }
246
 
247
  $messages = array(
248
- sprintf(__('The layout %s is not a available.', 'insta-gallery'), $instagram_feed['insta_layout'])
249
  );
250
 
251
  include($this->template_path('alert.php'));
53
  global $qligg_token, $qligg_api;
54
 
55
  if (!isset($_REQUEST['feed']['id'])) {
56
+ wp_send_json_error(esc_html__('Invalid item id', 'insta-gallery'));
57
  }
58
 
59
  $instagram_feed = $_REQUEST['feed'];
245
  }
246
 
247
  $messages = array(
248
+ sprintf(esc_html__('The layout %s is not a available.', 'insta-gallery'), $instagram_feed['insta_layout'])
249
  );
250
 
251
  include($this->template_path('alert.php'));
includes/pages/premium.php CHANGED
@@ -6,8 +6,8 @@
6
  <?php printf(esc_html__('Unlock the power of our premium %s plugin which allows you to add unlimited Instagram accounts and offers you more layout options.', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
7
  </div>
8
  <br/>
9
- <a class="btn-instagram" target="_blank" href="<?php echo esc_url(QLIGG_PURCHASE_URL); ?>"><?php esc_html_e('Purchase Now', 'insta-gallery'); ?></a>
10
- <a class="btn-instagram secondary" target="_blank" href="<?php echo esc_url(QLIGG_SUPPORT_URL); ?>"><?php esc_html_e('Get Support', 'insta-gallery'); ?></a>
11
  </div>
12
  <hr/>
13
  <div class="feature-section">
6
  <?php printf(esc_html__('Unlock the power of our premium %s plugin which allows you to add unlimited Instagram accounts and offers you more layout options.', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
7
  </div>
8
  <br/>
9
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo esc_url(QLIGG_PURCHASE_URL); ?>"><?php esc_html_e('Purchase Now', 'insta-gallery'); ?></a>
10
+ <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLIGG_DEMO_URL; ?>"><?php esc_html_e('View demo', 'insta-gallery'); ?></a>
11
  </div>
12
  <hr/>
13
  <div class="feature-section">
includes/pages/token.php CHANGED
@@ -4,20 +4,30 @@ if (!defined('ABSPATH'))
4
  ?>
5
  <div id="ig-generate-token" class="<?php echo!empty($qligg_token) ? 'premium' : ''; ?>">
6
  <p>
7
- <a class="btn-instagram-account" target="_self" href="<?php echo esc_url($qligg_api->get_create_account_link()); ?>" title="<?php _e('Add New Account', 'insta-gallery'); ?>">
8
- <?php _e('Add New Account', 'insta-gallery'); ?>
9
  </a>
10
  <span style="float: none; margin-top: 0;" class="spinner"></span>
11
- <a data-qligg-toggle="#ig-update-token" href="#"><?php _e('Button not working?', 'insta-gallery'); ?></a>
12
  </p>
13
- <form id="ig-update-token" class="qligg-box hidden" method="post">
14
- <h4><?php _e('Manually connect an account', 'insta-gallery'); ?></h4>
15
- <p class="field-item">
16
- <input class="widefat" name="ig_access_token" type="text" maxlength="200" placeholder="<?php _e('Enter a valid Access Token', 'insta-gallery'); ?>" required />
17
- </p>
18
- <button type="submit" class="btn-instagram secondary"><?php _e('Update', 'insta-gallery'); ?></button>
19
- <span style="float: none; margin-top: 0;" class="spinner"></span>
20
- <a target="_blank" href="https://quadlayers.com/insta-token/"><?php _e('Get access token', 'insta-gallery'); ?></a>
 
 
 
 
 
 
 
 
 
 
21
  <?php wp_nonce_field('qligg_update_token', 'ig_nonce'); ?>
22
  </form>
23
  </div>
@@ -25,12 +35,12 @@ if (!defined('ABSPATH'))
25
  <table class="widefat ig-table">
26
  <thead>
27
  <tr>
28
- <th><?php _e('Image', 'insta-gallery'); ?></th>
29
- <th><?php _e('ID', 'insta-gallery'); ?></th>
30
- <th><?php _e('User', 'insta-gallery'); ?></th>
31
- <th><?php _e('Name', 'insta-gallery'); ?></th>
32
- <th><?php _e('Token', 'insta-gallery'); ?></th>
33
- <th><?php _e('Action', 'insta-gallery'); ?></th>
34
  </tr>
35
  </thead>
36
  <tbody>
@@ -49,10 +59,10 @@ if (!defined('ABSPATH'))
49
  </td>
50
  <td>
51
  <a data-qligg-copy="#<?php echo esc_attr($id); ?>-access-token" href="#" class="btn-instagram">
52
- <span class="dashicons dashicons-edit"></span><?php _e('Copy', 'insta-gallery'); ?>
53
  </a>
54
  <a href="#" data-item_id="<?php echo esc_attr($id); ?>" class="btn-instagram ig-remove-token">
55
- <span class="dashicons dashicons-trash"></span><?php _e('Delete', 'insta-gallery'); ?>
56
  </a>
57
  <span class="spinner"></span>
58
  </td>
@@ -72,40 +82,49 @@ if (!defined('ABSPATH'))
72
  <table>
73
  <tbody>
74
  <tr>
75
- <th><?php _e('Loader icon', 'insta-gallery'); ?></th>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  <td>
77
  <?php
78
  $mid = '';
79
  $misrc = '';
80
  if (isset($qligg['insta_spinner_image_id'])) {
81
  $mid = $qligg['insta_spinner_image_id'];
82
- $image = wp_get_attachment_image_src($mid);
83
  if ($image) {
84
  $misrc = $image[0];
85
  }
86
  }
87
  ?>
88
  <input type="hidden" name="insta_spinner_image_id" value="<?php echo esc_attr($mid); ?>" data-misrc="<?php echo esc_attr($misrc); ?>" />
89
- <a class="btn-instagram" id="ig-spinner-upload" /><?php _e('Upload', 'insta-gallery'); ?></a>
90
- <a class="btn-instagram" id="ig-spinner-reset" /><?php _e('Reset Spinner', 'insta-gallery'); ?></a>
91
- <span class="description">
92
- <?php _e('Please select the image from media to replace with default loader icon.', 'insta-gallery'); ?>
93
- </span>
94
  </td>
95
  <td rowspan="2">
96
  <div class="insta-gallery-spinner">
97
  </div>
98
  </td>
99
  </tr>
100
- <tr>
101
- <th><?php _e('Remove data on uninstall', 'insta-gallery'); ?></th>
102
- <td>
103
- <input id="ig-remove-data" type="checkbox" name="insta_flush" value="1" <?php if (!empty($qligg['insta_flush'])) echo 'checked'; ?> />
104
- <span class="description">
105
- <?php _e('Check this box to remove all data related to this plugin when removing the plugin.', 'insta-gallery'); ?>
106
- </span>
107
- </td>
108
- </tr>
109
  </tbody>
110
  </table>
111
  </td>
@@ -115,7 +134,7 @@ if (!defined('ABSPATH'))
115
  <tr>
116
  <td colspan="3">
117
  <span class="spinner"></span>
118
- <button type="submit" class="btn-instagram secondary"><?php _e('Update', 'insta-gallery'); ?></button>
119
  <span class="description">
120
  <?php //printf(esc_html__('Update settings and copy/paste generated shortcode in your post/pages or go to Widgets and use %s widget', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
121
  </span>
4
  ?>
5
  <div id="ig-generate-token" class="<?php echo!empty($qligg_token) ? 'premium' : ''; ?>">
6
  <p>
7
+ <a class="btn-instagram-account" target="_self" href="<?php echo esc_url($qligg_api->get_create_account_link()); ?>" title="<?php esc_html_e('Add New Account', 'insta-gallery'); ?>">
8
+ <?php esc_html_e('Add New Account', 'insta-gallery'); ?>
9
  </a>
10
  <span style="float: none; margin-top: 0;" class="spinner"></span>
11
+ <a data-qligg-toggle="#ig-update-token" href="#"><?php esc_html_e('Button not working?', 'insta-gallery'); ?></a>
12
  </p>
13
+ <form id="ig-update-token" class=" hidden" method="post">
14
+ <table class="widefat ig-table">
15
+ <tbody>
16
+ <tr>
17
+ <td>
18
+ <h4><?php esc_html_e('Manually connect an account', 'insta-gallery'); ?></h4>
19
+ <p class="field-item">
20
+ <input class="widefat" name="ig_access_token" type="text" maxlength="200" placeholder="<?php esc_html_e('Enter a valid Access Token', 'insta-gallery'); ?>" required />
21
+ </p>
22
+ <button type="submit" class="btn-instagram secondary"><?php esc_html_e('Update', 'insta-gallery'); ?></button>
23
+ <span style="float: none; margin-top: 0;" class="spinner"></span>
24
+ <a target="_blank" href="https://quadlayers.com/insta-token/"><?php esc_html_e('Get access token', 'insta-gallery'); ?></a>
25
+ <?php wp_nonce_field('qligg_update_token', 'ig_nonce'); ?>
26
+ </form>
27
+ </td>
28
+ </tr>
29
+ </tbody>
30
+ </table>
31
  <?php wp_nonce_field('qligg_update_token', 'ig_nonce'); ?>
32
  </form>
33
  </div>
35
  <table class="widefat ig-table">
36
  <thead>
37
  <tr>
38
+ <th><?php esc_html_e('Image', 'insta-gallery'); ?></th>
39
+ <th><?php esc_html_e('ID', 'insta-gallery'); ?></th>
40
+ <th><?php esc_html_e('User', 'insta-gallery'); ?></th>
41
+ <th><?php esc_html_e('Name', 'insta-gallery'); ?></th>
42
+ <th><?php esc_html_e('Token', 'insta-gallery'); ?></th>
43
+ <th><?php esc_html_e('Action', 'insta-gallery'); ?></th>
44
  </tr>
45
  </thead>
46
  <tbody>
59
  </td>
60
  <td>
61
  <a data-qligg-copy="#<?php echo esc_attr($id); ?>-access-token" href="#" class="btn-instagram">
62
+ <span class="dashicons dashicons-edit"></span><?php esc_html_e('Copy', 'insta-gallery'); ?>
63
  </a>
64
  <a href="#" data-item_id="<?php echo esc_attr($id); ?>" class="btn-instagram ig-remove-token">
65
+ <span class="dashicons dashicons-trash"></span><?php esc_html_e('Delete', 'insta-gallery'); ?>
66
  </a>
67
  <span class="spinner"></span>
68
  </td>
82
  <table>
83
  <tbody>
84
  <tr>
85
+ <th scope="row"><?php esc_html_e('Reset feeds', 'insta-gallery'); ?></th>
86
+ <td>
87
+ <input name="insta_reset" type="number" min="1" max="168" value="<?php echo esc_attr($qligg['insta_reset']); ?>" />
88
+ <span class="description">
89
+ <?php esc_html_e('Reset your Instagram feeds cache every x hours.', 'insta-gallery'); ?>
90
+ </span>
91
+ </td>
92
+ </tr>
93
+ <tr>
94
+ <th><?php esc_html_e('Remove data', 'insta-gallery'); ?></th>
95
+ <td>
96
+ <input id="ig-remove-data" type="checkbox" name="insta_flush" value="1" <?php checked(1, $qligg['insta_flush']); ?> />
97
+ <span class="description">
98
+ <?php esc_html_e('Check this box to remove all data related to this plugin on uninstall.', 'insta-gallery'); ?>
99
+ </span>
100
+ </td>
101
+ </tr>
102
+ <tr>
103
+ <th><?php esc_html_e('Replace loader', 'insta-gallery'); ?></th>
104
  <td>
105
  <?php
106
  $mid = '';
107
  $misrc = '';
108
  if (isset($qligg['insta_spinner_image_id'])) {
109
  $mid = $qligg['insta_spinner_image_id'];
110
+ $image = wp_get_attachment_image_src($mid, 'full');
111
  if ($image) {
112
  $misrc = $image[0];
113
  }
114
  }
115
  ?>
116
  <input type="hidden" name="insta_spinner_image_id" value="<?php echo esc_attr($mid); ?>" data-misrc="<?php echo esc_attr($misrc); ?>" />
117
+ <a class="btn-instagram" id="ig-spinner-upload" /><?php esc_html_e('Upload', 'insta-gallery'); ?></a>
118
+ <a class="btn-instagram" id="ig-spinner-reset" /><?php esc_html_e('Reset Spinner', 'insta-gallery'); ?></a>
119
+ <p class="description">
120
+ <?php esc_html_e('Select an image from media library to replace the default loader icon.', 'insta-gallery'); ?>
121
+ </p>
122
  </td>
123
  <td rowspan="2">
124
  <div class="insta-gallery-spinner">
125
  </div>
126
  </td>
127
  </tr>
 
 
 
 
 
 
 
 
 
128
  </tbody>
129
  </table>
130
  </td>
134
  <tr>
135
  <td colspan="3">
136
  <span class="spinner"></span>
137
+ <button type="submit" class="btn-instagram secondary"><?php esc_html_e('Update', 'insta-gallery'); ?></button>
138
  <span class="description">
139
  <?php //printf(esc_html__('Update settings and copy/paste generated shortcode in your post/pages or go to Widgets and use %s widget', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
140
  </span>
includes/pages/views/edit.php CHANGED
@@ -9,22 +9,22 @@ if (!defined('ABSPATH'))
9
  <td colspan="100%">
10
  <table>
11
  <tr>
12
- <th scope="row"><?php _e('Type', 'insta-gallery'); ?></th>
13
  <td>
14
  <ul class="ig-list-buttons">
15
  <li>
16
  <input type="radio" id="insta_source-username" name="insta_source" value="username" <?php checked('username', $instagram_feed['insta_source']); ?> />
17
- <label for="insta_source-username"><?php _e('User', 'insta-gallery'); ?></label>
18
  <div class="check"></div>
19
  </li>
20
  <li>
21
  <input type="radio" id="insta_source-tag" name="insta_source" value="tag" <?php checked('tag', $instagram_feed['insta_source']); ?> />
22
- <label for="insta_source-tag"><?php _e('Tag', 'insta-gallery'); ?></label>
23
  <div class="check"></div>
24
  </li>
25
  </ul>
26
  <p class="description">
27
- <?php _e('Please select option to display images from Instagram @username or #tag', 'insta-gallery'); ?>
28
  </p>
29
  </td>
30
  </tr>
@@ -35,7 +35,7 @@ if (!defined('ABSPATH'))
35
  <td colspan="100%">
36
  <table>
37
  <tr>
38
- <th scope="row"><?php _e('User', 'insta-gallery'); ?></th>
39
  <td>
40
  <?php if (!count($qligg_token)): ?>
41
  <p class="description">
@@ -51,7 +51,7 @@ if (!defined('ABSPATH'))
51
  <?php endforeach; ?>
52
  </select>
53
  <p class="description">
54
- <?php _e('Please enter Instagram username', 'insta-gallery'); ?>
55
  </p>
56
  <?php endif; ?>
57
  </td>
@@ -63,10 +63,10 @@ if (!defined('ABSPATH'))
63
  <td colspan="100%">
64
  <table>
65
  <tr>
66
- <th scope="row"><?php _e('Tag', 'insta-gallery'); ?></th>
67
  <td>
68
  <input name="insta_tag" type="text" placeholder="beautiful" value="<?php echo esc_attr($instagram_feed['insta_tag']); ?>" />
69
- <p class="description"><?php _e('Please enter Instagram tag', 'insta-gallery'); ?></p>
70
  </td>
71
  </tr>
72
  </table>
@@ -76,27 +76,27 @@ if (!defined('ABSPATH'))
76
  <td colspan="100%">
77
  <table>
78
  <tr>
79
- <th scope="row"><?php _e('Layout', 'insta-gallery'); ?></th>
80
  <td>
81
  <ul class="ig-list-images">
82
  <li class="<?php if ($instagram_feed['insta_layout'] == 'gallery') echo 'active'; ?>">
83
  <input type="radio" id="insta_layout-gallery" name="insta_layout" value="gallery" <?php checked('gallery', $instagram_feed['insta_layout']); ?> />
84
- <label for="insta_layout-gallery"><?php _e('Gallery', 'insta-gallery'); ?></label>
85
  <img src="<?php echo plugins_url('/assets/img/gallery.png', QLIGG_PLUGIN_FILE); ?>"/>
86
  </li>
87
  <li class="<?php if ($instagram_feed['insta_layout'] == 'carousel') echo 'active'; ?>">
88
  <input type="radio" id="insta_layout-carousel" name="insta_layout" value="carousel" <?php checked('carousel', $instagram_feed['insta_layout']); ?> />
89
- <label for="insta_layout-carousel"><?php _e('Carousel', 'insta-gallery'); ?></label>
90
  <img src="<?php echo plugins_url('/assets/img/carousel.png', QLIGG_PLUGIN_FILE); ?>"/>
91
  </li>
92
  <li class="<?php if ($instagram_feed['insta_layout'] == 'masonry') echo 'active'; ?> premium">
93
  <input type="radio" id="insta_layout-masonry" name="insta_layout" value="masonry" <?php checked('masonry', $instagram_feed['insta_layout']); ?> />
94
- <label for="insta_layout-masonry"><?php _e('Masonry', 'insta-gallery'); ?><span class="premium"> (<?php _e('Premium', 'insta-gallery'); ?>)</span></label>
95
  <img src="<?php echo plugins_url('/assets/img/masonry.png', QLIGG_PLUGIN_FILE); ?>"/>
96
  </li>
97
  <li class="<?php if ($instagram_feed['insta_layout'] == 'highlight') echo 'active'; ?> premium">
98
  <input type="radio" id="insta_layout-highlight" name="insta_layout" value="highlight" <?php checked('highlight', $instagram_feed['insta_layout']); ?> />
99
- <label for="insta_layout-highlight"><?php _e('Highlight', 'insta-gallery'); ?><span class="premium"> (<?php _e('Premium', 'insta-gallery'); ?>)</span></label>
100
  <img src="<?php echo plugins_url('/assets/img/highlight.png', QLIGG_PLUGIN_FILE); ?>"/>
101
  </li>
102
  </ul>
@@ -109,13 +109,13 @@ if (!defined('ABSPATH'))
109
  <td colspan="100%">
110
  <table>
111
  <tr>
112
- <th scope="row"><?php _e('Box', 'insta-gallery'); ?></th>
113
  <td>
114
  <input name="insta_box" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_box']); ?>/>
115
  <p class="description">
116
- <?php _e('Display the Instagram Feed inside a customizable box', 'insta-gallery'); ?>
117
  </p>
118
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
119
  </td>
120
  </tr>
121
  </table>
@@ -125,33 +125,33 @@ if (!defined('ABSPATH'))
125
  <td colspan="100%">
126
  <table>
127
  <tr>
128
- <th scope="row"><?php _e('Box padding', 'insta-gallery'); ?></th>
129
  <td>
130
  <input name="insta_box-padding" type="number" value="<?php echo esc_attr($instagram_feed['insta_box-padding']); ?>" />
131
  <p class="description">
132
- <?php _e('Add padding to the Instagram Feed', 'insta-gallery'); ?>
133
  </p>
134
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
135
  </td>
136
  </tr>
137
  <tr>
138
- <th scope="row"><?php _e('Box radius', 'insta-gallery'); ?></th>
139
  <td>
140
  <input name="insta_box-radius" type="number" value="<?php echo esc_attr($instagram_feed['insta_box-radius']); ?>" />
141
  <p class="description">
142
- <?php _e('Add radius to the Instagram Feed', 'insta-gallery'); ?>
143
  </p>
144
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
145
  </td>
146
  </tr>
147
  <tr>
148
- <th scope="row"><?php _e('Box background', 'insta-gallery'); ?></th>
149
  <td>
150
  <input class="color-picker" data-alpha="true" name="insta_box-background" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_box-background']); ?>" />
151
  <p class="description">
152
- <?php _e('Color which is displayed on box background', 'insta-gallery'); ?>
153
  </p>
154
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
155
  </td>
156
  </tr>
157
  </table>
@@ -161,23 +161,23 @@ if (!defined('ABSPATH'))
161
  <td colspan="100%">
162
  <table>
163
  <tr>
164
- <th scope="row"><?php _e('Profile', 'insta-gallery'); ?></th>
165
  <td>
166
  <input name="insta_box-profile" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_box-profile']); ?>/>
167
  <p class="description">
168
- <?php _e('Display user profile or tag info', 'insta-gallery'); ?>
169
  </p>
170
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
171
  </td>
172
  </tr>
173
  <tr>
174
- <th scope="row"><?php _e('Profile description', 'insta-gallery'); ?></th>
175
  <td>
176
  <input name="insta_box-desc" type="text" placeholder="Instagram" value="<?php echo esc_html($instagram_feed['insta_box-desc']); ?>" />
177
  <p class="description">
178
- <?php _e('Box description here', 'insta-gallery'); ?>
179
  </p>
180
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
181
  </td>
182
  </tr>
183
  </table>
@@ -187,9 +187,9 @@ if (!defined('ABSPATH'))
187
  <td colspan="100%">
188
  <table>
189
  <tr>
190
- <th scope="row"><?php _e('Limit', 'insta-gallery'); ?></th>
191
  <td><input name="insta_limit" type="number" min="1" max="33" value="<?php echo esc_attr($instagram_feed['insta_limit']); ?>" />
192
- <p class="description"><?php _e('Number of images to display', 'insta-gallery'); ?></p>
193
  </td>
194
  </tr>
195
  </table>
@@ -199,11 +199,11 @@ if (!defined('ABSPATH'))
199
  <td colspan="100%">
200
  <table>
201
  <tr>
202
- <th scope="row"><?php _e('Columns', 'insta-gallery'); ?></th>
203
  <td>
204
  <input name="insta_gal-cols" type="number" min="1" max="20" value="<?php echo esc_attr($instagram_feed['insta_gal-cols']); ?>" />
205
  <p class="description">
206
- <?php _e('Number of images in a row', 'insta-gallery'); ?>
207
  </p>
208
  </td>
209
  </tr>
@@ -214,27 +214,27 @@ if (!defined('ABSPATH'))
214
  <td colspan="100%">
215
  <table>
216
  <tr>
217
- <th scope="row"><?php _e('Highlight by tag', 'insta-gallery'); ?></th>
218
  <td>
219
  <textarea name="insta_highlight-tag" placeholder="tag1, tag2, tag3"><?php echo esc_html($instagram_feed['insta_highlight-tag']); ?></textarea>
220
- <p class="description"><?php _e('Highlight feeds items with this tags', 'insta-gallery'); ?></p>
221
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
222
  </td>
223
  </tr>
224
  <tr>
225
- <th scope="row"><?php _e('Highlight by id', 'insta-gallery'); ?></th>
226
  <td>
227
  <textarea name="insta_highlight-id" placeholder="101010110101010"><?php echo esc_html($instagram_feed['insta_highlight-id']); ?></textarea>
228
- <p class="description"><?php _e('Highlight feeds items with this ids', 'insta-gallery'); ?></p>
229
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
230
  </td>
231
  </tr>
232
  <tr>
233
- <th scope="row"><?php _e('Highlight by position', 'insta-gallery'); ?></th>
234
  <td>
235
  <textarea name="insta_highlight-position" placeholder="1, 5, 7"><?php echo esc_html($instagram_feed['insta_highlight-position']); ?></textarea>
236
- <p class="description"><?php _e('Highlight feeds items in this positions', 'insta-gallery'); ?></p>
237
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
238
  </td>
239
  </tr>
240
  </table>
@@ -244,53 +244,53 @@ if (!defined('ABSPATH'))
244
  <td colspan="100%">
245
  <table>
246
  <tr>
247
- <th scope="row"><?php _e('Slides per view', 'insta-gallery'); ?></th>
248
  <td>
249
  <input name="insta_car-slidespv" type="number" min="1" max="10" value="<?php echo esc_html($instagram_feed['insta_car-slidespv']); ?>" />
250
- <p class="description"><?php _e('Number of images per slide', 'insta-gallery'); ?></p>
251
  </td>
252
  </tr>
253
  <tr>
254
- <th scope="row"><?php _e('Autoplay', 'insta-gallery'); ?></th>
255
  <td>
256
  <input name="insta_car-autoplay" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_car-autoplay']); ?> />
257
- <p class="description"><?php _e('Autoplay carousel items', 'insta-gallery'); ?></p>
258
  </td>
259
  </tr>
260
  <tr>
261
- <th scope="row"><?php _e('Autoplay Interval', 'insta-gallery'); ?></th>
262
  <td>
263
  <input name="insta_car-autoplay-interval" type="number" min="1000" max="300000" step="100" value="<?php echo esc_attr(max(1000, absint($instagram_feed['insta_car-autoplay-interval']))); ?>" />
264
  <p class="description">
265
- <?php _e('Moves to next picture after specified time interval', 'insta-gallery'); ?></p>
266
  </td>
267
  </tr>
268
  <tr>
269
- <th scope="row"><?php _e('Navigation', 'insta-gallery'); ?></th>
270
  <td>
271
  <input name="insta_car-navarrows" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_car-navarrows']); ?>/>
272
- <p class="description"><?php _e('Display navigation arrows', 'insta-gallery'); ?></p>
273
  </td>
274
  </tr>
275
  <tr>
276
- <th scope="row"><?php _e('Navigation color', 'insta-gallery'); ?></th>
277
  <td>
278
  <input class="color-picker" data-alpha="true" name="insta_car-navarrows-color" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_car-navarrows-color']); ?>" />
279
- <p class="description"><?php _e('Change navigation arrows color', 'insta-gallery'); ?></p>
280
  </td>
281
  </tr>
282
  <tr>
283
- <th scope="row"><?php _e('Pagination', 'insta-gallery'); ?></th>
284
  <td>
285
  <input name="insta_car-pagination" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_car-pagination']); ?>/>
286
- <p class="description"><?php _e('Display pagination dots', 'insta-gallery'); ?></p>
287
  </td>
288
  </tr>
289
  <tr>
290
- <th scope="row"><?php _e('Pagination color', 'insta-gallery'); ?></th>
291
  <td>
292
  <input class="color-picker" data-alpha="true" name="insta_car-pagination-color" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_car-pagination-color']); ?>" />
293
- <p class="description"><?php _e('Change pagination dotts color', 'insta-gallery'); ?></p>
294
  </td>
295
  </tr>
296
  </table>
@@ -300,21 +300,21 @@ if (!defined('ABSPATH'))
300
  <td colspan="100%">
301
  <table>
302
  <tr>
303
- <th scope="row"><?php _e('Images size', 'insta-gallery'); ?></th>
304
  <td>
305
  <select name="insta_size">
306
- <option value="standard"><?php _e('Standard', 'insta-gallery'); ?> (640 x auto)</option>
307
- <option value="medium" <?php echo (isset($instagram_feed['insta_size']) && ($instagram_feed['insta_size'] == 'medium')) ? 'selected' : ''; ?>><?php _e('Medium', 'insta-gallery'); ?> (320 x auto)</option>
308
- <option value="small" <?php echo (isset($instagram_feed['insta_size']) && ($instagram_feed['insta_size'] == 'small')) ? 'selected' : ''; ?>><?php _e('Small', 'insta-gallery'); ?> (150 x 150)</option>
309
  </select>
310
  </td>
311
  </tr>
312
  <tr>
313
- <th scope="row"><?php _e('Images spacing', 'insta-gallery'); ?></th>
314
  <td>
315
  <input name="insta_spacing" type="number" value="<?php echo esc_attr($instagram_feed['insta_spacing']); ?>" />
316
  <p class="description">
317
- <?php _e('Add blank space between images', 'insta-gallery'); ?>
318
  </p>
319
  </td>
320
  </tr>
@@ -325,13 +325,13 @@ if (!defined('ABSPATH'))
325
  <td colspan="100%">
326
  <table>
327
  <tr>
328
- <th scope="row"><?php _e('Images card', 'insta-gallery'); ?></th>
329
  <td>
330
  <input name="insta_card" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_card']); ?>/>
331
  <p class="description">
332
- <?php _e('Display card gallery by clicking on image', 'insta-gallery'); ?>
333
  </p>
334
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
335
  </td>
336
  </tr>
337
  </table>
@@ -341,70 +341,70 @@ if (!defined('ABSPATH'))
341
  <td colspan="100%">
342
  <table>
343
  <tr>
344
- <th scope="row"><?php _e('Card radius', 'insta-gallery'); ?></th>
345
  <td>
346
  <input name="insta_card-radius" type="number" min="0" max="1000" value="<?php echo esc_attr($instagram_feed['insta_card-radius']); ?>" />
347
  <p class="description">
348
- <?php _e('Add radius to the Instagram Feed', 'insta-gallery'); ?>
349
  </p>
350
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
351
  </td>
352
  </tr>
353
  <tr>
354
- <th scope="row"><?php _e('Card font size', 'insta-gallery'); ?></th>
355
  <td>
356
  <input name="insta_card-font-size" type="number" min="8" max="36" value="<?php echo esc_attr($instagram_feed['insta_card-font-size']); ?>" />
357
  <p class="description">
358
- <?php _e('Add font-size to the Instagram Feed', 'insta-gallery'); ?>
359
  </p>
360
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
361
  </td>
362
  </tr>
363
  <tr>
364
- <th scope="row"><?php _e('Card background', 'insta-gallery'); ?></th>
365
  <td>
366
  <input class="color-picker" data-alpha="true" name="insta_card-background" type="link" placeholder="#007aff" value="<?php echo esc_html($instagram_feed['insta_card-background']); ?>" />
367
  <p class="description">
368
- <?php _e('Color which is displayed when carded over images', 'insta-gallery'); ?>
369
  </p>
370
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
371
  </td>
372
  </tr>
373
  <tr>
374
- <th scope="row"><?php _e('Card padding', 'insta-gallery'); ?></th>
375
  <td>
376
  <input name="insta_card-padding" type="number" min="0" max="50" value="<?php echo esc_attr($instagram_feed['insta_card-padding']); ?>" />
377
  <p class="description">
378
- <?php _e('Add blank space between images', 'insta-gallery'); ?>
379
  </p>
380
  </td>
381
  </tr>
382
  <tr>
383
- <th scope="row"><?php _e('Card info', 'insta-gallery'); ?></th>
384
  <td>
385
  <input name="insta_card-info" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_card-info']); ?>/>
386
  <p class="description">
387
- <?php _e('Display likes count of images', 'insta-gallery'); ?>
388
  </p>
389
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
390
  </td>
391
  </tr>
392
  <tr>
393
- <th scope="row"><?php _e('Card caption', 'insta-gallery'); ?></th>
394
  <td>
395
  <input name="insta_card-caption" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_card-caption']); ?>/>
396
  <p class="description">
397
- <?php _e('Display caption count of images', 'insta-gallery'); ?>
398
  </p>
399
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
400
  </td>
401
  </tr>
402
  <tr>
403
- <th scope="row"><?php _e('Card length', 'insta-gallery'); ?></th>
404
  <td>
405
  <input name="insta_card-length" type="number" min="5" max="1000" value="<?php echo esc_attr($instagram_feed['insta_card-length']); ?>" />
406
  <p class="description">
407
- <?php _e('Add blank space between images', 'insta-gallery'); ?>
408
  </p>
409
  </td>
410
  </tr>
@@ -415,10 +415,10 @@ if (!defined('ABSPATH'))
415
  <td colspan="100%">
416
  <table>
417
  <tr>
418
- <th scope="row"><?php _e('Images popup', 'insta-gallery'); ?></th>
419
  <td><input name="insta_popup" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_popup']); ?>/>
420
  <p class="description">
421
- <?php _e('Display popup gallery by clicking on image', 'insta-gallery'); ?>
422
  </p>
423
  </td>
424
  </tr>
@@ -429,35 +429,35 @@ if (!defined('ABSPATH'))
429
  <td colspan="100%">
430
  <table>
431
  <tr>
432
- <th scope="row"><?php _e('Images popup profile', 'insta-gallery'); ?></th>
433
  <td>
434
  <input name="insta_popup-profile" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_popup-profile']); ?>/>
435
  <p class="description">
436
- <?php _e('Display user profile or tag info', 'insta-gallery'); ?>
437
  </p>
438
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
439
  </td>
440
  </tr>
441
  <tr>
442
- <th scope="row"><?php _e('Images popup caption', 'insta-gallery'); ?></th>
443
  <td>
444
  <input name="insta_popup-caption" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_popup-caption']); ?>/>
445
- <p class="description"><?php _e('Display caption in the popup', 'insta-gallery'); ?></p>
446
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
447
  </td>
448
  </tr>
449
  <tr>
450
- <th scope="row"><?php _e('Images popup likes', 'insta-gallery'); ?></th>
451
  <td>
452
  <input name="insta_popup-likes" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_popup-likes']); ?>/>
453
  <p class="description">
454
- <?php _e('Display likes count of images', 'insta-gallery'); ?>
455
  </p>
456
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
457
  </td>
458
  </tr>
459
  <tr>
460
- <th scope="row"><?php _e('Images popup align', 'insta-gallery'); ?></th>
461
  <td>
462
  <select name="insta_popup-align">
463
  <option value="top" <?php selected('top', $instagram_feed['insta_popup-align']); ?>><?php esc_html_e('Top', 'insta-gallery'); ?></option>
@@ -465,8 +465,8 @@ if (!defined('ABSPATH'))
465
  <option value="right" <?php selected('right', $instagram_feed['insta_popup-align']); ?>><?php esc_html_e('Right', 'insta-gallery'); ?></option>
466
  <option value="bottom" <?php selected('bottom', $instagram_feed['insta_popup-align']); ?>><?php esc_html_e('Bottom', 'insta-gallery'); ?></option>
467
  </select>
468
- <p class="description"><?php _e('Display likes count of images', 'insta-gallery'); ?></p>
469
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
470
  </td>
471
  </tr>
472
  </table>
@@ -476,11 +476,11 @@ if (!defined('ABSPATH'))
476
  <td colspan="100%">
477
  <table>
478
  <tr>
479
- <th scope="row"><?php _e('Images mask', 'insta-gallery'); ?></th>
480
  <td>
481
  <input name="insta_hover" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_hover']); ?>/>
482
  <p class="description">
483
- <?php _e('Image mouseover effect', 'insta-gallery'); ?>
484
  </p>
485
  </td>
486
  </tr>
@@ -491,29 +491,29 @@ if (!defined('ABSPATH'))
491
  <td colspan="100%">
492
  <table>
493
  <tr>
494
- <th scope="row"><?php _e('Images mask color', 'insta-gallery'); ?></th>
495
  <td>
496
  <input class="color-picker" data-alpha="true" name="insta_hover-color" type="link" placeholder="#007aff" value="<?php echo esc_html($instagram_feed['insta_hover-color']); ?>" />
497
  <p class="description">
498
- <?php _e('Color which is displayed when hovered over images', 'insta-gallery'); ?>
499
  </p>
500
  </td>
501
  </tr>
502
  <tr>
503
- <th scope="row"><?php _e('Images mask likes', 'insta-gallery'); ?></th>
504
  <td>
505
  <input name="insta_likes" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_likes']); ?>/>
506
  <p class="description">
507
- <?php _e('Display likes count of images', 'insta-gallery'); ?>
508
  </p>
509
  </td>
510
  </tr>
511
  <tr>
512
- <th scope="row"><?php _e('Images mask comments', 'insta-gallery'); ?></th>
513
  <td>
514
  <input name="insta_comments" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_comments']); ?>/>
515
  <p class="description">
516
- <?php _e('Display comments count of images', 'insta-gallery'); ?>
517
  </p>
518
  </td>
519
  </tr>
@@ -524,13 +524,13 @@ if (!defined('ABSPATH'))
524
  <td colspan="100%">
525
  <table>
526
  <tr>
527
- <th scope="row"><?php _e('Instagram load more', 'insta-gallery'); ?></th>
528
  <td>
529
  <input name="insta_button_load" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_button_load']); ?>/>
530
  <p class="description">
531
- <?php _e('Display the load more button', 'insta-gallery'); ?>
532
  </p>
533
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
534
  </td>
535
  </tr>
536
  </table>
@@ -540,33 +540,33 @@ if (!defined('ABSPATH'))
540
  <td colspan="100%">
541
  <table>
542
  <tr>
543
- <th scope="row"><?php _e('Instagram load more text', 'insta-gallery'); ?></th>
544
  <td>
545
  <input name="insta_button_load-text" type="text" placeholder="Instagram" value="<?php echo esc_html($instagram_feed['insta_button_load-text']); ?>" />
546
  <p class="description">
547
- <?php _e('Instagram load more text here', 'insta-gallery'); ?>
548
  </p>
549
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
550
  </td>
551
  </tr>
552
  <tr>
553
- <th scope="row"><?php _e('Instagram load more background', 'insta-gallery'); ?></th>
554
  <td>
555
  <input class="color-picker" data-alpha="true" name="insta_button_load-background" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_button_load-background']); ?>" />
556
  <p class="description">
557
- <?php _e('Color which is displayed on button load background', 'insta-gallery'); ?>
558
  </p>
559
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
560
  </td>
561
  </tr>
562
  <tr>
563
- <th scope="row"><?php _e('Instagram load more hover background', 'insta-gallery'); ?></th>
564
  <td>
565
  <input class="color-picker" data-alpha="true" name="insta_button_load-background-hover" type="text" placeholder="#da894a" value="<?php echo esc_html($instagram_feed['insta_button_load-background-hover']); ?>" />
566
  <p class="description">
567
- <?php _e('Color which is displayed when hovered over button load more', 'insta-gallery'); ?>
568
  </p>
569
- <p class="premium"><?php _e('This is a premium feature.', 'insta-gallery'); ?></p>
570
  </td>
571
  </tr>
572
  </table>
@@ -576,11 +576,11 @@ if (!defined('ABSPATH'))
576
  <td colspan="100%">
577
  <table>
578
  <tr>
579
- <th scope="row"><?php _e('Instagram button', 'insta-gallery'); ?></th>
580
  <td>
581
  <input name="insta_button" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_button']); ?>/>
582
  <p class="description">
583
- <?php _e('Display the button to open Instagram site link', 'insta-gallery'); ?>
584
  </p>
585
  </td>
586
  </tr>
@@ -591,26 +591,26 @@ if (!defined('ABSPATH'))
591
  <td colspan="100%">
592
  <table>
593
  <tr>
594
- <th scope="row"><?php _e('Instagram button text', 'insta-gallery'); ?></th>
595
  <td>
596
  <input name="insta_button-text" type="text" placeholder="Instagram" value="<?php echo esc_html($instagram_feed['insta_button-text']); ?>" />
597
  <p class="description">
598
- <?php _e('Instagram button text here', 'insta-gallery'); ?>
599
  </p>
600
  </td>
601
  </tr>
602
  <tr>
603
- <th scope="row"><?php _e('Instagram button background', 'insta-gallery'); ?></th>
604
  <td>
605
  <input class="color-picker" data-alpha="true" name="insta_button-background" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_button-background']); ?>" />
606
- <p class="description"><?php _e('Color which is displayed on button background', 'insta-gallery'); ?></p>
607
  </td>
608
  </tr>
609
  <tr>
610
- <th scope="row"><?php _e('Instagram button hover background', 'insta-gallery'); ?></th>
611
  <td>
612
  <input class="color-picker" data-alpha="true" name="insta_button-background-hover" type="text" placeholder="#da894a" value="<?php echo esc_html($instagram_feed['insta_button-background-hover']); ?>" />
613
- <p class="description"><?php _e('Color which is displayed when hovered over button', 'insta-gallery'); ?></p>
614
  </td>
615
  </tr>
616
  </table>
@@ -621,7 +621,7 @@ if (!defined('ABSPATH'))
621
  <tr>
622
  <td colspan="3">
623
  <span class="spinner"></span>
624
- <button type="submit" class="btn-instagram secondary"><?php _e('Update', 'insta-gallery'); ?></button>
625
  <span>
626
  <?php printf(esc_html__('Update settings and copy/paste generated shortcode in your post/pages or go to Widgets and use %s widget', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
627
  </span>
9
  <td colspan="100%">
10
  <table>
11
  <tr>
12
+ <th scope="row"><?php esc_html_e('Type', 'insta-gallery'); ?></th>
13
  <td>
14
  <ul class="ig-list-buttons">
15
  <li>
16
  <input type="radio" id="insta_source-username" name="insta_source" value="username" <?php checked('username', $instagram_feed['insta_source']); ?> />
17
+ <label for="insta_source-username"><?php esc_html_e('User', 'insta-gallery'); ?></label>
18
  <div class="check"></div>
19
  </li>
20
  <li>
21
  <input type="radio" id="insta_source-tag" name="insta_source" value="tag" <?php checked('tag', $instagram_feed['insta_source']); ?> />
22
+ <label for="insta_source-tag"><?php esc_html_e('Tag', 'insta-gallery'); ?></label>
23
  <div class="check"></div>
24
  </li>
25
  </ul>
26
  <p class="description">
27
+ <?php esc_html_e('Please select option to display images from Instagram @username or #tag', 'insta-gallery'); ?>
28
  </p>
29
  </td>
30
  </tr>
35
  <td colspan="100%">
36
  <table>
37
  <tr>
38
+ <th scope="row"><?php esc_html_e('User', 'insta-gallery'); ?></th>
39
  <td>
40
  <?php if (!count($qligg_token)): ?>
41
  <p class="description">
51
  <?php endforeach; ?>
52
  </select>
53
  <p class="description">
54
+ <?php esc_html_e('Please enter Instagram username', 'insta-gallery'); ?>
55
  </p>
56
  <?php endif; ?>
57
  </td>
63
  <td colspan="100%">
64
  <table>
65
  <tr>
66
+ <th scope="row"><?php esc_html_e('Tag', 'insta-gallery'); ?></th>
67
  <td>
68
  <input name="insta_tag" type="text" placeholder="beautiful" value="<?php echo esc_attr($instagram_feed['insta_tag']); ?>" />
69
+ <p class="description"><?php esc_html_e('Please enter Instagram tag', 'insta-gallery'); ?></p>
70
  </td>
71
  </tr>
72
  </table>
76
  <td colspan="100%">
77
  <table>
78
  <tr>
79
+ <th scope="row"><?php esc_html_e('Layout', 'insta-gallery'); ?></th>
80
  <td>
81
  <ul class="ig-list-images">
82
  <li class="<?php if ($instagram_feed['insta_layout'] == 'gallery') echo 'active'; ?>">
83
  <input type="radio" id="insta_layout-gallery" name="insta_layout" value="gallery" <?php checked('gallery', $instagram_feed['insta_layout']); ?> />
84
+ <label for="insta_layout-gallery"><?php esc_html_e('Gallery', 'insta-gallery'); ?></label>
85
  <img src="<?php echo plugins_url('/assets/img/gallery.png', QLIGG_PLUGIN_FILE); ?>"/>
86
  </li>
87
  <li class="<?php if ($instagram_feed['insta_layout'] == 'carousel') echo 'active'; ?>">
88
  <input type="radio" id="insta_layout-carousel" name="insta_layout" value="carousel" <?php checked('carousel', $instagram_feed['insta_layout']); ?> />
89
+ <label for="insta_layout-carousel"><?php esc_html_e('Carousel', 'insta-gallery'); ?></label>
90
  <img src="<?php echo plugins_url('/assets/img/carousel.png', QLIGG_PLUGIN_FILE); ?>"/>
91
  </li>
92
  <li class="<?php if ($instagram_feed['insta_layout'] == 'masonry') echo 'active'; ?> premium">
93
  <input type="radio" id="insta_layout-masonry" name="insta_layout" value="masonry" <?php checked('masonry', $instagram_feed['insta_layout']); ?> />
94
+ <label for="insta_layout-masonry"><?php esc_html_e('Masonry', 'insta-gallery'); ?><span class="premium"> (<?php esc_html_e('Premium', 'insta-gallery'); ?>)</span></label>
95
  <img src="<?php echo plugins_url('/assets/img/masonry.png', QLIGG_PLUGIN_FILE); ?>"/>
96
  </li>
97
  <li class="<?php if ($instagram_feed['insta_layout'] == 'highlight') echo 'active'; ?> premium">
98
  <input type="radio" id="insta_layout-highlight" name="insta_layout" value="highlight" <?php checked('highlight', $instagram_feed['insta_layout']); ?> />
99
+ <label for="insta_layout-highlight"><?php esc_html_e('Highlight', 'insta-gallery'); ?><span class="premium"> (<?php esc_html_e('Premium', 'insta-gallery'); ?>)</span></label>
100
  <img src="<?php echo plugins_url('/assets/img/highlight.png', QLIGG_PLUGIN_FILE); ?>"/>
101
  </li>
102
  </ul>
109
  <td colspan="100%">
110
  <table>
111
  <tr>
112
+ <th scope="row"><?php esc_html_e('Box', 'insta-gallery'); ?></th>
113
  <td>
114
  <input name="insta_box" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_box']); ?>/>
115
  <p class="description">
116
+ <?php esc_html_e('Display the Instagram Feed inside a customizable box', 'insta-gallery'); ?>
117
  </p>
118
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
119
  </td>
120
  </tr>
121
  </table>
125
  <td colspan="100%">
126
  <table>
127
  <tr>
128
+ <th scope="row"><?php esc_html_e('Box padding', 'insta-gallery'); ?></th>
129
  <td>
130
  <input name="insta_box-padding" type="number" value="<?php echo esc_attr($instagram_feed['insta_box-padding']); ?>" />
131
  <p class="description">
132
+ <?php esc_html_e('Add padding to the Instagram Feed', 'insta-gallery'); ?>
133
  </p>
134
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
135
  </td>
136
  </tr>
137
  <tr>
138
+ <th scope="row"><?php esc_html_e('Box radius', 'insta-gallery'); ?></th>
139
  <td>
140
  <input name="insta_box-radius" type="number" value="<?php echo esc_attr($instagram_feed['insta_box-radius']); ?>" />
141
  <p class="description">
142
+ <?php esc_html_e('Add radius to the Instagram Feed', 'insta-gallery'); ?>
143
  </p>
144
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
145
  </td>
146
  </tr>
147
  <tr>
148
+ <th scope="row"><?php esc_html_e('Box background', 'insta-gallery'); ?></th>
149
  <td>
150
  <input class="color-picker" data-alpha="true" name="insta_box-background" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_box-background']); ?>" />
151
  <p class="description">
152
+ <?php esc_html_e('Color which is displayed on box background', 'insta-gallery'); ?>
153
  </p>
154
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
155
  </td>
156
  </tr>
157
  </table>
161
  <td colspan="100%">
162
  <table>
163
  <tr>
164
+ <th scope="row"><?php esc_html_e('Profile', 'insta-gallery'); ?></th>
165
  <td>
166
  <input name="insta_box-profile" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_box-profile']); ?>/>
167
  <p class="description">
168
+ <?php esc_html_e('Display user profile or tag info', 'insta-gallery'); ?>
169
  </p>
170
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
171
  </td>
172
  </tr>
173
  <tr>
174
+ <th scope="row"><?php esc_html_e('Profile description', 'insta-gallery'); ?></th>
175
  <td>
176
  <input name="insta_box-desc" type="text" placeholder="Instagram" value="<?php echo esc_html($instagram_feed['insta_box-desc']); ?>" />
177
  <p class="description">
178
+ <?php esc_html_e('Box description here', 'insta-gallery'); ?>
179
  </p>
180
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
181
  </td>
182
  </tr>
183
  </table>
187
  <td colspan="100%">
188
  <table>
189
  <tr>
190
+ <th scope="row"><?php esc_html_e('Limit', 'insta-gallery'); ?></th>
191
  <td><input name="insta_limit" type="number" min="1" max="33" value="<?php echo esc_attr($instagram_feed['insta_limit']); ?>" />
192
+ <p class="description"><?php esc_html_e('Number of images to display', 'insta-gallery'); ?></p>
193
  </td>
194
  </tr>
195
  </table>
199
  <td colspan="100%">
200
  <table>
201
  <tr>
202
+ <th scope="row"><?php esc_html_e('Columns', 'insta-gallery'); ?></th>
203
  <td>
204
  <input name="insta_gal-cols" type="number" min="1" max="20" value="<?php echo esc_attr($instagram_feed['insta_gal-cols']); ?>" />
205
  <p class="description">
206
+ <?php esc_html_e('Number of images in a row', 'insta-gallery'); ?>
207
  </p>
208
  </td>
209
  </tr>
214
  <td colspan="100%">
215
  <table>
216
  <tr>
217
+ <th scope="row"><?php esc_html_e('Highlight by tag', 'insta-gallery'); ?></th>
218
  <td>
219
  <textarea name="insta_highlight-tag" placeholder="tag1, tag2, tag3"><?php echo esc_html($instagram_feed['insta_highlight-tag']); ?></textarea>
220
+ <p class="description"><?php esc_html_e('Highlight feeds items with this tags', 'insta-gallery'); ?></p>
221
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
222
  </td>
223
  </tr>
224
  <tr>
225
+ <th scope="row"><?php esc_html_e('Highlight by id', 'insta-gallery'); ?></th>
226
  <td>
227
  <textarea name="insta_highlight-id" placeholder="101010110101010"><?php echo esc_html($instagram_feed['insta_highlight-id']); ?></textarea>
228
+ <p class="description"><?php esc_html_e('Highlight feeds items with this ids', 'insta-gallery'); ?></p>
229
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
230
  </td>
231
  </tr>
232
  <tr>
233
+ <th scope="row"><?php esc_html_e('Highlight by position', 'insta-gallery'); ?></th>
234
  <td>
235
  <textarea name="insta_highlight-position" placeholder="1, 5, 7"><?php echo esc_html($instagram_feed['insta_highlight-position']); ?></textarea>
236
+ <p class="description"><?php esc_html_e('Highlight feeds items in this positions', 'insta-gallery'); ?></p>
237
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
238
  </td>
239
  </tr>
240
  </table>
244
  <td colspan="100%">
245
  <table>
246
  <tr>
247
+ <th scope="row"><?php esc_html_e('Slides per view', 'insta-gallery'); ?></th>
248
  <td>
249
  <input name="insta_car-slidespv" type="number" min="1" max="10" value="<?php echo esc_html($instagram_feed['insta_car-slidespv']); ?>" />
250
+ <p class="description"><?php esc_html_e('Number of images per slide', 'insta-gallery'); ?></p>
251
  </td>
252
  </tr>
253
  <tr>
254
+ <th scope="row"><?php esc_html_e('Autoplay', 'insta-gallery'); ?></th>
255
  <td>
256
  <input name="insta_car-autoplay" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_car-autoplay']); ?> />
257
+ <p class="description"><?php esc_html_e('Autoplay carousel items', 'insta-gallery'); ?></p>
258
  </td>
259
  </tr>
260
  <tr>
261
+ <th scope="row"><?php esc_html_e('Autoplay Interval', 'insta-gallery'); ?></th>
262
  <td>
263
  <input name="insta_car-autoplay-interval" type="number" min="1000" max="300000" step="100" value="<?php echo esc_attr(max(1000, absint($instagram_feed['insta_car-autoplay-interval']))); ?>" />
264
  <p class="description">
265
+ <?php esc_html_e('Moves to next picture after specified time interval', 'insta-gallery'); ?></p>
266
  </td>
267
  </tr>
268
  <tr>
269
+ <th scope="row"><?php esc_html_e('Navigation', 'insta-gallery'); ?></th>
270
  <td>
271
  <input name="insta_car-navarrows" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_car-navarrows']); ?>/>
272
+ <p class="description"><?php esc_html_e('Display navigation arrows', 'insta-gallery'); ?></p>
273
  </td>
274
  </tr>
275
  <tr>
276
+ <th scope="row"><?php esc_html_e('Navigation color', 'insta-gallery'); ?></th>
277
  <td>
278
  <input class="color-picker" data-alpha="true" name="insta_car-navarrows-color" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_car-navarrows-color']); ?>" />
279
+ <p class="description"><?php esc_html_e('Change navigation arrows color', 'insta-gallery'); ?></p>
280
  </td>
281
  </tr>
282
  <tr>
283
+ <th scope="row"><?php esc_html_e('Pagination', 'insta-gallery'); ?></th>
284
  <td>
285
  <input name="insta_car-pagination" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_car-pagination']); ?>/>
286
+ <p class="description"><?php esc_html_e('Display pagination dots', 'insta-gallery'); ?></p>
287
  </td>
288
  </tr>
289
  <tr>
290
+ <th scope="row"><?php esc_html_e('Pagination color', 'insta-gallery'); ?></th>
291
  <td>
292
  <input class="color-picker" data-alpha="true" name="insta_car-pagination-color" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_car-pagination-color']); ?>" />
293
+ <p class="description"><?php esc_html_e('Change pagination dotts color', 'insta-gallery'); ?></p>
294
  </td>
295
  </tr>
296
  </table>
300
  <td colspan="100%">
301
  <table>
302
  <tr>
303
+ <th scope="row"><?php esc_html_e('Images size', 'insta-gallery'); ?></th>
304
  <td>
305
  <select name="insta_size">
306
+ <option value="standard"><?php esc_html_e('Standard', 'insta-gallery'); ?> (640 x auto)</option>
307
+ <option value="medium" <?php echo (isset($instagram_feed['insta_size']) && ($instagram_feed['insta_size'] == 'medium')) ? 'selected' : ''; ?>><?php esc_html_e('Medium', 'insta-gallery'); ?> (320 x auto)</option>
308
+ <option value="small" <?php echo (isset($instagram_feed['insta_size']) && ($instagram_feed['insta_size'] == 'small')) ? 'selected' : ''; ?>><?php esc_html_e('Small', 'insta-gallery'); ?> (150 x 150)</option>
309
  </select>
310
  </td>
311
  </tr>
312
  <tr>
313
+ <th scope="row"><?php esc_html_e('Images spacing', 'insta-gallery'); ?></th>
314
  <td>
315
  <input name="insta_spacing" type="number" value="<?php echo esc_attr($instagram_feed['insta_spacing']); ?>" />
316
  <p class="description">
317
+ <?php esc_html_e('Add blank space between images', 'insta-gallery'); ?>
318
  </p>
319
  </td>
320
  </tr>
325
  <td colspan="100%">
326
  <table>
327
  <tr>
328
+ <th scope="row"><?php esc_html_e('Images card', 'insta-gallery'); ?></th>
329
  <td>
330
  <input name="insta_card" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_card']); ?>/>
331
  <p class="description">
332
+ <?php esc_html_e('Display card gallery by clicking on image', 'insta-gallery'); ?>
333
  </p>
334
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
335
  </td>
336
  </tr>
337
  </table>
341
  <td colspan="100%">
342
  <table>
343
  <tr>
344
+ <th scope="row"><?php esc_html_e('Card radius', 'insta-gallery'); ?></th>
345
  <td>
346
  <input name="insta_card-radius" type="number" min="0" max="1000" value="<?php echo esc_attr($instagram_feed['insta_card-radius']); ?>" />
347
  <p class="description">
348
+ <?php esc_html_e('Add radius to the Instagram Feed', 'insta-gallery'); ?>
349
  </p>
350
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
351
  </td>
352
  </tr>
353
  <tr>
354
+ <th scope="row"><?php esc_html_e('Card font size', 'insta-gallery'); ?></th>
355
  <td>
356
  <input name="insta_card-font-size" type="number" min="8" max="36" value="<?php echo esc_attr($instagram_feed['insta_card-font-size']); ?>" />
357
  <p class="description">
358
+ <?php esc_html_e('Add font-size to the Instagram Feed', 'insta-gallery'); ?>
359
  </p>
360
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
361
  </td>
362
  </tr>
363
  <tr>
364
+ <th scope="row"><?php esc_html_e('Card background', 'insta-gallery'); ?></th>
365
  <td>
366
  <input class="color-picker" data-alpha="true" name="insta_card-background" type="link" placeholder="#007aff" value="<?php echo esc_html($instagram_feed['insta_card-background']); ?>" />
367
  <p class="description">
368
+ <?php esc_html_e('Color which is displayed when carded over images', 'insta-gallery'); ?>
369
  </p>
370
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
371
  </td>
372
  </tr>
373
  <tr>
374
+ <th scope="row"><?php esc_html_e('Card padding', 'insta-gallery'); ?></th>
375
  <td>
376
  <input name="insta_card-padding" type="number" min="0" max="50" value="<?php echo esc_attr($instagram_feed['insta_card-padding']); ?>" />
377
  <p class="description">
378
+ <?php esc_html_e('Add blank space between images', 'insta-gallery'); ?>
379
  </p>
380
  </td>
381
  </tr>
382
  <tr>
383
+ <th scope="row"><?php esc_html_e('Card info', 'insta-gallery'); ?></th>
384
  <td>
385
  <input name="insta_card-info" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_card-info']); ?>/>
386
  <p class="description">
387
+ <?php esc_html_e('Display likes count of images', 'insta-gallery'); ?>
388
  </p>
389
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
390
  </td>
391
  </tr>
392
  <tr>
393
+ <th scope="row"><?php esc_html_e('Card caption', 'insta-gallery'); ?></th>
394
  <td>
395
  <input name="insta_card-caption" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_card-caption']); ?>/>
396
  <p class="description">
397
+ <?php esc_html_e('Display caption count of images', 'insta-gallery'); ?>
398
  </p>
399
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
400
  </td>
401
  </tr>
402
  <tr>
403
+ <th scope="row"><?php esc_html_e('Card length', 'insta-gallery'); ?></th>
404
  <td>
405
  <input name="insta_card-length" type="number" min="5" max="1000" value="<?php echo esc_attr($instagram_feed['insta_card-length']); ?>" />
406
  <p class="description">
407
+ <?php esc_html_e('Add blank space between images', 'insta-gallery'); ?>
408
  </p>
409
  </td>
410
  </tr>
415
  <td colspan="100%">
416
  <table>
417
  <tr>
418
+ <th scope="row"><?php esc_html_e('Images popup', 'insta-gallery'); ?></th>
419
  <td><input name="insta_popup" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_popup']); ?>/>
420
  <p class="description">
421
+ <?php esc_html_e('Display popup gallery by clicking on image', 'insta-gallery'); ?>
422
  </p>
423
  </td>
424
  </tr>
429
  <td colspan="100%">
430
  <table>
431
  <tr>
432
+ <th scope="row"><?php esc_html_e('Images popup profile', 'insta-gallery'); ?></th>
433
  <td>
434
  <input name="insta_popup-profile" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_popup-profile']); ?>/>
435
  <p class="description">
436
+ <?php esc_html_e('Display user profile or tag info', 'insta-gallery'); ?>
437
  </p>
438
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
439
  </td>
440
  </tr>
441
  <tr>
442
+ <th scope="row"><?php esc_html_e('Images popup caption', 'insta-gallery'); ?></th>
443
  <td>
444
  <input name="insta_popup-caption" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_popup-caption']); ?>/>
445
+ <p class="description"><?php esc_html_e('Display caption in the popup', 'insta-gallery'); ?></p>
446
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
447
  </td>
448
  </tr>
449
  <tr>
450
+ <th scope="row"><?php esc_html_e('Images popup likes', 'insta-gallery'); ?></th>
451
  <td>
452
  <input name="insta_popup-likes" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_popup-likes']); ?>/>
453
  <p class="description">
454
+ <?php esc_html_e('Display likes count of images', 'insta-gallery'); ?>
455
  </p>
456
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
457
  </td>
458
  </tr>
459
  <tr>
460
+ <th scope="row"><?php esc_html_e('Images popup align', 'insta-gallery'); ?></th>
461
  <td>
462
  <select name="insta_popup-align">
463
  <option value="top" <?php selected('top', $instagram_feed['insta_popup-align']); ?>><?php esc_html_e('Top', 'insta-gallery'); ?></option>
465
  <option value="right" <?php selected('right', $instagram_feed['insta_popup-align']); ?>><?php esc_html_e('Right', 'insta-gallery'); ?></option>
466
  <option value="bottom" <?php selected('bottom', $instagram_feed['insta_popup-align']); ?>><?php esc_html_e('Bottom', 'insta-gallery'); ?></option>
467
  </select>
468
+ <p class="description"><?php esc_html_e('Display likes count of images', 'insta-gallery'); ?></p>
469
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
470
  </td>
471
  </tr>
472
  </table>
476
  <td colspan="100%">
477
  <table>
478
  <tr>
479
+ <th scope="row"><?php esc_html_e('Images mask', 'insta-gallery'); ?></th>
480
  <td>
481
  <input name="insta_hover" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_hover']); ?>/>
482
  <p class="description">
483
+ <?php esc_html_e('Image mouseover effect', 'insta-gallery'); ?>
484
  </p>
485
  </td>
486
  </tr>
491
  <td colspan="100%">
492
  <table>
493
  <tr>
494
+ <th scope="row"><?php esc_html_e('Images mask color', 'insta-gallery'); ?></th>
495
  <td>
496
  <input class="color-picker" data-alpha="true" name="insta_hover-color" type="link" placeholder="#007aff" value="<?php echo esc_html($instagram_feed['insta_hover-color']); ?>" />
497
  <p class="description">
498
+ <?php esc_html_e('Color which is displayed when hovered over images', 'insta-gallery'); ?>
499
  </p>
500
  </td>
501
  </tr>
502
  <tr>
503
+ <th scope="row"><?php esc_html_e('Images mask likes', 'insta-gallery'); ?></th>
504
  <td>
505
  <input name="insta_likes" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_likes']); ?>/>
506
  <p class="description">
507
+ <?php esc_html_e('Display likes count of images', 'insta-gallery'); ?>
508
  </p>
509
  </td>
510
  </tr>
511
  <tr>
512
+ <th scope="row"><?php esc_html_e('Images mask comments', 'insta-gallery'); ?></th>
513
  <td>
514
  <input name="insta_comments" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_comments']); ?>/>
515
  <p class="description">
516
+ <?php esc_html_e('Display comments count of images', 'insta-gallery'); ?>
517
  </p>
518
  </td>
519
  </tr>
524
  <td colspan="100%">
525
  <table>
526
  <tr>
527
+ <th scope="row"><?php esc_html_e('Instagram load more', 'insta-gallery'); ?></th>
528
  <td>
529
  <input name="insta_button_load" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_button_load']); ?>/>
530
  <p class="description">
531
+ <?php esc_html_e('Display the load more button', 'insta-gallery'); ?>
532
  </p>
533
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
534
  </td>
535
  </tr>
536
  </table>
540
  <td colspan="100%">
541
  <table>
542
  <tr>
543
+ <th scope="row"><?php esc_html_e('Instagram load more text', 'insta-gallery'); ?></th>
544
  <td>
545
  <input name="insta_button_load-text" type="text" placeholder="Instagram" value="<?php echo esc_html($instagram_feed['insta_button_load-text']); ?>" />
546
  <p class="description">
547
+ <?php esc_html_e('Instagram load more text here', 'insta-gallery'); ?>
548
  </p>
549
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
550
  </td>
551
  </tr>
552
  <tr>
553
+ <th scope="row"><?php esc_html_e('Instagram load more background', 'insta-gallery'); ?></th>
554
  <td>
555
  <input class="color-picker" data-alpha="true" name="insta_button_load-background" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_button_load-background']); ?>" />
556
  <p class="description">
557
+ <?php esc_html_e('Color which is displayed on button load background', 'insta-gallery'); ?>
558
  </p>
559
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
560
  </td>
561
  </tr>
562
  <tr>
563
+ <th scope="row"><?php esc_html_e('Instagram load more hover background', 'insta-gallery'); ?></th>
564
  <td>
565
  <input class="color-picker" data-alpha="true" name="insta_button_load-background-hover" type="text" placeholder="#da894a" value="<?php echo esc_html($instagram_feed['insta_button_load-background-hover']); ?>" />
566
  <p class="description">
567
+ <?php esc_html_e('Color which is displayed when hovered over button load more', 'insta-gallery'); ?>
568
  </p>
569
+ <p class="premium"><?php esc_html_e('This is a premium feature.', 'insta-gallery'); ?></p>
570
  </td>
571
  </tr>
572
  </table>
576
  <td colspan="100%">
577
  <table>
578
  <tr>
579
+ <th scope="row"><?php esc_html_e('Instagram button', 'insta-gallery'); ?></th>
580
  <td>
581
  <input name="insta_button" type="checkbox" value="1" <?php checked(1, $instagram_feed['insta_button']); ?>/>
582
  <p class="description">
583
+ <?php esc_html_e('Display the button to open Instagram site link', 'insta-gallery'); ?>
584
  </p>
585
  </td>
586
  </tr>
591
  <td colspan="100%">
592
  <table>
593
  <tr>
594
+ <th scope="row"><?php esc_html_e('Instagram button text', 'insta-gallery'); ?></th>
595
  <td>
596
  <input name="insta_button-text" type="text" placeholder="Instagram" value="<?php echo esc_html($instagram_feed['insta_button-text']); ?>" />
597
  <p class="description">
598
+ <?php esc_html_e('Instagram button text here', 'insta-gallery'); ?>
599
  </p>
600
  </td>
601
  </tr>
602
  <tr>
603
+ <th scope="row"><?php esc_html_e('Instagram button background', 'insta-gallery'); ?></th>
604
  <td>
605
  <input class="color-picker" data-alpha="true" name="insta_button-background" type="text" placeholder="#c32a67" value="<?php echo esc_html($instagram_feed['insta_button-background']); ?>" />
606
+ <p class="description"><?php esc_html_e('Color which is displayed on button background', 'insta-gallery'); ?></p>
607
  </td>
608
  </tr>
609
  <tr>
610
+ <th scope="row"><?php esc_html_e('Instagram button hover background', 'insta-gallery'); ?></th>
611
  <td>
612
  <input class="color-picker" data-alpha="true" name="insta_button-background-hover" type="text" placeholder="#da894a" value="<?php echo esc_html($instagram_feed['insta_button-background-hover']); ?>" />
613
+ <p class="description"><?php esc_html_e('Color which is displayed when hovered over button', 'insta-gallery'); ?></p>
614
  </td>
615
  </tr>
616
  </table>
621
  <tr>
622
  <td colspan="3">
623
  <span class="spinner"></span>
624
+ <button type="submit" class="btn-instagram secondary"><?php esc_html_e('Update', 'insta-gallery'); ?></button>
625
  <span>
626
  <?php printf(esc_html__('Update settings and copy/paste generated shortcode in your post/pages or go to Widgets and use %s widget', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
627
  </span>
includes/pages/views/list.php CHANGED
@@ -4,9 +4,9 @@ if (!defined('ABSPATH'))
4
  ?>
5
  <div id="ig-create-gallery">
6
  <p>
7
- <a class="btn-instagram" href="<?php echo admin_url('admin.php?page=qligg_feeds&tab=edit'); ?>" title="<?php _e('Add New Gallery', 'insta-gallery'); ?>">
8
  <span class="dashicons dashicons-plus"></span>
9
- <?php _e('Add New Gallery', 'insta-gallery'); ?>
10
  </a>
11
  </p>
12
  </div>
@@ -14,11 +14,11 @@ if (!defined('ABSPATH'))
14
  <table class="widefat ig-table">
15
  <thead>
16
  <tr>
17
- <th><?php _e('Image', 'insta-gallery'); ?></th>
18
- <th><?php _e('Source', 'insta-gallery'); ?></th>
19
- <th><?php _e('Type', 'insta-gallery'); ?></th>
20
- <th><?php _e('Shortcode', 'insta-gallery'); ?></th>
21
- <th><?php _e('Action', 'insta-gallery'); ?></th>
22
  </tr>
23
  </thead>
24
  <tbody>
@@ -48,10 +48,10 @@ if (!defined('ABSPATH'))
48
  </td>
49
  <td>
50
  <a href="<?php echo admin_url("admin.php?page=qligg_feeds&tab=edit&item_id={$id}"); ?>" class="btn-instagram">
51
- <span class="dashicons dashicons-edit"></span><?php _e('Edit', 'insta-gallery'); ?>
52
  </a>
53
  <a href="#" data-item_nonce="<?php echo wp_create_nonce('qligg_form_item_delete'); ?>" data-item_id="<?php echo esc_attr($id); ?>" class="btn-instagram ig-form-item-delete">
54
- <span class="dashicons dashicons-trash"></span><?php _e('Delete', 'insta-gallery'); ?>
55
  </a>
56
  <span class="spinner"></span>
57
  </td>
4
  ?>
5
  <div id="ig-create-gallery">
6
  <p>
7
+ <a class="btn-instagram" href="<?php echo admin_url('admin.php?page=qligg_feeds&tab=edit'); ?>" title="<?php esc_html_e('Add New Gallery', 'insta-gallery'); ?>">
8
  <span class="dashicons dashicons-plus"></span>
9
+ <?php esc_html_e('Add New Gallery', 'insta-gallery'); ?>
10
  </a>
11
  </p>
12
  </div>
14
  <table class="widefat ig-table">
15
  <thead>
16
  <tr>
17
+ <th><?php esc_html_e('Image', 'insta-gallery'); ?></th>
18
+ <th><?php esc_html_e('Source', 'insta-gallery'); ?></th>
19
+ <th><?php esc_html_e('Type', 'insta-gallery'); ?></th>
20
+ <th><?php esc_html_e('Shortcode', 'insta-gallery'); ?></th>
21
+ <th><?php esc_html_e('Action', 'insta-gallery'); ?></th>
22
  </tr>
23
  </thead>
24
  <tbody>
48
  </td>
49
  <td>
50
  <a href="<?php echo admin_url("admin.php?page=qligg_feeds&tab=edit&item_id={$id}"); ?>" class="btn-instagram">
51
+ <span class="dashicons dashicons-edit"></span><?php esc_html_e('Edit', 'insta-gallery'); ?>
52
  </a>
53
  <a href="#" data-item_nonce="<?php echo wp_create_nonce('qligg_form_item_delete'); ?>" data-item_id="<?php echo esc_attr($id); ?>" class="btn-instagram ig-form-item-delete">
54
+ <span class="dashicons dashicons-trash"></span><?php esc_html_e('Delete', 'insta-gallery'); ?>
55
  </a>
56
  <span class="spinner"></span>
57
  </td>
includes/pages/welcome.php CHANGED
@@ -7,31 +7,31 @@ if (!defined('ABSPATH'))
7
  <div class="qligg-welcome-header">
8
  <h1><?php echo QLIGG_PLUGIN_NAME; ?> <span style="font-size: 24px;color: #555;">v<?php echo QLIGG_PLUGIN_VERSION; ?></span></h1>
9
  <div class="about-text">
10
- <?php esc_html_e('Hello we\'re QuadLayers! We\'ve recently acquired this plugin and this is the first update. We will do our absolute best to support it and fix all the issues.', 'insta-gallery'); ?>
11
  </div>
12
  </div>
13
  <hr/>
14
- <div class="feature-section" style="padding: 15px 0;">
15
- <h3><?php esc_html_e('Community', 'insta-gallery'); ?></h3>
16
- <p>
17
- <?php printf(esc_html__('If you want to get in touch with other %s users or be aware of our promotional discounts join our community now.', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
18
- </p>
19
- <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLIGG_GROUP_URL; ?>"><?php esc_html_e('Join us', 'insta-gallery'); ?></a>
20
- </div>
21
- <!--<div class="feature-section one-col is-wide wp-clearfix">
22
  <h3><?php esc_html_e('Demo', 'insta-gallery'); ?></h3>
23
  <p>
24
- <?php printf(esc_html__('Thank you for choosing our %s plugin for WordPress! Here you can see our demo and a description about the features we offer in the premium version.', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
25
  </p>
26
  <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLIGG_DEMO_URL; ?>"><?php esc_html_e('View demo', 'insta-gallery'); ?></a>
27
- </div>-->
28
  <div class="feature-section" style="padding: 15px 0;">
29
  <h3><?php esc_html_e('Support', 'insta-gallery'); ?></h3>
30
  <p>
31
  <?php printf(esc_html__('If you have any doubt or you find any issue don\'t hesitate to contact us through our ticket system or join our community to meet other %s users.', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
32
  </p>
33
- <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLIGG_SUPPORT_URL; ?>"><?php esc_html_e('Submit ticket', 'insta-gallery'); ?></a>
34
  </div>
 
 
 
 
 
 
 
35
  </div>
36
  <div class="column">
37
  <img src="<?php echo plugins_url('/assets/img/mobile.png', QLIGG_PLUGIN_FILE); ?>">
7
  <div class="qligg-welcome-header">
8
  <h1><?php echo QLIGG_PLUGIN_NAME; ?> <span style="font-size: 24px;color: #555;">v<?php echo QLIGG_PLUGIN_VERSION; ?></span></h1>
9
  <div class="about-text">
10
+ <?php esc_html_e('Hello we\'re QuadLayers! We\'ve recently acquired this plugin. We will do our absolute best to support it and fix all the issues.', 'insta-gallery'); ?>
11
  </div>
12
  </div>
13
  <hr/>
14
+ <div class="feature-section one-col is-wide wp-clearfix">
 
 
 
 
 
 
 
15
  <h3><?php esc_html_e('Demo', 'insta-gallery'); ?></h3>
16
  <p>
17
+ <?php printf(esc_html__('Thank you for choosing our %s plugin for WordPress! Here you can see our demo and test the features we offer in the premium version.', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
18
  </p>
19
  <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLIGG_DEMO_URL; ?>"><?php esc_html_e('View demo', 'insta-gallery'); ?></a>
20
+ </div>
21
  <div class="feature-section" style="padding: 15px 0;">
22
  <h3><?php esc_html_e('Support', 'insta-gallery'); ?></h3>
23
  <p>
24
  <?php printf(esc_html__('If you have any doubt or you find any issue don\'t hesitate to contact us through our ticket system or join our community to meet other %s users.', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
25
  </p>
26
+ <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLIGG_SUPPORT_URL; ?>"><?php esc_html_e('Submit ticket', 'insta-gallery'); ?></a>
27
  </div>
28
+ <div class="feature-section" style="padding: 15px 0;">
29
+ <h3><?php esc_html_e('Community', 'insta-gallery'); ?></h3>
30
+ <p>
31
+ <?php printf(esc_html__('If you want to get in touch with other %s users or be aware of our promotional discounts join our community now.', 'insta-gallery'), QLIGG_PLUGIN_NAME); ?>
32
+ </p>
33
+ <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLIGG_GROUP_URL; ?>"><?php esc_html_e('Join our community', 'insta-gallery'); ?></a>
34
+ </div>
35
  </div>
36
  <div class="column">
37
  <img src="<?php echo plugins_url('/assets/img/mobile.png', QLIGG_PLUGIN_FILE); ?>">
includes/settings.php CHANGED
@@ -137,10 +137,10 @@ if (!class_exists('QLIGG_Settings')) {
137
 
138
  function add_menu() {
139
  add_menu_page('Instagram Gallery', 'Instagram Gallery', 'manage_options', QLIGG_DOMAIN, array($this, 'settings_welcome'), 'dashicons-camera');
140
- add_submenu_page(QLIGG_DOMAIN, __('Welcome', 'insta-gallery'), esc_html__('Welcome', 'insta-gallery'), 'manage_options', QLIGG_DOMAIN, array($this, 'settings_welcome'));
141
- add_submenu_page(QLIGG_DOMAIN, __('Account', 'insta-gallery'), esc_html__('Account', 'insta-gallery'), 'edit_posts', QLIGG_DOMAIN . '_token', array($this, 'settings_token'));
142
- add_submenu_page(QLIGG_DOMAIN, __('Feeds', 'insta-gallery'), esc_html__('Feeds', 'insta-gallery'), 'edit_posts', QLIGG_DOMAIN . '_feeds', array($this, 'settings_feeds'));
143
- add_submenu_page(QLIGG_DOMAIN, __('Premium', 'insta-gallery'), sprintf('<i class="dashicons dashicons-awards"></i> %s', __('Premium', 'insta-gallery')), 'edit_posts', QLIGG_DOMAIN . '_premium', array($this, 'settings_premium'));
144
  }
145
 
146
  function add_admin_js($hook) {
@@ -150,9 +150,9 @@ if (!class_exists('QLIGG_Settings')) {
150
  wp_enqueue_script('qligg-admin', plugins_url('/assets/js/qligg-admin.min.js', QLIGG_PLUGIN_FILE), array('jquery', 'wp-color-picker-alpha'), QLIGG_PLUGIN_VERSION, true);
151
  wp_localize_script('qligg-admin', 'qligg', array(
152
  'nonce' => wp_create_nonce('qligg_generate_token'),
153
- 'remove_gallery' => __('Are you sure want to delete this item?', 'insta-gallery'),
154
- 'remove_token' => __('Are you sure want to delete this access token?', 'insta-gallery'),
155
- 'remove_data' => __('Are you sure want to delete all settings on plugin uninstall?', 'insta-gallery')
156
  ));
157
  wp_enqueue_media();
158
  }
137
 
138
  function add_menu() {
139
  add_menu_page('Instagram Gallery', 'Instagram Gallery', 'manage_options', QLIGG_DOMAIN, array($this, 'settings_welcome'), 'dashicons-camera');
140
+ add_submenu_page(QLIGG_DOMAIN, esc_html__('Welcome', 'insta-gallery'), esc_html__('Welcome', 'insta-gallery'), 'manage_options', QLIGG_DOMAIN, array($this, 'settings_welcome'));
141
+ add_submenu_page(QLIGG_DOMAIN, esc_html__('Account', 'insta-gallery'), esc_html__('Account', 'insta-gallery'), 'edit_posts', QLIGG_DOMAIN . '_token', array($this, 'settings_token'));
142
+ add_submenu_page(QLIGG_DOMAIN, esc_html__('Feeds', 'insta-gallery'), esc_html__('Feeds', 'insta-gallery'), 'edit_posts', QLIGG_DOMAIN . '_feeds', array($this, 'settings_feeds'));
143
+ add_submenu_page(QLIGG_DOMAIN, esc_html__('Premium', 'insta-gallery'), sprintf('<i class="dashicons dashicons-awards"></i> %s', esc_html__('Premium', 'insta-gallery')), 'edit_posts', QLIGG_DOMAIN . '_premium', array($this, 'settings_premium'));
144
  }
145
 
146
  function add_admin_js($hook) {
150
  wp_enqueue_script('qligg-admin', plugins_url('/assets/js/qligg-admin.min.js', QLIGG_PLUGIN_FILE), array('jquery', 'wp-color-picker-alpha'), QLIGG_PLUGIN_VERSION, true);
151
  wp_localize_script('qligg-admin', 'qligg', array(
152
  'nonce' => wp_create_nonce('qligg_generate_token'),
153
+ 'remove_gallery' => esc_html__('Are you sure want to delete this item?', 'insta-gallery'),
154
+ 'remove_token' => esc_html__('Are you sure want to delete this access token?', 'insta-gallery'),
155
+ 'remove_data' => esc_html__('Are you sure want to delete all settings on plugin uninstall?', 'insta-gallery')
156
  ));
157
  wp_enqueue_media();
158
  }
includes/utis.php CHANGED
@@ -7,7 +7,7 @@ if (!defined('ABSPATH'))
7
  // -----------------------------------------------------------------------------
8
  function qligg_get_user_profile($user_id = null) {
9
 
10
- global $qligg_token, $qligg_api;
11
 
12
  $profile_info = array();
13
 
@@ -16,7 +16,7 @@ function qligg_get_user_profile($user_id = null) {
16
  $defaults = array(
17
  'id' => '',
18
  'user' => 'nousername',
19
- 'name' => __('Something went wrong, remove this token', 'insta-gallery'),
20
  'picture' => 'http://2.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=96&d=mm&r=g',
21
  'link' => ''
22
  );
@@ -29,7 +29,7 @@ function qligg_get_user_profile($user_id = null) {
29
  foreach ($qligg_token as $id => $access_token) {
30
  $profile_info[$id] = $qligg_api->get_user_profile($access_token);
31
  }
32
- set_transient($tk, $profile_info, 2 * HOUR_IN_SECONDS);
33
  }
34
 
35
  if (!isset($profile_info[$user_id])) {
@@ -49,7 +49,7 @@ function qligg_get_user_profile($user_id = null) {
49
  // -----------------------------------------------------------------------------
50
  function qligg_get_tag_profile($tag = null) {
51
 
52
- global $qligg_token, $qligg_api;
53
 
54
  if (!$tag) {
55
  return;
@@ -60,14 +60,14 @@ function qligg_get_tag_profile($tag = null) {
60
  // Get any existing copy of our transient data
61
  if (QLIGG_DEVELOPER || false === ($response = get_transient($tk))) {
62
  if ($response = $qligg_api->get_tag_items($tag)) {
63
- set_transient($tk, $response, 2 * HOUR_IN_SECONDS);
64
  }
65
  }
66
 
67
  $defaults = array(
68
  'id' => '',
69
  'user' => 'nousername',
70
- 'name' => __('Something went wrong, remove this token', 'insta-gallery'),
71
  'picture' => 'http://2.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=96&d=mm&r=g',
72
  'link' => ''
73
  );
@@ -79,7 +79,7 @@ function qligg_get_tag_profile($tag = null) {
79
  return wp_parse_args(array(
80
  'id' => $response['graphql']['hashtag']['id'],
81
  'user' => "#{$response['graphql']['hashtag']['name']}",
82
- 'name' => sprintf(__('Tag #%s', 'insta-gallery'), $response['graphql']['hashtag']['name']),
83
  'picture' => $response['graphql']['hashtag']['profile_pic_url'],
84
  'link' => "{$qligg_api->instagram_url}/explore/tags/{$tag}"
85
  ), $defaults);
@@ -89,15 +89,15 @@ function qligg_get_tag_profile($tag = null) {
89
  // -----------------------------------------------------------------------------
90
  function qligg_get_user_items($user_id = null, $limit = 12, $next_max_id = null, $max_id = null) {
91
 
92
- global $qligg_token, $qligg_api;
93
 
94
  if (!$user_id) {
95
- $qligg_api->set_message(__('Please update Instagram User in the gallery settings tab.', 'insta-gallery'));
96
  return;
97
  }
98
 
99
  if (empty($qligg_token[$user_id])) {
100
- $qligg_api->set_message(__('Please update Instagram Access Token in the account settings tab.', 'insta-gallery'));
101
  return;
102
  }
103
 
@@ -106,7 +106,7 @@ function qligg_get_user_items($user_id = null, $limit = 12, $next_max_id = null,
106
  // Get any existing copy of our transient data
107
  if (QLIGG_DEVELOPER || false === ($response = get_transient($tk))) {
108
  if ($response = $qligg_api->get_user_items($qligg_token[$user_id], $max_id)) {
109
- set_transient($tk, $response, 2 * HOUR_IN_SECONDS);
110
  }
111
  }
112
 
@@ -134,9 +134,9 @@ function qligg_get_user_items($user_id = null, $limit = 12, $next_max_id = null,
134
  // Get tag items
135
  // -----------------------------------------------------------------------------
136
  function qligg_get_tag_items($tag = null, $limit = 12, $next_max_id = null, $end_cursor = null) {
137
-
138
- global $qligg_token, $qligg_api;
139
-
140
  if (!$tag) {
141
  return;
142
  }
@@ -146,7 +146,7 @@ function qligg_get_tag_items($tag = null, $limit = 12, $next_max_id = null, $end
146
  // Get any existing copy of our transient data
147
  if (QLIGG_DEVELOPER || false === ($response = get_transient($tk))) {
148
  if ($response = $qligg_api->get_tag_items($tag, $end_cursor)) {
149
- set_transient($tk, $response, 2 * HOUR_IN_SECONDS);
150
  }
151
  }
152
 
7
  // -----------------------------------------------------------------------------
8
  function qligg_get_user_profile($user_id = null) {
9
 
10
+ global $qligg, $qligg_token, $qligg_api;
11
 
12
  $profile_info = array();
13
 
16
  $defaults = array(
17
  'id' => '',
18
  'user' => 'nousername',
19
+ 'name' => esc_html__('Something went wrong, remove this token', 'insta-gallery'),
20
  'picture' => 'http://2.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=96&d=mm&r=g',
21
  'link' => ''
22
  );
29
  foreach ($qligg_token as $id => $access_token) {
30
  $profile_info[$id] = $qligg_api->get_user_profile($access_token);
31
  }
32
+ set_transient($tk, $profile_info, absint($qligg['insta_reset']) * HOUR_IN_SECONDS);
33
  }
34
 
35
  if (!isset($profile_info[$user_id])) {
49
  // -----------------------------------------------------------------------------
50
  function qligg_get_tag_profile($tag = null) {
51
 
52
+ global $qligg, $qligg_token, $qligg_api;
53
 
54
  if (!$tag) {
55
  return;
60
  // Get any existing copy of our transient data
61
  if (QLIGG_DEVELOPER || false === ($response = get_transient($tk))) {
62
  if ($response = $qligg_api->get_tag_items($tag)) {
63
+ set_transient($tk, $response, absint($qligg['insta_reset']) * HOUR_IN_SECONDS);
64
  }
65
  }
66
 
67
  $defaults = array(
68
  'id' => '',
69
  'user' => 'nousername',
70
+ 'name' => esc_html__('Something went wrong, remove this token', 'insta-gallery'),
71
  'picture' => 'http://2.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=96&d=mm&r=g',
72
  'link' => ''
73
  );
79
  return wp_parse_args(array(
80
  'id' => $response['graphql']['hashtag']['id'],
81
  'user' => "#{$response['graphql']['hashtag']['name']}",
82
+ 'name' => sprintf(esc_html__('Tag #%s', 'insta-gallery'), $response['graphql']['hashtag']['name']),
83
  'picture' => $response['graphql']['hashtag']['profile_pic_url'],
84
  'link' => "{$qligg_api->instagram_url}/explore/tags/{$tag}"
85
  ), $defaults);
89
  // -----------------------------------------------------------------------------
90
  function qligg_get_user_items($user_id = null, $limit = 12, $next_max_id = null, $max_id = null) {
91
 
92
+ global $qligg, $qligg_token, $qligg_api;
93
 
94
  if (!$user_id) {
95
+ $qligg_api->set_message(esc_html__('Please update Instagram User in the gallery settings tab.', 'insta-gallery'));
96
  return;
97
  }
98
 
99
  if (empty($qligg_token[$user_id])) {
100
+ $qligg_api->set_message(esc_html__('Please update Instagram Access Token in the account settings tab.', 'insta-gallery'));
101
  return;
102
  }
103
 
106
  // Get any existing copy of our transient data
107
  if (QLIGG_DEVELOPER || false === ($response = get_transient($tk))) {
108
  if ($response = $qligg_api->get_user_items($qligg_token[$user_id], $max_id)) {
109
+ set_transient($tk, $response, absint($qligg['insta_reset']) * HOUR_IN_SECONDS);
110
  }
111
  }
112
 
134
  // Get tag items
135
  // -----------------------------------------------------------------------------
136
  function qligg_get_tag_items($tag = null, $limit = 12, $next_max_id = null, $end_cursor = null) {
137
+
138
+ global $qligg, $qligg_token, $qligg_api;
139
+
140
  if (!$tag) {
141
  return;
142
  }
146
  // Get any existing copy of our transient data
147
  if (QLIGG_DEVELOPER || false === ($response = get_transient($tk))) {
148
  if ($response = $qligg_api->get_tag_items($tag, $end_cursor)) {
149
+ set_transient($tk, $response, absint($qligg['insta_reset']) * HOUR_IN_SECONDS);
150
  }
151
  }
152
 
includes/widget.php CHANGED
@@ -49,9 +49,9 @@ class QLIGG_Widget extends WP_Widget {
49
  foreach ($InstaGalleryItems as $k => $IGItem) {
50
  $label = '';
51
  if ($IGItem['insta_source'] == 'username') {
52
- $label = __('Username', 'insta-gallery') . ' / ' . $IGItem['insta_username'];
53
  } else {
54
- $label = __('Tagname', 'insta-gallery') . ' / ' . $IGItem['insta_tag'];
55
  }
56
  ?>
57
  <option value="<?php echo esc_html($k); ?>" <?php selected($k, $instagal_id) ?>><?php echo esc_html($label); ?></option>
@@ -60,11 +60,11 @@ class QLIGG_Widget extends WP_Widget {
60
  </p>
61
  <?php else: ?>
62
  <p style="color: #e23565;">
63
- <?php _e('Please add Gallery item in plugin panel, Then come back and select your Gallery to display.', 'insta-gallery'); ?>
64
  </p>
65
  <?php endif; ?>
66
  <p style="text-align: center;" >
67
- <a href="<?php echo admin_url('admin.php?page=qligg'); ?>"><?php _e('Add New Gallery', 'insta-gallery'); ?></a>
68
  </p>
69
  <?php
70
  }
49
  foreach ($InstaGalleryItems as $k => $IGItem) {
50
  $label = '';
51
  if ($IGItem['insta_source'] == 'username') {
52
+ $label = esc_html__('Username', 'insta-gallery') . ' / ' . $IGItem['insta_username'];
53
  } else {
54
+ $label = esc_html__('Tagname', 'insta-gallery') . ' / ' . $IGItem['insta_tag'];
55
  }
56
  ?>
57
  <option value="<?php echo esc_html($k); ?>" <?php selected($k, $instagal_id) ?>><?php echo esc_html($label); ?></option>
60
  </p>
61
  <?php else: ?>
62
  <p style="color: #e23565;">
63
+ <?php esc_html_e('Please add Gallery item in plugin panel, Then come back and select your Gallery to display.', 'insta-gallery'); ?>
64
  </p>
65
  <?php endif; ?>
66
  <p style="text-align: center;" >
67
+ <a href="<?php echo admin_url('admin.php?page=qligg'); ?>"><?php esc_html_e('Add New Gallery', 'insta-gallery'); ?></a>
68
  </p>
69
  <?php
70
  }
insta-gallery.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
  /**
3
- * Plugin Name: WP Social Feed Gallery
4
  * Plugin URI: https://quadlayers.com/portfolio/instagram-gallery/
5
  * Description: Display beautifull and responsive galleries on your website from your Instagram feed account.
6
- * Version: 2.4.9
7
  * Author: Quadlayers
8
  * Author URI: https://quadlayers.com
9
  * License: GPL-2.0+
@@ -15,10 +15,10 @@ if (!defined('ABSPATH'))
15
  exit;
16
 
17
  if (!defined('QLIGG_PLUGIN_NAME')) {
18
- define('QLIGG_PLUGIN_NAME', 'WP Social Feed Gallery');
19
  }
20
  if (!defined('QLIGG_PLUGIN_VERSION')) {
21
- define('QLIGG_PLUGIN_VERSION', '2.4.9');
22
  }
23
  if (!defined('QLIGG_PLUGIN_FILE')) {
24
  define('QLIGG_PLUGIN_FILE', __FILE__);
1
  <?php
2
  /**
3
+ * Plugin Name: Instagram Feed Gallery
4
  * Plugin URI: https://quadlayers.com/portfolio/instagram-gallery/
5
  * Description: Display beautifull and responsive galleries on your website from your Instagram feed account.
6
+ * Version: 2.5.0
7
  * Author: Quadlayers
8
  * Author URI: https://quadlayers.com
9
  * License: GPL-2.0+
15
  exit;
16
 
17
  if (!defined('QLIGG_PLUGIN_NAME')) {
18
+ define('QLIGG_PLUGIN_NAME', 'Instagram Feed Gallery');
19
  }
20
  if (!defined('QLIGG_PLUGIN_VERSION')) {
21
+ define('QLIGG_PLUGIN_VERSION', '2.5.0');
22
  }
23
  if (!defined('QLIGG_PLUGIN_FILE')) {
24
  define('QLIGG_PLUGIN_FILE', __FILE__);
readme.txt CHANGED
@@ -4,11 +4,11 @@ Donate link: https://quadlayers.com/portfolio/instagram-gallery/
4
  Tags: instagram, instagram feed, instagram widget, instagram gallery, instagram pictures, gallery widget, pictures, carousel slider, image gallery, image slider
5
  Requires at least: 4.6
6
  Tested up to: 5.2.2
7
- Stable tag: 2.4.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- Instagram Feed Gallery is an easy way to display your Instagram feeds pictures your website.
12
 
13
  == Description ==
14
 
@@ -83,16 +83,20 @@ There may be some other plugins(like: fancybox, elementor) which also uses image
83
 
84
  == Screenshots ==
85
 
86
- 1. Instagram Gallery PRO / Account
87
- 2. Instagram Gallery PRO / Feeds
88
- 3. Instagram Gallery PRO / Feeds / Layouts
89
- 4. Instagram Gallery PRO / Load more button
90
- 5. Instagram Gallery PRO / Masonry layout
91
 
92
  == Changelog ==
93
 
 
 
 
 
94
  = 2.4.9 =
95
- * Fix. Instagram Gallery readme update
96
 
97
  = 2.4.8 =
98
  * Fix. nonce validation added to qligg_dismiss_notice ajax action
@@ -156,11 +160,11 @@ There may be some other plugins(like: fancybox, elementor) which also uses image
156
 
157
  = 2.3.0 =
158
  * Improvement. Instagram token generation simplified
159
- * Improvement. Instagram Gallery settings consistency
160
  * Improvement. Instagram Carousel settings consistency
161
- * Improvement. Instagram Gallery CSS consistency
162
  * Improvement. Instagram Carousel CSS consistency
163
- * Improvement. Instagram Gallery JS simplified
164
  * Improvement. Instagram Carousel JS simplified
165
  * Improvement. Instagram backend improvement
166
  * Improvement. Instagram localization fixed
@@ -169,17 +173,17 @@ There may be some other plugins(like: fancybox, elementor) which also uses image
169
  * Improvement. Instagram token and gallery transients consistency
170
 
171
  = 2.2.1 =
172
- * Improvement. Instagram Gallery un-install improvement
173
 
174
  = 2.2.0 =
175
- * Noce. Instagram Gallery author change notice
176
 
177
  = 2.1.9 =
178
  * Fix. Minor code changes
179
 
180
  = 2.1.8 =
181
  * Fix. Double popup issue with elementor plugin
182
- * Fix. Instagram Gallery Swiper carousel library updated
183
  * Fix. minor text changes
184
 
185
  = 2.1.7 =
4
  Tags: instagram, instagram feed, instagram widget, instagram gallery, instagram pictures, gallery widget, pictures, carousel slider, image gallery, image slider
5
  Requires at least: 4.6
6
  Tested up to: 5.2.2
7
+ Stable tag: 2.5.0
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ Instagram Feed Gallery is an easy way to display your Instagram feed pictures in your website.
12
 
13
  == Description ==
14
 
83
 
84
  == Screenshots ==
85
 
86
+ 1. Instagram Feed Gallery PRO / Account
87
+ 2. Instagram Feed Gallery PRO / Feeds
88
+ 3. Instagram Feed Gallery PRO / Feeds / Layouts
89
+ 4. Instagram Feed Gallery PRO / Load more button
90
+ 5. Instagram Feed Gallery PRO / Masonry layout
91
 
92
  == Changelog ==
93
 
94
+ = 2.5.0 =
95
+ * Fix. Instagram Feed Gallery CSS optimized
96
+ * Fix. Instagram Feed Gallery new option to reset feed cache
97
+
98
  = 2.4.9 =
99
+ * Fix. Instagram Feed Gallery readme update
100
 
101
  = 2.4.8 =
102
  * Fix. nonce validation added to qligg_dismiss_notice ajax action
160
 
161
  = 2.3.0 =
162
  * Improvement. Instagram token generation simplified
163
+ * Improvement. Instagram Feed Gallery settings consistency
164
  * Improvement. Instagram Carousel settings consistency
165
+ * Improvement. Instagram Feed Gallery CSS consistency
166
  * Improvement. Instagram Carousel CSS consistency
167
+ * Improvement. Instagram Feed Gallery JS simplified
168
  * Improvement. Instagram Carousel JS simplified
169
  * Improvement. Instagram backend improvement
170
  * Improvement. Instagram localization fixed
173
  * Improvement. Instagram token and gallery transients consistency
174
 
175
  = 2.2.1 =
176
+ * Improvement. Instagram Feed Gallery un-install improvement
177
 
178
  = 2.2.0 =
179
+ * Noce. Instagram Feed Gallery author change notice
180
 
181
  = 2.1.9 =
182
  * Fix. Minor code changes
183
 
184
  = 2.1.8 =
185
  * Fix. Double popup issue with elementor plugin
186
+ * Fix. Instagram Feed Gallery Swiper carousel library updated
187
  * Fix. minor text changes
188
 
189
  = 2.1.7 =