Version Description
- Fixed: Bug on autoupdate
- Fixed: Bug on comments
Download this release
Release Info
Developer | webdorado |
Plugin | WD Facebook Feed – Custom Facebook Feed Plugin |
Version | 1.0.31 |
Comparing to | |
See all releases |
Code changes from version 1.0.30 to 1.0.31
- facebook-feed-wd.php +17 -12
- framework/WDFacebookFeed.php +15 -11
- framework/linkify/Linkify.php +219 -0
- framework/linkify/LinkifyInterface.php +48 -0
- frontend/controllers/FFWDControllerMain.php +2 -0
- frontend/views/FFWDViewBlog_style.php +4 -2
- js/ffwd_frontend.js +8 -3
- js/ffwd_gallery_box.js +20 -7
- readme.txt +29 -24
- wd/templates/display_deactivation_popup.php +24 -24
facebook-feed-wd.php
CHANGED
@@ -1,14 +1,13 @@
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
-
* Plugin Name: Facebook Feed
|
5 |
* Plugin URI: https://web-dorado.com/products/wordpress-facebook-feed-plugin.html
|
6 |
-
* Description:Facebook Feed
|
7 |
-
* Version: 1.0.
|
8 |
* Author: WebDorado
|
9 |
* Author URI: https://web-dorado.com/wordpress-plugins-bundle.html
|
10 |
* License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
|
11 |
-
* Text Domain: ffwd
|
12 |
*/
|
13 |
|
14 |
define( 'WD_FFWD_DIR', WP_PLUGIN_DIR . "/" . plugin_basename( dirname( __FILE__ ) ) );
|
@@ -576,9 +575,9 @@ function ffwd_activate() {
|
|
576 |
$wpdb->query( $wd_fb_data );
|
577 |
|
578 |
$wd_fb_data_collation = "ALTER TABLE `" . $wpdb->prefix . "wd_fb_data`
|
579 |
-
MODIFY `name` text CHARACTER SET
|
580 |
-
MODIFY `description` mediumtext CHARACTER SET
|
581 |
-
MODIFY `message` mediumtext CHARACTER SET
|
582 |
";
|
583 |
$wpdb->query( $wd_fb_data_collation );
|
584 |
|
@@ -876,17 +875,18 @@ function wd_fb_add_autoupdate_interval( $schedules ) {
|
|
876 |
|
877 |
return $schedules;
|
878 |
}
|
879 |
-
|
880 |
// wd_fb_update();
|
881 |
-
function wd_fb_update() {
|
882 |
require_once( WD_FFWD_DIR . '/framework/WDFacebookFeed.php' );
|
|
|
883 |
$current_time=current_time('timestamp');
|
884 |
$update_time=get_option('ffwd_autoupdate_time');
|
885 |
$autoupdate_interval = WDFacebookFeed::get_autoupdate_interval();
|
886 |
if(!$update_time)
|
887 |
update_option('ffwd_autoupdate_time',$autoupdate_interval*60+$current_time);
|
888 |
|
889 |
-
if($current_time>=$update_time)
|
890 |
{
|
891 |
global $wpdb;
|
892 |
$query = "SELECT * FROM " . $wpdb->prefix . "wd_fb_info WHERE `update_mode` <> 'no_update'";
|
@@ -896,7 +896,7 @@ function wd_fb_update() {
|
|
896 |
update_option('ffwd_autoupdate_time',$autoupdate_interval*60+current_time('timestamp'));
|
897 |
}
|
898 |
|
899 |
-
die();
|
900 |
|
901 |
}
|
902 |
|
@@ -1000,7 +1000,7 @@ if ( !function_exists('wd_bps_install_notice_status') ) {
|
|
1000 |
|
1001 |
function ffwd_version() {
|
1002 |
|
1003 |
-
$version = '1.0.
|
1004 |
|
1005 |
if ( get_option( 'ffwd_version' ) === false ) {
|
1006 |
add_option( 'ffwd_version', $version );
|
@@ -1054,3 +1054,8 @@ function ffwd_add_plugin_meta_links($meta_fields, $file) {
|
|
1054 |
return $meta_fields;
|
1055 |
}
|
1056 |
add_filter("plugin_row_meta", 'ffwd_add_plugin_meta_links', 10, 2);
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
2 |
|
3 |
/**
|
4 |
+
* Plugin Name: WD Facebook Feed
|
5 |
* Plugin URI: https://web-dorado.com/products/wordpress-facebook-feed-plugin.html
|
6 |
+
* Description: WD Facebook Feed is a completely customizable, responsive solution to help you display your Facebook feed on your WordPress website.
|
7 |
+
* Version: 1.0.31
|
8 |
* Author: WebDorado
|
9 |
* Author URI: https://web-dorado.com/wordpress-plugins-bundle.html
|
10 |
* License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
|
|
|
11 |
*/
|
12 |
|
13 |
define( 'WD_FFWD_DIR', WP_PLUGIN_DIR . "/" . plugin_basename( dirname( __FILE__ ) ) );
|
575 |
$wpdb->query( $wd_fb_data );
|
576 |
|
577 |
$wd_fb_data_collation = "ALTER TABLE `" . $wpdb->prefix . "wd_fb_data`
|
578 |
+
MODIFY `name` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
|
579 |
+
MODIFY `description` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
|
580 |
+
MODIFY `message` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin
|
581 |
";
|
582 |
$wpdb->query( $wd_fb_data_collation );
|
583 |
|
875 |
|
876 |
return $schedules;
|
877 |
}
|
878 |
+
add_action( 'wd_fb_schedule_event_hook', 'wd_fb_update' );
|
879 |
// wd_fb_update();
|
880 |
+
function wd_fb_update($from_plugin=0) {
|
881 |
require_once( WD_FFWD_DIR . '/framework/WDFacebookFeed.php' );
|
882 |
+
|
883 |
$current_time=current_time('timestamp');
|
884 |
$update_time=get_option('ffwd_autoupdate_time');
|
885 |
$autoupdate_interval = WDFacebookFeed::get_autoupdate_interval();
|
886 |
if(!$update_time)
|
887 |
update_option('ffwd_autoupdate_time',$autoupdate_interval*60+$current_time);
|
888 |
|
889 |
+
if(($current_time>=$update_time && $from_plugin) || !$from_plugin )
|
890 |
{
|
891 |
global $wpdb;
|
892 |
$query = "SELECT * FROM " . $wpdb->prefix . "wd_fb_info WHERE `update_mode` <> 'no_update'";
|
896 |
update_option('ffwd_autoupdate_time',$autoupdate_interval*60+current_time('timestamp'));
|
897 |
}
|
898 |
|
899 |
+
//die();
|
900 |
|
901 |
}
|
902 |
|
1000 |
|
1001 |
function ffwd_version() {
|
1002 |
|
1003 |
+
$version = '1.0.31';
|
1004 |
|
1005 |
if ( get_option( 'ffwd_version' ) === false ) {
|
1006 |
add_option( 'ffwd_version', $version );
|
1054 |
return $meta_fields;
|
1055 |
}
|
1056 |
add_filter("plugin_row_meta", 'ffwd_add_plugin_meta_links', 10, 2);
|
1057 |
+
|
1058 |
+
if (!class_exists('Linkify')) {
|
1059 |
+
include_once WD_FFWD_DIR . '/framework/linkify/LinkifyInterface.php';
|
1060 |
+
include_once WD_FFWD_DIR . '/framework/linkify/Linkify.php';
|
1061 |
+
}
|
framework/WDFacebookFeed.php
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
<?php
|
2 |
|
|
|
3 |
class WDFacebookFeed {
|
4 |
////////////////////////////////////////////////////////////////////////////////////////
|
5 |
// Events //
|
@@ -37,13 +38,13 @@ class WDFacebookFeed {
|
|
37 |
|
38 |
// Existing app ids and app secrets
|
39 |
protected static $access_tokens = array (
|
40 |
-
'
|
41 |
-
'
|
42 |
-
'
|
43 |
-
'
|
44 |
-
'
|
45 |
-
'
|
46 |
-
'
|
47 |
);
|
48 |
|
49 |
protected static $save = true;
|
@@ -56,6 +57,8 @@ class WDFacebookFeed {
|
|
56 |
// Constructor & Destructor //
|
57 |
////////////////////////////////////////////////////////////////////////////////////////
|
58 |
public function __construct() {
|
|
|
|
|
59 |
}
|
60 |
|
61 |
////////////////////////////////////////////////////////////////////////////////////////
|
@@ -713,8 +716,9 @@ $ffwd_info_options[$ffwd_option_db] =((isset($_POST[$ffwd_option_db])) ? esc_htm
|
|
713 |
array(self::$id, $edge, 'access_token=' . self::$access_token . '&', $fields, 'locale='.get_locale().'&', ''), self::$graph_url
|
714 |
);
|
715 |
|
716 |
-
|
717 |
-
|
|
|
718 |
|
719 |
if (self::$auto_update_feed == 1) {
|
720 |
global $wpdb;
|
@@ -1274,7 +1278,7 @@ $ffwd_info_options[$ffwd_option_db] =((isset($_POST[$ffwd_option_db])) ? esc_htm
|
|
1274 |
$content = implode(",", self::$content);
|
1275 |
$success = 'no_data';
|
1276 |
|
1277 |
-
|
1278 |
/**
|
1279 |
* check if content_type is timeline dont save wd_fb_data if
|
1280 |
* $content string not contain $next['type']
|
@@ -1629,7 +1633,7 @@ $ffwd_info_options[$ffwd_option_db] =((isset($_POST[$ffwd_option_db])) ? esc_htm
|
|
1629 |
|
1630 |
return $facebook_graph_results;
|
1631 |
}
|
1632 |
-
|
1633 |
public static function get_autoupdate_interval(){
|
1634 |
global $wpdb;
|
1635 |
$row = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'wd_fb_option WHERE id="%d"', 1));
|
1 |
<?php
|
2 |
|
3 |
+
|
4 |
class WDFacebookFeed {
|
5 |
////////////////////////////////////////////////////////////////////////////////////////
|
6 |
// Events //
|
38 |
|
39 |
// Existing app ids and app secrets
|
40 |
protected static $access_tokens = array (
|
41 |
+
'1786066011417150|5043eac44ee54731ed404b9db021cdf2',
|
42 |
+
'366766273734391|b9894da4ba6d4d75b500d13fda893810',
|
43 |
+
'142301613131592|66b723042df89a280e618670b73e3aaa',
|
44 |
+
'209804229584368|3a2d59f876e0df3d42d829f8a1569636',
|
45 |
+
'522842584751334|de7e0895060a9e2bf6e972a17626ce1d',
|
46 |
+
'623116398019349|4d4c0f3404ce3baa9d07d525be0f2d65',
|
47 |
+
'155873221861806|41c4c1b3df8ac8ed12dd5f7204abf1e6',
|
48 |
);
|
49 |
|
50 |
protected static $save = true;
|
57 |
// Constructor & Destructor //
|
58 |
////////////////////////////////////////////////////////////////////////////////////////
|
59 |
public function __construct() {
|
60 |
+
|
61 |
+
|
62 |
}
|
63 |
|
64 |
////////////////////////////////////////////////////////////////////////////////////////
|
716 |
array(self::$id, $edge, 'access_token=' . self::$access_token . '&', $fields, 'locale='.get_locale().'&', ''), self::$graph_url
|
717 |
);
|
718 |
|
719 |
+
|
720 |
+
/*print_r($fb_graph_url);
|
721 |
+
wp_die();*/
|
722 |
|
723 |
if (self::$auto_update_feed == 1) {
|
724 |
global $wpdb;
|
1278 |
$content = implode(",", self::$content);
|
1279 |
$success = 'no_data';
|
1280 |
|
1281 |
+
foreach($data as $next) {
|
1282 |
/**
|
1283 |
* check if content_type is timeline dont save wd_fb_data if
|
1284 |
* $content string not contain $next['type']
|
1633 |
|
1634 |
return $facebook_graph_results;
|
1635 |
}
|
1636 |
+
|
1637 |
public static function get_autoupdate_interval(){
|
1638 |
global $wpdb;
|
1639 |
$row = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'wd_fb_option WHERE id="%d"', 1));
|
framework/linkify/Linkify.php
ADDED
@@ -0,0 +1,219 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Linkify library.
|
5 |
+
*
|
6 |
+
* (c) University of Cambridge
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Misd\Linkify;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Converts URLs and/or email addresses into HTML links.
|
16 |
+
*/
|
17 |
+
class Linkify implements LinkifyInterface
|
18 |
+
{
|
19 |
+
/**
|
20 |
+
* Default options.
|
21 |
+
*
|
22 |
+
* @var array
|
23 |
+
*/
|
24 |
+
protected $options;
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Constructor.
|
28 |
+
*
|
29 |
+
* @param array $options Default options.
|
30 |
+
*/
|
31 |
+
public function __construct(array $options = array())
|
32 |
+
{
|
33 |
+
$this->options = $options;
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* {@inheritdoc}
|
38 |
+
*/
|
39 |
+
public function process($text, array $options = array())
|
40 |
+
{
|
41 |
+
return $this->linkify($text, true, true, $options);
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* {@inheritdoc}
|
46 |
+
*/
|
47 |
+
public function processUrls($text, array $options = array())
|
48 |
+
{
|
49 |
+
return $this->linkify($text, true, false, $options);
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* {@inheritdoc}
|
54 |
+
*/
|
55 |
+
public function processEmails($text, array $options = array())
|
56 |
+
{
|
57 |
+
return $this->linkify($text, false, true, $options);
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Add links to text.
|
62 |
+
*
|
63 |
+
* @param string $text Text to linkify.
|
64 |
+
* @param bool $urls Linkify URLs?
|
65 |
+
* @param bool $emails Linkify email addresses?
|
66 |
+
* @param array $options Options.
|
67 |
+
*
|
68 |
+
* @return string Linkified text.
|
69 |
+
*/
|
70 |
+
protected function linkify($text, $urls = true, $emails = true, array $options = array())
|
71 |
+
{
|
72 |
+
if (false === $urls && false === $emails) {
|
73 |
+
// nothing to do...
|
74 |
+
return $text;
|
75 |
+
}
|
76 |
+
|
77 |
+
$options = array_merge_recursive($this->options, $options);
|
78 |
+
|
79 |
+
$attr = '';
|
80 |
+
|
81 |
+
if (true === array_key_exists('attr', $options)) {
|
82 |
+
foreach ($options['attr'] as $key => $value) {
|
83 |
+
if (true === is_array($value)) {
|
84 |
+
$value = array_pop($value);
|
85 |
+
}
|
86 |
+
$attr .= sprintf(' %s="%s"', $key, $value);
|
87 |
+
}
|
88 |
+
}
|
89 |
+
|
90 |
+
$options['attr'] = $attr;
|
91 |
+
|
92 |
+
$ignoreTags = array('head', 'link', 'a', 'script', 'style', 'code', 'pre', 'select', 'textarea', 'button');
|
93 |
+
|
94 |
+
$chunks = preg_split('/(<.+?>)/is', $text, 0, PREG_SPLIT_DELIM_CAPTURE);
|
95 |
+
|
96 |
+
$openTag = null;
|
97 |
+
|
98 |
+
for ($i = 0; $i < count($chunks); $i++) {
|
99 |
+
if ($i % 2 === 0) { // even numbers are text
|
100 |
+
// Only process this chunk if there are no unclosed $ignoreTags
|
101 |
+
if (null === $openTag) {
|
102 |
+
if (true === $urls) {
|
103 |
+
$chunks[$i] = $this->linkifyUrls($chunks[$i], $options);
|
104 |
+
}
|
105 |
+
if (true === $emails) {
|
106 |
+
$chunks[$i] = $this->linkifyEmails($chunks[$i], $options);
|
107 |
+
}
|
108 |
+
}
|
109 |
+
} else { // odd numbers are tags
|
110 |
+
// Only process this tag if there are no unclosed $ignoreTags
|
111 |
+
if (null === $openTag) {
|
112 |
+
// Check whether this tag is contained in $ignoreTags and is not self-closing
|
113 |
+
if (preg_match("`<(" . implode('|', $ignoreTags) . ").*(?<!/)>$`is", $chunks[$i], $matches)) {
|
114 |
+
$openTag = $matches[1];
|
115 |
+
}
|
116 |
+
} else {
|
117 |
+
// Otherwise, check whether this is the closing tag for $openTag.
|
118 |
+
if (preg_match('`</\s*' . $openTag . '>`i', $chunks[$i], $matches)) {
|
119 |
+
$openTag = null;
|
120 |
+
}
|
121 |
+
}
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
$text = implode($chunks);
|
126 |
+
|
127 |
+
return $text;
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Add HTML links to URLs in plain text.
|
132 |
+
*
|
133 |
+
* @see http://www.regular-expressions.info/catastrophic.html For more info on atomic-grouping,
|
134 |
+
* used in this regex to prevent Catastrophic Backtracking.
|
135 |
+
*
|
136 |
+
* @param string $text Text to linkify.
|
137 |
+
* @param array $options Options, 'attr' key being the attributes to add to the links, with a preceding space.
|
138 |
+
*
|
139 |
+
* @return string Linkified text.
|
140 |
+
*/
|
141 |
+
protected function linkifyUrls($text, $options = array('attr' => ''))
|
142 |
+
{
|
143 |
+
$pattern = '~(?xi)
|
144 |
+
(?:
|
145 |
+
((ht|f)tps?://) # scheme://
|
146 |
+
| # or
|
147 |
+
www\d{0,3}\. # "www.", "www1.", "www2." ... "www999."
|
148 |
+
| # or
|
149 |
+
www\- # "www-"
|
150 |
+
| # or
|
151 |
+
[a-z0-9.\-]+\.[a-z]{2,4}(?=/) # looks like domain name followed by a slash
|
152 |
+
)
|
153 |
+
(?: # Zero or more:
|
154 |
+
[^\s()<>]+ # Run of non-space, non-()<>
|
155 |
+
| # or
|
156 |
+
\((?>[^\s()<>]+|(\([^\s()<>]+\)))*\) # balanced parens, up to 2 levels
|
157 |
+
)*
|
158 |
+
(?: # End with:
|
159 |
+
\((?>[^\s()<>]+|(\([^\s()<>]+\)))*\) # balanced parens, up to 2 levels
|
160 |
+
| # or
|
161 |
+
[^\s`!\-()\[\]{};:\'".,<>?«»“”‘’] # not a space or one of these punct chars
|
162 |
+
)
|
163 |
+
~u';
|
164 |
+
|
165 |
+
$callback = function ($match) use ($options) {
|
166 |
+
$caption = $match[0];
|
167 |
+
$pattern = "~^(ht|f)tps?://~";
|
168 |
+
|
169 |
+
if (0 === preg_match($pattern, $match[0])) {
|
170 |
+
$match[0] = 'http://' . $match[0];
|
171 |
+
}
|
172 |
+
|
173 |
+
if (isset($options['callback'])) {
|
174 |
+
$cb = $options['callback']($match[0], $caption, false);
|
175 |
+
if (!is_null($cb)) {
|
176 |
+
return $cb;
|
177 |
+
}
|
178 |
+
}
|
179 |
+
|
180 |
+
return '<a href="' . $match[0] . '"' . $options['attr'] . '>' . $caption . '</a>';
|
181 |
+
};
|
182 |
+
|
183 |
+
return preg_replace_callback($pattern, $callback, $text);
|
184 |
+
}
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Add HTML links to email addresses in plain text.
|
188 |
+
*
|
189 |
+
* @param string $text Text to linkify.
|
190 |
+
* @param array $options Options, 'attr' key being the attributes to add to the links, with a preceding space.
|
191 |
+
*
|
192 |
+
* @return string Linkified text.
|
193 |
+
*/
|
194 |
+
protected function linkifyEmails($text, $options = array('attr' => ''))
|
195 |
+
{
|
196 |
+
$pattern = '~(?xi)
|
197 |
+
\b
|
198 |
+
(?<!=) # Not part of a query string
|
199 |
+
[A-Z0-9._\'%+-]+ # Username
|
200 |
+
@ # At
|
201 |
+
[A-Z0-9.-]+ # Domain
|
202 |
+
\. # Dot
|
203 |
+
[A-Z]{2,4} # Something
|
204 |
+
~u';
|
205 |
+
|
206 |
+
$callback = function ($match) use ($options) {
|
207 |
+
if (isset($options['callback'])) {
|
208 |
+
$cb = $options['callback']($match[0], $match[0], true);
|
209 |
+
if (!is_null($cb)) {
|
210 |
+
return $cb;
|
211 |
+
}
|
212 |
+
}
|
213 |
+
|
214 |
+
return '<a href="mailto:' . $match[0] . '"' . $options['attr'] . '>' . $match[0] . '</a>';
|
215 |
+
};
|
216 |
+
|
217 |
+
return preg_replace_callback($pattern, $callback, $text);
|
218 |
+
}
|
219 |
+
}
|
framework/linkify/LinkifyInterface.php
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of the Linkify library.
|
5 |
+
*
|
6 |
+
* (c) University of Cambridge
|
7 |
+
*
|
8 |
+
* For the full copyright and license information, please view the LICENSE
|
9 |
+
* file that was distributed with this source code.
|
10 |
+
*/
|
11 |
+
|
12 |
+
namespace Misd\Linkify;
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Converts URLs and/or email addresses into HTML links.
|
16 |
+
*/
|
17 |
+
interface LinkifyInterface
|
18 |
+
{
|
19 |
+
/**
|
20 |
+
* Add HTML links to both URLs and email addresses.
|
21 |
+
*
|
22 |
+
* @param string $text Text to process.
|
23 |
+
* @param array $options Options.
|
24 |
+
*
|
25 |
+
* @return string Processed text.
|
26 |
+
*/
|
27 |
+
public function process($text, array $options = array());
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Add HTML links to URLs.
|
31 |
+
*
|
32 |
+
* @param string $text Text to process.
|
33 |
+
* @param array $options Options.
|
34 |
+
*
|
35 |
+
* @return string Processed text.
|
36 |
+
*/
|
37 |
+
public function processUrls($text, array $options = array());
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Add HTML links to email addresses.
|
41 |
+
*
|
42 |
+
* @param string $text Text to process.
|
43 |
+
* @param array $options Options.
|
44 |
+
*
|
45 |
+
* @return string Processed text.
|
46 |
+
*/
|
47 |
+
public function processEmails($text, array $options = array());
|
48 |
+
}
|
frontend/controllers/FFWDControllerMain.php
CHANGED
@@ -17,7 +17,9 @@ class FFWDControllerMain {
|
|
17 |
public function __construct($params = array(), $from_shortcode = 0, $ffwd = 0, $view) {
|
18 |
|
19 |
$this->view = $view;
|
|
|
20 |
$this->display($params, $from_shortcode, $ffwd);
|
|
|
21 |
}
|
22 |
////////////////////////////////////////////////////////////////////////////////////////
|
23 |
// Public Methods //
|
17 |
public function __construct($params = array(), $from_shortcode = 0, $ffwd = 0, $view) {
|
18 |
|
19 |
$this->view = $view;
|
20 |
+
wd_fb_update(1);
|
21 |
$this->display($params, $from_shortcode, $ffwd);
|
22 |
+
|
23 |
}
|
24 |
////////////////////////////////////////////////////////////////////////////////////////
|
25 |
// Public Methods //
|
frontend/views/FFWDViewBlog_style.php
CHANGED
@@ -106,6 +106,7 @@ class FFWDViewBlog_style {
|
|
106 |
'current_url' => urlencode($current_url)
|
107 |
);
|
108 |
|
|
|
109 |
?>
|
110 |
<style>
|
111 |
#ffwd_container1_<?php echo $ffwd; ?> {
|
@@ -1156,17 +1157,18 @@ class FFWDViewBlog_style {
|
|
1156 |
?>
|
1157 |
<p class="ffwd_blog_style_object_messages_<?php echo $ffwd; ?>">
|
1158 |
<?php
|
|
|
1159 |
$message = $this->model->see_less_more($ffwd_data_row->message, 'message', $ffwd_data_row->type,$ffwd_info['post_text_length'],$ffwd_info['event_desp_length']);
|
1160 |
$message = $this->model->fill_hashtags($message, $ffwd);
|
1161 |
$message = $this->model->fill_tags($message, $ffwd_data_row->message_tags, $ffwd);
|
1162 |
-
echo nl2br($message);
|
1163 |
?>
|
1164 |
</p>
|
1165 |
<p class="bwg_blog_style_object_description_<?php echo $ffwd; ?>">
|
1166 |
<?php
|
1167 |
$description = $this->model->see_less_more($ffwd_data_row->description, 'description', $ffwd_data_row->type,$ffwd_info['post_text_length'],$ffwd_info['event_desp_length']);
|
1168 |
$description = $this->model->fill_hashtags($description, $ffwd);
|
1169 |
-
echo nl2br($description);
|
1170 |
?>
|
1171 |
</p>
|
1172 |
<?php
|
106 |
'current_url' => urlencode($current_url)
|
107 |
);
|
108 |
|
109 |
+
$linkify=new \Misd\Linkify\Linkify();
|
110 |
?>
|
111 |
<style>
|
112 |
#ffwd_container1_<?php echo $ffwd; ?> {
|
1157 |
?>
|
1158 |
<p class="ffwd_blog_style_object_messages_<?php echo $ffwd; ?>">
|
1159 |
<?php
|
1160 |
+
|
1161 |
$message = $this->model->see_less_more($ffwd_data_row->message, 'message', $ffwd_data_row->type,$ffwd_info['post_text_length'],$ffwd_info['event_desp_length']);
|
1162 |
$message = $this->model->fill_hashtags($message, $ffwd);
|
1163 |
$message = $this->model->fill_tags($message, $ffwd_data_row->message_tags, $ffwd);
|
1164 |
+
echo nl2br($linkify->process($message));
|
1165 |
?>
|
1166 |
</p>
|
1167 |
<p class="bwg_blog_style_object_description_<?php echo $ffwd; ?>">
|
1168 |
<?php
|
1169 |
$description = $this->model->see_less_more($ffwd_data_row->description, 'description', $ffwd_data_row->type,$ffwd_info['post_text_length'],$ffwd_info['event_desp_length']);
|
1170 |
$description = $this->model->fill_hashtags($description, $ffwd);
|
1171 |
+
echo nl2br($linkify->process($description));
|
1172 |
?>
|
1173 |
</p>
|
1174 |
<?php
|
js/ffwd_frontend.js
CHANGED
@@ -709,15 +709,19 @@ function do_something_with_data_blog_style(result, id, ffwd, type, owner_info, f
|
|
709 |
z++;
|
710 |
}
|
711 |
|
|
|
712 |
var url_for_cur_id_comm_user_pic = graph_url.replace('{FB_ID}', result['data'][i]['from']['id']);
|
713 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{EDGE}', '');
|
714 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{FIELDS}', 'fields=picture&');
|
715 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{OTHER}', '');
|
|
|
716 |
|
717 |
|
718 |
|
719 |
-
var comment_author_pic = '<div style="float:left" id="ffwd_comment_author_pic_' + ffwd + '_' + id + '" class="ffwd_comment_author_pic_' + ffwd + '" > <img class="user_' + result['data'][i]['from']['id'] + '" src="https://graph.facebook.com/'+result['data'][i]['from']['id']+'/picture" > </div>',
|
720 |
-
|
|
|
|
|
721 |
comment_message = '<span id="ffwd_comment_message_' + ffwd + '_' + id + '" class="ffwd_comment_message_' + ffwd + '" > ' + result['data'][i]['message'] + ' </span>',
|
722 |
comment_date = '<span id="ffwd_comment_date_' + ffwd + '_' + id + '" class="ffwd_comment_date_' + ffwd + '" > ' + ffwd_get_passed_time(result['data'][i]['created_time']) + '</span>',
|
723 |
comment_likes_count = '<span id="ffwd_comment_likes_count_' + ffwd + '_' + id + '" class="ffwd_comment_likes_count_' + ffwd + '" > ' + result['data'][i]['like_count'] + ' </span>',
|
@@ -1066,6 +1070,7 @@ function ffwd_blog_style_resize(ffwd_params, ffwd) {
|
|
1066 |
}
|
1067 |
|
1068 |
|
|
|
1069 |
jQuery(window).ready(function () {
|
1070 |
jQuery.ajax({
|
1071 |
url: ffwd_frontend_text.ajax_url,
|
@@ -1079,4 +1084,4 @@ jQuery(window).ready(function () {
|
|
1079 |
|
1080 |
})
|
1081 |
|
1082 |
-
})
|
709 |
z++;
|
710 |
}
|
711 |
|
712 |
+
/*
|
713 |
var url_for_cur_id_comm_user_pic = graph_url.replace('{FB_ID}', result['data'][i]['from']['id']);
|
714 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{EDGE}', '');
|
715 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{FIELDS}', 'fields=picture&');
|
716 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{OTHER}', '');
|
717 |
+
*/
|
718 |
|
719 |
|
720 |
|
721 |
+
//var comment_author_pic = '<div style="float:left" id="ffwd_comment_author_pic_' + ffwd + '_' + id + '" class="ffwd_comment_author_pic_' + ffwd + '" > <img class="user_' + result['data'][i]['from']['id'] + '" src="https://graph.facebook.com/'+result['data'][i]['from']['id']+'/picture" > </div>',
|
722 |
+
var comment_author_pic = '<span></span>',
|
723 |
+
comment_author_name = '<span></span>',
|
724 |
+
//comment_author_name = '<a id="ffwd_comment_author_name_' + ffwd + '_' + id + '" href="https://www.facebook.com/' + result['data'][i]['from']['id'] + '" class="ffwd_comment_author_name_' + ffwd + '" > ' + result['data'][i]['from']['name'] + ' </a>',
|
725 |
comment_message = '<span id="ffwd_comment_message_' + ffwd + '_' + id + '" class="ffwd_comment_message_' + ffwd + '" > ' + result['data'][i]['message'] + ' </span>',
|
726 |
comment_date = '<span id="ffwd_comment_date_' + ffwd + '_' + id + '" class="ffwd_comment_date_' + ffwd + '" > ' + ffwd_get_passed_time(result['data'][i]['created_time']) + '</span>',
|
727 |
comment_likes_count = '<span id="ffwd_comment_likes_count_' + ffwd + '_' + id + '" class="ffwd_comment_likes_count_' + ffwd + '" > ' + result['data'][i]['like_count'] + ' </span>',
|
1070 |
}
|
1071 |
|
1072 |
|
1073 |
+
/*
|
1074 |
jQuery(window).ready(function () {
|
1075 |
jQuery.ajax({
|
1076 |
url: ffwd_frontend_text.ajax_url,
|
1084 |
|
1085 |
})
|
1086 |
|
1087 |
+
})*/
|
js/ffwd_gallery_box.js
CHANGED
@@ -724,14 +724,18 @@ function ffwd_fill_likes_comments(key) {
|
|
724 |
z++;
|
725 |
}
|
726 |
|
|
|
727 |
var url_for_cur_id_comm_user_pic = popup_graph_url.replace('{FB_ID}', result['comments']['data'][i]['from']['id']);
|
728 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{EDGE}', '');
|
729 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{FIELDS}', '&fields=picture&');
|
730 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{OTHER}', '');
|
|
|
731 |
|
732 |
|
733 |
-
var comment_author_pic = '<
|
734 |
-
|
|
|
|
|
735 |
comment_message = '<span class="ffwd_comment_message" > '+result['comments']['data'][i]['message']+' </span>',
|
736 |
comment_date = '<span class="ffwd_comment_date" > '+ffwd_get_passed_time_popup(result['comments']['data'][i]['created_time'])+'</span>',
|
737 |
comment_likes_count = '<span class="ffwd_comment_likes_count"> '+result['comments']['data'][i]['like_count']+' </span>',
|
@@ -788,7 +792,7 @@ function ffwd_fill_likes_comments(key) {
|
|
788 |
jQuery.getJSON(graph_url_for_likes, function(result) {
|
789 |
var likes_count = (typeof result['summary'] != 'undefined') ? parseInt(result['summary']['total_count']) : 0;
|
790 |
jQuery('#ffwd_likes').html(likes_count);
|
791 |
-
if(likes_count >= 3) {
|
792 |
var likes_some_names = '<div class="ffwd_likes_name_cont"> <a class="ffwd_likes_name" href="https://www.facebook.com/'+result['data'][0]['id']+'" target="_blank">' + result['data'][0]['name'] + ' , </a><a class="ffwd_likes_name" href="https://www.facebook.com/'+result['data'][1]['id']+'" target="_blank">' + result['data'][1]['name'] +'</a></div>',
|
793 |
likes_count_last_part = '<div class="ffwd_likes_count_last_part" > and ' + (likes_count - 2) +' others like this </div>';
|
794 |
}
|
@@ -803,8 +807,13 @@ function ffwd_fill_likes_comments(key) {
|
|
803 |
else {
|
804 |
var likes_some_names = '',
|
805 |
likes_count_last_part = '';
|
806 |
-
}
|
807 |
-
|
|
|
|
|
|
|
|
|
|
|
808 |
if(likes_count > 0)
|
809 |
jQuery('#ffwd_likes_names_count').html(likes_names_count).css("display", "block");
|
810 |
else
|
@@ -830,14 +839,18 @@ function ffwd_fill_likes_comments(key) {
|
|
830 |
z++;
|
831 |
}
|
832 |
|
|
|
833 |
var url_for_cur_id_comm_user_pic = popup_graph_url.replace('{FB_ID}', data[key]['comments']['data'][i]['from']['id']);
|
834 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{EDGE}', '');
|
835 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{FIELDS}', '&fields=picture&');
|
836 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{OTHER}', '');
|
837 |
|
|
|
838 |
|
839 |
-
var comment_author_pic = '<div style="float:left" class="ffwd_comment_author_pic" > <img class="user_'+data[key]['comments']['data'][i]['from']['id']+'" style="width:32px;height:32px" src="https://graph.facebook.com/'+data[key]['comments']['data'][i]['from']['id']+'/picture" > </div>',
|
840 |
-
|
|
|
|
|
841 |
comment_message = '<span class="ffwd_comment_message" > '+data[key]['comments']['data'][i]['message']+' </span>',
|
842 |
comment_date = '<span class="ffwd_comment_date" > '+ffwd_get_passed_time_popup(data[key]['comments']['data'][i]['created_time'])+'</span>',
|
843 |
comment_likes_count = '<span class="ffwd_comment_likes_count"> '+data[key]['comments']['data'][i]['like_count']+' </span>',
|
724 |
z++;
|
725 |
}
|
726 |
|
727 |
+
/*
|
728 |
var url_for_cur_id_comm_user_pic = popup_graph_url.replace('{FB_ID}', result['comments']['data'][i]['from']['id']);
|
729 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{EDGE}', '');
|
730 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{FIELDS}', '&fields=picture&');
|
731 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{OTHER}', '');
|
732 |
+
*/
|
733 |
|
734 |
|
735 |
+
var comment_author_pic = '<span></span>',
|
736 |
+
//var comment_author_pic = '<div style="float:left" class="ffwd_comment_author_pic" > <img class="user_'+result['comments']['data'][i]['from']['id']+'" style="width:32px;height:32px" src="https://graph.facebook.com/'+result['comments']['data'][i]['from']['id']+'/picture" > </div>',
|
737 |
+
comment_author_name = '<span></span>',
|
738 |
+
// comment_author_name = '<a class="ffwd_comment_author_name" href="https://www.facebook.com/'+result['comments']['data'][i]['from']['id']+'" target="_blank"> '+result['comments']['data'][i]['from']['name']+' </a>',
|
739 |
comment_message = '<span class="ffwd_comment_message" > '+result['comments']['data'][i]['message']+' </span>',
|
740 |
comment_date = '<span class="ffwd_comment_date" > '+ffwd_get_passed_time_popup(result['comments']['data'][i]['created_time'])+'</span>',
|
741 |
comment_likes_count = '<span class="ffwd_comment_likes_count"> '+result['comments']['data'][i]['like_count']+' </span>',
|
792 |
jQuery.getJSON(graph_url_for_likes, function(result) {
|
793 |
var likes_count = (typeof result['summary'] != 'undefined') ? parseInt(result['summary']['total_count']) : 0;
|
794 |
jQuery('#ffwd_likes').html(likes_count);
|
795 |
+
/*if(likes_count >= 3) {
|
796 |
var likes_some_names = '<div class="ffwd_likes_name_cont"> <a class="ffwd_likes_name" href="https://www.facebook.com/'+result['data'][0]['id']+'" target="_blank">' + result['data'][0]['name'] + ' , </a><a class="ffwd_likes_name" href="https://www.facebook.com/'+result['data'][1]['id']+'" target="_blank">' + result['data'][1]['name'] +'</a></div>',
|
797 |
likes_count_last_part = '<div class="ffwd_likes_count_last_part" > and ' + (likes_count - 2) +' others like this </div>';
|
798 |
}
|
807 |
else {
|
808 |
var likes_some_names = '',
|
809 |
likes_count_last_part = '';
|
810 |
+
}*/
|
811 |
+
|
812 |
+
|
813 |
+
var likes_some_names = '',
|
814 |
+
likes_count_last_part = '';
|
815 |
+
|
816 |
+
var likes_names_count = '<div class="ffwd_likes_names" > '+likes_some_names+likes_count_last_part+' </div><div style="clear:both" ></div>';
|
817 |
if(likes_count > 0)
|
818 |
jQuery('#ffwd_likes_names_count').html(likes_names_count).css("display", "block");
|
819 |
else
|
839 |
z++;
|
840 |
}
|
841 |
|
842 |
+
/*
|
843 |
var url_for_cur_id_comm_user_pic = popup_graph_url.replace('{FB_ID}', data[key]['comments']['data'][i]['from']['id']);
|
844 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{EDGE}', '');
|
845 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{FIELDS}', '&fields=picture&');
|
846 |
url_for_cur_id_comm_user_pic = url_for_cur_id_comm_user_pic.replace('{OTHER}', '');
|
847 |
|
848 |
+
*/
|
849 |
|
850 |
+
//var comment_author_pic = '<div style="float:left" class="ffwd_comment_author_pic" > <img class="user_'+data[key]['comments']['data'][i]['from']['id']+'" style="width:32px;height:32px" src="https://graph.facebook.com/'+data[key]['comments']['data'][i]['from']['id']+'/picture" > </div>',
|
851 |
+
var comment_author_pic = '<span></span>',
|
852 |
+
//comment_author_name = '<a class="ffwd_comment_author_name" href="https://www.facebook.com/'+data[key]['comments']['data'][i]['from']['id']+'" target="_blank"> '+data[key]['comments']['data'][i]['from']['name']+' </a>',
|
853 |
+
comment_author_name = '<span></span>',
|
854 |
comment_message = '<span class="ffwd_comment_message" > '+data[key]['comments']['data'][i]['message']+' </span>',
|
855 |
comment_date = '<span class="ffwd_comment_date" > '+ffwd_get_passed_time_popup(data[key]['comments']['data'][i]['created_time'])+'</span>',
|
856 |
comment_likes_count = '<span class="ffwd_comment_likes_count"> '+data[key]['comments']['data'][i]['like_count']+' </span>',
|
readme.txt
CHANGED
@@ -1,37 +1,37 @@
|
|
1 |
-
=== Facebook Feed
|
2 |
-
Contributors: webdorado,
|
3 |
Tags: customizable facebook feed, facebook, facebook events, facebook feed, facebook group, facebook like box, facebook likes, facebook page, facebook photos, facebook plugin, facebook posts, facebook likebox
|
4 |
Requires at least: 3.4
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 4.9
|
7 |
-
Stable tag: 1.0.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
-
Facebook Feed
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
[Special Offer for all Premium Plugins](https://web-dorado.com/wordpress-plugins-bundle.html)
|
16 |
-
[WordPress Facebook Feed
|
17 |
[Demo](http://wpdemo.web-dorado.com/facebook-feed/)
|
18 |
[Demo Admin](http://wpdemo.web-dorado.com/wp-admin/admin.php?page=info_ffwd)
|
19 |
[User Guide](https://web-dorado.com/wordpress-facebook-feed/installing.html)
|
20 |
[Support Forum](https://web-dorado.com/forum/facebook-feed-wd.html)
|
21 |
|
22 |
-
Do you plan to make your website more social? Do you want to include Facebook feeds based on a page/public group/your profile within a few steps? Do you want to control the content length, type and styling? WordPress Facebook feed plugin will offer these and hundreds of other options to create and publish custom feeds on your WordPress website. Facebook Feed
|
23 |
You can set the number of posts to be displayed.
|
24 |
|
25 |
You can show feeds in posts/pages using WordPress Facebook feed plugin shortcode or display them in widget area using the widget.
|
26 |
|
27 |
The number of displayed Facebook feeds per each post/page is unlimited. You can add Facebook feeds based on different pages, groups and profile (Pro) within the same page. For Facebook pages and Facebook groups you can choose the user roles whose posts will be shared- page owner/ group admin, group member/page fans or both. Hashtags and mentions included in posts will be preserved. Facebook albums will be displayed with thumbnails which open up in lightbox. High-resolution lightbox images will be accompanied with filmstrip(Pro version), which will turn the standard display of images into an elegant Facebook gallery. The Facebook page plugin comes with a number of great features and functionality to allow you create anything from free simple feeds to custom feeds, including Facebook group events, Facebook likebox, Facebook feed gallery and more to increase engagement of your Facebook fans.
|
28 |
-
In other words, Facebook Feed
|
29 |
To make appearance and overall design changes you can use Themes (available with Pro version) . This section uses different style sets for each layout.
|
30 |
|
31 |
###IMPORTANT:
|
32 |
-
If you think you found a bug in Facebook Feed
|
33 |
|
34 |
-
= Main features of Facebook Feed
|
35 |
|
36 |
* Responsive layout
|
37 |
* Page feeds
|
@@ -60,6 +60,11 @@ Upgrade to [Facebook Feed Pro](https://web-dorado.com/products/wordpress-faceboo
|
|
60 |
|
61 |
== Changelog ==
|
62 |
|
|
|
|
|
|
|
|
|
|
|
63 |
= 1.0.30 =
|
64 |
* Changed: Deactivation popup
|
65 |
|
@@ -165,17 +170,17 @@ Added: Support forum and Review links.
|
|
165 |
* Initial version
|
166 |
|
167 |
== Screenshots ==
|
168 |
-
1. Facebook Feed
|
169 |
-
2. Facebook Feed
|
170 |
-
3. Facebook Feed
|
171 |
-
4. Facebook Feed
|
172 |
-
5. Facebook Feed
|
173 |
-
6. Facebook Feed
|
174 |
-
7. Facebook Feed
|
175 |
|
176 |
== Installation ==
|
177 |
|
178 |
-
#### Thank you for your interest in Facebook Feed
|
179 |
|
180 |
### Minimum requirements.
|
181 |
* Wordpress 3.4+
|
@@ -190,14 +195,14 @@ After downloading the ZIP file of the plugin,
|
|
190 |
2. Go to Plugins Add > New > Upload.
|
191 |
3. Click "Choose file" ("Browse") and select the downloaded zip file of the plugin.
|
192 |
4. Click "Install Now" button.
|
193 |
-
5. Click "Activate Plugin" button for activating Facebook Feed
|
194 |
6. If the installation does not succeed, please contact us at [support@web-dorado.com](mailto:support@web-dorado.com).
|
195 |
|
196 |
-
== Facebook Feed
|
197 |
|
198 |
= Installation =
|
199 |
|
200 |
-
You can install Facebook Feed
|
201 |
|
202 |
Installing via WordPress
|
203 |
Go to Dashboard>Plugins> Add New>Upload.
|
@@ -209,7 +214,7 @@ Unzip the plugin folder and upload it into wp-content>plugins.
|
|
209 |
|
210 |
|
211 |
= Options =
|
212 |
-
Firstly you need to configure Options of the plugin and therefore Go to Facebook Feed
|
213 |
|
214 |
App ID and App Secret Key:
|
215 |
Navigate to Facebook Developers Apps .
|
@@ -230,7 +235,7 @@ Date format for events. Set date format while displaying Facebook events.
|
|
230 |
|
231 |
|
232 |
= Creating a Facebook Feed =
|
233 |
-
Go to Facebook Feed
|
234 |
|
235 |
For each feed there are several options which are grouped in tabs: Main, Lightbox Settings, Comments, Page Plugin and Events.
|
236 |
|
@@ -317,7 +322,7 @@ For events display you can display event location( including street, city, count
|
|
317 |
|
318 |
|
319 |
= Themes=
|
320 |
-
Go to Facebook Feed
|
321 |
|
322 |
Here you can define main settings for different views. Depending on displayed content type the view options differ, e.g. for photos you can use masonry and thumbnails.
|
323 |
|
@@ -346,7 +351,7 @@ To publish the created feeds within a page or post you should use shortcode. Ope
|
|
346 |
Publishing as a Widget
|
347 |
Navigate to Appearance > Widgets.
|
348 |
|
349 |
-
Scroll to Facebook Feed
|
350 |
|
351 |
Title. Provide a title for your Facebook Feed widgets.
|
352 |
Feed. Select the FB feed which will be displayed as a widget.
|
1 |
+
=== WD Facebook Feed - Custom Facebook Feed Plugin ===
|
2 |
+
Contributors: webdorado,10web,wdsupport
|
3 |
Tags: customizable facebook feed, facebook, facebook events, facebook feed, facebook group, facebook like box, facebook likes, facebook page, facebook photos, facebook plugin, facebook posts, facebook likebox
|
4 |
Requires at least: 3.4
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 4.9
|
7 |
+
Stable tag: 1.0.31
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
+
WD Facebook Feed is a comprehensive tool for displaying Facebook feed, events and photos in your website.
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
[Special Offer for all Premium Plugins](https://web-dorado.com/wordpress-plugins-bundle.html)
|
16 |
+
[WordPress WD Facebook Feed](https://web-dorado.com/products/wordpress-facebook-feed-plugin.html)
|
17 |
[Demo](http://wpdemo.web-dorado.com/facebook-feed/)
|
18 |
[Demo Admin](http://wpdemo.web-dorado.com/wp-admin/admin.php?page=info_ffwd)
|
19 |
[User Guide](https://web-dorado.com/wordpress-facebook-feed/installing.html)
|
20 |
[Support Forum](https://web-dorado.com/forum/facebook-feed-wd.html)
|
21 |
|
22 |
+
Do you plan to make your website more social? Do you want to include Facebook feeds based on a page/public group/your profile within a few steps? Do you want to control the content length, type and styling? WordPress Facebook feed plugin will offer these and hundreds of other options to create and publish custom feeds on your WordPress website. WD Facebook Feed is a comprehensive Facebook integration tool for displaying responsive Facebook feeds, events and photos in your website. With this plugin you will be able to display content from any Facebook fan page, public group and your profile (Pro version). Using this WordPress Facebook plugin you can constantly refresh your feed: either removing old content and replacing it with fresh posts or adding-up to the existing list of posts.
|
23 |
You can set the number of posts to be displayed.
|
24 |
|
25 |
You can show feeds in posts/pages using WordPress Facebook feed plugin shortcode or display them in widget area using the widget.
|
26 |
|
27 |
The number of displayed Facebook feeds per each post/page is unlimited. You can add Facebook feeds based on different pages, groups and profile (Pro) within the same page. For Facebook pages and Facebook groups you can choose the user roles whose posts will be shared- page owner/ group admin, group member/page fans or both. Hashtags and mentions included in posts will be preserved. Facebook albums will be displayed with thumbnails which open up in lightbox. High-resolution lightbox images will be accompanied with filmstrip(Pro version), which will turn the standard display of images into an elegant Facebook gallery. The Facebook page plugin comes with a number of great features and functionality to allow you create anything from free simple feeds to custom feeds, including Facebook group events, Facebook likebox, Facebook feed gallery and more to increase engagement of your Facebook fans.
|
28 |
+
In other words, WD Facebook Feed is a great social plugin for all those who need to display their social media feed on WordPress website, keep in constant touch with Facebook followers. This powerful, but at the same time easy custom solution will allow you to take your social networking to the next level by creating and publishing stylish Facebook feeds in just a few minutes.
|
29 |
To make appearance and overall design changes you can use Themes (available with Pro version) . This section uses different style sets for each layout.
|
30 |
|
31 |
###IMPORTANT:
|
32 |
+
If you think you found a bug in WD Facebook Feed or have any problem/question concerning this plugin, please check out [Support Forum](https://wordpress.org/support/plugin/wd-facebook-feed) . If you do not find a solution here, do not hesitate to [click here to contact us](https://web-dorado.com/support/contact-us.html).
|
33 |
|
34 |
+
= Main features of WD Facebook Feed: =
|
35 |
|
36 |
* Responsive layout
|
37 |
* Page feeds
|
60 |
|
61 |
== Changelog ==
|
62 |
|
63 |
+
|
64 |
+
= 1.0.31 =
|
65 |
+
* Fixed: Bug on autoupdate
|
66 |
+
* Fixed: Bug on comments
|
67 |
+
|
68 |
= 1.0.30 =
|
69 |
* Changed: Deactivation popup
|
70 |
|
170 |
* Initial version
|
171 |
|
172 |
== Screenshots ==
|
173 |
+
1. WD Facebook Feed - Timeline
|
174 |
+
2. WD Facebook Feed - Videos
|
175 |
+
3. WD Facebook Feed - Mansory view
|
176 |
+
4. WD Facebook Feed - Event
|
177 |
+
5. WD Facebook Feed - Edit Facebook Feed
|
178 |
+
6. WD Facebook Feed - Edit Options
|
179 |
+
7. WD Facebook Feed - Edit Theme
|
180 |
|
181 |
== Installation ==
|
182 |
|
183 |
+
#### Thank you for your interest in WD Facebook Feed.
|
184 |
|
185 |
### Minimum requirements.
|
186 |
* Wordpress 3.4+
|
195 |
2. Go to Plugins Add > New > Upload.
|
196 |
3. Click "Choose file" ("Browse") and select the downloaded zip file of the plugin.
|
197 |
4. Click "Install Now" button.
|
198 |
+
5. Click "Activate Plugin" button for activating WD Facebook Feed.
|
199 |
6. If the installation does not succeed, please contact us at [support@web-dorado.com](mailto:support@web-dorado.com).
|
200 |
|
201 |
+
== WD Facebook Feed User Manual ==
|
202 |
|
203 |
= Installation =
|
204 |
|
205 |
+
You can install WD Facebook Feed via WordPress backend and via FTP.
|
206 |
|
207 |
Installing via WordPress
|
208 |
Go to Dashboard>Plugins> Add New>Upload.
|
214 |
|
215 |
|
216 |
= Options =
|
217 |
+
Firstly you need to configure Options of the plugin and therefore Go to WD Facebook Feed>Options.
|
218 |
|
219 |
App ID and App Secret Key:
|
220 |
Navigate to Facebook Developers Apps .
|
235 |
|
236 |
|
237 |
= Creating a Facebook Feed =
|
238 |
+
Go to WD Facebook Feed>Facebook Feed.
|
239 |
|
240 |
For each feed there are several options which are grouped in tabs: Main, Lightbox Settings, Comments, Page Plugin and Events.
|
241 |
|
322 |
|
323 |
|
324 |
= Themes=
|
325 |
+
Go to WD Facebook Feed>Themes.
|
326 |
|
327 |
Here you can define main settings for different views. Depending on displayed content type the view options differ, e.g. for photos you can use masonry and thumbnails.
|
328 |
|
351 |
Publishing as a Widget
|
352 |
Navigate to Appearance > Widgets.
|
353 |
|
354 |
+
Scroll to WD Facebook Feed widget and assign it to a custom widget position choosing one of the available positions. Fill in the details and press Save button.
|
355 |
|
356 |
Title. Provide a title for your Facebook Feed widgets.
|
357 |
Feed. Select the FB feed which will be displayed as a widget.
|
wd/templates/display_deactivation_popup.php
CHANGED
@@ -1,27 +1,27 @@
|
|
1 |
<div class="wd-opacity wd-<?php echo $wd_options->prefix; ?>-opacity"></div>
|
2 |
<div class="wd-deactivate-popup wd-<?php echo $wd_options->prefix; ?>-deactivate-popup">
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
</div>
|
1 |
<div class="wd-opacity wd-<?php echo $wd_options->prefix; ?>-opacity"></div>
|
2 |
<div class="wd-deactivate-popup wd-<?php echo $wd_options->prefix; ?>-deactivate-popup">
|
3 |
+
<div class="wd-deactivate-popup-opacity wd-deactivate-popup-opacity-<?php echo $wd_options->prefix; ?>">
|
4 |
+
<img src="<?php echo $wd_options->wd_url_img . '/spinner.gif'; ?>" class="wd-img-loader" >
|
5 |
+
</div>
|
6 |
+
<form method="post" id="<?php echo $wd_options->prefix; ?>_deactivate_form">
|
7 |
+
<div class="wd-deactivate-popup-header">
|
8 |
+
<?php _e( "Please let us know why you are deactivating. Your answer will help us to serve you better (Optional)", $wd_options->prefix ); ?>:
|
9 |
+
</div>
|
10 |
|
11 |
+
<div class="wd-deactivate-popup-body">
|
12 |
+
<?php foreach( $deactivate_reasons as $deactivate_reason_slug => $deactivate_reason ) { ?>
|
13 |
+
<div class="wd-<?php echo $wd_options->prefix; ?>-reasons">
|
14 |
+
<input type="radio" value="<?php echo $deactivate_reason["id"];?>" id="<?php echo $wd_options->prefix . "-" .$deactivate_reason["id"]; ?>" name="<?php echo $wd_options->prefix; ?>_reasons" >
|
15 |
+
<label for="<?php echo $wd_options->prefix . "-" . $deactivate_reason["id"]; ?>"><?php echo $deactivate_reason["text"];?></label>
|
16 |
+
</div>
|
17 |
+
<?php } ?>
|
18 |
+
<div class="<?php echo $wd_options->prefix; ?>_additional_details_wrap"></div>
|
19 |
+
</div>
|
20 |
+
<div class="wd-btns">
|
21 |
+
<a href="<?php echo $deactivate_url; ?>" data-val="1" class="button button-primary button-close wd-<?php echo $wd_options->prefix; ?>-deactivate" id="wd-<?php echo $wd_options->prefix; ?>-deactivate"><?php _e( "Skip and Deactivate" , $wd_options->prefix ); ?></a>
|
22 |
+
<a href="<?php echo $deactivate_url; ?>" data-val="2" class="button button-primary button-close wd-<?php echo $wd_options->prefix; ?>-deactivate" id="wd-<?php echo $wd_options->prefix; ?>-submit-and-deactivate" style="display:none;"><?php _e( "Submit and Deactivate" , $wd_options->prefix ); ?></a>
|
23 |
+
</div>
|
24 |
+
<input type="hidden" name="<?php echo $wd_options->prefix . "_submit_and_deactivate"; ?>" value="" >
|
25 |
+
<?php wp_nonce_field( $wd_options->prefix . '_save_form', $wd_options->prefix . '_save_form_fild'); ?>
|
26 |
+
</form>
|
27 |
+
</div>
|