Custom Facebook Feed - Version 4.1.4

Version Description

  • Tweak: Updated compatibility with the upcoming WordPress 6.0 release.
  • Tweak: Made improvements to how notices are displayed on our plugin settings pages.
  • Fix: Fixed a PHP error that would occur during some API error reports.
Download this release

Release Info

Developer Craig at Smash Balloon
Plugin Icon 128x128 Custom Facebook Feed
Version 4.1.4
Comparing to
See all releases

Code changes from version 4.1.3 to 4.1.4

README.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: smashballoon
3
  Tags: Facebook, Facebook feed, Facebook posts, Facebook group, Facebook page
4
  Requires at least: 4.1
5
  Requires PHP: 5.6
6
- Tested up to: 5.9
7
- Stable tag: 4.1.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -262,6 +262,11 @@ The most common reason for this is that an add-on or extension you have installe
262
  9. It's super easy to display your Facebook feed in any page or post
263
 
264
  == Changelog ==
 
 
 
 
 
265
  = 4.1.3 =
266
  * Tweak: Updated our logo and color scheme throughout the plugin to match our new [website](https://smashballoon.com/).
267
  * Tweak: Minified the CSS and JavaScript files for better performance.
3
  Tags: Facebook, Facebook feed, Facebook posts, Facebook group, Facebook page
4
  Requires at least: 4.1
5
  Requires PHP: 5.6
6
+ Tested up to: 6.0
7
+ Stable tag: 4.1.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
262
  9. It's super easy to display your Facebook feed in any page or post
263
 
264
  == Changelog ==
265
+ = 4.1.4 =
266
+ * Tweak: Updated compatibility with the upcoming WordPress 6.0 release.
267
+ * Tweak: Made improvements to how notices are displayed on our plugin settings pages.
268
+ * Fix: Fixed a PHP error that would occur during some API error reports.
269
+
270
  = 4.1.3 =
271
  * Tweak: Updated our logo and color scheme throughout the plugin to match our new [website](https://smashballoon.com/).
272
  * Tweak: Minified the CSS and JavaScript files for better performance.
admin/assets/js/settings.js CHANGED
@@ -106,12 +106,7 @@ var settings_data = {
106
  fullScreenLoader : false,
107
  appLoaded : false,
108
  previewLoaded : false,
109
- loadingBar : true,
110
- notificationElement : {
111
- type : 'success', // success, error, warning, message
112
- text : '',
113
- shown : null
114
- }
115
  };
116
 
117
  // The tab component
106
  fullScreenLoader : false,
107
  appLoaded : false,
108
  previewLoaded : false,
109
+ loadingBar : true
 
 
 
 
 
110
  };
111
 
112
  // The tab component
admin/assets/js/support.js CHANGED
@@ -1,7 +1,6 @@
1
  var support_data = {
2
  genericText: cff_support.genericText,
3
  articles: cff_support.articles,
4
- links: cff_support.links,
5
  system_info: cff_support.system_info,
6
  system_info_n: cff_support.system_info_n,
7
  exportFeed: 'none',
1
  var support_data = {
2
  genericText: cff_support.genericText,
3
  articles: cff_support.articles,
 
4
  system_info: cff_support.system_info,
5
  system_info_n: cff_support.system_info_n,
6
  exportFeed: 'none',
admin/builder/assets/js/builder.js CHANGED
@@ -2067,13 +2067,10 @@ cffBuilder = new Vue({
2067
  switch (currentDevice) {
2068
  case 'desktop':
2069
  return self.customizerFeedData.settings.cols;
2070
- break;
2071
  case 'tablet':
2072
  return self.customizerFeedData.settings.colstablet;
2073
- break;
2074
  case 'mobile':
2075
  return self.customizerFeedData.settings.colsmobile;
2076
- break;
2077
  }
2078
  }
2079
  return false;
@@ -2698,7 +2695,6 @@ cffBuilder = new Vue({
2698
  'domain' : domain
2699
  }
2700
  };
2701
- break;
2702
  case 'link':
2703
  var domain = (self.hasOwnNestedProperty( dataObject, 'unshimmed_url')) ? (new URL(dataObject.unshimmed_url)).hostname : null;
2704
  return {
@@ -2711,7 +2707,6 @@ cffBuilder = new Vue({
2711
  'domain' : domain
2712
  }
2713
  };
2714
- break;
2715
  }
2716
  }
2717
  }else if(post.embed_html){
2067
  switch (currentDevice) {
2068
  case 'desktop':
2069
  return self.customizerFeedData.settings.cols;
 
2070
  case 'tablet':
2071
  return self.customizerFeedData.settings.colstablet;
 
2072
  case 'mobile':
2073
  return self.customizerFeedData.settings.colsmobile;
 
2074
  }
2075
  }
2076
  return false;
2695
  'domain' : domain
2696
  }
2697
  };
 
2698
  case 'link':
2699
  var domain = (self.hasOwnNestedProperty( dataObject, 'unshimmed_url')) ? (new URL(dataObject.unshimmed_url)).hostname : null;
2700
  return {
2707
  'domain' : domain
2708
  }
2709
  };
 
2710
  }
2711
  }
2712
  }else if(post.embed_html){
admin/builder/templates/preview/header.php CHANGED
@@ -2,7 +2,7 @@
2
  <!--Visual header-->
3
  <div class="cff-preview-header-visual cff-fb-fs" v-if="customizerFeedData.settings.headertype == 'visual'" :data-header-avatar="valueIsEnabled(customizerFeedData.settings.headername) ? 'shown' : 'hidden'">
4
  <div class="cff-preview-header-cover cff-fb-fs" v-if="valueIsEnabled(customizerFeedData.settings.headercover)">
5
- <img v-if="hasOwnNestedProperty(customizerFeedData, 'header.cover.source')" :src="customizerFeedData.header.cover.source">
6
  <div class="cff-preview-header-likebox" v-if="valueIsEnabled(customizerFeedData.settings.headerbio)">
7
  <div v-html="svgIcons['facebook']"></div>
8
  <span>{{customizerFeedData.header.fan_count}}</span>
@@ -10,7 +10,7 @@
10
  </div>
11
  <div class="cff-preview-header-info-ctn cff-fb-fs">
12
  <div class="cff-preview-header-avatar" v-if="valueIsEnabled(customizerFeedData.settings.headername)" >
13
- <img v-if="hasOwnNestedProperty(customizerFeedData, 'header.picture.data.url')" :src="customizerFeedData.header.picture.data.url">
14
  </div>
15
  <div class="cff-preview-header-info">
16
  <h3 class="cff-preview-header-name" v-if="valueIsEnabled(customizerFeedData.settings.headername)" >{{customizerFeedData.header.name}}</h3>
2
  <!--Visual header-->
3
  <div class="cff-preview-header-visual cff-fb-fs" v-if="customizerFeedData.settings.headertype == 'visual'" :data-header-avatar="valueIsEnabled(customizerFeedData.settings.headername) ? 'shown' : 'hidden'">
4
  <div class="cff-preview-header-cover cff-fb-fs" v-if="valueIsEnabled(customizerFeedData.settings.headercover)">
5
+ <img v-if="hasOwnNestedProperty(customizerFeedData, 'header.cover.source')" :src="customizerFeedData.header.cover.source" alt="Facebook Page Cover Photo">
6
  <div class="cff-preview-header-likebox" v-if="valueIsEnabled(customizerFeedData.settings.headerbio)">
7
  <div v-html="svgIcons['facebook']"></div>
8
  <span>{{customizerFeedData.header.fan_count}}</span>
10
  </div>
11
  <div class="cff-preview-header-info-ctn cff-fb-fs">
12
  <div class="cff-preview-header-avatar" v-if="valueIsEnabled(customizerFeedData.settings.headername)" >
13
+ <img v-if="hasOwnNestedProperty(customizerFeedData, 'header.picture.data.url')" :src="customizerFeedData.header.picture.data.url" alt="Facebook Page Header Avatar">
14
  </div>
15
  <div class="cff-preview-header-info">
16
  <h3 class="cff-preview-header-name" v-if="valueIsEnabled(customizerFeedData.settings.headername)" >{{customizerFeedData.header.name}}</h3>
admin/builder/templates/preview/post-types/albums.php CHANGED
@@ -3,7 +3,7 @@
3
  <div class="cff-post-item-content cff-fb-fs">
4
  <div class="cff-albums-item-cover cff-fb-fs">
5
  <div v-if="customizerFeedData.settings.feedlayout == 'grid'" :style="'background:url('+(hasOwnNestedProperty(singlePost, 'cover_photo.source') ? singlePost.cover_photo.source : '')+')'" class="cff-post-grid-image"></div>
6
- <img v-if="customizerFeedData.settings.feedlayout != 'grid'" :src="hasOwnNestedProperty(singlePost, 'cover_photo.source') ? singlePost.cover_photo.source : ''" class="cff-fb-fs">
7
  </div>
8
  <div class="cff-albums-item-info cff-singlemedia-item-info cff-fb-fs">
9
  <h4 class="cff-fb-fs">
@@ -20,8 +20,8 @@
20
 
21
  <section id="cff-post-list-section" class="cff-preview-posts-list-ctn cff-preview-media-list-ctn cff-fb-fs" :data-dimmed="!isSectionHighLighted('postList')" :class="customizerFeedData.settings.feedlayout == 'masonry' ? 'cff-preview-posts-masonry' : (customizerFeedData.settings.feedlayout == 'grid' ? 'cff-preview-posts-grid' : '')" v-if="customizerFeedData.settings.feedtype == 'singlealbum'" :data-generate-masonry="customizerFeedData.settings.feedlayout == 'masonry' || customizerFeedData.settings.feedlayout == 'grid' ? generateMasonryGridHeight() : false" :data-feed-layout="customizerFeedData.settings.feedlayout" :data-feed-type="customizerFeedData.settings.feedtype" :data-feed-columns="getFeedColumns()">
22
  <div class="cff-photos-item-ctn cff-post-item-ctn cff-fb-fs cff-media-item-ctn" v-for="(singlePost, postIndex) in customizerFeedData.posts" :style="customizerFeedData.settings.feedlayout == 'carousel' ? 'background-image:url(' + processPhotoSource(singlePost) + ')!important;' : ''">
23
- <img :src="processPhotoSource(singlePost)" v-if="customizerFeedData.settings.feedlayout == 'masonry'" class="cff-post-item-content cff-media-item-image-poster cff-fb-fs">
24
  <div v-if="customizerFeedData.settings.feedlayout == 'grid'" :style="'background:url('+processPhotoSource(singlePost)+')'" class="cff-post-grid-image"></div>
25
- <img :src="processPhotoSource(singlePost)" v-if="customizerFeedData.settings.feedlayout != 'carousel'" class="cff-media-item-image-real cff-fb-fs">
26
  </div>
27
  </section>
3
  <div class="cff-post-item-content cff-fb-fs">
4
  <div class="cff-albums-item-cover cff-fb-fs">
5
  <div v-if="customizerFeedData.settings.feedlayout == 'grid'" :style="'background:url('+(hasOwnNestedProperty(singlePost, 'cover_photo.source') ? singlePost.cover_photo.source : '')+')'" class="cff-post-grid-image"></div>
6
+ <img v-if="customizerFeedData.settings.feedlayout != 'grid'" :src="hasOwnNestedProperty(singlePost, 'cover_photo.source') ? singlePost.cover_photo.source : ''" class="cff-fb-fs" alt="Facebook Album Cover Photo">
7
  </div>
8
  <div class="cff-albums-item-info cff-singlemedia-item-info cff-fb-fs">
9
  <h4 class="cff-fb-fs">
20
 
21
  <section id="cff-post-list-section" class="cff-preview-posts-list-ctn cff-preview-media-list-ctn cff-fb-fs" :data-dimmed="!isSectionHighLighted('postList')" :class="customizerFeedData.settings.feedlayout == 'masonry' ? 'cff-preview-posts-masonry' : (customizerFeedData.settings.feedlayout == 'grid' ? 'cff-preview-posts-grid' : '')" v-if="customizerFeedData.settings.feedtype == 'singlealbum'" :data-generate-masonry="customizerFeedData.settings.feedlayout == 'masonry' || customizerFeedData.settings.feedlayout == 'grid' ? generateMasonryGridHeight() : false" :data-feed-layout="customizerFeedData.settings.feedlayout" :data-feed-type="customizerFeedData.settings.feedtype" :data-feed-columns="getFeedColumns()">
22
  <div class="cff-photos-item-ctn cff-post-item-ctn cff-fb-fs cff-media-item-ctn" v-for="(singlePost, postIndex) in customizerFeedData.posts" :style="customizerFeedData.settings.feedlayout == 'carousel' ? 'background-image:url(' + processPhotoSource(singlePost) + ')!important;' : ''">
23
+ <img :src="processPhotoSource(singlePost)" v-if="customizerFeedData.settings.feedlayout == 'masonry'" class="cff-post-item-content cff-media-item-image-poster cff-fb-fs" alt="Facebook Post Image">
24
  <div v-if="customizerFeedData.settings.feedlayout == 'grid'" :style="'background:url('+processPhotoSource(singlePost)+')'" class="cff-post-grid-image"></div>
25
+ <img :src="processPhotoSource(singlePost)" v-if="customizerFeedData.settings.feedlayout != 'carousel'" class="cff-media-item-image-real cff-fb-fs" alt="Facebook Post Image">
26
  </div>
27
  </section>
admin/builder/templates/preview/post-types/photos.php CHANGED
@@ -1,7 +1,7 @@
1
  <section id="cff-post-list-section" class="cff-preview-posts-list-ctn cff-preview-media-list-ctn cff-fb-fs" :class="customizerFeedData.settings.feedlayout == 'masonry' ? 'cff-preview-posts-masonry' : (customizerFeedData.settings.feedlayout == 'grid' ? 'cff-preview-posts-grid' : '')" v-if="customizerFeedData.settings.feedtype == 'photos'" :data-generate-masonry="customizerFeedData.settings.feedlayout == 'masonry' || customizerFeedData.settings.feedlayout == 'grid' ? generateMasonryGridHeight() : false" :data-feed-layout="customizerFeedData.settings.feedlayout" :data-feed-columns="getFeedColumns()">
2
  <div class="cff-photos-item-ctn cff-post-item-ctn cff-fb-fs cff-media-item-ctn" v-for="(singlePost, postIndex) in customizerFeedData.posts">
3
- <img :src="processPhotoSource(singlePost)" v-if="customizerFeedData.settings.feedlayout == 'masonry'" class="cff-post-item-content cff-media-item-image-poster cff-fb-fs">
4
  <div v-if="customizerFeedData.settings.feedlayout == 'grid'" :style="'background:url('+processPhotoSource(singlePost)+')'" class="cff-post-grid-image"></div>
5
- <img :src="processPhotoSource(singlePost)" class="cff-media-item-image-real cff-fb-fs">
6
  </div>
7
  </section>
1
  <section id="cff-post-list-section" class="cff-preview-posts-list-ctn cff-preview-media-list-ctn cff-fb-fs" :class="customizerFeedData.settings.feedlayout == 'masonry' ? 'cff-preview-posts-masonry' : (customizerFeedData.settings.feedlayout == 'grid' ? 'cff-preview-posts-grid' : '')" v-if="customizerFeedData.settings.feedtype == 'photos'" :data-generate-masonry="customizerFeedData.settings.feedlayout == 'masonry' || customizerFeedData.settings.feedlayout == 'grid' ? generateMasonryGridHeight() : false" :data-feed-layout="customizerFeedData.settings.feedlayout" :data-feed-columns="getFeedColumns()">
2
  <div class="cff-photos-item-ctn cff-post-item-ctn cff-fb-fs cff-media-item-ctn" v-for="(singlePost, postIndex) in customizerFeedData.posts">
3
+ <img :src="processPhotoSource(singlePost)" v-if="customizerFeedData.settings.feedlayout == 'masonry'" class="cff-post-item-content cff-media-item-image-poster cff-fb-fs" alt="Facebook Post Image">
4
  <div v-if="customizerFeedData.settings.feedlayout == 'grid'" :style="'background:url('+processPhotoSource(singlePost)+')'" class="cff-post-grid-image"></div>
5
+ <img :src="processPhotoSource(singlePost)" class="cff-media-item-image-real cff-fb-fs" alt="Facebook Post Image">
6
  </div>
7
  </section>
admin/builder/templates/sections/create-feed/featured-post.php CHANGED
@@ -14,12 +14,12 @@
14
  </div>
15
  <div class="cff-fb-sglelm-right">
16
  <div class="cff-fb-sglelm-img-ctn cff-fb-sglelm-img-pf" v-if="!featuredPostFeedInfo.isError && !featuredPostFeedInfo.success">
17
- <img src="<?php echo CFF_BUILDER_URL .'assets/img/process-featured-post.png' ?>">
18
  <strong>{{addFeaturedPostScreen.preview}}</strong>
19
  <span>{{addFeaturedPostScreen.previewDescription}}</span>
20
  </div>
21
  <div class="cff-fb-sglelm-img-ctn cff-fb-sglelm-img-errorctn" v-if="featuredPostFeedInfo.isError">
22
- <img src="<?php echo CFF_BUILDER_URL .'assets/img/process-error-fetch.png' ?>">
23
  <span class="cff-fb-fs">{{addFeaturedPostScreen.couldNotFetch}}</span>
24
  </div>
25
  <div class="cff-fb-sglelm-preview cff-fb-fs" v-if="!featuredPostFeedInfo.isError && featuredPostFeedInfo.success" :style="'background-image:url(' + (hasOwnNestedProperty(featuredPostFeedInfo, 'info.thumbnail') ? featuredPostFeedInfo.info.thumbnail : '') + ');'">
14
  </div>
15
  <div class="cff-fb-sglelm-right">
16
  <div class="cff-fb-sglelm-img-ctn cff-fb-sglelm-img-pf" v-if="!featuredPostFeedInfo.isError && !featuredPostFeedInfo.success">
17
+ <img src="<?php echo CFF_BUILDER_URL .'assets/img/process-featured-post.png' ?>" alt="Fetching Preview">
18
  <strong>{{addFeaturedPostScreen.preview}}</strong>
19
  <span>{{addFeaturedPostScreen.previewDescription}}</span>
20
  </div>
21
  <div class="cff-fb-sglelm-img-ctn cff-fb-sglelm-img-errorctn" v-if="featuredPostFeedInfo.isError">
22
+ <img src="<?php echo CFF_BUILDER_URL .'assets/img/process-error-fetch.png' ?>" alt="Preview Error">
23
  <span class="cff-fb-fs">{{addFeaturedPostScreen.couldNotFetch}}</span>
24
  </div>
25
  <div class="cff-fb-sglelm-preview cff-fb-fs" v-if="!featuredPostFeedInfo.isError && featuredPostFeedInfo.success" :style="'background-image:url(' + (hasOwnNestedProperty(featuredPostFeedInfo, 'info.thumbnail') ? featuredPostFeedInfo.info.thumbnail : '') + ');'">
admin/builder/templates/sections/create-feed/single-album.php CHANGED
@@ -14,12 +14,12 @@
14
  </div>
15
  <div class="cff-fb-sglelm-right">
16
  <div class="cff-fb-sglelm-img-ctn" v-if="!singleAlbumFeedInfo.isError && !singleAlbumFeedInfo.success">
17
- <img src="<?php echo CFF_BUILDER_URL .'assets/img/process-single-album.png' ?>">
18
  <strong>{{addFeaturedAlbumScreen.preview}}</strong>
19
  <span>{{addFeaturedAlbumScreen.previewDescription}}</span>
20
  </div>
21
  <div class="cff-fb-sglelm-img-ctn cff-fb-sglelm-img-errorctn" v-if="singleAlbumFeedInfo.isError">
22
- <img src="<?php echo CFF_BUILDER_URL .'assets/img/process-error-fetch.png' ?>">
23
  <span class="cff-fb-fs">{{addFeaturedAlbumScreen.couldNotFetch}}</span>
24
  </div>
25
  <div class="cff-fb-sglelm-preview cff-fb-fs" v-if="!singleAlbumFeedInfo.isError && singleAlbumFeedInfo.success" :style="'background-image:url(' + (hasOwnNestedProperty(singleAlbumFeedInfo, 'info.thumbnail') ? singleAlbumFeedInfo.info.thumbnail : '') + ');'">
14
  </div>
15
  <div class="cff-fb-sglelm-right">
16
  <div class="cff-fb-sglelm-img-ctn" v-if="!singleAlbumFeedInfo.isError && !singleAlbumFeedInfo.success">
17
+ <img src="<?php echo CFF_BUILDER_URL .'assets/img/process-single-album.png' ?>" alt="Fetching Preview">
18
  <strong>{{addFeaturedAlbumScreen.preview}}</strong>
19
  <span>{{addFeaturedAlbumScreen.previewDescription}}</span>
20
  </div>
21
  <div class="cff-fb-sglelm-img-ctn cff-fb-sglelm-img-errorctn" v-if="singleAlbumFeedInfo.isError">
22
+ <img src="<?php echo CFF_BUILDER_URL .'assets/img/process-error-fetch.png' ?>" alt="Preview Error">
23
  <span class="cff-fb-fs">{{addFeaturedAlbumScreen.couldNotFetch}}</span>
24
  </div>
25
  <div class="cff-fb-sglelm-preview cff-fb-fs" v-if="!singleAlbumFeedInfo.isError && singleAlbumFeedInfo.success" :style="'background-image:url(' + (hasOwnNestedProperty(singleAlbumFeedInfo, 'info.thumbnail') ? singleAlbumFeedInfo.info.thumbnail : '') + ');'">
admin/builder/templates/sections/empty-state.php CHANGED
@@ -27,7 +27,7 @@
27
  <p class="sb-small-p">{{welcomeScreen.customizeFeedDescription}}</p>
28
  </div>
29
  <div class="cff-fb-inf-img">
30
- <img src="<?php echo CFF_BUILDER_URL .'assets/img/welcome-1.png' ?>">
31
  </div>
32
  </div>
33
  </div>
@@ -35,7 +35,7 @@
35
  <div class="cff-fb-wlcm-inf-3 cff-fb-fs">
36
  <div class="cff-fb-inf-cnt">
37
  <div class="cff-fb-inf-img">
38
- <img src="<?php echo CFF_BUILDER_URL .'assets/img/welcome-2.png' ?>">
39
  </div>
40
  <div class="cff-fb-inf-num"><span>3</span></div>
41
  <div class="cff-fb-inf-txt">
27
  <p class="sb-small-p">{{welcomeScreen.customizeFeedDescription}}</p>
28
  </div>
29
  <div class="cff-fb-inf-img">
30
+ <img src="<?php echo CFF_BUILDER_URL .'assets/img/welcome-1.png' ?>" alt="Customize Your Feed Icon">
31
  </div>
32
  </div>
33
  </div>
35
  <div class="cff-fb-wlcm-inf-3 cff-fb-fs">
36
  <div class="cff-fb-inf-cnt">
37
  <div class="cff-fb-inf-img">
38
+ <img src="<?php echo CFF_BUILDER_URL .'assets/img/welcome-2.png' ?>" alt="Embed Your Feed Icon">
39
  </div>
40
  <div class="cff-fb-inf-num"><span>3</span></div>
41
  <div class="cff-fb-inf-txt">
admin/builder/templates/sections/select-source.php CHANGED
@@ -20,7 +20,7 @@
20
  <div class="cff-fb-srcs-item-chkbx-ic"></div>
21
  </div>
22
  <div class="cff-fb-srcs-item-avatar">
23
- <img :src="typeof source.avatar_url !== 'undefined' && source.account_type === 'group' ? source.avatar_url : 'https://graph.facebook.com/'+source.account_id+'/picture'">
24
  </div>
25
  <div class="cff-fb-srcs-item-inf">
26
  <div class="cff-fb-srcs-item-name sb-small-p sb-bold"><span>{{source.username}}</span> <span class="cff-fb-srcs-item-name-event" v-if="source.privilege == 'events'">(events)</span></div>
20
  <div class="cff-fb-srcs-item-chkbx-ic"></div>
21
  </div>
22
  <div class="cff-fb-srcs-item-avatar">
23
+ <img :src="typeof source.avatar_url !== 'undefined' && source.account_type === 'group' ? source.avatar_url : 'https://graph.facebook.com/'+source.account_id+'/picture'" alt="Page Source Avatar">
24
  </div>
25
  <div class="cff-fb-srcs-item-inf">
26
  <div class="cff-fb-srcs-item-name sb-small-p sb-bold"><span>{{source.username}}</span> <span class="cff-fb-srcs-item-name-event" v-if="source.privilege == 'events'">(events)</span></div>
admin/views/about/content.php CHANGED
@@ -64,7 +64,7 @@
64
 
65
  <div class="sb-plugins-box cff-social-wall-plugin-box">
66
  <span class="sb-box-bg-image">
67
- <img :src="social_wall.graphic">
68
  </span>
69
  <div class="plugin-box-content">
70
  <h4 class="sb-box-title">{{social_wall.title}}</h4>
64
 
65
  <div class="sb-plugins-box cff-social-wall-plugin-box">
66
  <span class="sb-box-bg-image">
67
+ <img :src="social_wall.graphic" alt="Social Wall Image">
68
  </span>
69
  <div class="plugin-box-content">
70
  <h4 class="sb-box-title">{{social_wall.title}}</h4>
admin/views/extensions/content.php CHANGED
@@ -76,7 +76,7 @@
76
 
77
  <div class="sb-plugins-box cff-social-wall-plugin-box">
78
  <span class="sb-box-bg-image">
79
- <img :src="social_wall.graphic">
80
  </span>
81
  <div class="plugin-box-content">
82
  <h4 class="sb-box-title">{{social_wall.title}}</h4>
76
 
77
  <div class="sb-plugins-box cff-social-wall-plugin-box">
78
  <span class="sb-box-bg-image">
79
+ <img :src="social_wall.graphic" alt="Social Wall Image">
80
  </span>
81
  <div class="plugin-box-content">
82
  <h4 class="sb-box-title">{{social_wall.title}}</h4>
admin/views/settings/tab/general.php CHANGED
@@ -261,7 +261,7 @@
261
  <div class="sb-srcs-item" v-for="(source, sourceIndex) in sourcesList" :class="{expanded: expandedFeedID == sourceIndex + 1, 'sb-account-has-error' : source.error !== ''}">
262
  <div class="cff-fb-srcs-item-ins">
263
  <div class="sb-srcs-item-avatar">
264
- <img :src="typeof source.avatar_url !== 'undefined' && source.account_type === 'group' ? source.avatar_url : 'https://graph.facebook.com/'+source.account_id+'/picture'">
265
  </div>
266
  <div class="sb-srcs-item-inf">
267
  <div class="sb-srcs-item-name">{{source.username}}</div>
261
  <div class="sb-srcs-item" v-for="(source, sourceIndex) in sourcesList" :class="{expanded: expandedFeedID == sourceIndex + 1, 'sb-account-has-error' : source.error !== ''}">
262
  <div class="cff-fb-srcs-item-ins">
263
  <div class="sb-srcs-item-avatar">
264
+ <img :src="typeof source.avatar_url !== 'undefined' && source.account_type === 'group' ? source.avatar_url : 'https://graph.facebook.com/'+source.account_id+'/picture'" alt="Group Source Avatar">
265
  </div>
266
  <div class="sb-srcs-item-inf">
267
  <div class="sb-srcs-item-name">{{source.username}}</div>
custom-facebook-feed.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Smash Balloon Custom Facebook Feed
4
  Plugin URI: https://smashballoon.com/custom-facebook-feed
5
  Description: Add completely customizable Facebook feeds to your WordPress site
6
- Version: 4.1.3
7
  Author: Smash Balloon
8
  Author URI: http://smashballoon.com/
9
  License: GPLv2 or later
@@ -24,7 +24,7 @@ along with this program; if not, write to the Free Software
24
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
  */
26
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
27
- define('CFFVER', '4.1.3');
28
  define( 'WPW_SL_STORE_URL', 'https://smashballoon.com/' );
29
  define( 'WPW_SL_ITEM_NAME', 'Custom Facebook Feed WordPress Plugin Personal' ); //*!*Update Plugin Name at top of file*!*
30
 
3
  Plugin Name: Smash Balloon Custom Facebook Feed
4
  Plugin URI: https://smashballoon.com/custom-facebook-feed
5
  Description: Add completely customizable Facebook feeds to your WordPress site
6
+ Version: 4.1.4
7
  Author: Smash Balloon
8
  Author URI: http://smashballoon.com/
9
  License: GPLv2 or later
24
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
  */
26
  if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
27
+ define('CFFVER', '4.1.4');
28
  define( 'WPW_SL_STORE_URL', 'https://smashballoon.com/' );
29
  define( 'WPW_SL_ITEM_NAME', 'Custom Facebook Feed WordPress Plugin Personal' ); //*!*Update Plugin Name at top of file*!*
30
 
inc/Admin/CFF_Global_Settings.php CHANGED
@@ -984,7 +984,7 @@ class CFF_Global_Settings {
984
  __( 'The “Load more” button will be disabled', 'custom-facebook-feed'),
985
  __( 'The “Like Box” widget will be disabled', 'custom-facebook-feed'),
986
  __( 'For album feeds, only the album cover image is available in lightbox', 'custom-facebook-feed'),
987
- __( 'The maximum image resoltuion will be 700px wide in the lightbox. If your images are smaller, reset the “resized images” using the button in “Advanced” section.', 'custom-facebook-feed'),
988
  )
989
  )
990
  ),
984
  __( 'The “Load more” button will be disabled', 'custom-facebook-feed'),
985
  __( 'The “Like Box” widget will be disabled', 'custom-facebook-feed'),
986
  __( 'For album feeds, only the album cover image is available in lightbox', 'custom-facebook-feed'),
987
+ __( 'The maximum image resolution will be 700px wide in the lightbox. If your images are smaller, reset the “resized images” using the button in “Advanced” section.', 'custom-facebook-feed'),
988
  )
989
  )
990
  ),
inc/Admin/CFF_Notifications.php CHANGED
@@ -242,6 +242,16 @@ class CFF_Notifications {
242
  $option = $this->get_option();
243
 
244
  foreach ( $notifications as $notification ) {
 
 
 
 
 
 
 
 
 
 
245
  // Ignore if max version has been reached
246
  if ( ! empty( $notification['maxver'] ) && version_compare( $notification['maxver'], CFFVER ) <= 0 ) {
247
  continue;
@@ -320,6 +330,15 @@ class CFF_Notifications {
320
  unset( $notifications[ $key ] );
321
  }
322
 
 
 
 
 
 
 
 
 
 
323
  // Ignore if max version has been reached
324
  if ( ! empty( $notification['maxver'] ) && version_compare( $notification['maxver'], CFFVER ) <= 0 ) {
325
  unset( $notifications[ $key ] );
@@ -344,6 +363,26 @@ class CFF_Notifications {
344
  return $notifications;
345
  }
346
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
347
  /**
348
  * Get notification data.
349
  *
@@ -519,9 +558,8 @@ class CFF_Notifications {
519
  * @since 2.18/3.17
520
  */
521
  public function output() {
522
- $current_screen = get_current_screen();
523
  // if we are one single feed page then return
524
- if ( $current_screen->base == "facebook-feed_page_cff-feed-builder" && isset( $_GET['feed_id'] ) ) {
525
  return;
526
  }
527
 
242
  $option = $this->get_option();
243
 
244
  foreach ( $notifications as $notification ) {
245
+ // Ignore if not a targeted plugin
246
+ if ( ! empty( $notification['plugin'] ) && is_array( $notification['plugin'] ) && ! in_array( self::PLUGIN, $notification['plugin'], true ) ) {
247
+ continue;
248
+ }
249
+
250
+ // Ignore if max wp version detected
251
+ if ( ! empty( $notification['maxwpver'] ) && version_compare( get_bloginfo( 'version' ), $notification['maxwpver'], '>' ) ) {
252
+ continue;
253
+ }
254
+
255
  // Ignore if max version has been reached
256
  if ( ! empty( $notification['maxver'] ) && version_compare( $notification['maxver'], CFFVER ) <= 0 ) {
257
  continue;
330
  unset( $notifications[ $key ] );
331
  }
332
 
333
+ if ( empty( $notification['recent_install_override'] ) && $this->recently_installed() ) {
334
+ unset( $notifications[ $key ] );
335
+ }
336
+
337
+ // Ignore if max wp version detected
338
+ if ( ! empty( $notification['maxwpver'] ) && version_compare( get_bloginfo( 'version' ), $notification['maxwpver'], '>' ) ) {
339
+ unset( $notifications[ $key ] );
340
+ }
341
+
342
  // Ignore if max version has been reached
343
  if ( ! empty( $notification['maxver'] ) && version_compare( $notification['maxver'], CFFVER ) <= 0 ) {
344
  unset( $notifications[ $key ] );
363
  return $notifications;
364
  }
365
 
366
+ /**
367
+ * @return bool
368
+ *
369
+ * @since 1.4.5/1.4.2
370
+ */
371
+ public function recently_installed() {
372
+ $cff_statuses_option = get_option( 'cff_statuses', array() );
373
+
374
+ if ( ! isset( $cff_statuses_option['first_install'] ) ) {
375
+ return false;
376
+ }
377
+
378
+ // Plugin was installed less than a week ago
379
+ if ( (int) $cff_statuses_option['first_install'] > time() - WEEK_IN_SECONDS ) {
380
+ return true;
381
+ }
382
+
383
+ return false;
384
+ }
385
+
386
  /**
387
  * Get notification data.
388
  *
558
  * @since 2.18/3.17
559
  */
560
  public function output() {
 
561
  // if we are one single feed page then return
562
+ if ( isset( $_GET['feed_id'] ) ) {
563
  return;
564
  }
565
 
inc/Builder/Controls/CFF_Customview_Control.php CHANGED
@@ -134,7 +134,7 @@ class CFF_Customview_Control extends CFF_Controls_Base{
134
  <div v-html="svgIcons['delete']"></div>
135
  </div>
136
  <div class="cff-fb-srcs-item-avatar">
137
- <img :src="typeof source.avatar_url !== 'undefined' && source.account_type === 'group' ? source.avatar_url : 'https://graph.facebook.com/'+source.account_id+'/picture'">
138
  </div>
139
  <div class="cff-fb-srcs-item-inf">
140
  <div class="cff-fb-srcs-item-name sb-small-p sb-bold"><span v-html="source.username"></span></div>
134
  <div v-html="svgIcons['delete']"></div>
135
  </div>
136
  <div class="cff-fb-srcs-item-avatar">
137
+ <img :src="typeof source.avatar_url !== 'undefined' && source.account_type === 'group' ? source.avatar_url : 'https://graph.facebook.com/'+source.account_id+'/picture'" alt="Group Sources Avatar">
138
  </div>
139
  <div class="cff-fb-srcs-item-inf">
140
  <div class="cff-fb-srcs-item-name sb-small-p sb-bold"><span v-html="source.username"></span></div>
inc/CFF_Error_Reporter.php CHANGED
@@ -87,12 +87,13 @@ class CFF_Error_Reporter
87
 
88
  if( $connected_account_term !== false ){
89
  if ( ! is_array( $connected_account_term ) ) {
90
- $connected_account = CFF_Utils::cff_get_account( $connected_account_term );
91
  } else {
92
  $connected_account = $connected_account_term;
 
 
93
  }
94
- $log_item .= $args['error']['message'];
95
- $this->add_connected_account_error( $connected_account, $type, $args );
96
  }
97
 
98
  //Access Token Error
@@ -755,4 +756,4 @@ class CFF_Error_Reporter
755
 
756
  }
757
 
758
- }
87
 
88
  if( $connected_account_term !== false ){
89
  if ( ! is_array( $connected_account_term ) ) {
90
+
91
  } else {
92
  $connected_account = $connected_account_term;
93
+ $log_item .= $args['error']['message'];
94
+ $this->add_connected_account_error( $connected_account, $type, $args );
95
  }
96
+
 
97
  }
98
 
99
  //Access Token Error
756
 
757
  }
758
 
759
+ }