Version Description
- Fix: Periods and underscores in usernames when used as part of the shortcode would cause the load more button not to work.
- Tweak: The WooCommerce orders post type will no longer be scanned for oembeds.
- Tweak: An alert bubble will be added to the Instagram Feed menu item when there are new notifications available.
Download this release
Release Info
Developer | smashballoon |
Plugin | Instagram Feed |
Version | 2.9.6 |
Comparing to | |
See all releases |
Code changes from version 2.9.5 to 2.9.6
- README.txt +7 -2
- css/admin-notifications.css +17 -2
- css/sb-instagram-2-2.css +0 -13
- css/sb-instagram-admin.css +3 -18
- css/sbi-styles.css +0 -13
- inc/admin/actions.php +15 -49
- inc/admin/class-sbi-about.php +6 -6
- inc/admin/class-sbi-new-user.php +1 -1
- inc/admin/class-sbi-notifications.php +2 -2
- inc/admin/class-sbi-tracking.php +0 -1
- inc/admin/main.php +92 -97
- inc/admin/templates/locator-summary.php +5 -5
- inc/class-sb-instagram-gdpr-integrations.php +1 -1
- inc/class-sb-instagram-oembed.php +7 -1
- inc/class-sb-instagram-settings.php +83 -13
- inc/if-functions.php +2 -2
- instagram-feed.php +3 -3
- js/sb-instagram-admin-2-2.js +3 -3
- languages/instagram-feed.pot +22 -22
README.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: smashballoon, craig-at-smash-balloon
|
|
3 |
Tags: Instagram, Instagram feed, Instagram photos, Instagram widget, Instagram gallery
|
4 |
Requires at least: 3.4
|
5 |
Tested up to: 5.8
|
6 |
-
Stable tag: 2.9.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -331,6 +331,11 @@ We understand that sometimes you need help, have issues or just have questions.
|
|
331 |
* Plus more customization options added all the time!
|
332 |
|
333 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
334 |
= 2.9.5 =
|
335 |
* Fix: Fixed an issue when reconnecting a personal account.
|
336 |
* Fix: Using showheader="true" in the shortcode would not work if the related setting was disabled on the settings page.
|
@@ -837,4 +842,4 @@ We understand that sometimes you need help, have issues or just have questions.
|
|
837 |
* Fix: Fixed an issue with the Instagram Feed 'Load More' button opening an empty browser window in Firefox
|
838 |
|
839 |
= 1.0 =
|
840 |
-
* Launched the Instagram Feed plugin!
|
3 |
Tags: Instagram, Instagram feed, Instagram photos, Instagram widget, Instagram gallery
|
4 |
Requires at least: 3.4
|
5 |
Tested up to: 5.8
|
6 |
+
Stable tag: 2.9.6
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
331 |
* Plus more customization options added all the time!
|
332 |
|
333 |
== Changelog ==
|
334 |
+
= 2.9.6 =
|
335 |
+
* Fix: Periods and underscores in usernames when used as part of the shortcode would cause the load more button not to work.
|
336 |
+
* Tweak: The WooCommerce orders post type will no longer be scanned for oembeds.
|
337 |
+
* Tweak: An alert bubble will be added to the Instagram Feed menu item when there are new notifications available.
|
338 |
+
|
339 |
= 2.9.5 =
|
340 |
* Fix: Fixed an issue when reconnecting a personal account.
|
341 |
* Fix: Using showheader="true" in the shortcode would not work if the related setting was disabled on the settings page.
|
842 |
* Fix: Fixed an issue with the Instagram Feed 'Load More' button opening an empty browser window in Firefox
|
843 |
|
844 |
= 1.0 =
|
845 |
+
* Launched the Instagram Feed plugin!
|
css/admin-notifications.css
CHANGED
@@ -168,5 +168,20 @@
|
|
168 |
margin-top: 6px;
|
169 |
}
|
170 |
}
|
171 |
-
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
margin-top: 6px;
|
169 |
}
|
170 |
}
|
171 |
+
.sbi-notice-alert {
|
172 |
+
display: inline-block;
|
173 |
+
position: absolute;
|
174 |
+
vertical-align: top;
|
175 |
+
box-sizing: border-box;
|
176 |
+
margin: 1px 0 0 4px;
|
177 |
+
padding: 0 5px;
|
178 |
+
min-width: 18px;
|
179 |
+
height: 18px;
|
180 |
+
border-radius: 9px;
|
181 |
+
background-color: #d63638;
|
182 |
+
color: #fff;
|
183 |
+
font-size: 11px;
|
184 |
+
line-height: 1.6;
|
185 |
+
text-align: center;
|
186 |
+
z-index: 26;
|
187 |
+
}
|
css/sb-instagram-2-2.css
CHANGED
@@ -47,12 +47,10 @@
|
|
47 |
|
48 |
/* Items */
|
49 |
#sb_instagram #sbi_images .sbi_item{
|
50 |
-
display: -moz-inline-stack;
|
51 |
display: inline-block;
|
52 |
float: left;
|
53 |
vertical-align: top;
|
54 |
zoom: 1;
|
55 |
-
*display: inline;
|
56 |
|
57 |
padding: inherit !important;
|
58 |
margin: 0 !important;
|
@@ -67,7 +65,6 @@
|
|
67 |
-webkit-transition: all 0.5s ease;
|
68 |
-moz-transition: all 0.5s ease;
|
69 |
-o-transition: all 0.5s ease;
|
70 |
-
-ms-transition: all 0.5s ease;
|
71 |
transition: all 0.5s ease;
|
72 |
}
|
73 |
/* Transition items in */
|
@@ -148,11 +145,9 @@
|
|
148 |
font-size: 12px;
|
149 |
line-height: 1.1;
|
150 |
|
151 |
-
display: -moz-inline-stack;
|
152 |
display: inline-block;
|
153 |
vertical-align: top;
|
154 |
zoom: 1;
|
155 |
-
*display: inline;
|
156 |
}
|
157 |
#sb_instagram .sbi_link .sbi_lightbox_link{
|
158 |
padding-bottom: 5px;
|
@@ -326,7 +321,6 @@
|
|
326 |
opacity: .9;
|
327 |
-webkit-transition: background .6s linear,color .6s linear;
|
328 |
-moz-transition: background .6s linear,color .6s linear;
|
329 |
-
-ms-transition: background .6s linear,color .6s linear;
|
330 |
-o-transition: background .6s linear,color .6s linear;
|
331 |
transition: background .6s linear,color .6s linear
|
332 |
}
|
@@ -336,7 +330,6 @@
|
|
336 |
opacity: 1;
|
337 |
-webkit-transition: background .2s linear,color .2s linear;
|
338 |
-moz-transition: background .2s linear,color .2s linear;
|
339 |
-
-ms-transition: background .2s linear,color .2s linear;
|
340 |
-o-transition: background .2s linear,color .2s linear;
|
341 |
transition: background .2s linear,color .2s linear
|
342 |
}
|
@@ -499,7 +492,6 @@
|
|
499 |
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
500 |
filter: alpha(opacity=0);
|
501 |
-moz-opacity: 0;
|
502 |
-
-khtml-opacity: 0;
|
503 |
opacity: 0;
|
504 |
border-radius: 40px;
|
505 |
transition: opacity 0.2s;
|
@@ -578,16 +570,13 @@
|
|
578 |
}
|
579 |
#sb_instagram #sbi_load .sbi_load_btn,
|
580 |
#sb_instagram .sbi_follow_btn a{
|
581 |
-
display: -moz-inline-stack;
|
582 |
display: inline-block;
|
583 |
vertical-align: top;
|
584 |
zoom: 1;
|
585 |
-
*display: inline;
|
586 |
|
587 |
padding: 7px 14px;
|
588 |
margin: 5px auto 0 auto;
|
589 |
background: #333;
|
590 |
-
color: #eee;
|
591 |
border: none;
|
592 |
color: #fff;
|
593 |
text-decoration: none;
|
@@ -607,11 +596,9 @@
|
|
607 |
}
|
608 |
/* Follow button */
|
609 |
#sb_instagram .sbi_follow_btn{
|
610 |
-
display: -moz-inline-stack;
|
611 |
display: inline-block;
|
612 |
vertical-align: top;
|
613 |
zoom: 1;
|
614 |
-
*display: inline;
|
615 |
text-align: center;
|
616 |
}
|
617 |
#sb_instagram .sbi_follow_btn.sbi_top{
|
47 |
|
48 |
/* Items */
|
49 |
#sb_instagram #sbi_images .sbi_item{
|
|
|
50 |
display: inline-block;
|
51 |
float: left;
|
52 |
vertical-align: top;
|
53 |
zoom: 1;
|
|
|
54 |
|
55 |
padding: inherit !important;
|
56 |
margin: 0 !important;
|
65 |
-webkit-transition: all 0.5s ease;
|
66 |
-moz-transition: all 0.5s ease;
|
67 |
-o-transition: all 0.5s ease;
|
|
|
68 |
transition: all 0.5s ease;
|
69 |
}
|
70 |
/* Transition items in */
|
145 |
font-size: 12px;
|
146 |
line-height: 1.1;
|
147 |
|
|
|
148 |
display: inline-block;
|
149 |
vertical-align: top;
|
150 |
zoom: 1;
|
|
|
151 |
}
|
152 |
#sb_instagram .sbi_link .sbi_lightbox_link{
|
153 |
padding-bottom: 5px;
|
321 |
opacity: .9;
|
322 |
-webkit-transition: background .6s linear,color .6s linear;
|
323 |
-moz-transition: background .6s linear,color .6s linear;
|
|
|
324 |
-o-transition: background .6s linear,color .6s linear;
|
325 |
transition: background .6s linear,color .6s linear
|
326 |
}
|
330 |
opacity: 1;
|
331 |
-webkit-transition: background .2s linear,color .2s linear;
|
332 |
-moz-transition: background .2s linear,color .2s linear;
|
|
|
333 |
-o-transition: background .2s linear,color .2s linear;
|
334 |
transition: background .2s linear,color .2s linear
|
335 |
}
|
492 |
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
493 |
filter: alpha(opacity=0);
|
494 |
-moz-opacity: 0;
|
|
|
495 |
opacity: 0;
|
496 |
border-radius: 40px;
|
497 |
transition: opacity 0.2s;
|
570 |
}
|
571 |
#sb_instagram #sbi_load .sbi_load_btn,
|
572 |
#sb_instagram .sbi_follow_btn a{
|
|
|
573 |
display: inline-block;
|
574 |
vertical-align: top;
|
575 |
zoom: 1;
|
|
|
576 |
|
577 |
padding: 7px 14px;
|
578 |
margin: 5px auto 0 auto;
|
579 |
background: #333;
|
|
|
580 |
border: none;
|
581 |
color: #fff;
|
582 |
text-decoration: none;
|
596 |
}
|
597 |
/* Follow button */
|
598 |
#sb_instagram .sbi_follow_btn{
|
|
|
599 |
display: inline-block;
|
600 |
vertical-align: top;
|
601 |
zoom: 1;
|
|
|
602 |
text-align: center;
|
603 |
}
|
604 |
#sb_instagram .sbi_follow_btn.sbi_top{
|
css/sb-instagram-admin.css
CHANGED
@@ -94,13 +94,11 @@
|
|
94 |
padding: 0;
|
95 |
}
|
96 |
#sbi_admin .sbi-success {
|
97 |
-
|
98 |
top: -1px;
|
99 |
|
100 |
background: #68a30b;
|
101 |
color: #fff;
|
102 |
-
font-size: 16px;
|
103 |
-
padding: 6px;
|
104 |
font-size: 13px;
|
105 |
text-transform: capitalize;
|
106 |
padding: 4px 8px 5px 8px;
|
@@ -143,11 +141,9 @@
|
|
143 |
width: 95px;
|
144 |
padding-top: 5px;
|
145 |
|
146 |
-
display: -moz-inline-stack;
|
147 |
display: inline-block;
|
148 |
vertical-align: top;
|
149 |
zoom: 1;
|
150 |
-
*display: inline;
|
151 |
}
|
152 |
|
153 |
/* Config info */
|
@@ -198,12 +194,10 @@
|
|
198 |
|
199 |
/* License */
|
200 |
#sbi_admin .sbi_license_status{
|
201 |
-
display: -moz-inline-stack;
|
202 |
display: inline-block;
|
203 |
vertical-align: top;
|
204 |
zoom: 1;
|
205 |
-
|
206 |
-
|
207 |
padding: 5px;
|
208 |
}
|
209 |
|
@@ -306,7 +300,7 @@
|
|
306 |
#sbi_admin .sbi_shortcode_symbol{
|
307 |
position: absolute;
|
308 |
right: -24px;
|
309 |
-
bottom:
|
310 |
padding: 2px 4px 3px 3px;
|
311 |
width: auto;
|
312 |
font-size: 11px;
|
@@ -669,10 +663,6 @@
|
|
669 |
margin: 25px 0 5px 0;
|
670 |
}
|
671 |
|
672 |
-
#sbi_admin .sbi_feed_type .sbi_note{
|
673 |
-
/*display: none;*/
|
674 |
-
}
|
675 |
-
|
676 |
#sbi_admin .sbi-pro-notice,
|
677 |
#sbi_admin .sbi-pro-notice img{
|
678 |
display: block;
|
@@ -768,7 +758,6 @@
|
|
768 |
.sbi_warning {
|
769 |
position: relative;
|
770 |
display: inline-block;
|
771 |
-
border: 1px solid #ccc;
|
772 |
font-size: 12px;
|
773 |
padding: 4px 4px 4px 8px;
|
774 |
vertical-align: top;
|
@@ -1179,9 +1168,7 @@
|
|
1179 |
padding: 40px 40px 25px 40px;
|
1180 |
}
|
1181 |
|
1182 |
-
/* Pro 3.0 Styles */
|
1183 |
.sbi_layout_cell {
|
1184 |
-
padding: 0;
|
1185 |
display: inline-block;
|
1186 |
float: left;
|
1187 |
width: 100px;
|
@@ -1340,7 +1327,6 @@
|
|
1340 |
background: rgba(255,255,255,0.8);
|
1341 |
border-radius: 5px;
|
1342 |
box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
|
1343 |
-
color: #333;
|
1344 |
z-index: 99;
|
1345 |
font-size: 14px;
|
1346 |
color: #666;
|
@@ -1383,7 +1369,6 @@
|
|
1383 |
|
1384 |
background: #333;
|
1385 |
color: #eee;
|
1386 |
-
width: 90%;
|
1387 |
padding: 8px 10px 10px 10px;
|
1388 |
border-radius: 3px;
|
1389 |
line-height: 1.3;
|
94 |
padding: 0;
|
95 |
}
|
96 |
#sbi_admin .sbi-success {
|
97 |
+
position: relative;
|
98 |
top: -1px;
|
99 |
|
100 |
background: #68a30b;
|
101 |
color: #fff;
|
|
|
|
|
102 |
font-size: 13px;
|
103 |
text-transform: capitalize;
|
104 |
padding: 4px 8px 5px 8px;
|
141 |
width: 95px;
|
142 |
padding-top: 5px;
|
143 |
|
|
|
144 |
display: inline-block;
|
145 |
vertical-align: top;
|
146 |
zoom: 1;
|
|
|
147 |
}
|
148 |
|
149 |
/* Config info */
|
194 |
|
195 |
/* License */
|
196 |
#sbi_admin .sbi_license_status{
|
|
|
197 |
display: inline-block;
|
198 |
vertical-align: top;
|
199 |
zoom: 1;
|
200 |
+
|
|
|
201 |
padding: 5px;
|
202 |
}
|
203 |
|
300 |
#sbi_admin .sbi_shortcode_symbol{
|
301 |
position: absolute;
|
302 |
right: -24px;
|
303 |
+
bottom: 0;
|
304 |
padding: 2px 4px 3px 3px;
|
305 |
width: auto;
|
306 |
font-size: 11px;
|
663 |
margin: 25px 0 5px 0;
|
664 |
}
|
665 |
|
|
|
|
|
|
|
|
|
666 |
#sbi_admin .sbi-pro-notice,
|
667 |
#sbi_admin .sbi-pro-notice img{
|
668 |
display: block;
|
758 |
.sbi_warning {
|
759 |
position: relative;
|
760 |
display: inline-block;
|
|
|
761 |
font-size: 12px;
|
762 |
padding: 4px 4px 4px 8px;
|
763 |
vertical-align: top;
|
1168 |
padding: 40px 40px 25px 40px;
|
1169 |
}
|
1170 |
|
|
|
1171 |
.sbi_layout_cell {
|
|
|
1172 |
display: inline-block;
|
1173 |
float: left;
|
1174 |
width: 100px;
|
1327 |
background: rgba(255,255,255,0.8);
|
1328 |
border-radius: 5px;
|
1329 |
box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
|
|
|
1330 |
z-index: 99;
|
1331 |
font-size: 14px;
|
1332 |
color: #666;
|
1369 |
|
1370 |
background: #333;
|
1371 |
color: #eee;
|
|
|
1372 |
padding: 8px 10px 10px 10px;
|
1373 |
border-radius: 3px;
|
1374 |
line-height: 1.3;
|
css/sbi-styles.css
CHANGED
@@ -47,12 +47,10 @@
|
|
47 |
|
48 |
/* Items */
|
49 |
#sb_instagram #sbi_images .sbi_item{
|
50 |
-
display: -moz-inline-stack;
|
51 |
display: inline-block;
|
52 |
float: left;
|
53 |
vertical-align: top;
|
54 |
zoom: 1;
|
55 |
-
*display: inline;
|
56 |
|
57 |
padding: inherit !important;
|
58 |
margin: 0 !important;
|
@@ -67,7 +65,6 @@
|
|
67 |
-webkit-transition: all 0.5s ease;
|
68 |
-moz-transition: all 0.5s ease;
|
69 |
-o-transition: all 0.5s ease;
|
70 |
-
-ms-transition: all 0.5s ease;
|
71 |
transition: all 0.5s ease;
|
72 |
}
|
73 |
/* Transition items in */
|
@@ -148,11 +145,9 @@
|
|
148 |
font-size: 12px;
|
149 |
line-height: 1.1;
|
150 |
|
151 |
-
display: -moz-inline-stack;
|
152 |
display: inline-block;
|
153 |
vertical-align: top;
|
154 |
zoom: 1;
|
155 |
-
*display: inline;
|
156 |
}
|
157 |
#sb_instagram .sbi_link .sbi_lightbox_link{
|
158 |
padding-bottom: 5px;
|
@@ -326,7 +321,6 @@
|
|
326 |
opacity: .9;
|
327 |
-webkit-transition: background .6s linear,color .6s linear;
|
328 |
-moz-transition: background .6s linear,color .6s linear;
|
329 |
-
-ms-transition: background .6s linear,color .6s linear;
|
330 |
-o-transition: background .6s linear,color .6s linear;
|
331 |
transition: background .6s linear,color .6s linear
|
332 |
}
|
@@ -336,7 +330,6 @@
|
|
336 |
opacity: 1;
|
337 |
-webkit-transition: background .2s linear,color .2s linear;
|
338 |
-moz-transition: background .2s linear,color .2s linear;
|
339 |
-
-ms-transition: background .2s linear,color .2s linear;
|
340 |
-o-transition: background .2s linear,color .2s linear;
|
341 |
transition: background .2s linear,color .2s linear
|
342 |
}
|
@@ -499,7 +492,6 @@
|
|
499 |
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
500 |
filter: alpha(opacity=0);
|
501 |
-moz-opacity: 0;
|
502 |
-
-khtml-opacity: 0;
|
503 |
opacity: 0;
|
504 |
border-radius: 40px;
|
505 |
transition: opacity 0.2s;
|
@@ -578,16 +570,13 @@
|
|
578 |
}
|
579 |
#sb_instagram #sbi_load .sbi_load_btn,
|
580 |
#sb_instagram .sbi_follow_btn a{
|
581 |
-
display: -moz-inline-stack;
|
582 |
display: inline-block;
|
583 |
vertical-align: top;
|
584 |
zoom: 1;
|
585 |
-
*display: inline;
|
586 |
|
587 |
padding: 7px 14px;
|
588 |
margin: 5px auto 0 auto;
|
589 |
background: #333;
|
590 |
-
color: #eee;
|
591 |
border: none;
|
592 |
color: #fff;
|
593 |
text-decoration: none;
|
@@ -607,11 +596,9 @@
|
|
607 |
}
|
608 |
/* Follow button */
|
609 |
#sb_instagram .sbi_follow_btn{
|
610 |
-
display: -moz-inline-stack;
|
611 |
display: inline-block;
|
612 |
vertical-align: top;
|
613 |
zoom: 1;
|
614 |
-
*display: inline;
|
615 |
text-align: center;
|
616 |
}
|
617 |
#sb_instagram .sbi_follow_btn.sbi_top{
|
47 |
|
48 |
/* Items */
|
49 |
#sb_instagram #sbi_images .sbi_item{
|
|
|
50 |
display: inline-block;
|
51 |
float: left;
|
52 |
vertical-align: top;
|
53 |
zoom: 1;
|
|
|
54 |
|
55 |
padding: inherit !important;
|
56 |
margin: 0 !important;
|
65 |
-webkit-transition: all 0.5s ease;
|
66 |
-moz-transition: all 0.5s ease;
|
67 |
-o-transition: all 0.5s ease;
|
|
|
68 |
transition: all 0.5s ease;
|
69 |
}
|
70 |
/* Transition items in */
|
145 |
font-size: 12px;
|
146 |
line-height: 1.1;
|
147 |
|
|
|
148 |
display: inline-block;
|
149 |
vertical-align: top;
|
150 |
zoom: 1;
|
|
|
151 |
}
|
152 |
#sb_instagram .sbi_link .sbi_lightbox_link{
|
153 |
padding-bottom: 5px;
|
321 |
opacity: .9;
|
322 |
-webkit-transition: background .6s linear,color .6s linear;
|
323 |
-moz-transition: background .6s linear,color .6s linear;
|
|
|
324 |
-o-transition: background .6s linear,color .6s linear;
|
325 |
transition: background .6s linear,color .6s linear
|
326 |
}
|
330 |
opacity: 1;
|
331 |
-webkit-transition: background .2s linear,color .2s linear;
|
332 |
-moz-transition: background .2s linear,color .2s linear;
|
|
|
333 |
-o-transition: background .2s linear,color .2s linear;
|
334 |
transition: background .2s linear,color .2s linear
|
335 |
}
|
492 |
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
493 |
filter: alpha(opacity=0);
|
494 |
-moz-opacity: 0;
|
|
|
495 |
opacity: 0;
|
496 |
border-radius: 40px;
|
497 |
transition: opacity 0.2s;
|
570 |
}
|
571 |
#sb_instagram #sbi_load .sbi_load_btn,
|
572 |
#sb_instagram .sbi_follow_btn a{
|
|
|
573 |
display: inline-block;
|
574 |
vertical-align: top;
|
575 |
zoom: 1;
|
|
|
576 |
|
577 |
padding: 7px 14px;
|
578 |
margin: 5px auto 0 auto;
|
579 |
background: #333;
|
|
|
580 |
border: none;
|
581 |
color: #fff;
|
582 |
text-decoration: none;
|
596 |
}
|
597 |
/* Follow button */
|
598 |
#sb_instagram .sbi_follow_btn{
|
|
|
599 |
display: inline-block;
|
600 |
vertical-align: top;
|
601 |
zoom: 1;
|
|
|
602 |
text-align: center;
|
603 |
}
|
604 |
#sb_instagram .sbi_follow_btn.sbi_top{
|
inc/admin/actions.php
CHANGED
@@ -412,48 +412,14 @@ function sbi_check_notice_dismiss() {
|
|
412 |
}
|
413 |
}
|
414 |
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
$return['access_token'] = '';
|
422 |
-
} else {
|
423 |
-
$return['access_token'] = $sb_instagram_at;
|
424 |
-
}
|
425 |
-
|
426 |
-
if ( ! sbi_is_after_deprecation_deadline() && empty( $connected_accounts ) && ! empty( $sb_instagram_at ) ) {
|
427 |
-
$tokens = explode(',', $sb_instagram_at );
|
428 |
-
$user_ids = array();
|
429 |
-
|
430 |
-
foreach ( $tokens as $token ) {
|
431 |
-
$account = sbi_account_data_for_token( $token );
|
432 |
-
if ( isset( $account['is_valid'] ) ) {
|
433 |
-
$split = explode( '.', $token );
|
434 |
-
$return['connected_accounts'][ $split[0] ] = array(
|
435 |
-
'access_token' => sbi_get_parts( $token ),
|
436 |
-
'user_id' => $split[0],
|
437 |
-
'username' => '',
|
438 |
-
'is_valid' => true,
|
439 |
-
'last_checked' => time(),
|
440 |
-
'profile_picture' => ''
|
441 |
-
);
|
442 |
-
$user_ids[] = $split[0];
|
443 |
-
}
|
444 |
-
|
445 |
-
}
|
446 |
-
|
447 |
-
$sbi_options['connected_accounts'] = $return['connected_accounts'];
|
448 |
-
$sbi_options['sb_instagram_at'] = '';
|
449 |
-
$sbi_options['sb_instagram_user_id'] = $user_ids;
|
450 |
-
|
451 |
-
$return['user_ids'] = $user_ids;
|
452 |
-
|
453 |
-
update_option( 'sb_instagram_settings', $sbi_options );
|
454 |
-
}
|
455 |
|
456 |
-
return $
|
457 |
}
|
458 |
|
459 |
function sbi_connect_basic_account( $new_account_details ) {
|
@@ -678,20 +644,20 @@ function sbi_get_business_account_connection_modal( $sb_instagram_user_id ) {
|
|
678 |
?>
|
679 |
<?php if( empty($pages_data_arr->data) ) : ?>
|
680 |
<span id="sbi-bus-account-error">
|
681 |
-
<p style="margin-top: 5px;"><
|
682 |
-
Uh oh. It looks like this Facebook account is not currently connected to an Instagram Business profile. Please check that you are logged into the <a href="https://www.facebook.com/" target="_blank">Facebook account</a> in this browser which is associated with your Instagram Business Profile.</p>
|
683 |
-
<p><
|
684 |
A Business Profile is only required if you are displaying a Hashtag feed. If you want to display a regular User feed then you can do this by selecting to connect a Personal account instead. For directions on how to convert your Personal profile into a Business profile please <a href="https://smashballoon.com/instagram-business-profiles" target="_blank">see here</a>.</p>
|
685 |
</span>
|
686 |
|
687 |
<?php elseif ( $num_accounts === 0 ): ?>
|
688 |
<span id="sbi-bus-account-error">
|
689 |
-
<p style="margin-top: 5px;"><
|
690 |
-
Uh oh. It looks like this Facebook account is not currently connected to an Instagram Business profile. Please check that you are logged into the <a href="https://www.facebook.com/" target="_blank">Facebook account</a> in this browser which is associated with your Instagram Business Profile.</p>
|
691 |
<p>If you are, in fact, logged-in to the correct account please make sure you have Instagram accounts connected with your Facebook account by following <a href="https://smashballoon.com/reconnecting-an-instagram-business-profile/" target="_blank">this FAQ</a></p>
|
692 |
</span>
|
693 |
<?php else: ?>
|
694 |
-
<p class="sbi-managed-page-intro"><
|
695 |
<?php if ( $num_accounts > 1 ) : ?>
|
696 |
<div class="sbi-managed-page-select-all"><input type="checkbox" id="sbi-select-all" class="sbi-select-all"><label for="sbi-select-all">Select All</label></div>
|
697 |
<?php endif; ?>
|
@@ -738,7 +704,7 @@ function sbi_get_business_account_connection_modal( $sb_instagram_user_id ) {
|
|
738 |
<input id="sbi-<?php echo esc_attr( $instagram_business_id ); ?>" type="checkbox" name="sbi_managed_pages[]" value="<?php echo esc_attr( $instagram_account_info ); ?>">
|
739 |
</div>
|
740 |
<div class="sbi-managed-page-details">
|
741 |
-
<label for="sbi-<?php echo esc_attr( $instagram_business_id ); ?>"><img class="sbi-page-avatar" border="0" height="50" width="50" src="<?php echo esc_url( $instagram_biz_img ); ?>"><
|
742 |
<br />@<?php echo esc_html( $instagram_account_data->username); ?><span style="font-size: 11px; margin-left: 5px;">(<?php echo esc_html( $instagram_business_id ); ?>)</span></label>
|
743 |
</div>
|
744 |
</div>
|
@@ -749,7 +715,7 @@ function sbi_get_business_account_connection_modal( $sb_instagram_user_id ) {
|
|
749 |
<?php endforeach; ?>
|
750 |
|
751 |
</div> <!-- end scrollable -->
|
752 |
-
<p style="font-size: 11px; line-height: 1.5; margin-bottom: 0;"><
|
753 |
|
754 |
<button id="sbi-connect-business-accounts" class="button button-primary" disabled="disabled" style="margin-top: 20px;"><?php _e( 'Connect Accounts', 'instagram-feed' ); ?></button>
|
755 |
|
412 |
}
|
413 |
}
|
414 |
|
415 |
+
/**
|
416 |
+
* @return array
|
417 |
+
* @deprecated
|
418 |
+
*/
|
419 |
+
function sbi_get_connected_accounts_data() {
|
420 |
+
$sbi_options = get_option( 'sb_instagram_settings', array() );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
421 |
|
422 |
+
return isset( $sbi_options['connected_accounts'] ) ? $sbi_options['connected_accounts'] : array();
|
423 |
}
|
424 |
|
425 |
function sbi_connect_basic_account( $new_account_details ) {
|
644 |
?>
|
645 |
<?php if( empty($pages_data_arr->data) ) : ?>
|
646 |
<span id="sbi-bus-account-error">
|
647 |
+
<p style="margin-top: 5px;"><strong style="font-size: 16px">Couldn't find Business Profile</strong><br />
|
648 |
+
Uh oh. It looks like this Facebook account is not currently connected to an Instagram Business profile. Please check that you are logged into the <a href="https://www.facebook.com/" target="_blank" rel="noopener noreferrer">Facebook account</a> in this browser which is associated with your Instagram Business Profile.</p>
|
649 |
+
<p><strong style="font-size: 16px">Why do I need a Business Profile?</strong><br />
|
650 |
A Business Profile is only required if you are displaying a Hashtag feed. If you want to display a regular User feed then you can do this by selecting to connect a Personal account instead. For directions on how to convert your Personal profile into a Business profile please <a href="https://smashballoon.com/instagram-business-profiles" target="_blank">see here</a>.</p>
|
651 |
</span>
|
652 |
|
653 |
<?php elseif ( $num_accounts === 0 ): ?>
|
654 |
<span id="sbi-bus-account-error">
|
655 |
+
<p style="margin-top: 5px;"><strong style="font-size: 16px">Couldn't find Business Profile</strong><br />
|
656 |
+
Uh oh. It looks like this Facebook account is not currently connected to an Instagram Business profile. Please check that you are logged into the <a href="https://www.facebook.com/" target="_blank" rel="noopener noreferrer">Facebook account</a> in this browser which is associated with your Instagram Business Profile.</p>
|
657 |
<p>If you are, in fact, logged-in to the correct account please make sure you have Instagram accounts connected with your Facebook account by following <a href="https://smashballoon.com/reconnecting-an-instagram-business-profile/" target="_blank">this FAQ</a></p>
|
658 |
</span>
|
659 |
<?php else: ?>
|
660 |
+
<p class="sbi-managed-page-intro"><strong style="font-size: 16px;">Instagram Business profiles for this account</strong><br /><em style="color: #666;">Note: In order to display a Hashtag feed you first need to select a Business profile below.</em></p>
|
661 |
<?php if ( $num_accounts > 1 ) : ?>
|
662 |
<div class="sbi-managed-page-select-all"><input type="checkbox" id="sbi-select-all" class="sbi-select-all"><label for="sbi-select-all">Select All</label></div>
|
663 |
<?php endif; ?>
|
704 |
<input id="sbi-<?php echo esc_attr( $instagram_business_id ); ?>" type="checkbox" name="sbi_managed_pages[]" value="<?php echo esc_attr( $instagram_account_info ); ?>">
|
705 |
</div>
|
706 |
<div class="sbi-managed-page-details">
|
707 |
+
<label for="sbi-<?php echo esc_attr( $instagram_business_id ); ?>"><img class="sbi-page-avatar" border="0" height="50" width="50" src="<?php echo esc_url( $instagram_biz_img ); ?>" alt="<?php echo esc_attr( $instagram_business_id ); ?>"><strong style="font-size: 16px;"><?php echo esc_html( $instagram_account_data->name ); ?></strong>
|
708 |
<br />@<?php echo esc_html( $instagram_account_data->username); ?><span style="font-size: 11px; margin-left: 5px;">(<?php echo esc_html( $instagram_business_id ); ?>)</span></label>
|
709 |
</div>
|
710 |
</div>
|
715 |
<?php endforeach; ?>
|
716 |
|
717 |
</div> <!-- end scrollable -->
|
718 |
+
<p style="font-size: 11px; line-height: 1.5; margin-bottom: 0;"><em style="color: #666;">*<?php echo sprintf( __( 'Changing the password, updating privacy settings, or removing page admins for the related Facebook page may require %smanually reauthorizing our app%s to reconnect an account.', 'instagram-feed' ), '<a href="https://smashballoon.com/reauthorizing-our-instagram-facebook-app/" target="_blank" rel="noopener noreferrer">', '</a>' ); ?></em></p>
|
719 |
|
720 |
<button id="sbi-connect-business-accounts" class="button button-primary" disabled="disabled" style="margin-top: 20px;"><?php _e( 'Connect Accounts', 'instagram-feed' ); ?></button>
|
721 |
|
inc/admin/class-sbi-about.php
CHANGED
@@ -333,7 +333,7 @@ class SB_Instagram_About {
|
|
333 |
<div class="addon-container">
|
334 |
<div class="addon-item">
|
335 |
<div class="details sbi-clear">
|
336 |
-
<img src="<?php echo esc_url( $plugin_data['details']['icon'] ); ?>">
|
337 |
<h5 class="addon-name">
|
338 |
<?php echo esc_html( $plugin_data['details']['name'] ); ?>
|
339 |
</h5>
|
@@ -492,7 +492,7 @@ class SB_Instagram_About {
|
|
492 |
</div>
|
493 |
|
494 |
<div class="sbi-admin-about-section-first-form-video">
|
495 |
-
<iframe src="https://www.youtube-nocookie.com/embed/q6ZXVU4g970?rel=0" width="540" height="304" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
496 |
</div>
|
497 |
|
498 |
</div>
|
@@ -704,7 +704,7 @@ class SB_Instagram_About {
|
|
704 |
<strong><?php echo esc_html( ucfirst( $license ) ); ?></strong> vs <strong><?php echo esc_html( ucfirst( $next_license ) ); ?></strong>
|
705 |
</h1>
|
706 |
|
707 |
-
|
708 |
<?php esc_html_e( 'Get the most out of your Instagram Feeds by upgrading to Pro and unlocking all of the powerful features.', 'instagram-feed' ); ?>
|
709 |
</p>
|
710 |
</div>
|
@@ -730,7 +730,7 @@ class SB_Instagram_About {
|
|
730 |
</div>
|
731 |
<div class="sbi-admin-about-section-hero-extra no-padding sbi-admin-columns">
|
732 |
|
733 |
-
<table>
|
734 |
<?php
|
735 |
foreach ( self::$licenses_features as $slug => $name ) {
|
736 |
$current = $this->get_license_data( $slug, $license );
|
@@ -741,9 +741,9 @@ class SB_Instagram_About {
|
|
741 |
}
|
742 |
?>
|
743 |
<tr class="sbi-admin-columns">
|
744 |
-
<
|
745 |
<p><?php echo esc_html( $name ); ?></p>
|
746 |
-
</
|
747 |
<td class="sbi-admin-column-33">
|
748 |
<?php if ( is_array( $current ) ) : ?>
|
749 |
<p class="features-<?php echo esc_attr( $current['status'] ); ?>">
|
333 |
<div class="addon-container">
|
334 |
<div class="addon-item">
|
335 |
<div class="details sbi-clear">
|
336 |
+
<img src="<?php echo esc_url( $plugin_data['details']['icon'] ); ?>" alt="<?php esc_attr_e( 'Plugin thumbnail', 'instagram-feed' ); ?>">
|
337 |
<h5 class="addon-name">
|
338 |
<?php echo esc_html( $plugin_data['details']['name'] ); ?>
|
339 |
</h5>
|
492 |
</div>
|
493 |
|
494 |
<div class="sbi-admin-about-section-first-form-video">
|
495 |
+
<iframe src="https://www.youtube-nocookie.com/embed/q6ZXVU4g970?rel=0" width="540" height="304" frameborder="0" allow="autoplay; encrypted-media" title="<?php esc_attr_e( 'Watch a video', 'instagram-feed' ); ?>" allowfullscreen></iframe>
|
496 |
</div>
|
497 |
|
498 |
</div>
|
704 |
<strong><?php echo esc_html( ucfirst( $license ) ); ?></strong> vs <strong><?php echo esc_html( ucfirst( $next_license ) ); ?></strong>
|
705 |
</h1>
|
706 |
|
707 |
+
<p class="centered" id="sbi_tabledesc">
|
708 |
<?php esc_html_e( 'Get the most out of your Instagram Feeds by upgrading to Pro and unlocking all of the powerful features.', 'instagram-feed' ); ?>
|
709 |
</p>
|
710 |
</div>
|
730 |
</div>
|
731 |
<div class="sbi-admin-about-section-hero-extra no-padding sbi-admin-columns">
|
732 |
|
733 |
+
<table aria-describedby="sbi_tabledesc">
|
734 |
<?php
|
735 |
foreach ( self::$licenses_features as $slug => $name ) {
|
736 |
$current = $this->get_license_data( $slug, $license );
|
741 |
}
|
742 |
?>
|
743 |
<tr class="sbi-admin-columns">
|
744 |
+
<th scope="row" class="sbi-admin-column-33">
|
745 |
<p><?php echo esc_html( $name ); ?></p>
|
746 |
+
</th>
|
747 |
<td class="sbi-admin-column-33">
|
748 |
<?php if ( is_array( $current ) ) : ?>
|
749 |
<p class="features-<?php echo esc_attr( $current['status'] ); ?>">
|
inc/admin/class-sbi-new-user.php
CHANGED
@@ -19,7 +19,7 @@ class SBI_New_User extends SBI_Notifications {
|
|
19 |
*
|
20 |
* @var string
|
21 |
*/
|
22 |
-
const SOURCE_URL = '
|
23 |
|
24 |
/**
|
25 |
* @var string
|
19 |
*
|
20 |
* @var string
|
21 |
*/
|
22 |
+
const SOURCE_URL = 'https://plugin.smashballoon.com/newuser.json';
|
23 |
|
24 |
/**
|
25 |
* @var string
|
inc/admin/class-sbi-notifications.php
CHANGED
@@ -17,7 +17,7 @@ class SBI_Notifications {
|
|
17 |
*
|
18 |
* @var string
|
19 |
*/
|
20 |
-
const SOURCE_URL = '
|
21 |
|
22 |
/**
|
23 |
* @var string
|
@@ -155,7 +155,7 @@ class SBI_Notifications {
|
|
155 |
if ( empty( $body ) ) {
|
156 |
return array();
|
157 |
}
|
158 |
-
|
159 |
return $this->verify( json_decode( $body, true ) );
|
160 |
}
|
161 |
|
17 |
*
|
18 |
* @var string
|
19 |
*/
|
20 |
+
const SOURCE_URL = 'https://plugin.smashballoon.com/notifications.json';
|
21 |
|
22 |
/**
|
23 |
* @var string
|
155 |
if ( empty( $body ) ) {
|
156 |
return array();
|
157 |
}
|
158 |
+
|
159 |
return $this->verify( json_decode( $body, true ) );
|
160 |
}
|
161 |
|
inc/admin/class-sbi-tracking.php
CHANGED
@@ -151,7 +151,6 @@ class SB_Instagram_Tracking {
|
|
151 |
$data['url'] = home_url();
|
152 |
$data['themename'] = $theme_data->Name;
|
153 |
$data['themeversion'] = $theme_data->Version;
|
154 |
-
$data['settings'] = array();
|
155 |
$data['pro'] = (int) sbi_is_pro_version();
|
156 |
$data['sites'] = $count_b;
|
157 |
$data['usagetracking'] = get_option( 'sbi_usage_tracking_config', false );
|
151 |
$data['url'] = home_url();
|
152 |
$data['themename'] = $theme_data->Name;
|
153 |
$data['themeversion'] = $theme_data->Version;
|
|
|
154 |
$data['pro'] = (int) sbi_is_pro_version();
|
155 |
$data['sites'] = $count_b;
|
156 |
$data['usagetracking'] = get_option( 'sbi_usage_tracking_config', false );
|
inc/admin/main.php
CHANGED
@@ -17,9 +17,17 @@ function sb_instagram_menu() {
|
|
17 |
$notice = ' <span class="update-plugins sbi-error-alert"><span>!</span></span>';
|
18 |
}
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
add_menu_page(
|
21 |
__( 'Instagram Feed', 'instagram-feed' ),
|
22 |
-
__( 'Instagram Feed', 'instagram-feed' ) . $notice,
|
23 |
$cap,
|
24 |
'sb-instagram-feed',
|
25 |
'sb_instagram_settings_page'
|
@@ -49,7 +57,7 @@ function sb_instagram_menu() {
|
|
49 |
'sbi-oembeds',
|
50 |
'sbi_oembeds_page'
|
51 |
);
|
52 |
-
|
53 |
//Show a Instagram plugin menu item if it isn't already installed
|
54 |
if( !is_plugin_active( 'custom-facebook-feed/custom-facebook-feed.php' ) && !is_plugin_active( 'custom-facebook-feed-pro/custom-facebook-feed.php' ) ){
|
55 |
add_submenu_page(
|
@@ -227,7 +235,7 @@ function sbi_oembeds_page() {
|
|
227 |
<p><?php _e("Anytime you share a link to an Instagram post in WordPress, it is automatically converted into an embedded version of that Instagram post (an \"oEmbed\").</p><p>However, WordPress is discontinuing support for Instagram oEmbeds due to them now requiring an Access Token to work. Don't worry though, we have your back. Just use the button above to connect to Facebook and we'll make sure your Instagram oEmbeds keep working.", "instagram-feed"); ?></p>
|
228 |
</div>
|
229 |
|
230 |
-
<img src="<?php echo SBI_PLUGIN_URL . 'img/sbi-oembed.png'; ?>" style="padding: 0px; background: white;">
|
231 |
</div>
|
232 |
<?php } else {
|
233 |
if ( $valid_new_access_token ) {
|
@@ -459,7 +467,6 @@ function sb_instagram_settings_page() {
|
|
459 |
update_option( 'sb_instagram_settings', $options );
|
460 |
|
461 |
//Set the page variables
|
462 |
-
$sb_instagram_at = $options[ 'sb_instagram_at' ];
|
463 |
$sb_instagram_user_id = $options[ 'sb_instagram_user_id' ];
|
464 |
$sb_instagram_preserve_settings = $options[ 'sb_instagram_preserve_settings' ];
|
465 |
$sb_instagram_ajax_theme = $options[ 'sb_instagram_ajax_theme' ];
|
@@ -705,8 +712,6 @@ function sb_instagram_settings_page() {
|
|
705 |
$options[ 'sb_instagram_show_bio' ] = $sb_instagram_show_bio;
|
706 |
$options[ 'sb_instagram_custom_bio' ] = $sb_instagram_custom_bio;
|
707 |
$options[ 'sb_instagram_custom_avatar' ] = $sb_instagram_custom_avatar;
|
708 |
-
$options[ 'sb_instagram_custom_bio' ] = $sb_instagram_custom_bio;
|
709 |
-
$options[ 'sb_instagram_custom_avatar' ] = $sb_instagram_custom_avatar;
|
710 |
$options[ 'sb_instagram_header_color' ] = $sb_instagram_header_color;
|
711 |
//Follow button
|
712 |
$options[ 'sb_instagram_show_follow_btn' ] = $sb_instagram_show_follow_btn;
|
@@ -834,16 +839,8 @@ function sb_instagram_settings_page() {
|
|
834 |
</div>
|
835 |
<?php
|
836 |
$sb_instagram_type = 'user';
|
837 |
-
$
|
838 |
-
$
|
839 |
-
$sb_instagram_at = $returned_data['access_token'];
|
840 |
-
$connected_accounts = $returned_data['connected_accounts'];
|
841 |
-
$user_feeds_returned = isset( $returned_data['user_ids'] ) ? $returned_data['user_ids'] : false;
|
842 |
-
if ( $user_feeds_returned ) {
|
843 |
-
$user_feed_ids = $user_feeds_returned;
|
844 |
-
} else {
|
845 |
-
$user_feed_ids = ! is_array( $sb_instagram_user_id ) ? explode( ',', $sb_instagram_user_id ) : $sb_instagram_user_id;
|
846 |
-
}
|
847 |
|
848 |
$new_user_name = false;
|
849 |
|
@@ -869,7 +866,7 @@ function sb_instagram_settings_page() {
|
|
869 |
echo ' ';
|
870 |
echo '<p style="font-weight: bold; margin-bottom: 5px;">Connected Business Profile:</p>';
|
871 |
echo '<div class="sbi-managed-page sbi-no-select">';
|
872 |
-
echo '<p><img class="sbi-page-avatar" border="0" height="50" width="50" src="'
|
873 |
echo '</div>';
|
874 |
}
|
875 |
|
@@ -896,9 +893,9 @@ function sb_instagram_settings_page() {
|
|
896 |
<?php if( $sbi_active_tab == 'configure' ) { //Start Configure tab ?>
|
897 |
<input type="hidden" name="<?php echo $sb_instagram_configure_hidden_field; ?>" value="Y">
|
898 |
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
<?php $sb_admin_email = get_option('admin_email');
|
903 |
$connect_url = 'https://connect.smashballoon.com/auth/ig/?wordpress_user=' . $sb_admin_email . '&state=' . admin_url('admin.php?page=sb-instagram-feed');
|
904 |
?>
|
@@ -909,9 +906,6 @@ function sb_instagram_settings_page() {
|
|
909 |
<a href="https://smashballoon.com/instagram-feed/token/" target="_blank" style="position: relative; top: 14px; left: 15px;"><?php esc_html_e('Button not working?', 'instagram-feed'); ?></a>
|
910 |
</div>
|
911 |
|
912 |
-
<!-- Old Access Token -->
|
913 |
-
<input name="sb_instagram_at" id="sb_instagram_at" type="hidden" value="<?php echo esc_attr( $sb_instagram_at ); ?>" size="80" maxlength="100" placeholder="Click button above to get your Access Token" />
|
914 |
-
|
915 |
<tr valign="top">
|
916 |
<th scope="row"><label><?php esc_html_e( 'Instagram Accounts', 'instagram-feed' ); ?></label><span style="font-weight:normal; font-style:italic; font-size: 12px; display: block;"><?php esc_html_e('Use the button above to connect an Instagram account', 'instagram-feed'); ?></span></th>
|
917 |
<td class="sbi_connected_accounts_wrap">
|
@@ -1063,17 +1057,17 @@ function sb_instagram_settings_page() {
|
|
1063 |
<div class="sbi_col sbi_two">
|
1064 |
<div class="sbi_user_feed_ids_wrap">
|
1065 |
<?php foreach ( $user_feed_ids as $feed_id ) : if ( $feed_id !== '' ) :?>
|
1066 |
-
<?php if(
|
1067 |
|
1068 |
<?php if ( isset( $connected_accounts[ $feed_id ] ) && ! empty( $connected_accounts[ $feed_id ]['username'] ) ) : ?>
|
1069 |
-
<strong><?php echo $connected_accounts[ $feed_id ]['username']; ?></strong> <span>(<?php echo $feed_id; ?>)</span>
|
1070 |
<input name="sb_instagram_user_id[]" id="sb_instagram_user_id" type="hidden" value="<?php echo esc_attr( $feed_id ); ?>" />
|
1071 |
<?php elseif ( isset( $connected_accounts[ $feed_id ] ) && ! empty( $connected_accounts[ $feed_id ]['access_token'] ) ) : ?>
|
1072 |
-
<strong><?php echo $feed_id; ?></strong>
|
1073 |
<input name="sb_instagram_user_id[]" id="sb_instagram_user_id" type="hidden" value="<?php echo esc_attr( $feed_id ); ?>" />
|
1074 |
<?php endif; ?>
|
1075 |
|
1076 |
-
<?php if(
|
1077 |
<?php endif; endforeach; ?>
|
1078 |
</div>
|
1079 |
|
@@ -1082,7 +1076,7 @@ function sb_instagram_settings_page() {
|
|
1082 |
<?php endif; ?>
|
1083 |
|
1084 |
<a class="sbi_tooltip_link" href="JavaScript:void(0);" style="margin: 5px 0 10px 0; display: inline-block; height: 19px;"><?php esc_html_e("How to display User feeds", 'instagram-feed' ); ?></a>
|
1085 |
-
<div class="sbi_tooltip"><?php _e("<p><
|
1086 |
</div>
|
1087 |
|
1088 |
</div>
|
@@ -1130,7 +1124,7 @@ function sb_instagram_settings_page() {
|
|
1130 |
<p>
|
1131 |
<?php echo sprintf( __('To display multiple feed types in a single feed, use %s in your shortcode and then add the user name or hashtag for each feed into the shortcode, like so: %s. This will combine a user feed and a hashtag feed into the same feed.', 'instagram-feed'), 'type="mixed"', '<code>[instagram-feed type="mixed" user="smashballoon" hashtag="#awesomeplugins"]</code>' ); ?>
|
1132 |
</p>
|
1133 |
-
<p style="padding-top: 8px;"><
|
1134 |
</p>
|
1135 |
</div>
|
1136 |
</div>
|
@@ -1141,7 +1135,7 @@ function sb_instagram_settings_page() {
|
|
1141 |
<br>
|
1142 |
<a class="sbi_tooltip_link sbi_pro" href="JavaScript:void(0);" style="margin-left: 0;"><i class="fa fa-question-circle" aria-hidden="true" style="margin-right: 6px;"></i><?php esc_html_e('Combine multiple feed types into a single feed', 'instagram-feed'); ?></a>
|
1143 |
<p class="sbi_tooltip">
|
1144 |
-
<
|
1145 |
<?php echo sprintf( __('To display multiple feed types in a single feed, use %s in your shortcode and then add each user name or hashtag of each feed into the shortcode, like so: %s. This will combine a user feed and a hashtag feed into the same feed.', 'instagram-feed'), 'type="mixed"', '<code>[instagram-feed type="mixed" user="smashballoon" hashtag="#awesomeplugins"]</code>' ); ?>
|
1146 |
</p>
|
1147 |
</div>
|
@@ -1168,9 +1162,9 @@ function sb_instagram_settings_page() {
|
|
1168 |
<label for="sbi_caching_type_cron"><?php esc_html_e( 'In the background', 'instagram-feed' ); ?></label>
|
1169 |
<a class="sbi_tooltip_link" href="JavaScript:void(0);" style="position: relative; top: 2px;"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
1170 |
<p class="sbi_tooltip sbi-more-info"><?php esc_html_e( 'Your Instagram post data is temporarily cached by the plugin in your WordPress database. There are two ways that you can set the plugin to check for new data', 'instagram-feed' ); ?>:<br><br>
|
1171 |
-
<?php _e( '<
|
1172 |
<br><br>
|
1173 |
-
<?php _e( '<
|
1174 |
|
1175 |
</div>
|
1176 |
<div class="sbi_row sbi-caching-cron-options" style="display: block;">
|
@@ -1217,7 +1211,7 @@ function sb_instagram_settings_page() {
|
|
1217 |
if ( $schedule == '30mins' ) $schedule = __( 'every 30 minutes', 'instagram-feed' );
|
1218 |
if ( $schedule == 'twicedaily' ) $schedule = __( 'every 12 hours', 'instagram-feed' );
|
1219 |
$sbi_next_cron_event = wp_next_scheduled( 'sbi_feed_update' );
|
1220 |
-
echo '<p class="sbi-caching-sched-notice"><span><
|
1221 |
} else {
|
1222 |
echo '<p style="font-size: 11px; color: #666;">' . __( 'Nothing currently scheduled', 'instagram-feed' ) . '</p>';
|
1223 |
}
|
@@ -1278,9 +1272,9 @@ function sb_instagram_settings_page() {
|
|
1278 |
|
1279 |
<input type="hidden" name="<?php echo $sb_instagram_customize_hidden_field; ?>" value="Y">
|
1280 |
|
1281 |
-
|
1282 |
|
1283 |
-
|
1284 |
<tbody>
|
1285 |
<tr valign="top">
|
1286 |
<th scope="row"><label><?php esc_html_e('Width of Feed', 'instagram-feed'); ?></label><code class="sbi_shortcode"> width widthunit
|
@@ -1320,9 +1314,9 @@ function sb_instagram_settings_page() {
|
|
1320 |
</table>
|
1321 |
|
1322 |
<hr id="layout" />
|
1323 |
-
|
1324 |
|
1325 |
-
|
1326 |
<tbody>
|
1327 |
<?php
|
1328 |
$selected_type = isset( $sb_instagram_layout_type ) ? $sb_instagram_layout_type : 'grid';
|
@@ -1510,9 +1504,8 @@ function sb_instagram_settings_page() {
|
|
1510 |
<?php submit_button(); ?>
|
1511 |
|
1512 |
<hr id="photos" />
|
1513 |
-
|
1514 |
-
|
1515 |
-
<table class="form-table">
|
1516 |
<tbody>
|
1517 |
<tr valign="top">
|
1518 |
<th scope="row"><label><?php esc_html_e('Sort Photos By', 'instagram-feed'); ?></label><code class="sbi_shortcode"> sortby
|
@@ -1544,16 +1537,16 @@ function sb_instagram_settings_page() {
|
|
1544 |
</tbody>
|
1545 |
</table>
|
1546 |
|
1547 |
-
<span><a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><
|
1548 |
|
1549 |
<div class="sbi-pro-options">
|
1550 |
<p class="sbi-upgrade-link">
|
1551 |
<i class="fa fa-rocket" aria-hidden="true"></i> <a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=general" target="_blank"><?php esc_html_e('Upgrade to Pro to enable these settings', 'instagram-feed'); ?></a>
|
1552 |
</p>
|
1553 |
-
<table class="form-table">
|
1554 |
<tbody>
|
1555 |
<tr valign="top" class="sbi_pro">
|
1556 |
-
<th scope="row"><label><?php esc_html_e('Media Type to Display','instagram-feed'); ?></label></th>
|
1557 |
<td>
|
1558 |
<select name="sb_instagram_media_type" disabled>
|
1559 |
<option value="all"><?php esc_html_e('All','instagram-feed'); ?></option>
|
@@ -1584,15 +1577,15 @@ function sb_instagram_settings_page() {
|
|
1584 |
|
1585 |
|
1586 |
<hr />
|
1587 |
-
<h3><?php esc_html_e('Photo Hover Style','instagram-feed'); ?></h3>
|
1588 |
|
1589 |
<p style="padding-bottom: 18px;">
|
1590 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=photohover" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Photo Hover styles','instagram-feed'); ?></a><br />
|
1591 |
-
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><
|
1592 |
</p>
|
1593 |
|
1594 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1595 |
-
<table class="form-table">
|
1596 |
<tbody>
|
1597 |
<tr valign="top" class="sbi_pro">
|
1598 |
<th scope="row"><label><?php esc_html_e('Hover Background Color', 'instagram-feed'); ?></label></th>
|
@@ -1646,14 +1639,14 @@ function sb_instagram_settings_page() {
|
|
1646 |
|
1647 |
|
1648 |
<hr />
|
1649 |
-
<h3><?php esc_html_e( 'Carousel', 'instagram-feed' ); ?></h3>
|
1650 |
<p style="padding-bottom: 18px;">
|
1651 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=carousel" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Carousels', 'instagram-feed'); ?></a><br />
|
1652 |
-
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><
|
1653 |
</p>
|
1654 |
|
1655 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1656 |
-
<table class="form-table">
|
1657 |
<tbody>
|
1658 |
<tr valign="top" class="sbi_pro">
|
1659 |
<th scope="row"><label><?php esc_html_e("Enable Carousel", 'instagram-feed'); ?></label></th>
|
@@ -1694,8 +1687,8 @@ function sb_instagram_settings_page() {
|
|
1694 |
|
1695 |
|
1696 |
<hr id="headeroptions" />
|
1697 |
-
|
1698 |
-
|
1699 |
<tbody>
|
1700 |
<tr valign="top">
|
1701 |
<th scope="row"><label><?php esc_html_e("Show Feed Header", 'instagram-feed'); ?></label><code class="sbi_shortcode"> showheader
|
@@ -1761,17 +1754,19 @@ function sb_instagram_settings_page() {
|
|
1761 |
</tbody>
|
1762 |
</table>
|
1763 |
|
1764 |
-
<span><a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><
|
1765 |
|
1766 |
<div class="sbi-pro-options">
|
1767 |
<p class="sbi-upgrade-link">
|
1768 |
<i class="fa fa-rocket" aria-hidden="true"></i> <a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=header" target="_blank"><?php esc_html_e('Upgrade to Pro to enable these settings', 'instagram-feed'); ?></a>
|
1769 |
</p>
|
1770 |
-
|
1771 |
-
|
1772 |
-
|
1773 |
-
|
1774 |
-
|
|
|
|
|
1775 |
<select name="sb_instagram_header_style" style="float: left;">
|
1776 |
<option value="circle"><?php esc_html_e('Standard','instagram-feed'); ?></option>
|
1777 |
<option value="boxed"><?php esc_html_e('Boxed','instagram-feed'); ?></option>
|
@@ -1794,14 +1789,14 @@ function sb_instagram_settings_page() {
|
|
1794 |
|
1795 |
|
1796 |
<hr />
|
1797 |
-
<h3><?php esc_html_e("Caption", 'instagram-feed'); ?></h3>
|
1798 |
<p style="padding-bottom: 18px;">
|
1799 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=caption" target="_blank"><?php esc_html_e("Upgrade to Pro to enable Photo Captions", 'instagram-feed'); ?></a><br />
|
1800 |
-
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><
|
1801 |
</p>
|
1802 |
|
1803 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1804 |
-
|
1805 |
<tbody>
|
1806 |
<tr valign="top" class="sbi_pro">
|
1807 |
<th scope="row"><label><?php esc_html_e("Show Caption", 'instagram-feed'); ?></label></th>
|
@@ -1850,14 +1845,14 @@ function sb_instagram_settings_page() {
|
|
1850 |
|
1851 |
|
1852 |
<hr />
|
1853 |
-
<h3><?php esc_html_e("Likes & Comments", 'instagram-feed'); ?></h3>
|
1854 |
<p style="padding-bottom: 18px;">
|
1855 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=stats" target="_blank"><?php esc_html_e("Upgrade to Pro to enable Likes & Comments", 'instagram-feed'); ?></a><br />
|
1856 |
-
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><
|
1857 |
</p>
|
1858 |
|
1859 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1860 |
-
<table class="form-table">
|
1861 |
<tbody>
|
1862 |
<tr valign="top" class="sbi_pro">
|
1863 |
<th scope="row"><label><?php esc_html_e("Show Icons", 'instagram-feed'); ?></label></th>
|
@@ -1898,15 +1893,15 @@ function sb_instagram_settings_page() {
|
|
1898 |
|
1899 |
|
1900 |
<hr />
|
1901 |
-
<h3><?php esc_html_e('Lightbox Comments', 'instagram-feed'); ?></h3>
|
1902 |
|
1903 |
<p style="padding-bottom: 18px;">
|
1904 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=comments" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Comments', 'instagram-feed'); ?></a><br />
|
1905 |
-
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><
|
1906 |
</p>
|
1907 |
|
1908 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1909 |
-
<table class="form-table">
|
1910 |
<tbody>
|
1911 |
|
1912 |
<tr valign="top" class="sbi_pro">
|
@@ -1934,8 +1929,8 @@ function sb_instagram_settings_page() {
|
|
1934 |
|
1935 |
|
1936 |
<hr id="loadmore" />
|
1937 |
-
|
1938 |
-
|
1939 |
<tbody>
|
1940 |
<tr valign="top">
|
1941 |
<th scope="row"><label><?php esc_html_e("Show the 'Load More' button", 'instagram-feed'); ?></label><code class="sbi_shortcode"> showbutton
|
@@ -1971,8 +1966,8 @@ function sb_instagram_settings_page() {
|
|
1971 |
<?php submit_button(); ?>
|
1972 |
|
1973 |
<hr id="follow" />
|
1974 |
-
|
1975 |
-
|
1976 |
<tbody>
|
1977 |
<tr valign="top">
|
1978 |
<th scope="row"><label><?php esc_html_e("Show the Follow button", 'instagram-feed'); ?></label><code class="sbi_shortcode"> showfollow
|
@@ -2007,16 +2002,16 @@ function sb_instagram_settings_page() {
|
|
2007 |
</table>
|
2008 |
|
2009 |
<hr id="filtering" />
|
2010 |
-
<h3><?php esc_html_e('Post Filtering', 'instagram-feed'); ?></h3>
|
2011 |
|
2012 |
<p style="padding-bottom: 18px;">
|
2013 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=filtering" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Post Filtering options', 'instagram-feed'); ?></a><br />
|
2014 |
-
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><
|
2015 |
</p>
|
2016 |
|
2017 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
2018 |
|
2019 |
-
<table class="form-table">
|
2020 |
<tbody>
|
2021 |
<tr valign="top" class="sbi_pro">
|
2022 |
<th scope="row"><label><?php esc_html_e('Remove photos containing these words or hashtags', 'instagram-feed'); ?></label></th>
|
@@ -2057,15 +2052,15 @@ function sb_instagram_settings_page() {
|
|
2057 |
|
2058 |
|
2059 |
<hr id="moderation" />
|
2060 |
-
<h3><?php esc_html_e('Moderation', 'instagram-feed'); ?></h3>
|
2061 |
|
2062 |
<p style="padding-bottom: 18px;">
|
2063 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=moderation" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Moderation options', 'instagram-feed'); ?></a><br />
|
2064 |
-
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><
|
2065 |
</p>
|
2066 |
|
2067 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
2068 |
-
<table class="form-table">
|
2069 |
<tbody>
|
2070 |
<tr valign="top" class="sbi_pro">
|
2071 |
<th scope="row"><label><?php esc_html_e('Moderation Type', 'instagram-feed'); ?></label></th>
|
@@ -2073,7 +2068,7 @@ function sb_instagram_settings_page() {
|
|
2073 |
<input class="sb_instagram_moderation_mode" checked="checked" disabled type="radio" value="visual" style="margin-top: 0;" /><label><?php esc_html_e('Visual', 'instagram-feed'); ?></label>
|
2074 |
<input class="sb_instagram_moderation_mode" disabled type="radio" value="manual" style="margin-top: 0; margin-left: 10px;"/><label><?php esc_html_e('Manual', 'instagram-feed'); ?></label>
|
2075 |
|
2076 |
-
<p class="sbi_tooltip" style="display: block;"><?php _e("<
|
2077 |
|
2078 |
</td>
|
2079 |
</tr>
|
@@ -2106,9 +2101,9 @@ function sb_instagram_settings_page() {
|
|
2106 |
</div>
|
2107 |
|
2108 |
<hr id="gdpr" />
|
2109 |
-
<h3><?php esc_html_e('GDPR', 'instagram-feed'); ?></h3>
|
2110 |
|
2111 |
-
<table class="form-table">
|
2112 |
<tbody>
|
2113 |
<tr>
|
2114 |
<th class="bump-left"><label class="bump-left"><?php esc_html_e("Enable GDPR settings", 'instagram-feed'); ?></label><code class="sbi_shortcode"> gdpr
|
@@ -2184,7 +2179,7 @@ function sb_instagram_settings_page() {
|
|
2184 |
<div class="sbi_active">
|
2185 |
<p>
|
2186 |
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check-circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="svg-inline--fa fa-check-circle fa-w-16 fa-2x"><path fill="currentColor" d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z" class=""></path></svg>
|
2187 |
-
<
|
2188 |
<br />
|
2189 |
<?php esc_html_e( 'Some Instagram Feed features will be limited for visitors to ensure GDPR compliance until they give consent.', 'instagram-feed' ); ?>
|
2190 |
<a href="JavaScript:void(0);" class="sbi_show_gdpr_list"><?php esc_html_e( 'What will be limited?', 'instagram-feed' ); ?></a>
|
@@ -2223,14 +2218,14 @@ function sb_instagram_settings_page() {
|
|
2223 |
</table>
|
2224 |
|
2225 |
<hr id="customcss" />
|
2226 |
-
<h3><?php esc_html_e('Misc', 'instagram-feed'); ?></h3>
|
2227 |
|
2228 |
-
<table class="form-table">
|
2229 |
<tbody>
|
2230 |
<tr valign="top">
|
2231 |
-
<
|
2232 |
<?php _e('<strong style="font-size: 15px;">Custom CSS</strong><br />Enter your own custom CSS in the box below', 'instagram-feed'); ?>
|
2233 |
-
</
|
2234 |
</tr>
|
2235 |
<tr valign="top">
|
2236 |
<td>
|
@@ -2249,7 +2244,7 @@ function sb_instagram_settings_page() {
|
|
2249 |
</tr>
|
2250 |
</tbody>
|
2251 |
</table>
|
2252 |
-
<table class="form-table">
|
2253 |
<tbody>
|
2254 |
|
2255 |
<tr valign="top">
|
@@ -2352,7 +2347,7 @@ function sb_instagram_settings_page() {
|
|
2352 |
</tr>
|
2353 |
</tbody>
|
2354 |
</table>
|
2355 |
-
<table class="form-table">
|
2356 |
<tbody>
|
2357 |
<tr>
|
2358 |
<th class="bump-left"><label class="bump-left"><?php esc_html_e("Enable Custom Templates", 'instagram-feed'); ?></label></th>
|
@@ -2500,9 +2495,9 @@ function sb_instagram_settings_page() {
|
|
2500 |
</p>
|
2501 |
<p><?php esc_html_e("See the table below for a full list of available shortcode options:", 'instagram-feed'); ?></p>
|
2502 |
|
2503 |
-
<p><span class="sbi_table_key"></span><?php esc_html_e('Pro version only', 'instagram-feed'); ?></p>
|
2504 |
|
2505 |
-
<table class="sbi_shortcode_table">
|
2506 |
<tbody>
|
2507 |
<tr valign="top">
|
2508 |
<th scope="row"><?php esc_html_e('Shortcode option', 'instagram-feed'); ?></th>
|
@@ -2882,13 +2877,13 @@ function sb_instagram_settings_page() {
|
|
2882 |
|
2883 |
<p>
|
2884 |
<span class="sbi-support-title"><i class="fa fa-youtube-play" aria-hidden="true"></i> <a
|
2885 |
-
href="https://www.youtube.com/embed/q6ZXVU4g970" target="_blank"
|
2886 |
id="sbi-play-support-video"><?php esc_html_e( 'Watch a Video', 'instagram-feed' ); ?></a></span>
|
2887 |
-
<?php _e( "Watch a short video demonstrating how to set up, customize and use the plugin.<br /><
|
2888 |
|
2889 |
<iframe id="sbi-support-video"
|
2890 |
src="//www.youtube.com/embed/q6ZXVU4g970?theme=light&showinfo=0&controls=2" width="960"
|
2891 |
-
height="540" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
|
2892 |
</p>
|
2893 |
|
2894 |
<p>
|
@@ -2901,14 +2896,14 @@ function sb_instagram_settings_page() {
|
|
2901 |
<div class="sbi-support-faqs">
|
2902 |
|
2903 |
<ul>
|
2904 |
-
<li><
|
2905 |
<li>• <?php _e( '<a href="https://smashballoon.com/my-photos-wont-load/?utm_campaign=instagram-free&utm_source=support&utm_medium=faqsnophotos" target="_blank">My Instagram Feed Won\'t Load</a>', 'instagram-feed' ); ?></li>
|
2906 |
<li>• <?php _e( '<a href="https://smashballoon.com/my-instagram-access-token-keep-expiring/?utm_campaign=instagram-free&utm_source=support&utm_medium=faqsexpiring" target="_blank">My Access Token Keeps Expiring</a>', 'instagram-feed' ); ?></li>
|
2907 |
<li style="margin-top: 8px; font-size: 12px;"><a href="https://smashballoon.com/instagram-feed/support/faq/?utm_campaign=instagram-free&utm_source=support&utm_medium=faqs" target="_blank"><?php esc_html_e( 'See All', 'instagram-feed' ); ?><i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
|
2908 |
</ul>
|
2909 |
|
2910 |
<ul>
|
2911 |
-
<li><
|
2912 |
<li>• <?php _e( '<a href="https://smashballoon.com/instagram-feed/free?utm_campaign=instagram-free&utm_source=support&utm_medium=installation" target="_blank">Installation and Configuration</a>', 'instagram-feed' ); ?></li>
|
2913 |
<li>• <?php _e( '<a href="https://smashballoon.com/display-multiple-instagram-feeds/?utm_campaign=instagram-free&utm_source=support&utm_medium=multiple" target="_blank">Displaying multiple feeds</a>', 'instagram-feed' ); ?></li>
|
2914 |
<li>• <?php _e( '<a href="https://smashballoon.com/instagram-feed-faq/customization/?utm_campaign=instagram-free&utm_source=support&utm_medium=customizing" target="_blank">Customizing your Feed</a>', 'instagram-feed' ); ?></li>
|
@@ -2919,7 +2914,7 @@ function sb_instagram_settings_page() {
|
|
2919 |
<span class="sbi-support-title"><i class="fa fa-envelope" aria-hidden="true"></i> <a
|
2920 |
href="https://smashballoon.com/instagram-feed/support/?utm_campaign=instagram-free&utm_source=support&utm_medium=contact"
|
2921 |
target="_blank"><?php esc_html_e( 'Request Support', 'instagram-feed' ); ?></a></span>
|
2922 |
-
<?php _e( 'Still need help? Submit a ticket and one of our support experts will get back to you as soon as possible.<br /><
|
2923 |
</p>
|
2924 |
</div>
|
2925 |
|
@@ -3285,7 +3280,7 @@ echo 'oEmbed request test: ' . esc_attr( $message );
|
|
3285 |
|
3286 |
<?php
|
3287 |
} //End Support tab
|
3288 |
-
|
3289 |
|
3290 |
if( $sbi_active_tab == 'more' ) { //Start More Social Feeds tab
|
3291 |
|
@@ -3563,7 +3558,7 @@ echo 'oEmbed request test: ' . esc_attr( $message );
|
|
3563 |
<img src="<?php echo SBI_PLUGIN_URL . 'img/instagram-pro-promo.png?2019'; ?>" alt="<?php esc_attr_e( 'Instagram Feed Pro', 'instagram-feed' ); ?>">
|
3564 |
</a>
|
3565 |
|
3566 |
-
<p class="sbi_plugins_promo dashicons-before dashicons-admin-plugins"> <?php _e('Check out our other free plugins: <a href="https://wordpress.org/plugins/custom-facebook-feed/" target="_blank">Facebook</a>, <a href="https://wordpress.org/plugins/custom-twitter-feeds/" target="_blank">Twitter</a>, and <a href="https://wordpress.org/plugins/feeds-for-youtube/" target="_blank">YouTube</a>.', 'instagram-feed' ); ?></p>
|
3567 |
|
3568 |
<div class="sbi_share_plugin">
|
3569 |
<h3><?php esc_html_e('Like the plugin? Help spread the word!', 'instagram-feed'); ?></h3>
|
@@ -3573,4 +3568,4 @@ echo 'oEmbed request test: ' . esc_attr( $message );
|
|
3573 |
|
3574 |
</div> <!-- end #sbi_admin -->
|
3575 |
|
3576 |
-
<?php } //End Settings page
|
17 |
$notice = ' <span class="update-plugins sbi-error-alert"><span>!</span></span>';
|
18 |
}
|
19 |
|
20 |
+
$sbi_notifications = new SBI_Notifications();
|
21 |
+
$notifications = $sbi_notifications->get();
|
22 |
+
|
23 |
+
$notice_bubble = '';
|
24 |
+
if ( empty( $notice ) && ! empty( $notifications ) && is_array( $notifications ) ) {
|
25 |
+
$notice_bubble = ' <span class="sbi-notice-alert"><span>'.count( $notifications ).'</span></span>';
|
26 |
+
}
|
27 |
+
|
28 |
add_menu_page(
|
29 |
__( 'Instagram Feed', 'instagram-feed' ),
|
30 |
+
__( 'Instagram Feed', 'instagram-feed' ) . $notice . $notice_bubble,
|
31 |
$cap,
|
32 |
'sb-instagram-feed',
|
33 |
'sb_instagram_settings_page'
|
57 |
'sbi-oembeds',
|
58 |
'sbi_oembeds_page'
|
59 |
);
|
60 |
+
|
61 |
//Show a Instagram plugin menu item if it isn't already installed
|
62 |
if( !is_plugin_active( 'custom-facebook-feed/custom-facebook-feed.php' ) && !is_plugin_active( 'custom-facebook-feed-pro/custom-facebook-feed.php' ) ){
|
63 |
add_submenu_page(
|
235 |
<p><?php _e("Anytime you share a link to an Instagram post in WordPress, it is automatically converted into an embedded version of that Instagram post (an \"oEmbed\").</p><p>However, WordPress is discontinuing support for Instagram oEmbeds due to them now requiring an Access Token to work. Don't worry though, we have your back. Just use the button above to connect to Facebook and we'll make sure your Instagram oEmbeds keep working.", "instagram-feed"); ?></p>
|
236 |
</div>
|
237 |
|
238 |
+
<img src="<?php echo SBI_PLUGIN_URL . 'img/sbi-oembed.png'; ?>" style="padding: 0px; background: white;" alt="<?php esc_attr_e( 'Oembed example', 'instagram-feed' ); ?>">
|
239 |
</div>
|
240 |
<?php } else {
|
241 |
if ( $valid_new_access_token ) {
|
467 |
update_option( 'sb_instagram_settings', $options );
|
468 |
|
469 |
//Set the page variables
|
|
|
470 |
$sb_instagram_user_id = $options[ 'sb_instagram_user_id' ];
|
471 |
$sb_instagram_preserve_settings = $options[ 'sb_instagram_preserve_settings' ];
|
472 |
$sb_instagram_ajax_theme = $options[ 'sb_instagram_ajax_theme' ];
|
712 |
$options[ 'sb_instagram_show_bio' ] = $sb_instagram_show_bio;
|
713 |
$options[ 'sb_instagram_custom_bio' ] = $sb_instagram_custom_bio;
|
714 |
$options[ 'sb_instagram_custom_avatar' ] = $sb_instagram_custom_avatar;
|
|
|
|
|
715 |
$options[ 'sb_instagram_header_color' ] = $sb_instagram_header_color;
|
716 |
//Follow button
|
717 |
$options[ 'sb_instagram_show_follow_btn' ] = $sb_instagram_show_follow_btn;
|
839 |
</div>
|
840 |
<?php
|
841 |
$sb_instagram_type = 'user';
|
842 |
+
$connected_accounts = SBI_Account_Connector::stored_connected_accounts();
|
843 |
+
$user_feed_ids = ! is_array( $sb_instagram_user_id ) ? explode( ',', $sb_instagram_user_id ) : $sb_instagram_user_id;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
844 |
|
845 |
$new_user_name = false;
|
846 |
|
866 |
echo ' ';
|
867 |
echo '<p style="font-weight: bold; margin-bottom: 5px;">Connected Business Profile:</p>';
|
868 |
echo '<div class="sbi-managed-page sbi-no-select">';
|
869 |
+
echo '<p><img class="sbi-page-avatar" border="0" height="50" width="50" src="'.esc_url($sbi_connected_page_image).'" alt="'.esc_attr( $sbi_connected_page_id ) . '"><strong>'.$sbi_connected_page_name.'</strong> ('.$sbi_connected_page_id.')</p>';
|
870 |
echo '</div>';
|
871 |
}
|
872 |
|
893 |
<?php if( $sbi_active_tab == 'configure' ) { //Start Configure tab ?>
|
894 |
<input type="hidden" name="<?php echo $sb_instagram_configure_hidden_field; ?>" value="Y">
|
895 |
|
896 |
+
<table class="form-table" aria-describedby="sbi-con-desc">
|
897 |
+
<tbody>
|
898 |
+
<h3 id="sbi-con-desc"><?php _e( 'Configure', 'instagram-feed' ); ?></h3>
|
899 |
<?php $sb_admin_email = get_option('admin_email');
|
900 |
$connect_url = 'https://connect.smashballoon.com/auth/ig/?wordpress_user=' . $sb_admin_email . '&state=' . admin_url('admin.php?page=sb-instagram-feed');
|
901 |
?>
|
906 |
<a href="https://smashballoon.com/instagram-feed/token/" target="_blank" style="position: relative; top: 14px; left: 15px;"><?php esc_html_e('Button not working?', 'instagram-feed'); ?></a>
|
907 |
</div>
|
908 |
|
|
|
|
|
|
|
909 |
<tr valign="top">
|
910 |
<th scope="row"><label><?php esc_html_e( 'Instagram Accounts', 'instagram-feed' ); ?></label><span style="font-weight:normal; font-style:italic; font-size: 12px; display: block;"><?php esc_html_e('Use the button above to connect an Instagram account', 'instagram-feed'); ?></span></th>
|
911 |
<td class="sbi_connected_accounts_wrap">
|
1057 |
<div class="sbi_col sbi_two">
|
1058 |
<div class="sbi_user_feed_ids_wrap">
|
1059 |
<?php foreach ( $user_feed_ids as $feed_id ) : if ( $feed_id !== '' ) :?>
|
1060 |
+
<?php if ( ! empty( $connected_accounts) ) { ?><div id="sbi_user_feed_id_<?php echo esc_attr( $feed_id ); ?>" class="sbi_user_feed_account_wrap"><?php } ?>
|
1061 |
|
1062 |
<?php if ( isset( $connected_accounts[ $feed_id ] ) && ! empty( $connected_accounts[ $feed_id ]['username'] ) ) : ?>
|
1063 |
+
<strong><?php echo esc_html( $connected_accounts[ $feed_id ]['username'] ); ?></strong> <span>(<?php echo esc_html( $feed_id ); ?>)</span>
|
1064 |
<input name="sb_instagram_user_id[]" id="sb_instagram_user_id" type="hidden" value="<?php echo esc_attr( $feed_id ); ?>" />
|
1065 |
<?php elseif ( isset( $connected_accounts[ $feed_id ] ) && ! empty( $connected_accounts[ $feed_id ]['access_token'] ) ) : ?>
|
1066 |
+
<strong><?php echo esc_html( $feed_id ); ?></strong>
|
1067 |
<input name="sb_instagram_user_id[]" id="sb_instagram_user_id" type="hidden" value="<?php echo esc_attr( $feed_id ); ?>" />
|
1068 |
<?php endif; ?>
|
1069 |
|
1070 |
+
<?php if ( ! empty( $connected_accounts) ) { ?></div><?php } ?>
|
1071 |
<?php endif; endforeach; ?>
|
1072 |
</div>
|
1073 |
|
1076 |
<?php endif; ?>
|
1077 |
|
1078 |
<a class="sbi_tooltip_link" href="JavaScript:void(0);" style="margin: 5px 0 10px 0; display: inline-block; height: 19px;"><?php esc_html_e("How to display User feeds", 'instagram-feed' ); ?></a>
|
1079 |
+
<div class="sbi_tooltip"><?php _e("<p><strong>Displaying Posts from Your User Account</strong><br />Simply connect an account using the button above.</p><p style='padding-top:8px;'><strong>Displaying Posts from Other Instagram Accounts</strong><br />Due to recent changes in the Instagram API it is no longer possible to display photos from other Instagram accounts which you do not have access to. You can only display the user feed of an account which you connect above. You can connect as many account as you like by logging in using the button above, or manually copy/pasting an Access Token by selecting the 'Manually Connect an Account' option.</p><p style='padding-top:10px;'><strong>Multiple Acounts</strong><br />It is only possible to display feeds from Instagram accounts which you own. In order to display feeds from multiple accounts, first connect them above and then use the buttons to add the account either to your primary feed or to another feed on your site.</p>", 'instagram-feed'); ?></div><br />
|
1080 |
</div>
|
1081 |
|
1082 |
</div>
|
1124 |
<p>
|
1125 |
<?php echo sprintf( __('To display multiple feed types in a single feed, use %s in your shortcode and then add the user name or hashtag for each feed into the shortcode, like so: %s. This will combine a user feed and a hashtag feed into the same feed.', 'instagram-feed'), 'type="mixed"', '<code>[instagram-feed type="mixed" user="smashballoon" hashtag="#awesomeplugins"]</code>' ); ?>
|
1126 |
</p>
|
1127 |
+
<p style="padding-top: 8px;"><strong>Note:</strong> To display a hashtag feed, it is required that you first connect an Instagram Business Profile using the <strong>"Connect an Instagram Account"</strong> button above. <a href="https://smashballoon.com/instagram-business-profiles/" target="_blank">Why is this required?</a>
|
1128 |
</p>
|
1129 |
</div>
|
1130 |
</div>
|
1135 |
<br>
|
1136 |
<a class="sbi_tooltip_link sbi_pro" href="JavaScript:void(0);" style="margin-left: 0;"><i class="fa fa-question-circle" aria-hidden="true" style="margin-right: 6px;"></i><?php esc_html_e('Combine multiple feed types into a single feed', 'instagram-feed'); ?></a>
|
1137 |
<p class="sbi_tooltip">
|
1138 |
+
<strong><?php _e( 'Please note: this is only available in the <a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=multipletypes" target="_blank">Pro version</a>', 'instagram-feed' ); ?>.</strong><br />
|
1139 |
<?php echo sprintf( __('To display multiple feed types in a single feed, use %s in your shortcode and then add each user name or hashtag of each feed into the shortcode, like so: %s. This will combine a user feed and a hashtag feed into the same feed.', 'instagram-feed'), 'type="mixed"', '<code>[instagram-feed type="mixed" user="smashballoon" hashtag="#awesomeplugins"]</code>' ); ?>
|
1140 |
</p>
|
1141 |
</div>
|
1162 |
<label for="sbi_caching_type_cron"><?php esc_html_e( 'In the background', 'instagram-feed' ); ?></label>
|
1163 |
<a class="sbi_tooltip_link" href="JavaScript:void(0);" style="position: relative; top: 2px;"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
1164 |
<p class="sbi_tooltip sbi-more-info"><?php esc_html_e( 'Your Instagram post data is temporarily cached by the plugin in your WordPress database. There are two ways that you can set the plugin to check for new data', 'instagram-feed' ); ?>:<br><br>
|
1165 |
+
<?php _e( '<strong>1. In the background</strong><br>Selecting this option means that the plugin will check for new data in the background so that the feed is updated behind the scenes. You can select at what time and how often the plugin should check for new data using the settings below. <strong>Please note</strong> that the plugin will initially check for data from Instagram when the page first loads, but then after that will check in the background on the schedule selected - unless the cache is cleared.', 'instagram-feed' ); ?>
|
1166 |
<br><br>
|
1167 |
+
<?php _e( '<strong>2. When the page loads</strong><br>Selecting this option means that when the cache expires then the plugin will check Instagram for new posts the next time that the feed is loaded. You can choose how long this data should be cached for. If you set the time to 60 minutes then the plugin will clear the cached data after that length of time, and the next time the page is viewed it will check for new data. <strong>Tip:</strong> If you\'re experiencing an issue with the plugin not updating automatically then try enabling the setting labeled <strong>\'Force cache to clear on interval\'</strong> which is located on the \'Customize\' tab.', 'instagram-feed' ) . '</p>'; ?>
|
1168 |
|
1169 |
</div>
|
1170 |
<div class="sbi_row sbi-caching-cron-options" style="display: block;">
|
1211 |
if ( $schedule == '30mins' ) $schedule = __( 'every 30 minutes', 'instagram-feed' );
|
1212 |
if ( $schedule == 'twicedaily' ) $schedule = __( 'every 12 hours', 'instagram-feed' );
|
1213 |
$sbi_next_cron_event = wp_next_scheduled( 'sbi_feed_update' );
|
1214 |
+
echo '<p class="sbi-caching-sched-notice"><span><strong>' . __( 'Next check', 'instagram-feed' ) . ': ' . date( $time_format, $sbi_next_cron_event + sbi_get_utc_offset() ) . ' (' . $schedule . ')</strong> - ' . __( 'Note: Saving the settings on this page will clear the cache and reset this schedule', 'instagram-feed' ) . '</span></p>';
|
1215 |
} else {
|
1216 |
echo '<p style="font-size: 11px; color: #666;">' . __( 'Nothing currently scheduled', 'instagram-feed' ) . '</p>';
|
1217 |
}
|
1272 |
|
1273 |
<input type="hidden" name="<?php echo $sb_instagram_customize_hidden_field; ?>" value="Y">
|
1274 |
|
1275 |
+
<h3 id="sbi_general_heading"><?php _e('General', 'instagram-feed'); ?></h3>
|
1276 |
|
1277 |
+
<table class="form-table" aria-describedby="sbi_general_heading">
|
1278 |
<tbody>
|
1279 |
<tr valign="top">
|
1280 |
<th scope="row"><label><?php esc_html_e('Width of Feed', 'instagram-feed'); ?></label><code class="sbi_shortcode"> width widthunit
|
1314 |
</table>
|
1315 |
|
1316 |
<hr id="layout" />
|
1317 |
+
<h3 id="sbi_layout_heading"><?php _e('Layout', 'instagram-feed'); ?></h3>
|
1318 |
|
1319 |
+
<table class="form-table" aria-describedby="sbi_layout_heading">
|
1320 |
<tbody>
|
1321 |
<?php
|
1322 |
$selected_type = isset( $sb_instagram_layout_type ) ? $sb_instagram_layout_type : 'grid';
|
1504 |
<?php submit_button(); ?>
|
1505 |
|
1506 |
<hr id="photos" />
|
1507 |
+
<h3 id="sbi_photos_heading"><?php _e("Photos", 'instagram-feed'); ?></h3>
|
1508 |
+
<table class="form-table" aria-describedby="sbi_photos_heading">
|
|
|
1509 |
<tbody>
|
1510 |
<tr valign="top">
|
1511 |
<th scope="row"><label><?php esc_html_e('Sort Photos By', 'instagram-feed'); ?></label><code class="sbi_shortcode"> sortby
|
1537 |
</tbody>
|
1538 |
</table>
|
1539 |
|
1540 |
+
<span><a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><strong>+</strong> <?php esc_html_e('Show Pro Options', 'instagram-feed'); ?></a></span>
|
1541 |
|
1542 |
<div class="sbi-pro-options">
|
1543 |
<p class="sbi-upgrade-link">
|
1544 |
<i class="fa fa-rocket" aria-hidden="true"></i> <a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=general" target="_blank"><?php esc_html_e('Upgrade to Pro to enable these settings', 'instagram-feed'); ?></a>
|
1545 |
</p>
|
1546 |
+
<table class="form-table" aria-describedby="sbi-mediatype-desc">
|
1547 |
<tbody>
|
1548 |
<tr valign="top" class="sbi_pro">
|
1549 |
+
<th scope="row"><label id="sbi-mediatype-desc"><?php esc_html_e('Media Type to Display','instagram-feed'); ?></label></th>
|
1550 |
<td>
|
1551 |
<select name="sb_instagram_media_type" disabled>
|
1552 |
<option value="all"><?php esc_html_e('All','instagram-feed'); ?></option>
|
1577 |
|
1578 |
|
1579 |
<hr />
|
1580 |
+
<h3 id="sbi-hoverstyle-desc"><?php esc_html_e('Photo Hover Style','instagram-feed'); ?></h3>
|
1581 |
|
1582 |
<p style="padding-bottom: 18px;">
|
1583 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=photohover" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Photo Hover styles','instagram-feed'); ?></a><br />
|
1584 |
+
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><strong>+</strong> <?php esc_html_e('Show Pro Options','instagram-feed'); ?></a>
|
1585 |
</p>
|
1586 |
|
1587 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1588 |
+
<table class="form-table" aria-describedby="sbi-hoverstyle-desc">
|
1589 |
<tbody>
|
1590 |
<tr valign="top" class="sbi_pro">
|
1591 |
<th scope="row"><label><?php esc_html_e('Hover Background Color', 'instagram-feed'); ?></label></th>
|
1639 |
|
1640 |
|
1641 |
<hr />
|
1642 |
+
<h3 id="sbi-carousel-desc"><?php esc_html_e( 'Carousel', 'instagram-feed' ); ?></h3>
|
1643 |
<p style="padding-bottom: 18px;">
|
1644 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=carousel" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Carousels', 'instagram-feed'); ?></a><br />
|
1645 |
+
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><strong>+</strong> <?php esc_html_e('Show Pro Options', 'instagram-feed'); ?></a>
|
1646 |
</p>
|
1647 |
|
1648 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1649 |
+
<table class="form-table" aria-describedby="sbi-carousel-desc">
|
1650 |
<tbody>
|
1651 |
<tr valign="top" class="sbi_pro">
|
1652 |
<th scope="row"><label><?php esc_html_e("Enable Carousel", 'instagram-feed'); ?></label></th>
|
1687 |
|
1688 |
|
1689 |
<hr id="headeroptions" />
|
1690 |
+
<h3 id="sbi_header_heading"><?php _e("Header", 'instagram-feed'); ?></h3>
|
1691 |
+
<table class="form-table" aria-describedby="sbi_header_heading">
|
1692 |
<tbody>
|
1693 |
<tr valign="top">
|
1694 |
<th scope="row"><label><?php esc_html_e("Show Feed Header", 'instagram-feed'); ?></label><code class="sbi_shortcode"> showheader
|
1754 |
</tbody>
|
1755 |
</table>
|
1756 |
|
1757 |
+
<span><a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><strong>+</strong> <?php esc_html_e('Show Pro Options', 'instagram-feed'); ?></a></span>
|
1758 |
|
1759 |
<div class="sbi-pro-options">
|
1760 |
<p class="sbi-upgrade-link">
|
1761 |
<i class="fa fa-rocket" aria-hidden="true"></i> <a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=header" target="_blank"><?php esc_html_e('Upgrade to Pro to enable these settings', 'instagram-feed'); ?></a>
|
1762 |
</p>
|
1763 |
+
<table class="form-table sbi-expandable-options" aria-describedby="sbi-headerstylesub-desc">
|
1764 |
+
<tbody>
|
1765 |
+
|
1766 |
+
<tr valign="top">
|
1767 |
+
<th scope="row" id="sbi-headerstylesub-desc"><label><?php _e('Header Style', 'instagram-feed'); ?></label><code class="sbi_shortcode"> headerstyle
|
1768 |
+
Eg: headerstyle=boxed</code></th>
|
1769 |
+
<td>
|
1770 |
<select name="sb_instagram_header_style" style="float: left;">
|
1771 |
<option value="circle"><?php esc_html_e('Standard','instagram-feed'); ?></option>
|
1772 |
<option value="boxed"><?php esc_html_e('Boxed','instagram-feed'); ?></option>
|
1789 |
|
1790 |
|
1791 |
<hr />
|
1792 |
+
<h3 id="sbi_caption_heading"><?php esc_html_e("Caption", 'instagram-feed'); ?></h3>
|
1793 |
<p style="padding-bottom: 18px;">
|
1794 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=caption" target="_blank"><?php esc_html_e("Upgrade to Pro to enable Photo Captions", 'instagram-feed'); ?></a><br />
|
1795 |
+
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><strong>+</strong> <?php esc_html_e("Show Pro Options", 'instagram-feed'); ?></a>
|
1796 |
</p>
|
1797 |
|
1798 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1799 |
+
<table class="form-table" aria-describedby="sbi_caption_heading">
|
1800 |
<tbody>
|
1801 |
<tr valign="top" class="sbi_pro">
|
1802 |
<th scope="row"><label><?php esc_html_e("Show Caption", 'instagram-feed'); ?></label></th>
|
1845 |
|
1846 |
|
1847 |
<hr />
|
1848 |
+
<h3 id="sbi_likescomments_heading"><?php esc_html_e("Likes & Comments", 'instagram-feed'); ?></h3>
|
1849 |
<p style="padding-bottom: 18px;">
|
1850 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=stats" target="_blank"><?php esc_html_e("Upgrade to Pro to enable Likes & Comments", 'instagram-feed'); ?></a><br />
|
1851 |
+
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><strong>+</strong> <?php esc_html_e("Show Pro Options", 'instagram-feed'); ?></a>
|
1852 |
</p>
|
1853 |
|
1854 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1855 |
+
<table class="form-table" aria-describedby="sbi_likescomments_heading">
|
1856 |
<tbody>
|
1857 |
<tr valign="top" class="sbi_pro">
|
1858 |
<th scope="row"><label><?php esc_html_e("Show Icons", 'instagram-feed'); ?></label></th>
|
1893 |
|
1894 |
|
1895 |
<hr />
|
1896 |
+
<h3 id="sbi-lightboxcomments-heading"><?php esc_html_e('Lightbox Comments', 'instagram-feed'); ?></h3>
|
1897 |
|
1898 |
<p style="padding-bottom: 18px;">
|
1899 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=comments" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Comments', 'instagram-feed'); ?></a><br />
|
1900 |
+
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><strong>+</strong> <?php esc_html_e('Show Pro Options', 'instagram-feed'); ?></a>
|
1901 |
</p>
|
1902 |
|
1903 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
1904 |
+
<table class="form-table" aria-describedby="sbi-lightboxcomments-heading">
|
1905 |
<tbody>
|
1906 |
|
1907 |
<tr valign="top" class="sbi_pro">
|
1929 |
|
1930 |
|
1931 |
<hr id="loadmore" />
|
1932 |
+
<h3 id="sbi_button_heading"><?php _e("'Load More' Button", 'instagram-feed'); ?></h3>
|
1933 |
+
<table class="form-table" aria-describedby="sbi_button_heading">
|
1934 |
<tbody>
|
1935 |
<tr valign="top">
|
1936 |
<th scope="row"><label><?php esc_html_e("Show the 'Load More' button", 'instagram-feed'); ?></label><code class="sbi_shortcode"> showbutton
|
1966 |
<?php submit_button(); ?>
|
1967 |
|
1968 |
<hr id="follow" />
|
1969 |
+
<h3 id="sbi_follow_heading"><?php _e("'Follow' Button", 'instagram-feed'); ?></h3>
|
1970 |
+
<table class="form-table" aria-describedby="sbi_follow_heading">
|
1971 |
<tbody>
|
1972 |
<tr valign="top">
|
1973 |
<th scope="row"><label><?php esc_html_e("Show the Follow button", 'instagram-feed'); ?></label><code class="sbi_shortcode"> showfollow
|
2002 |
</table>
|
2003 |
|
2004 |
<hr id="filtering" />
|
2005 |
+
<h3 id="sbi-filter-heading"><?php esc_html_e('Post Filtering', 'instagram-feed'); ?></h3>
|
2006 |
|
2007 |
<p style="padding-bottom: 18px;">
|
2008 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=filtering" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Post Filtering options', 'instagram-feed'); ?></a><br />
|
2009 |
+
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><strong>+</strong> <?php esc_html_e('Show Pro Options', 'instagram-feed'); ?></a>
|
2010 |
</p>
|
2011 |
|
2012 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
2013 |
|
2014 |
+
<table class="form-table" aria-describedby="sbi-filter-heading">
|
2015 |
<tbody>
|
2016 |
<tr valign="top" class="sbi_pro">
|
2017 |
<th scope="row"><label><?php esc_html_e('Remove photos containing these words or hashtags', 'instagram-feed'); ?></label></th>
|
2052 |
|
2053 |
|
2054 |
<hr id="moderation" />
|
2055 |
+
<h3 id="sbi-moderation-heading"><?php esc_html_e('Moderation', 'instagram-feed'); ?></h3>
|
2056 |
|
2057 |
<p style="padding-bottom: 18px;">
|
2058 |
<a href="https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=moderation" target="_blank"><?php esc_html_e('Upgrade to Pro to enable Moderation options', 'instagram-feed'); ?></a><br />
|
2059 |
+
<a href="javascript:void(0);" class="button button-secondary sbi-show-pro"><strong>+</strong> <?php esc_html_e('Show Pro Options', 'instagram-feed'); ?></a>
|
2060 |
</p>
|
2061 |
|
2062 |
<div class="sbi-pro-options" style="margin-top: -15px;">
|
2063 |
+
<table class="form-table" aria-describedby="sbi-moderation-heading">
|
2064 |
<tbody>
|
2065 |
<tr valign="top" class="sbi_pro">
|
2066 |
<th scope="row"><label><?php esc_html_e('Moderation Type', 'instagram-feed'); ?></label></th>
|
2068 |
<input class="sb_instagram_moderation_mode" checked="checked" disabled type="radio" value="visual" style="margin-top: 0;" /><label><?php esc_html_e('Visual', 'instagram-feed'); ?></label>
|
2069 |
<input class="sb_instagram_moderation_mode" disabled type="radio" value="manual" style="margin-top: 0; margin-left: 10px;"/><label><?php esc_html_e('Manual', 'instagram-feed'); ?></label>
|
2070 |
|
2071 |
+
<p class="sbi_tooltip" style="display: block;"><?php _e("<strong>Visual Moderation Mode</strong><br />This adds a button to each feed that will allow you to hide posts, block users, and create white lists from the front end using a visual interface. Visit <a href='https://smashballoon.com/guide-to-moderation-mode/?utm_campaign=instagram-free&utm_source=settings&utm_medium=moderationmode' target='_blank'>this page</a> for details", 'instagram-feed'); ?></p>
|
2072 |
|
2073 |
</td>
|
2074 |
</tr>
|
2101 |
</div>
|
2102 |
|
2103 |
<hr id="gdpr" />
|
2104 |
+
<h3 id="sbi-gdpr-heading"><?php esc_html_e('GDPR', 'instagram-feed'); ?></h3>
|
2105 |
|
2106 |
+
<table class="form-table" aria-describedby="sbi-gdpr-heading">
|
2107 |
<tbody>
|
2108 |
<tr>
|
2109 |
<th class="bump-left"><label class="bump-left"><?php esc_html_e("Enable GDPR settings", 'instagram-feed'); ?></label><code class="sbi_shortcode"> gdpr
|
2179 |
<div class="sbi_active">
|
2180 |
<p>
|
2181 |
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="check-circle" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="svg-inline--fa fa-check-circle fa-w-16 fa-2x"><path fill="currentColor" d="M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z" class=""></path></svg>
|
2182 |
+
<strong><?php echo sprintf( __( '%s detected', 'instagram-feed' ), $active_plugin ); ?></strong>
|
2183 |
<br />
|
2184 |
<?php esc_html_e( 'Some Instagram Feed features will be limited for visitors to ensure GDPR compliance until they give consent.', 'instagram-feed' ); ?>
|
2185 |
<a href="JavaScript:void(0);" class="sbi_show_gdpr_list"><?php esc_html_e( 'What will be limited?', 'instagram-feed' ); ?></a>
|
2218 |
</table>
|
2219 |
|
2220 |
<hr id="customcss" />
|
2221 |
+
<h3 id="sbi-misc-heading"><?php esc_html_e('Misc', 'instagram-feed'); ?></h3>
|
2222 |
|
2223 |
+
<table class="form-table" aria-describedby="sbi-misc-heading">
|
2224 |
<tbody>
|
2225 |
<tr valign="top">
|
2226 |
+
<th scope="row" style="padding-bottom: 0;">
|
2227 |
<?php _e('<strong style="font-size: 15px;">Custom CSS</strong><br />Enter your own custom CSS in the box below', 'instagram-feed'); ?>
|
2228 |
+
</th>
|
2229 |
</tr>
|
2230 |
<tr valign="top">
|
2231 |
<td>
|
2244 |
</tr>
|
2245 |
</tbody>
|
2246 |
</table>
|
2247 |
+
<table class="form-table" aria-describedby="sbi-misc-heading">
|
2248 |
<tbody>
|
2249 |
|
2250 |
<tr valign="top">
|
2347 |
</tr>
|
2348 |
</tbody>
|
2349 |
</table>
|
2350 |
+
<table class="form-table" aria-describedby="sbi-misc-heading">
|
2351 |
<tbody>
|
2352 |
<tr>
|
2353 |
<th class="bump-left"><label class="bump-left"><?php esc_html_e("Enable Custom Templates", 'instagram-feed'); ?></label></th>
|
2495 |
</p>
|
2496 |
<p><?php esc_html_e("See the table below for a full list of available shortcode options:", 'instagram-feed'); ?></p>
|
2497 |
|
2498 |
+
<p id="sbi-proonly-heading"><span class="sbi_table_key"></span><?php esc_html_e('Pro version only', 'instagram-feed'); ?></p>
|
2499 |
|
2500 |
+
<table class="sbi_shortcode_table" aria-describedby="sbi-proonly-heading">
|
2501 |
<tbody>
|
2502 |
<tr valign="top">
|
2503 |
<th scope="row"><?php esc_html_e('Shortcode option', 'instagram-feed'); ?></th>
|
2877 |
|
2878 |
<p>
|
2879 |
<span class="sbi-support-title"><i class="fa fa-youtube-play" aria-hidden="true"></i> <a
|
2880 |
+
href="https://www.youtube.com/embed/q6ZXVU4g970" target="_blank" rel="noopener noreferrer"
|
2881 |
id="sbi-play-support-video"><?php esc_html_e( 'Watch a Video', 'instagram-feed' ); ?></a></span>
|
2882 |
+
<?php _e( "Watch a short video demonstrating how to set up, customize and use the plugin.<br /><strong>Please note</strong> that the video shows the set up and use of the <strong><a href='https://smashballoon.com/instagram-feed/?utm_campaign=instagram-free&utm_source=settings&utm_medium=general' target='_blank'>Pro version</a></strong> of the plugin, but the process is the same for this free version. The only difference is some of the features available.", 'instagram-feed' ); ?>
|
2883 |
|
2884 |
<iframe id="sbi-support-video"
|
2885 |
src="//www.youtube.com/embed/q6ZXVU4g970?theme=light&showinfo=0&controls=2" width="960"
|
2886 |
+
height="540" frameborder="0" allowfullscreen="allowfullscreen" title="<?php esc_attr_e( 'Watch a Video', 'instagram-feed' ); ?>"></iframe>
|
2887 |
</p>
|
2888 |
|
2889 |
<p>
|
2896 |
<div class="sbi-support-faqs">
|
2897 |
|
2898 |
<ul>
|
2899 |
+
<li><strong><?php esc_html_e( 'FAQs', 'instagram-feed' ); ?></strong></li>
|
2900 |
<li>• <?php _e( '<a href="https://smashballoon.com/my-photos-wont-load/?utm_campaign=instagram-free&utm_source=support&utm_medium=faqsnophotos" target="_blank">My Instagram Feed Won\'t Load</a>', 'instagram-feed' ); ?></li>
|
2901 |
<li>• <?php _e( '<a href="https://smashballoon.com/my-instagram-access-token-keep-expiring/?utm_campaign=instagram-free&utm_source=support&utm_medium=faqsexpiring" target="_blank">My Access Token Keeps Expiring</a>', 'instagram-feed' ); ?></li>
|
2902 |
<li style="margin-top: 8px; font-size: 12px;"><a href="https://smashballoon.com/instagram-feed/support/faq/?utm_campaign=instagram-free&utm_source=support&utm_medium=faqs" target="_blank"><?php esc_html_e( 'See All', 'instagram-feed' ); ?><i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
|
2903 |
</ul>
|
2904 |
|
2905 |
<ul>
|
2906 |
+
<li><strong><?php esc_html_e("Documentation", 'instagram-feed'); ?></strong></li>
|
2907 |
<li>• <?php _e( '<a href="https://smashballoon.com/instagram-feed/free?utm_campaign=instagram-free&utm_source=support&utm_medium=installation" target="_blank">Installation and Configuration</a>', 'instagram-feed' ); ?></li>
|
2908 |
<li>• <?php _e( '<a href="https://smashballoon.com/display-multiple-instagram-feeds/?utm_campaign=instagram-free&utm_source=support&utm_medium=multiple" target="_blank">Displaying multiple feeds</a>', 'instagram-feed' ); ?></li>
|
2909 |
<li>• <?php _e( '<a href="https://smashballoon.com/instagram-feed-faq/customization/?utm_campaign=instagram-free&utm_source=support&utm_medium=customizing" target="_blank">Customizing your Feed</a>', 'instagram-feed' ); ?></li>
|
2914 |
<span class="sbi-support-title"><i class="fa fa-envelope" aria-hidden="true"></i> <a
|
2915 |
href="https://smashballoon.com/instagram-feed/support/?utm_campaign=instagram-free&utm_source=support&utm_medium=contact"
|
2916 |
target="_blank"><?php esc_html_e( 'Request Support', 'instagram-feed' ); ?></a></span>
|
2917 |
+
<?php _e( 'Still need help? Submit a ticket and one of our support experts will get back to you as soon as possible.<br /><strong>Important:</strong> Please include your <strong>System Info</strong> below with all support requests.', 'instagram-feed' ); ?>
|
2918 |
</p>
|
2919 |
</div>
|
2920 |
|
3280 |
|
3281 |
<?php
|
3282 |
} //End Support tab
|
3283 |
+
|
3284 |
|
3285 |
if( $sbi_active_tab == 'more' ) { //Start More Social Feeds tab
|
3286 |
|
3558 |
<img src="<?php echo SBI_PLUGIN_URL . 'img/instagram-pro-promo.png?2019'; ?>" alt="<?php esc_attr_e( 'Instagram Feed Pro', 'instagram-feed' ); ?>">
|
3559 |
</a>
|
3560 |
|
3561 |
+
<p class="sbi_plugins_promo dashicons-before dashicons-admin-plugins"> <?php _e('Check out our other free plugins: <a href="https://wordpress.org/plugins/custom-facebook-feed/" target="_blank" rel="noopener noreferrer">Facebook</a>, <a href="https://wordpress.org/plugins/custom-twitter-feeds/" target="_blank" rel="noopener noreferrer">Twitter</a>, and <a href="https://wordpress.org/plugins/feeds-for-youtube/" target="_blank" rel="noopener noreferrer">YouTube</a>.', 'instagram-feed' ); ?></p>
|
3562 |
|
3563 |
<div class="sbi_share_plugin">
|
3564 |
<h3><?php esc_html_e('Like the plugin? Help spread the word!', 'instagram-feed'); ?></h3>
|
3568 |
|
3569 |
</div> <!-- end #sbi_admin -->
|
3570 |
|
3571 |
+
<?php } //End Settings page
|
inc/admin/templates/locator-summary.php
CHANGED
@@ -22,13 +22,13 @@ $database_settings = sbi_get_database_settings();
|
|
22 |
if ( ! empty( $locator_section['results'] ) ) : ?>
|
23 |
<div class="sbi-single-location">
|
24 |
<h4><?php echo esc_html( $locator_section['label'] ); ?></h4>
|
25 |
-
<table class="widefat striped">
|
26 |
<thead>
|
27 |
<tr>
|
28 |
-
<th><?php esc_html_e( 'Type', 'instagram-feed' ); ?></th>
|
29 |
-
<th><?php esc_html_e( 'Sources', 'instagram-feed' ); ?></th>
|
30 |
-
<th><?php esc_html_e( 'Shortcode', 'instagram-feed' ); ?></th>
|
31 |
-
<th><?php esc_html_e( 'Location', 'instagram-feed' ); ?></th>
|
32 |
</tr>
|
33 |
</thead>
|
34 |
<tbody>
|
22 |
if ( ! empty( $locator_section['results'] ) ) : ?>
|
23 |
<div class="sbi-single-location">
|
24 |
<h4><?php echo esc_html( $locator_section['label'] ); ?></h4>
|
25 |
+
<table class="widefat striped" aria-describedby="sbi-locator-desc">
|
26 |
<thead>
|
27 |
<tr>
|
28 |
+
<th scope="row"><?php esc_html_e( 'Type', 'instagram-feed' ); ?></th>
|
29 |
+
<th scope="row"><?php esc_html_e( 'Sources', 'instagram-feed' ); ?></th>
|
30 |
+
<th scope="row"><?php esc_html_e( 'Shortcode', 'instagram-feed' ); ?></th>
|
31 |
+
<th scope="row"><?php esc_html_e( 'Location', 'instagram-feed' ); ?></th>
|
32 |
</tr>
|
33 |
</thead>
|
34 |
<tbody>
|
inc/class-sb-instagram-gdpr-integrations.php
CHANGED
@@ -120,7 +120,7 @@ class SB_Instagram_GDPR_Integrations {
|
|
120 |
if ( ! is_wp_error( $image_editor ) ) {
|
121 |
$sbi_statuses_option['gdpr']['image_editor'] = true;
|
122 |
} else {
|
123 |
-
$test_image = '
|
124 |
|
125 |
$image_editor = wp_get_image_editor( $test_image );
|
126 |
if ( ! is_wp_error( $image_editor ) ) {
|
120 |
if ( ! is_wp_error( $image_editor ) ) {
|
121 |
$sbi_statuses_option['gdpr']['image_editor'] = true;
|
122 |
} else {
|
123 |
+
$test_image = 'https://plugin.smashballoon.com/editor-test.png';
|
124 |
|
125 |
$image_editor = wp_get_image_editor( $test_image );
|
126 |
if ( ! is_wp_error( $image_editor ) ) {
|
inc/class-sb-instagram-oembed.php
CHANGED
@@ -278,6 +278,12 @@ class SB_Instagram_Oembed
|
|
278 |
}
|
279 |
|
280 |
$post_ID = get_the_ID();
|
|
|
|
|
|
|
|
|
|
|
|
|
281 |
$done_checking = (int)get_post_meta( $post_ID, '_sbi_oembed_done_checking', true ) === 1;
|
282 |
|
283 |
if ( ! $done_checking ) {
|
@@ -340,4 +346,4 @@ class SB_Instagram_Oembed
|
|
340 |
function sbiOembedInit() {
|
341 |
return new SB_Instagram_Oembed();
|
342 |
}
|
343 |
-
sbiOembedInit();
|
278 |
}
|
279 |
|
280 |
$post_ID = get_the_ID();
|
281 |
+
|
282 |
+
//Don't make the check on WC orders
|
283 |
+
if ( 'shop_order' === get_post_type( $post_ID ) ) {
|
284 |
+
return;
|
285 |
+
}
|
286 |
+
|
287 |
$done_checking = (int)get_post_meta( $post_ID, '_sbi_oembed_done_checking', true ) === 1;
|
288 |
|
289 |
if ( ! $done_checking ) {
|
346 |
function sbiOembedInit() {
|
347 |
return new SB_Instagram_Oembed();
|
348 |
}
|
349 |
+
sbiOembedInit();
|
inc/class-sb-instagram-settings.php
CHANGED
@@ -697,17 +697,11 @@ class SB_Instagram_Settings {
|
|
697 |
}
|
698 |
|
699 |
/**
|
700 |
-
*
|
701 |
-
* setting keys and how they should be sanitized
|
702 |
-
*
|
703 |
-
* @param array $atts
|
704 |
*
|
705 |
* @return array
|
706 |
*/
|
707 |
-
public static function
|
708 |
-
|
709 |
-
$sanitized_atts = array();
|
710 |
-
|
711 |
$allowed_atts = array(
|
712 |
'id' => array(
|
713 |
'method' => 'alpha_numeric_and_comma',
|
@@ -822,7 +816,7 @@ class SB_Instagram_Settings {
|
|
822 |
'method' => 'page_load_only',
|
823 |
),
|
824 |
'user' => array(
|
825 |
-
'method' => '
|
826 |
'allowed_vals' => 'any'
|
827 |
),
|
828 |
'feedid' => array(
|
@@ -843,6 +837,22 @@ class SB_Instagram_Settings {
|
|
843 |
)
|
844 |
);
|
845 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
846 |
foreach ( $atts as $key => $value ) {
|
847 |
$value = (string)$value;
|
848 |
|
@@ -851,15 +861,45 @@ class SB_Instagram_Settings {
|
|
851 |
|
852 |
switch ( $sanitization_method ) {
|
853 |
case 'enum' :
|
854 |
-
if ( in_array( $value, $allowed_atts[ $key ]['allowed_vals'] ) ) {
|
855 |
$sanitized_atts[ $key ] = sanitize_text_field( $value );
|
856 |
}
|
857 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
858 |
case 'alpha_numeric_and_comma' :
|
859 |
-
|
|
|
860 |
break;
|
861 |
case 'feedid_chars' :
|
862 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
863 |
break;
|
864 |
case 'intval' :
|
865 |
$value = intval( $value );
|
@@ -877,7 +917,7 @@ class SB_Instagram_Settings {
|
|
877 |
} elseif ( $value < (float)$allowed_atts[ $key ]['allowed_vals'] ) {
|
878 |
$sanitized_atts[ $key ] = $value;
|
879 |
}
|
880 |
-
|
881 |
if ( floor( $value ) === $value ) {
|
882 |
$sanitized_atts[ $key ] = (int)$value;
|
883 |
}
|
@@ -892,6 +932,36 @@ class SB_Instagram_Settings {
|
|
892 |
$sanitized_atts[ $key ] = 'false';
|
893 |
}
|
894 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
895 |
break;
|
896 |
}
|
897 |
}
|
697 |
}
|
698 |
|
699 |
/**
|
700 |
+
* Attributes allowed in shortcodes and how they are sanitized
|
|
|
|
|
|
|
701 |
*
|
702 |
* @return array
|
703 |
*/
|
704 |
+
public static function get_allowed_atts() {
|
|
|
|
|
|
|
705 |
$allowed_atts = array(
|
706 |
'id' => array(
|
707 |
'method' => 'alpha_numeric_and_comma',
|
816 |
'method' => 'page_load_only',
|
817 |
),
|
818 |
'user' => array(
|
819 |
+
'method' => 'feedid_chars',
|
820 |
'allowed_vals' => 'any'
|
821 |
),
|
822 |
'feedid' => array(
|
837 |
)
|
838 |
);
|
839 |
|
840 |
+
return $allowed_atts;
|
841 |
+
}
|
842 |
+
|
843 |
+
/**
|
844 |
+
* Compares given array with an allow list of
|
845 |
+
* setting keys and how they should be sanitized
|
846 |
+
*
|
847 |
+
* @param array $atts
|
848 |
+
*
|
849 |
+
* @return array
|
850 |
+
*/
|
851 |
+
public static function sanitize_raw_atts( $atts ) {
|
852 |
+
$sanitized_atts = array();
|
853 |
+
|
854 |
+
$allowed_atts = SB_Instagram_Settings::get_allowed_atts();
|
855 |
+
|
856 |
foreach ( $atts as $key => $value ) {
|
857 |
$value = (string)$value;
|
858 |
|
861 |
|
862 |
switch ( $sanitization_method ) {
|
863 |
case 'enum' :
|
864 |
+
if ( in_array( $value, $allowed_atts[ $key ]['allowed_vals'], true ) ) {
|
865 |
$sanitized_atts[ $key ] = sanitize_text_field( $value );
|
866 |
}
|
867 |
break;
|
868 |
+
case 'enum_array' :
|
869 |
+
$values_array = explode( ',', str_replace( ' ', '', $value ) );
|
870 |
+
$filtered = array();
|
871 |
+
foreach ( $values_array as $single_value ) {
|
872 |
+
if ( in_array( $single_value, $allowed_atts[ $key ]['allowed_vals'], true ) ) {
|
873 |
+
$filtered[] = $single_value;
|
874 |
+
}
|
875 |
+
}
|
876 |
+
$sanitized_atts[ $key ] = implode( ',', $filtered );
|
877 |
+
break;
|
878 |
case 'alpha_numeric_and_comma' :
|
879 |
+
$value = str_replace( ' ', '', $value );
|
880 |
+
$sanitized_atts[ $key ] = preg_replace( "/[^A-Za-z0-9_,]/", '', $value );
|
881 |
break;
|
882 |
case 'feedid_chars' :
|
883 |
+
$value = str_replace( ' ', '', $value );
|
884 |
+
$feedid_chars_with_expected = preg_replace( "/[^A-Za-z0-9#_\-\/?.,]/", '', str_replace('%','', urlencode( $value ) ) );
|
885 |
+
if ( $feedid_chars_with_expected !== str_replace('%','', urlencode( $value ) ) ) {
|
886 |
+
$sanitized_atts[ $key ] = '';
|
887 |
+
} else {
|
888 |
+
$sanitized_atts[ $key ] = sanitize_text_field( $value );
|
889 |
+
}
|
890 |
+
break;
|
891 |
+
case 'user_chars' :
|
892 |
+
$value = str_replace( ' ', '', $value );
|
893 |
+
$sanitized_atts[ $key ] = preg_replace( "/[^A-Za-z0-9_,]/", '', $value );
|
894 |
+
break;
|
895 |
+
case 'hashtag_chars' :
|
896 |
+
$value = str_replace( ' ', '', $value );
|
897 |
+
$hashtag_with_expected = preg_replace( "/[^A-Za-z0-9#_\-\/?.,]/", '', str_replace('%','', urlencode( $value ) ) );
|
898 |
+
if ( $hashtag_with_expected !== str_replace('%','', urlencode( $value ) ) ) {
|
899 |
+
$sanitized_atts[ $key ] = '';
|
900 |
+
} else {
|
901 |
+
$sanitized_atts[ $key ] = sanitize_text_field( $value );
|
902 |
+
}
|
903 |
break;
|
904 |
case 'intval' :
|
905 |
$value = intval( $value );
|
917 |
} elseif ( $value < (float)$allowed_atts[ $key ]['allowed_vals'] ) {
|
918 |
$sanitized_atts[ $key ] = $value;
|
919 |
}
|
920 |
+
|
921 |
if ( floor( $value ) === $value ) {
|
922 |
$sanitized_atts[ $key ] = (int)$value;
|
923 |
}
|
932 |
$sanitized_atts[ $key ] = 'false';
|
933 |
}
|
934 |
|
935 |
+
break;
|
936 |
+
case 'color' :
|
937 |
+
if ( strpos( $value, 'rgb' ) === false ) {
|
938 |
+
$sanitized_atts[ $key ] = sanitize_hex_color( $value );
|
939 |
+
} else {
|
940 |
+
$sanitized_atts[ $key ] = preg_replace( "/[^rgba0-9.,()]/", '', $value );
|
941 |
+
}
|
942 |
+
|
943 |
+
break;
|
944 |
+
case 'pxsize' :
|
945 |
+
if ( strpos( $value, 'inherit' ) !== false ) {
|
946 |
+
$sanitized_atts[ $key ] = 'inherit';
|
947 |
+
} else {
|
948 |
+
$sanitized_atts[ $key ] = preg_replace( "/[^0-9]/", '', $value );
|
949 |
+
}
|
950 |
+
|
951 |
+
break;
|
952 |
+
case 'numeric_and_comma' :
|
953 |
+
$sanitized_atts[ $key ] = preg_replace( "/[^0-9,]/", '', $value );
|
954 |
+
|
955 |
+
break;
|
956 |
+
case 'inc_ex' :
|
957 |
+
$values_array = explode( ',', str_replace( ' ', '', $value ) );
|
958 |
+
$filtered = array();
|
959 |
+
foreach ( $values_array as $single_value ) {
|
960 |
+
if ( strlen( $single_value ) < $allowed_atts[ $key ]['allowed_vals'] ) {
|
961 |
+
$filtered[] = $single_value;
|
962 |
+
}
|
963 |
+
}
|
964 |
+
$sanitized_atts[ $key ] = implode( ',', $filtered );
|
965 |
break;
|
966 |
}
|
967 |
}
|
inc/if-functions.php
CHANGED
@@ -41,7 +41,7 @@ function display_instagram( $atts = array() ) {
|
|
41 |
ob_start(); ?>
|
42 |
<div id="sbi_mod_error" <?php echo $style; ?>>
|
43 |
<span><?php esc_html_e('This error message is only visible to WordPress admins', 'instagram-feed' ); ?></span><br />
|
44 |
-
<p><
|
45 |
<p><?php esc_html_e( 'Please go to the Instagram Feed settings page to connect an account.', 'instagram-feed' ); ?></p>
|
46 |
</div>
|
47 |
<?php
|
@@ -1228,7 +1228,7 @@ function sb_instagram_custom_css() {
|
|
1228 |
isset($options[ 'sb_instagram_custom_css' ]) ? $sb_instagram_custom_css = trim($options['sb_instagram_custom_css']) : $sb_instagram_custom_css = '';
|
1229 |
|
1230 |
//Show CSS if an admin (so can see Hide Photos link), if including Custom CSS or if hiding some photos
|
1231 |
-
( current_user_can( 'edit_posts' ) || !empty($sb_instagram_custom_css)
|
1232 |
|
1233 |
if( $sbi_show_css ) echo '<!-- Instagram Feed CSS -->';
|
1234 |
if( $sbi_show_css ) echo "\r\n";
|
41 |
ob_start(); ?>
|
42 |
<div id="sbi_mod_error" <?php echo $style; ?>>
|
43 |
<span><?php esc_html_e('This error message is only visible to WordPress admins', 'instagram-feed' ); ?></span><br />
|
44 |
+
<p><strong><?php esc_html_e( 'Error: No connected account.', 'instagram-feed' ); ?></strong>
|
45 |
<p><?php esc_html_e( 'Please go to the Instagram Feed settings page to connect an account.', 'instagram-feed' ); ?></p>
|
46 |
</div>
|
47 |
<?php
|
1228 |
isset($options[ 'sb_instagram_custom_css' ]) ? $sb_instagram_custom_css = trim($options['sb_instagram_custom_css']) : $sb_instagram_custom_css = '';
|
1229 |
|
1230 |
//Show CSS if an admin (so can see Hide Photos link), if including Custom CSS or if hiding some photos
|
1231 |
+
( current_user_can( 'edit_posts' ) || !empty($sb_instagram_custom_css) ) ? $sbi_show_css = true : $sbi_show_css = false;
|
1232 |
|
1233 |
if( $sbi_show_css ) echo '<!-- Instagram Feed CSS -->';
|
1234 |
if( $sbi_show_css ) echo "\r\n";
|
instagram-feed.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Smash Balloon Instagram Feed
|
4 |
Plugin URI: https://smashballoon.com/instagram-feed
|
5 |
Description: Display beautifully clean, customizable, and responsive Instagram feeds.
|
6 |
-
Version: 2.9.
|
7 |
Author: Smash Balloon
|
8 |
Author URI: https://smashballoon.com/
|
9 |
License: GPLv2 or later
|
@@ -23,7 +23,7 @@ along with this program; if not, write to the Free Software
|
|
23 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
24 |
*/
|
25 |
if ( ! defined( 'SBIVER' ) ) {
|
26 |
-
define( 'SBIVER', '2.9.
|
27 |
}
|
28 |
// Db version.
|
29 |
if ( ! defined( 'SBI_DBVERSION' ) ) {
|
@@ -834,4 +834,4 @@ if ( function_exists( 'sb_instagram_feed_init' ) ) {
|
|
834 |
|
835 |
}
|
836 |
add_action( 'sb_instagram_twicedaily', 'sbi_do_token_refreshes' );
|
837 |
-
}
|
3 |
Plugin Name: Smash Balloon Instagram Feed
|
4 |
Plugin URI: https://smashballoon.com/instagram-feed
|
5 |
Description: Display beautifully clean, customizable, and responsive Instagram feeds.
|
6 |
+
Version: 2.9.6
|
7 |
Author: Smash Balloon
|
8 |
Author URI: https://smashballoon.com/
|
9 |
License: GPLv2 or later
|
23 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
24 |
*/
|
25 |
if ( ! defined( 'SBIVER' ) ) {
|
26 |
+
define( 'SBIVER', '2.9.6' );
|
27 |
}
|
28 |
// Db version.
|
29 |
if ( ! defined( 'SBI_DBVERSION' ) ) {
|
834 |
|
835 |
}
|
836 |
add_action( 'sb_instagram_twicedaily', 'sbi_do_token_refreshes' );
|
837 |
+
}
|
js/sb-instagram-admin-2-2.js
CHANGED
@@ -374,7 +374,7 @@ jQuery(document).ready(function($) {
|
|
374 |
//sbi-bus-account-error
|
375 |
if (window.location.hash && window.location.hash === '#test') {
|
376 |
window.location.hash = '';
|
377 |
-
$('#sbi-bus-account-error').html('<p style="margin-top: 5px;"><
|
378 |
'Please check to make sure that the token you entered is correct.</p>')
|
379 |
}
|
380 |
|
@@ -473,7 +473,7 @@ jQuery(document).ready(function($) {
|
|
473 |
function sbiInitUserRemove(el,targetClass) {
|
474 |
el.on('click',function(event) {
|
475 |
event.preventDefault();
|
476 |
-
targetClass = $('input[name=sb_instagram_type]:checked').val();
|
477 |
|
478 |
var $clicked = $(this),
|
479 |
accountID = $clicked.closest('.sbi_connected_account').attr('data-userid');
|
@@ -492,7 +492,7 @@ jQuery(document).ready(function($) {
|
|
492 |
|
493 |
function sbiInitUserAdd(el,targetClass) {
|
494 |
el.on('click',function(event) {
|
495 |
-
targetClass = $('input[name=sb_instagram_type]:checked').val();
|
496 |
event.preventDefault();
|
497 |
var $clicked = $(this),
|
498 |
$closest = $clicked.closest('.sbi_connected_account'),
|
374 |
//sbi-bus-account-error
|
375 |
if (window.location.hash && window.location.hash === '#test') {
|
376 |
window.location.hash = '';
|
377 |
+
$('#sbi-bus-account-error').html('<p style="margin-top: 5px;"><strong style="font-size: 16px">Couldn\'t connect an account with this access token</strong><br />' +
|
378 |
'Please check to make sure that the token you entered is correct.</p>')
|
379 |
}
|
380 |
|
473 |
function sbiInitUserRemove(el,targetClass) {
|
474 |
el.on('click',function(event) {
|
475 |
event.preventDefault();
|
476 |
+
var targetClass = $('input[name=sb_instagram_type]:checked').val();
|
477 |
|
478 |
var $clicked = $(this),
|
479 |
accountID = $clicked.closest('.sbi_connected_account').attr('data-userid');
|
492 |
|
493 |
function sbiInitUserAdd(el,targetClass) {
|
494 |
el.on('click',function(event) {
|
495 |
+
var targetClass = $('input[name=sb_instagram_type]:checked').val();
|
496 |
event.preventDefault();
|
497 |
var $clicked = $(this),
|
498 |
$closest = $clicked.closest('.sbi_connected_account'),
|
languages/instagram-feed.pot
CHANGED
@@ -107,9 +107,9 @@ msgstr ""
|
|
107 |
#: inc/admin/actions.php:1073
|
108 |
#, php-format
|
109 |
msgid ""
|
110 |
-
"<
|
111 |
-
"very often, but for a limited time we're offering <
|
112 |
-
"900;\">60% off</
|
113 |
"plugin."
|
114 |
msgstr ""
|
115 |
|
@@ -124,9 +124,9 @@ msgstr ""
|
|
124 |
#: inc/admin/actions.php:1091
|
125 |
#, php-format
|
126 |
msgid ""
|
127 |
-
"<
|
128 |
"for using our free Instagram Feed plugin. For a limited time, we're offering "
|
129 |
-
"<
|
130 |
"users."
|
131 |
msgstr ""
|
132 |
|
@@ -208,12 +208,12 @@ msgid ""
|
|
208 |
msgstr ""
|
209 |
|
210 |
#: inc/admin/main.php:665
|
211 |
-
msgid "<
|
212 |
msgstr ""
|
213 |
|
214 |
#: inc/admin/main.php:667
|
215 |
msgid ""
|
216 |
-
"<
|
217 |
"disruption with this feed."
|
218 |
msgstr ""
|
219 |
|
@@ -303,15 +303,15 @@ msgstr ""
|
|
303 |
|
304 |
#: inc/admin/main.php:815
|
305 |
msgid ""
|
306 |
-
"<p><
|
307 |
-
"account using the button above.</p><p style='padding-top:8px;'><
|
308 |
-
"Posts from Other Instagram Accounts</
|
309 |
"Instagram API it is no longer possible to display photos from other "
|
310 |
"Instagram accounts which you do not have access to. You can only display the "
|
311 |
"user feed of an account which you connect above. You can connect as many "
|
312 |
"account as you like by logging in using the button above, or manually copy/"
|
313 |
"pasting an Access Token by selecting the 'Manually Connect an Account' "
|
314 |
-
"option.</p><p style='padding-top:10px;'><
|
315 |
"only possible to display feeds from Instagram accounts which you own. In "
|
316 |
"order to display feeds from multiple accounts, first connect them above and "
|
317 |
"then use the buttons to add the account either to your primary feed or to "
|
@@ -409,23 +409,23 @@ msgstr ""
|
|
409 |
|
410 |
#: inc/admin/main.php:882
|
411 |
msgid ""
|
412 |
-
"<
|
413 |
"cache expires then the plugin will check Facebook for new posts the next "
|
414 |
"time that the feed is loaded. You can choose how long this data should be "
|
415 |
"cached for. If you set the time to 60 minutes then the plugin will clear the "
|
416 |
"cached data after that length of time, and the next time the page is viewed "
|
417 |
-
"it will check for new data. <
|
418 |
"the plugin not updating automatically then try enabling the setting labeled "
|
419 |
-
"<
|
420 |
"'Customize' tab."
|
421 |
msgstr ""
|
422 |
|
423 |
#: inc/admin/main.php:884
|
424 |
msgid ""
|
425 |
-
"<
|
426 |
"will check for new data in the background so that the feed is updated behind "
|
427 |
"the scenes. You can select at what time and how often the plugin should "
|
428 |
-
"check for new data using the settings below. <
|
429 |
"plugin will initially check for data from Instagram when the page first "
|
430 |
"loads, but then after that will check in the background on the schedule "
|
431 |
"selected - unless the cache is cleared.</p>"
|
@@ -1222,7 +1222,7 @@ msgstr ""
|
|
1222 |
|
1223 |
#: inc/admin/main.php:1783
|
1224 |
msgid ""
|
1225 |
-
"<
|
1226 |
"allow you to hide posts, block users, and create white lists from the front "
|
1227 |
"end using a visual interface. Visit <a href='https://smashballoon.com/guide-"
|
1228 |
"to-moderation-mode/?utm_source=plugin-free&utm_campaign=sbi' "
|
@@ -1824,9 +1824,9 @@ msgstr ""
|
|
1824 |
#: inc/admin/main.php:2392
|
1825 |
msgid ""
|
1826 |
"Watch a short video demonstrating how to set up, customize and use the "
|
1827 |
-
"plugin.<br /><
|
1828 |
-
"the <
|
1829 |
-
"free&utm_campaign=sbi' target='_blank'>Pro version</a></
|
1830 |
"but the process is the same for this free version. The only difference is "
|
1831 |
"some of the features available."
|
1832 |
msgstr ""
|
@@ -1893,8 +1893,8 @@ msgstr ""
|
|
1893 |
#: inc/admin/main.php:2427
|
1894 |
msgid ""
|
1895 |
"Still need help? Submit a ticket and one of our support experts will get "
|
1896 |
-
"back to you as soon as possible.<br /><
|
1897 |
-
"<
|
1898 |
msgstr ""
|
1899 |
|
1900 |
#: inc/admin/main.php:2433
|
107 |
#: inc/admin/actions.php:1073
|
108 |
#, php-format
|
109 |
msgid ""
|
110 |
+
"<strong style=\"font-weight: 900;\">Exclusive offer!</strong> We don't run promotions "
|
111 |
+
"very often, but for a limited time we're offering <strong style=\"font-weight: "
|
112 |
+
"900;\">60% off</strong> our Pro version to all users of our free Instagram Feed "
|
113 |
"plugin."
|
114 |
msgstr ""
|
115 |
|
124 |
#: inc/admin/actions.php:1091
|
125 |
#, php-format
|
126 |
msgid ""
|
127 |
+
"<strong style=\"font-weight: 900;\">Black Friday/Cyber Monday Deal!</strong> Thank you "
|
128 |
"for using our free Instagram Feed plugin. For a limited time, we're offering "
|
129 |
+
"<strong style=\"font-weight: 900;\">60% off</strong> the Pro version for all of our "
|
130 |
"users."
|
131 |
msgstr ""
|
132 |
|
208 |
msgstr ""
|
209 |
|
210 |
#: inc/admin/main.php:665
|
211 |
+
msgid "<strong>Action Needed:</strong> Reconnect this account to allow feed to update."
|
212 |
msgstr ""
|
213 |
|
214 |
#: inc/admin/main.php:667
|
215 |
msgid ""
|
216 |
+
"<strong>Action Needed:</strong> Reconnect this account before March 31, 2020 to avoid "
|
217 |
"disruption with this feed."
|
218 |
msgstr ""
|
219 |
|
303 |
|
304 |
#: inc/admin/main.php:815
|
305 |
msgid ""
|
306 |
+
"<p><strong>Displaying Posts from Your User Account</strong><br />Simply connect an "
|
307 |
+
"account using the button above.</p><p style='padding-top:8px;'><strong>Displaying "
|
308 |
+
"Posts from Other Instagram Accounts</strong><br />Due to recent changes in the "
|
309 |
"Instagram API it is no longer possible to display photos from other "
|
310 |
"Instagram accounts which you do not have access to. You can only display the "
|
311 |
"user feed of an account which you connect above. You can connect as many "
|
312 |
"account as you like by logging in using the button above, or manually copy/"
|
313 |
"pasting an Access Token by selecting the 'Manually Connect an Account' "
|
314 |
+
"option.</p><p style='padding-top:10px;'><strong>Multiple Acounts</strong><br />It is "
|
315 |
"only possible to display feeds from Instagram accounts which you own. In "
|
316 |
"order to display feeds from multiple accounts, first connect them above and "
|
317 |
"then use the buttons to add the account either to your primary feed or to "
|
409 |
|
410 |
#: inc/admin/main.php:882
|
411 |
msgid ""
|
412 |
+
"<strong>1. When the page loads</strong><br>Selecting this option means that when the "
|
413 |
"cache expires then the plugin will check Facebook for new posts the next "
|
414 |
"time that the feed is loaded. You can choose how long this data should be "
|
415 |
"cached for. If you set the time to 60 minutes then the plugin will clear the "
|
416 |
"cached data after that length of time, and the next time the page is viewed "
|
417 |
+
"it will check for new data. <strong>Tip:</strong> If you're experiencing an issue with "
|
418 |
"the plugin not updating automatically then try enabling the setting labeled "
|
419 |
+
"<strong>'Force cache to clear on interval'</strong> which is located on the "
|
420 |
"'Customize' tab."
|
421 |
msgstr ""
|
422 |
|
423 |
#: inc/admin/main.php:884
|
424 |
msgid ""
|
425 |
+
"<strong>2. In the background</strong><br>Selecting this option means that the plugin "
|
426 |
"will check for new data in the background so that the feed is updated behind "
|
427 |
"the scenes. You can select at what time and how often the plugin should "
|
428 |
+
"check for new data using the settings below. <strong>Please note</strong> that the "
|
429 |
"plugin will initially check for data from Instagram when the page first "
|
430 |
"loads, but then after that will check in the background on the schedule "
|
431 |
"selected - unless the cache is cleared.</p>"
|
1222 |
|
1223 |
#: inc/admin/main.php:1783
|
1224 |
msgid ""
|
1225 |
+
"<strong>Visual Moderation Mode</strong><br />This adds a button to each feed that will "
|
1226 |
"allow you to hide posts, block users, and create white lists from the front "
|
1227 |
"end using a visual interface. Visit <a href='https://smashballoon.com/guide-"
|
1228 |
"to-moderation-mode/?utm_source=plugin-free&utm_campaign=sbi' "
|
1824 |
#: inc/admin/main.php:2392
|
1825 |
msgid ""
|
1826 |
"Watch a short video demonstrating how to set up, customize and use the "
|
1827 |
+
"plugin.<br /><strong>Please note</strong> that the video shows the set up and use of "
|
1828 |
+
"the <strong><a href='https://smashballoon.com/instagram-feed/?utm_source=plugin-"
|
1829 |
+
"free&utm_campaign=sbi' target='_blank'>Pro version</a></strong> of the plugin, "
|
1830 |
"but the process is the same for this free version. The only difference is "
|
1831 |
"some of the features available."
|
1832 |
msgstr ""
|
1893 |
#: inc/admin/main.php:2427
|
1894 |
msgid ""
|
1895 |
"Still need help? Submit a ticket and one of our support experts will get "
|
1896 |
+
"back to you as soon as possible.<br /><strong>Important:</strong> Please include your "
|
1897 |
+
"<strong>System Info</strong> below with all support requests."
|
1898 |
msgstr ""
|
1899 |
|
1900 |
#: inc/admin/main.php:2433
|