Version Description
- New: Email alerts for critical issues. If there's an issue with a Facebook feed on your website which hasn't been resolved yet then you'll receive an email notification to let you know. This is sent once per week until the issue is resolved. These emails can be disabled by using the following setting: Facebook Feed > Customize > Misc > Feed Issue Email Report.
- New: Admin notifications for critical issues. If there is an error with the feed, admins will see notices in the dashboard and on the front-end of the site along with instructions on how to resolve the issue. Front-end admin notifications can be disabled by using the following setting: Facebook Feed > Customize > Misc > Disable Admin Error Notice.
- New: Added a WordPress 'Site Health' integration. If there is a critical error with your feeds, it will now be flagged in the site health page.
- New: Added "About Us" page for those who would like to learn more about Smash Balloon and our other products. Go to Facebook Feed -> About Us in the dashboard.
Download this release
Release Info
Developer | smashballoon |
Plugin | Custom Facebook Feed |
Version | 2.14 |
Comparing to | |
See all releases |
Code changes from version 2.13 to 2.14
- README.txt +7 -1
- admin/PluginSilentUpgrader.php +576 -0
- admin/PluginSilentUpgraderSkin.php +57 -0
- admin/addon-functions.php +175 -0
- admin/class-cff-about.php +1351 -0
- admin/class-install-skin.php +27 -0
- blocks/class-cff-blocks.php +150 -150
- class-cff-education.php +135 -0
- class-cff-error-reporter.php +444 -0
- class-cff-sitehealth.php +82 -0
- css/cff-admin-style.css +752 -0
- css/cff-blocks.css +2 -2
- custom-facebook-feed-admin.php +228 -12
- custom-facebook-feed.php +186 -22
- email.php +102 -0
- img/about/api-error.png +0 -0
- img/about/icon-full.svg +1 -0
- img/about/icon-none.svg +1 -0
- img/about/icon-partial.svg +1 -0
- img/about/plugin-if.png +0 -0
- img/about/plugin-mi.png +0 -0
- img/about/plugin-om.png +0 -0
- img/about/plugin-rp.png +0 -0
- img/about/plugin-seo.png +0 -0
- img/about/plugin-smtp.png +0 -0
- img/about/plugin-tw.jpg +0 -0
- img/about/plugin-wpforms.png +0 -0
- img/about/plugin-yt.png +0 -0
- img/about/steps.png +0 -0
- img/about/team.jpg +0 -0
- img/balloon-120.png +0 -0
- img/cff-icon-offer.png +0 -0
- js/cff-admin-scripts.js +293 -1
- js/cff-blocks.js +113 -113
- js/cff-scripts.min.js +62 -62
- js/jquery.matchHeight-min.js +12 -0
- languages/custom-facebook-feed.po +2300 -2300
README.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: Facebook, Facebook feed, Facebook posts, Facebook wall, Facebook page
|
|
4 |
Requires at least: 3.0
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 5.4
|
7 |
-
Stable tag: 2.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -255,6 +255,12 @@ The most common reason for this is that an add-on or extension you have installe
|
|
255 |
9. It's super easy to display your Facebook feed in any page or post
|
256 |
|
257 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
258 |
= 2.13 =
|
259 |
* New: Added a “Custom Facebook Feed” Gutenberg block to use in the block editor, allowing you to easily add a feed to posts and pages.
|
260 |
* New: Added support for translations.
|
4 |
Requires at least: 3.0
|
5 |
Requires PHP: 5.2
|
6 |
Tested up to: 5.4
|
7 |
+
Stable tag: 2.14
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
255 |
9. It's super easy to display your Facebook feed in any page or post
|
256 |
|
257 |
== Changelog ==
|
258 |
+
= 2.14 =
|
259 |
+
* New: Email alerts for critical issues. If there's an issue with a Facebook feed on your website which hasn't been resolved yet then you'll receive an email notification to let you know. This is sent once per week until the issue is resolved. These emails can be disabled by using the following setting: Facebook Feed > Customize > Misc > Feed Issue Email Report.
|
260 |
+
* New: Admin notifications for critical issues. If there is an error with the feed, admins will see notices in the dashboard and on the front-end of the site along with instructions on how to resolve the issue. Front-end admin notifications can be disabled by using the following setting: Facebook Feed > Customize > Misc > Disable Admin Error Notice.
|
261 |
+
* New: Added a WordPress 'Site Health' integration. If there is a critical error with your feeds, it will now be flagged in the site health page.
|
262 |
+
* New: Added "About Us" page for those who would like to learn more about Smash Balloon and our other products. Go to Facebook Feed -> About Us in the dashboard.
|
263 |
+
|
264 |
= 2.13 =
|
265 |
* New: Added a “Custom Facebook Feed” Gutenberg block to use in the block editor, allowing you to easily add a feed to posts and pages.
|
266 |
* New: Added support for translations.
|
admin/PluginSilentUpgrader.php
ADDED
@@ -0,0 +1,576 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace CFF\Helpers;
|
4 |
+
|
5 |
+
use WP_Error;
|
6 |
+
use WP_Upgrader;
|
7 |
+
use WP_Filesystem_Base;
|
8 |
+
|
9 |
+
/** \WP_Upgrader class */
|
10 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
11 |
+
|
12 |
+
/** \Plugin_Upgrader class */
|
13 |
+
require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php';
|
14 |
+
|
15 |
+
/**
|
16 |
+
* In WP 5.3 a PHP 5.6 splat operator (...$args) was added to \WP_Upgrader_Skin::feedback().
|
17 |
+
* We need to remove all calls to *Skin::feedback() method, as we can't override it in own Skins
|
18 |
+
* without breaking support for PHP 5.3-5.5.
|
19 |
+
*
|
20 |
+
* @internal Please do not use this class outside of core WPForms development. May be removed at any time.
|
21 |
+
*
|
22 |
+
* @since 1.5.6.1
|
23 |
+
*/
|
24 |
+
class PluginSilentUpgrader extends \Plugin_Upgrader {
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Run an upgrade/installation.
|
28 |
+
*
|
29 |
+
* Attempts to download the package (if it is not a local file), unpack it, and
|
30 |
+
* install it in the destination folder.
|
31 |
+
*
|
32 |
+
* @since 1.5.6.1
|
33 |
+
*
|
34 |
+
* @param array $options {
|
35 |
+
* Array or string of arguments for upgrading/installing a package.
|
36 |
+
*
|
37 |
+
* @type string $package The full path or URI of the package to install.
|
38 |
+
* Default empty.
|
39 |
+
* @type string $destination The full path to the destination folder.
|
40 |
+
* Default empty.
|
41 |
+
* @type bool $clear_destination Whether to delete any files already in the
|
42 |
+
* destination folder. Default false.
|
43 |
+
* @type bool $clear_working Whether to delete the files form the working
|
44 |
+
* directory after copying to the destination.
|
45 |
+
* Default false.
|
46 |
+
* @type bool $abort_if_destination_exists Whether to abort the installation if the destination
|
47 |
+
* folder already exists. When true, `$clear_destination`
|
48 |
+
* should be false. Default true.
|
49 |
+
* @type bool $is_multi Whether this run is one of multiple upgrade/installation
|
50 |
+
* actions being performed in bulk. When true, the skin
|
51 |
+
* WP_Upgrader::header() and WP_Upgrader::footer()
|
52 |
+
* aren't called. Default false.
|
53 |
+
* @type array $hook_extra Extra arguments to pass to the filter hooks called by
|
54 |
+
* WP_Upgrader::run().
|
55 |
+
* }
|
56 |
+
* @return array|false|WP_error The result from self::install_package() on success, otherwise a WP_Error,
|
57 |
+
* or false if unable to connect to the filesystem.
|
58 |
+
*/
|
59 |
+
public function run( $options ) {
|
60 |
+
|
61 |
+
$defaults = array(
|
62 |
+
'package' => '', // Please always pass this.
|
63 |
+
'destination' => '', // And this
|
64 |
+
'clear_destination' => false,
|
65 |
+
'abort_if_destination_exists' => true, // Abort if the Destination directory exists, Pass clear_destination as false please
|
66 |
+
'clear_working' => true,
|
67 |
+
'is_multi' => false,
|
68 |
+
'hook_extra' => array(), // Pass any extra $hook_extra args here, this will be passed to any hooked filters.
|
69 |
+
);
|
70 |
+
|
71 |
+
$options = wp_parse_args( $options, $defaults );
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Filters the package options before running an update.
|
75 |
+
*
|
76 |
+
* See also {@see 'upgrader_process_complete'}.
|
77 |
+
*
|
78 |
+
* @since 4.3.0
|
79 |
+
*
|
80 |
+
* @param array $options {
|
81 |
+
* Options used by the upgrader.
|
82 |
+
*
|
83 |
+
* @type string $package Package for update.
|
84 |
+
* @type string $destination Update location.
|
85 |
+
* @type bool $clear_destination Clear the destination resource.
|
86 |
+
* @type bool $clear_working Clear the working resource.
|
87 |
+
* @type bool $abort_if_destination_exists Abort if the Destination directory exists.
|
88 |
+
* @type bool $is_multi Whether the upgrader is running multiple times.
|
89 |
+
* @type array $hook_extra {
|
90 |
+
* Extra hook arguments.
|
91 |
+
*
|
92 |
+
* @type string $action Type of action. Default 'update'.
|
93 |
+
* @type string $type Type of update process. Accepts 'plugin', 'theme', or 'core'.
|
94 |
+
* @type bool $bulk Whether the update process is a bulk update. Default true.
|
95 |
+
* @type string $plugin Path to the plugin file relative to the plugins directory.
|
96 |
+
* @type string $theme The stylesheet or template name of the theme.
|
97 |
+
* @type string $language_update_type The language pack update type. Accepts 'plugin', 'theme',
|
98 |
+
* or 'core'.
|
99 |
+
* @type object $language_update The language pack update offer.
|
100 |
+
* }
|
101 |
+
* }
|
102 |
+
*/
|
103 |
+
$options = apply_filters( 'upgrader_package_options', $options );
|
104 |
+
|
105 |
+
if ( ! $options['is_multi'] ) { // call $this->header separately if running multiple times
|
106 |
+
$this->skin->header();
|
107 |
+
}
|
108 |
+
|
109 |
+
// Connect to the Filesystem first.
|
110 |
+
$res = $this->fs_connect( array( WP_CONTENT_DIR, $options['destination'] ) );
|
111 |
+
// Mainly for non-connected filesystem.
|
112 |
+
if ( ! $res ) {
|
113 |
+
if ( ! $options['is_multi'] ) {
|
114 |
+
$this->skin->footer();
|
115 |
+
}
|
116 |
+
return false;
|
117 |
+
}
|
118 |
+
|
119 |
+
$this->skin->before();
|
120 |
+
|
121 |
+
if ( is_wp_error( $res ) ) {
|
122 |
+
$this->skin->error( $res );
|
123 |
+
$this->skin->after();
|
124 |
+
if ( ! $options['is_multi'] ) {
|
125 |
+
$this->skin->footer();
|
126 |
+
}
|
127 |
+
return $res;
|
128 |
+
}
|
129 |
+
|
130 |
+
/*
|
131 |
+
* Download the package (Note, This just returns the filename
|
132 |
+
* of the file if the package is a local file)
|
133 |
+
*/
|
134 |
+
$download = $this->download_package( $options['package'], true );
|
135 |
+
|
136 |
+
// Allow for signature soft-fail.
|
137 |
+
// WARNING: This may be removed in the future.
|
138 |
+
if ( is_wp_error( $download ) && $download->get_error_data( 'softfail-filename' ) ) {
|
139 |
+
|
140 |
+
// Don't output the 'no signature could be found' failure message for now.
|
141 |
+
if ( 'signature_verification_no_signature' != $download->get_error_code() || WP_DEBUG ) {
|
142 |
+
// Outout the failure error as a normal feedback, and not as an error:
|
143 |
+
//$this->skin->feedback( $download->get_error_message() );
|
144 |
+
|
145 |
+
// Report this failure back to WordPress.org for debugging purposes.
|
146 |
+
wp_version_check(
|
147 |
+
array(
|
148 |
+
'signature_failure_code' => $download->get_error_code(),
|
149 |
+
'signature_failure_data' => $download->get_error_data(),
|
150 |
+
)
|
151 |
+
);
|
152 |
+
}
|
153 |
+
|
154 |
+
// Pretend this error didn't happen.
|
155 |
+
$download = $download->get_error_data( 'softfail-filename' );
|
156 |
+
}
|
157 |
+
|
158 |
+
if ( is_wp_error( $download ) ) {
|
159 |
+
$this->skin->error( $download );
|
160 |
+
$this->skin->after();
|
161 |
+
if ( ! $options['is_multi'] ) {
|
162 |
+
$this->skin->footer();
|
163 |
+
}
|
164 |
+
return $download;
|
165 |
+
}
|
166 |
+
|
167 |
+
$delete_package = ( $download != $options['package'] ); // Do not delete a "local" file
|
168 |
+
|
169 |
+
// Unzips the file into a temporary directory.
|
170 |
+
$working_dir = $this->unpack_package( $download, $delete_package );
|
171 |
+
if ( is_wp_error( $working_dir ) ) {
|
172 |
+
$this->skin->error( $working_dir );
|
173 |
+
$this->skin->after();
|
174 |
+
if ( ! $options['is_multi'] ) {
|
175 |
+
$this->skin->footer();
|
176 |
+
}
|
177 |
+
return $working_dir;
|
178 |
+
}
|
179 |
+
|
180 |
+
// With the given options, this installs it to the destination directory.
|
181 |
+
$result = $this->install_package(
|
182 |
+
array(
|
183 |
+
'source' => $working_dir,
|
184 |
+
'destination' => $options['destination'],
|
185 |
+
'clear_destination' => $options['clear_destination'],
|
186 |
+
'abort_if_destination_exists' => $options['abort_if_destination_exists'],
|
187 |
+
'clear_working' => $options['clear_working'],
|
188 |
+
'hook_extra' => $options['hook_extra'],
|
189 |
+
)
|
190 |
+
);
|
191 |
+
|
192 |
+
$this->skin->set_result( $result );
|
193 |
+
if ( is_wp_error( $result ) ) {
|
194 |
+
$this->skin->error( $result );
|
195 |
+
//$this->skin->feedback( 'process_failed' );
|
196 |
+
} else {
|
197 |
+
// Installation succeeded.
|
198 |
+
//$this->skin->feedback( 'process_success' );
|
199 |
+
}
|
200 |
+
|
201 |
+
$this->skin->after();
|
202 |
+
|
203 |
+
if ( ! $options['is_multi'] ) {
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Fires when the upgrader process is complete.
|
207 |
+
*
|
208 |
+
* See also {@see 'upgrader_package_options'}.
|
209 |
+
*
|
210 |
+
* @since 3.6.0
|
211 |
+
* @since 3.7.0 Added to WP_Upgrader::run().
|
212 |
+
* @since 4.6.0 `$translations` was added as a possible argument to `$hook_extra`.
|
213 |
+
*
|
214 |
+
* @param WP_Upgrader $this WP_Upgrader instance. In other contexts, $this, might be a
|
215 |
+
* Theme_Upgrader, Plugin_Upgrader, Core_Upgrade, or Language_Pack_Upgrader instance.
|
216 |
+
* @param array $hook_extra {
|
217 |
+
* Array of bulk item update data.
|
218 |
+
*
|
219 |
+
* @type string $action Type of action. Default 'update'.
|
220 |
+
* @type string $type Type of update process. Accepts 'plugin', 'theme', 'translation', or 'core'.
|
221 |
+
* @type bool $bulk Whether the update process is a bulk update. Default true.
|
222 |
+
* @type array $plugins Array of the basename paths of the plugins' main files.
|
223 |
+
* @type array $themes The theme slugs.
|
224 |
+
* @type array $translations {
|
225 |
+
* Array of translations update data.
|
226 |
+
*
|
227 |
+
* @type string $language The locale the translation is for.
|
228 |
+
* @type string $type Type of translation. Accepts 'plugin', 'theme', or 'core'.
|
229 |
+
* @type string $slug Text domain the translation is for. The slug of a theme/plugin or
|
230 |
+
* 'default' for core translations.
|
231 |
+
* @type string $version The version of a theme, plugin, or core.
|
232 |
+
* }
|
233 |
+
* }
|
234 |
+
*/
|
235 |
+
do_action( 'upgrader_process_complete', $this, $options['hook_extra'] );
|
236 |
+
|
237 |
+
$this->skin->footer();
|
238 |
+
}
|
239 |
+
|
240 |
+
return $result;
|
241 |
+
}
|
242 |
+
|
243 |
+
/**
|
244 |
+
* Toggle maintenance mode for the site.
|
245 |
+
*
|
246 |
+
* Create/delete the maintenance file to enable/disable maintenance mode.
|
247 |
+
*
|
248 |
+
* @since 2.8.0
|
249 |
+
*
|
250 |
+
* @global WP_Filesystem_Base $wp_filesystem Subclass
|
251 |
+
*
|
252 |
+
* @param bool $enable True to enable maintenance mode, false to disable.
|
253 |
+
*/
|
254 |
+
public function maintenance_mode( $enable = false ) {
|
255 |
+
global $wp_filesystem;
|
256 |
+
$file = $wp_filesystem->abspath() . '.maintenance';
|
257 |
+
if ( $enable ) {
|
258 |
+
//$this->skin->feedback( 'maintenance_start' );
|
259 |
+
// Create maintenance file to signal that we are upgrading
|
260 |
+
$maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
|
261 |
+
$wp_filesystem->delete( $file );
|
262 |
+
$wp_filesystem->put_contents( $file, $maintenance_string, FS_CHMOD_FILE );
|
263 |
+
} elseif ( ! $enable && $wp_filesystem->exists( $file ) ) {
|
264 |
+
//$this->skin->feedback( 'maintenance_end' );
|
265 |
+
$wp_filesystem->delete( $file );
|
266 |
+
}
|
267 |
+
}
|
268 |
+
|
269 |
+
/**
|
270 |
+
* Download a package.
|
271 |
+
*
|
272 |
+
* @since 2.8.0
|
273 |
+
*
|
274 |
+
* @param string $package The URI of the package. If this is the full path to an
|
275 |
+
* existing local file, it will be returned untouched.
|
276 |
+
* @param bool $check_signatures Whether to validate file signatures. Default false.
|
277 |
+
* @return string|WP_Error The full path to the downloaded package file, or a WP_Error object.
|
278 |
+
*/
|
279 |
+
public function download_package( $package, $check_signatures = false ) {
|
280 |
+
|
281 |
+
/**
|
282 |
+
* Filters whether to return the package.
|
283 |
+
*
|
284 |
+
* @since 3.7.0
|
285 |
+
*
|
286 |
+
* @param bool $reply Whether to bail without returning the package.
|
287 |
+
* Default false.
|
288 |
+
* @param string $package The package file name.
|
289 |
+
* @param WP_Upgrader $this The WP_Upgrader instance.
|
290 |
+
*/
|
291 |
+
$reply = apply_filters( 'upgrader_pre_download', false, $package, $this );
|
292 |
+
if ( false !== $reply ) {
|
293 |
+
return $reply;
|
294 |
+
}
|
295 |
+
|
296 |
+
if ( ! preg_match( '!^(http|https|ftp)://!i', $package ) && file_exists( $package ) ) { //Local file or remote?
|
297 |
+
return $package; //must be a local file..
|
298 |
+
}
|
299 |
+
|
300 |
+
if ( empty( $package ) ) {
|
301 |
+
return new WP_Error( 'no_package', $this->strings['no_package'] );
|
302 |
+
}
|
303 |
+
|
304 |
+
//$this->skin->feedback( 'downloading_package', $package );
|
305 |
+
|
306 |
+
$download_file = download_url( $package, 300, $check_signatures );
|
307 |
+
|
308 |
+
if ( is_wp_error( $download_file ) && ! $download_file->get_error_data( 'softfail-filename' ) ) {
|
309 |
+
return new WP_Error( 'download_failed', $this->strings['download_failed'], $download_file->get_error_message() );
|
310 |
+
}
|
311 |
+
|
312 |
+
return $download_file;
|
313 |
+
}
|
314 |
+
|
315 |
+
/**
|
316 |
+
* Unpack a compressed package file.
|
317 |
+
*
|
318 |
+
* @since 2.8.0
|
319 |
+
*
|
320 |
+
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
|
321 |
+
*
|
322 |
+
* @param string $package Full path to the package file.
|
323 |
+
* @param bool $delete_package Optional. Whether to delete the package file after attempting
|
324 |
+
* to unpack it. Default true.
|
325 |
+
* @return string|WP_Error The path to the unpacked contents, or a WP_Error on failure.
|
326 |
+
*/
|
327 |
+
public function unpack_package( $package, $delete_package = true ) {
|
328 |
+
global $wp_filesystem;
|
329 |
+
|
330 |
+
//$this->skin->feedback( 'unpack_package' );
|
331 |
+
|
332 |
+
$upgrade_folder = $wp_filesystem->wp_content_dir() . 'upgrade/';
|
333 |
+
|
334 |
+
//Clean up contents of upgrade directory beforehand.
|
335 |
+
$upgrade_files = $wp_filesystem->dirlist( $upgrade_folder );
|
336 |
+
if ( ! empty( $upgrade_files ) ) {
|
337 |
+
foreach ( $upgrade_files as $file ) {
|
338 |
+
$wp_filesystem->delete( $upgrade_folder . $file['name'], true );
|
339 |
+
}
|
340 |
+
}
|
341 |
+
|
342 |
+
// We need a working directory - Strip off any .tmp or .zip suffixes
|
343 |
+
$working_dir = $upgrade_folder . basename( basename( $package, '.tmp' ), '.zip' );
|
344 |
+
|
345 |
+
// Clean up working directory
|
346 |
+
if ( $wp_filesystem->is_dir( $working_dir ) ) {
|
347 |
+
$wp_filesystem->delete( $working_dir, true );
|
348 |
+
}
|
349 |
+
|
350 |
+
// Unzip package to working directory
|
351 |
+
$result = unzip_file( $package, $working_dir );
|
352 |
+
|
353 |
+
// Once extracted, delete the package if required.
|
354 |
+
if ( $delete_package ) {
|
355 |
+
unlink( $package );
|
356 |
+
}
|
357 |
+
|
358 |
+
if ( is_wp_error( $result ) ) {
|
359 |
+
$wp_filesystem->delete( $working_dir, true );
|
360 |
+
if ( 'incompatible_archive' == $result->get_error_code() ) {
|
361 |
+
return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], $result->get_error_data() );
|
362 |
+
}
|
363 |
+
return $result;
|
364 |
+
}
|
365 |
+
|
366 |
+
return $working_dir;
|
367 |
+
}
|
368 |
+
|
369 |
+
/**
|
370 |
+
* Install a package.
|
371 |
+
*
|
372 |
+
* Copies the contents of a package form a source directory, and installs them in
|
373 |
+
* a destination directory. Optionally removes the source. It can also optionally
|
374 |
+
* clear out the destination folder if it already exists.
|
375 |
+
*
|
376 |
+
* @since 2.8.0
|
377 |
+
*
|
378 |
+
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
|
379 |
+
* @global array $wp_theme_directories
|
380 |
+
*
|
381 |
+
* @param array|string $args {
|
382 |
+
* Optional. Array or string of arguments for installing a package. Default empty array.
|
383 |
+
*
|
384 |
+
* @type string $source Required path to the package source. Default empty.
|
385 |
+
* @type string $destination Required path to a folder to install the package in.
|
386 |
+
* Default empty.
|
387 |
+
* @type bool $clear_destination Whether to delete any files already in the destination
|
388 |
+
* folder. Default false.
|
389 |
+
* @type bool $clear_working Whether to delete the files form the working directory
|
390 |
+
* after copying to the destination. Default false.
|
391 |
+
* @type bool $abort_if_destination_exists Whether to abort the installation if
|
392 |
+
* the destination folder already exists. Default true.
|
393 |
+
* @type array $hook_extra Extra arguments to pass to the filter hooks called by
|
394 |
+
* WP_Upgrader::install_package(). Default empty array.
|
395 |
+
* }
|
396 |
+
*
|
397 |
+
* @return array|WP_Error The result (also stored in `WP_Upgrader::$result`), or a WP_Error on failure.
|
398 |
+
*/
|
399 |
+
public function install_package( $args = array() ) {
|
400 |
+
global $wp_filesystem, $wp_theme_directories;
|
401 |
+
|
402 |
+
$defaults = array(
|
403 |
+
'source' => '', // Please always pass this
|
404 |
+
'destination' => '', // and this
|
405 |
+
'clear_destination' => false,
|
406 |
+
'clear_working' => false,
|
407 |
+
'abort_if_destination_exists' => true,
|
408 |
+
'hook_extra' => array(),
|
409 |
+
);
|
410 |
+
|
411 |
+
$args = wp_parse_args( $args, $defaults );
|
412 |
+
|
413 |
+
// These were previously extract()'d.
|
414 |
+
$source = $args['source'];
|
415 |
+
$destination = $args['destination'];
|
416 |
+
$clear_destination = $args['clear_destination'];
|
417 |
+
|
418 |
+
set_time_limit( 300 );
|
419 |
+
|
420 |
+
if ( empty( $source ) || empty( $destination ) ) {
|
421 |
+
return new WP_Error( 'bad_request', $this->strings['bad_request'] );
|
422 |
+
}
|
423 |
+
//$this->skin->feedback( 'installing_package' );
|
424 |
+
|
425 |
+
/**
|
426 |
+
* Filters the install response before the installation has started.
|
427 |
+
*
|
428 |
+
* Returning a truthy value, or one that could be evaluated as a WP_Error
|
429 |
+
* will effectively short-circuit the installation, returning that value
|
430 |
+
* instead.
|
431 |
+
*
|
432 |
+
* @since 2.8.0
|
433 |
+
*
|
434 |
+
* @param bool|WP_Error $response Response.
|
435 |
+
* @param array $hook_extra Extra arguments passed to hooked filters.
|
436 |
+
*/
|
437 |
+
$res = apply_filters( 'upgrader_pre_install', true, $args['hook_extra'] );
|
438 |
+
|
439 |
+
if ( is_wp_error( $res ) ) {
|
440 |
+
return $res;
|
441 |
+
}
|
442 |
+
|
443 |
+
//Retain the Original source and destinations
|
444 |
+
$remote_source = $args['source'];
|
445 |
+
$local_destination = $destination;
|
446 |
+
|
447 |
+
$source_files = array_keys( $wp_filesystem->dirlist( $remote_source ) );
|
448 |
+
$remote_destination = $wp_filesystem->find_folder( $local_destination );
|
449 |
+
|
450 |
+
//Locate which directory to copy to the new folder, This is based on the actual folder holding the files.
|
451 |
+
if ( 1 == count( $source_files ) && $wp_filesystem->is_dir( trailingslashit( $args['source'] ) . $source_files[0] . '/' ) ) { //Only one folder? Then we want its contents.
|
452 |
+
$source = trailingslashit( $args['source'] ) . trailingslashit( $source_files[0] );
|
453 |
+
} elseif ( count( $source_files ) == 0 ) {
|
454 |
+
return new WP_Error( 'incompatible_archive_empty', $this->strings['incompatible_archive'], $this->strings['no_files'] ); // There are no files?
|
455 |
+
} else { // It's only a single file, the upgrader will use the folder name of this file as the destination folder. Folder name is based on zip filename.
|
456 |
+
$source = trailingslashit( $args['source'] );
|
457 |
+
}
|
458 |
+
|
459 |
+
/**
|
460 |
+
* Filters the source file location for the upgrade package.
|
461 |
+
*
|
462 |
+
* @since 2.8.0
|
463 |
+
* @since 4.4.0 The $hook_extra parameter became available.
|
464 |
+
*
|
465 |
+
* @param string $source File source location.
|
466 |
+
* @param string $remote_source Remote file source location.
|
467 |
+
* @param WP_Upgrader $this WP_Upgrader instance.
|
468 |
+
* @param array $hook_extra Extra arguments passed to hooked filters.
|
469 |
+
*/
|
470 |
+
$source = apply_filters( 'upgrader_source_selection', $source, $remote_source, $this, $args['hook_extra'] );
|
471 |
+
|
472 |
+
if ( is_wp_error( $source ) ) {
|
473 |
+
return $source;
|
474 |
+
}
|
475 |
+
|
476 |
+
// Has the source location changed? If so, we need a new source_files list.
|
477 |
+
if ( $source !== $remote_source ) {
|
478 |
+
$source_files = array_keys( $wp_filesystem->dirlist( $source ) );
|
479 |
+
}
|
480 |
+
|
481 |
+
/*
|
482 |
+
* Protection against deleting files in any important base directories.
|
483 |
+
* Theme_Upgrader & Plugin_Upgrader also trigger this, as they pass the
|
484 |
+
* destination directory (WP_PLUGIN_DIR / wp-content/themes) intending
|
485 |
+
* to copy the directory into the directory, whilst they pass the source
|
486 |
+
* as the actual files to copy.
|
487 |
+
*/
|
488 |
+
$protected_directories = array( ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes' );
|
489 |
+
|
490 |
+
if ( is_array( $wp_theme_directories ) ) {
|
491 |
+
$protected_directories = array_merge( $protected_directories, $wp_theme_directories );
|
492 |
+
}
|
493 |
+
|
494 |
+
if ( in_array( $destination, $protected_directories ) ) {
|
495 |
+
$remote_destination = trailingslashit( $remote_destination ) . trailingslashit( basename( $source ) );
|
496 |
+
$destination = trailingslashit( $destination ) . trailingslashit( basename( $source ) );
|
497 |
+
}
|
498 |
+
|
499 |
+
if ( $clear_destination ) {
|
500 |
+
// We're going to clear the destination if there's something there.
|
501 |
+
//$this->skin->feedback( 'remove_old' );
|
502 |
+
|
503 |
+
$removed = $this->clear_destination( $remote_destination );
|
504 |
+
|
505 |
+
/**
|
506 |
+
* Filters whether the upgrader cleared the destination.
|
507 |
+
*
|
508 |
+
* @since 2.8.0
|
509 |
+
*
|
510 |
+
* @param mixed $removed Whether the destination was cleared. true on success, WP_Error on failure
|
511 |
+
* @param string $local_destination The local package destination.
|
512 |
+
* @param string $remote_destination The remote package destination.
|
513 |
+
* @param array $hook_extra Extra arguments passed to hooked filters.
|
514 |
+
*/
|
515 |
+
$removed = apply_filters( 'upgrader_clear_destination', $removed, $local_destination, $remote_destination, $args['hook_extra'] );
|
516 |
+
|
517 |
+
if ( is_wp_error( $removed ) ) {
|
518 |
+
return $removed;
|
519 |
+
}
|
520 |
+
} elseif ( $args['abort_if_destination_exists'] && $wp_filesystem->exists( $remote_destination ) ) {
|
521 |
+
//If we're not clearing the destination folder and something exists there already, Bail.
|
522 |
+
//But first check to see if there are actually any files in the folder.
|
523 |
+
$_files = $wp_filesystem->dirlist( $remote_destination );
|
524 |
+
if ( ! empty( $_files ) ) {
|
525 |
+
$wp_filesystem->delete( $remote_source, true ); //Clear out the source files.
|
526 |
+
return new WP_Error( 'folder_exists', $this->strings['folder_exists'], $remote_destination );
|
527 |
+
}
|
528 |
+
}
|
529 |
+
|
530 |
+
//Create destination if needed
|
531 |
+
if ( ! $wp_filesystem->exists( $remote_destination ) ) {
|
532 |
+
if ( ! $wp_filesystem->mkdir( $remote_destination, FS_CHMOD_DIR ) ) {
|
533 |
+
return new WP_Error( 'mkdir_failed_destination', $this->strings['mkdir_failed'], $remote_destination );
|
534 |
+
}
|
535 |
+
}
|
536 |
+
// Copy new version of item into place.
|
537 |
+
$result = copy_dir( $source, $remote_destination );
|
538 |
+
if ( is_wp_error( $result ) ) {
|
539 |
+
if ( $args['clear_working'] ) {
|
540 |
+
$wp_filesystem->delete( $remote_source, true );
|
541 |
+
}
|
542 |
+
return $result;
|
543 |
+
}
|
544 |
+
|
545 |
+
//Clear the Working folder?
|
546 |
+
if ( $args['clear_working'] ) {
|
547 |
+
$wp_filesystem->delete( $remote_source, true );
|
548 |
+
}
|
549 |
+
|
550 |
+
$destination_name = basename( str_replace( $local_destination, '', $destination ) );
|
551 |
+
if ( '.' == $destination_name ) {
|
552 |
+
$destination_name = '';
|
553 |
+
}
|
554 |
+
|
555 |
+
$this->result = compact( 'source', 'source_files', 'destination', 'destination_name', 'local_destination', 'remote_destination', 'clear_destination' );
|
556 |
+
|
557 |
+
/**
|
558 |
+
* Filters the installation response after the installation has finished.
|
559 |
+
*
|
560 |
+
* @since 2.8.0
|
561 |
+
*
|
562 |
+
* @param bool $response Installation response.
|
563 |
+
* @param array $hook_extra Extra arguments passed to hooked filters.
|
564 |
+
* @param array $result Installation result data.
|
565 |
+
*/
|
566 |
+
$res = apply_filters( 'upgrader_post_install', true, $args['hook_extra'], $this->result );
|
567 |
+
|
568 |
+
if ( is_wp_error( $res ) ) {
|
569 |
+
$this->result = $res;
|
570 |
+
return $res;
|
571 |
+
}
|
572 |
+
|
573 |
+
//Bombard the calling function will all the info which we've just used.
|
574 |
+
return $this->result;
|
575 |
+
}
|
576 |
+
}
|
admin/PluginSilentUpgraderSkin.php
ADDED
@@ -0,0 +1,57 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace CFF\Helpers;
|
4 |
+
|
5 |
+
/** \WP_Upgrader_Skin class */
|
6 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader-skin.php';
|
7 |
+
|
8 |
+
/**
|
9 |
+
* Class PluginSilentUpgraderSkin.
|
10 |
+
*
|
11 |
+
* @internal Please do not use this class outside of core WPForms development. May be removed at any time.
|
12 |
+
*
|
13 |
+
* @since 1.5.6.1
|
14 |
+
*/
|
15 |
+
class PluginSilentUpgraderSkin extends \WP_Upgrader_Skin {
|
16 |
+
|
17 |
+
/**
|
18 |
+
* Empty out the header of its HTML content and only check to see if it has
|
19 |
+
* been performed or not.
|
20 |
+
*
|
21 |
+
* @since 1.5.6.1
|
22 |
+
*/
|
23 |
+
public function header() {
|
24 |
+
}
|
25 |
+
|
26 |
+
/**
|
27 |
+
* Empty out the footer of its HTML contents.
|
28 |
+
*
|
29 |
+
* @since 1.5.6.1
|
30 |
+
*/
|
31 |
+
public function footer() {
|
32 |
+
}
|
33 |
+
|
34 |
+
/**
|
35 |
+
* Instead of outputting HTML for errors, just return them.
|
36 |
+
* Ajax request will just ignore it.
|
37 |
+
*
|
38 |
+
* @since 1.5.6.1
|
39 |
+
*
|
40 |
+
* @param array $errors Array of errors with the install process.
|
41 |
+
*
|
42 |
+
* @return array
|
43 |
+
*/
|
44 |
+
public function error( $errors ) {
|
45 |
+
return $errors;
|
46 |
+
}
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Empty out JavaScript output that calls function to decrement the update counts.
|
50 |
+
*
|
51 |
+
* @since 1.5.6.1
|
52 |
+
*
|
53 |
+
* @param string $type Type of update count to decrement.
|
54 |
+
*/
|
55 |
+
public function decrement_update_count( $type ) {
|
56 |
+
}
|
57 |
+
}
|
admin/addon-functions.php
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
3 |
+
|
4 |
+
/**
|
5 |
+
* Deactivate addon.
|
6 |
+
*
|
7 |
+
* @since 1.0.0
|
8 |
+
*/
|
9 |
+
function cff_deactivate_addon() {
|
10 |
+
|
11 |
+
// Run a security check.
|
12 |
+
check_ajax_referer( 'cff-admin', 'nonce' );
|
13 |
+
|
14 |
+
// Check for permissions.
|
15 |
+
if ( ! current_user_can( 'manage_instagram_feed_options' ) ) {
|
16 |
+
wp_send_json_error();
|
17 |
+
}
|
18 |
+
|
19 |
+
$type = 'addon';
|
20 |
+
if ( ! empty( $_POST['type'] ) ) {
|
21 |
+
$type = sanitize_key( $_POST['type'] );
|
22 |
+
}
|
23 |
+
|
24 |
+
if ( isset( $_POST['plugin'] ) ) {
|
25 |
+
deactivate_plugins( $_POST['plugin'] );
|
26 |
+
|
27 |
+
if ( 'plugin' === $type ) {
|
28 |
+
wp_send_json_success( esc_html__( 'Plugin deactivated.', 'custom-facebook-feed' ) );
|
29 |
+
} else {
|
30 |
+
wp_send_json_success( esc_html__( 'Addon deactivated.', 'custom-facebook-feed' ) );
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
+
wp_send_json_error( esc_html__( 'Could not deactivate the addon. Please deactivate from the Plugins page.', 'custom-facebook-feed' ) );
|
35 |
+
}
|
36 |
+
add_action( 'wp_ajax_cff_deactivate_addon', 'cff_deactivate_addon' );
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Activate addon.
|
40 |
+
*
|
41 |
+
* @since 1.0.0
|
42 |
+
*/
|
43 |
+
function cff_activate_addon() {
|
44 |
+
|
45 |
+
// Run a security check.
|
46 |
+
check_ajax_referer( 'cff-admin', 'nonce' );
|
47 |
+
|
48 |
+
// Check for permissions.
|
49 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
50 |
+
wp_send_json_error();
|
51 |
+
}
|
52 |
+
|
53 |
+
if ( isset( $_POST['plugin'] ) ) {
|
54 |
+
|
55 |
+
$type = 'addon';
|
56 |
+
if ( ! empty( $_POST['type'] ) ) {
|
57 |
+
$type = sanitize_key( $_POST['type'] );
|
58 |
+
}
|
59 |
+
|
60 |
+
$activate = activate_plugins( $_POST['plugin'] );
|
61 |
+
|
62 |
+
if ( ! is_wp_error( $activate ) ) {
|
63 |
+
if ( 'plugin' === $type ) {
|
64 |
+
wp_send_json_success( esc_html__( 'Plugin activated.', 'custom-facebook-feed' ) );
|
65 |
+
} else {
|
66 |
+
wp_send_json_success( esc_html__( 'Addon activated.', 'custom-facebook-feed' ) );
|
67 |
+
}
|
68 |
+
}
|
69 |
+
}
|
70 |
+
|
71 |
+
wp_send_json_error( esc_html__( 'Could not activate addon. Please activate from the Plugins page.', 'custom-facebook-feed' ) );
|
72 |
+
}
|
73 |
+
add_action( 'wp_ajax_cff_activate_addon', 'cff_activate_addon' );
|
74 |
+
|
75 |
+
/**
|
76 |
+
* Install addon.
|
77 |
+
*
|
78 |
+
* @since 1.0.0
|
79 |
+
*/
|
80 |
+
function cff_install_addon() {
|
81 |
+
|
82 |
+
// Run a security check.
|
83 |
+
check_ajax_referer( 'cff-admin', 'nonce' );
|
84 |
+
|
85 |
+
// Check for permissions.
|
86 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
87 |
+
wp_send_json_error();
|
88 |
+
}
|
89 |
+
|
90 |
+
$error = esc_html__( 'Could not install addon. Please download from smashballoon.com and install manually.', 'custom-facebook-feed' );
|
91 |
+
|
92 |
+
if ( empty( $_POST['plugin'] ) ) {
|
93 |
+
wp_send_json_error( $error );
|
94 |
+
}
|
95 |
+
|
96 |
+
// Set the current screen to avoid undefined notices.
|
97 |
+
set_current_screen( 'cff-about' );
|
98 |
+
|
99 |
+
// Prepare variables.
|
100 |
+
$url = esc_url_raw(
|
101 |
+
add_query_arg(
|
102 |
+
array(
|
103 |
+
'page' => 'cff-about',
|
104 |
+
),
|
105 |
+
admin_url( 'admin.php' )
|
106 |
+
)
|
107 |
+
);
|
108 |
+
|
109 |
+
$creds = request_filesystem_credentials( $url, '', false, false, null );
|
110 |
+
|
111 |
+
// Check for file system permissions.
|
112 |
+
if ( false === $creds ) {
|
113 |
+
wp_send_json_error( $error );
|
114 |
+
}
|
115 |
+
|
116 |
+
if ( ! WP_Filesystem( $creds ) ) {
|
117 |
+
wp_send_json_error( $error );
|
118 |
+
}
|
119 |
+
|
120 |
+
/*
|
121 |
+
* We do not need any extra credentials if we have gotten this far, so let's install the plugin.
|
122 |
+
*/
|
123 |
+
|
124 |
+
require_once CFF_PLUGIN_DIR . 'admin/class-install-skin.php';
|
125 |
+
|
126 |
+
// Do not allow WordPress to search/download translations, as this will break JS output.
|
127 |
+
remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
|
128 |
+
|
129 |
+
// Create the plugin upgrader with our custom skin.
|
130 |
+
$installer = new CFF\Helpers\PluginSilentUpgrader( new CFF_Install_Skin() );
|
131 |
+
|
132 |
+
// Error check.
|
133 |
+
if ( ! method_exists( $installer, 'install' ) || empty( $_POST['plugin'] ) ) {
|
134 |
+
wp_send_json_error( $error );
|
135 |
+
}
|
136 |
+
|
137 |
+
$installer->install( $_POST['plugin'] ); // phpcs:ignore
|
138 |
+
|
139 |
+
// Flush the cache and return the newly installed plugin basename.
|
140 |
+
wp_cache_flush();
|
141 |
+
|
142 |
+
$plugin_basename = $installer->plugin_info();
|
143 |
+
|
144 |
+
if ( $plugin_basename ) {
|
145 |
+
|
146 |
+
$type = 'addon';
|
147 |
+
if ( ! empty( $_POST['type'] ) ) {
|
148 |
+
$type = sanitize_key( $_POST['type'] );
|
149 |
+
}
|
150 |
+
|
151 |
+
// Activate the plugin silently.
|
152 |
+
$activated = activate_plugin( $plugin_basename );
|
153 |
+
|
154 |
+
if ( ! is_wp_error( $activated ) ) {
|
155 |
+
wp_send_json_success(
|
156 |
+
array(
|
157 |
+
'msg' => 'plugin' === $type ? esc_html__( 'Plugin installed & activated.', 'custom-facebook-feed' ) : esc_html__( 'Addon installed & activated.', 'custom-facebook-feed' ),
|
158 |
+
'is_activated' => true,
|
159 |
+
'basename' => $plugin_basename,
|
160 |
+
)
|
161 |
+
);
|
162 |
+
} else {
|
163 |
+
wp_send_json_success(
|
164 |
+
array(
|
165 |
+
'msg' => 'plugin' === $type ? esc_html__( 'Plugin installed.', 'custom-facebook-feed' ) : esc_html__( 'Addon installed.', 'custom-facebook-feed' ),
|
166 |
+
'is_activated' => false,
|
167 |
+
'basename' => $plugin_basename,
|
168 |
+
)
|
169 |
+
);
|
170 |
+
}
|
171 |
+
}
|
172 |
+
|
173 |
+
wp_send_json_error( $error );
|
174 |
+
}
|
175 |
+
add_action( 'wp_ajax_cff_install_addon', 'cff_install_addon' );
|
admin/class-cff-about.php
ADDED
@@ -0,0 +1,1351 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* About Sbi admin page class.
|
5 |
+
*
|
6 |
+
* @since 2.4/5.5
|
7 |
+
*/
|
8 |
+
class CFF_About {
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Admin menu page slug.
|
12 |
+
*
|
13 |
+
* @since 2.4/5.5
|
14 |
+
*
|
15 |
+
* @var string
|
16 |
+
*/
|
17 |
+
const SLUG = 'cff-about';
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Default view for a page.
|
21 |
+
*
|
22 |
+
* @since 2.4/5.5
|
23 |
+
*
|
24 |
+
* @var string
|
25 |
+
*/
|
26 |
+
const DEFAULT_TAB = 'about';
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Array of license types, that are considered being top level and has no features difference.
|
30 |
+
*
|
31 |
+
* @since 2.4/5.5
|
32 |
+
*
|
33 |
+
* @var array
|
34 |
+
*/
|
35 |
+
public static $licenses_top = array( 'pro', 'agency', 'ultimate', 'elite' );
|
36 |
+
|
37 |
+
/**
|
38 |
+
* List of features that licenses are different with.
|
39 |
+
*
|
40 |
+
* @since 2.4/5.5
|
41 |
+
*
|
42 |
+
* @var array
|
43 |
+
*/
|
44 |
+
public static $licenses_features = array();
|
45 |
+
|
46 |
+
/**
|
47 |
+
* The current active tab.
|
48 |
+
*
|
49 |
+
* @since 2.4/5.5
|
50 |
+
*
|
51 |
+
* @var string
|
52 |
+
*/
|
53 |
+
public $view;
|
54 |
+
|
55 |
+
/**
|
56 |
+
* The core views.
|
57 |
+
*
|
58 |
+
* @since 2.4/5.5
|
59 |
+
*
|
60 |
+
* @var array
|
61 |
+
*/
|
62 |
+
public $views = array();
|
63 |
+
|
64 |
+
/**
|
65 |
+
* Primary class constructor.
|
66 |
+
*
|
67 |
+
* @since 2.4/5.5
|
68 |
+
*/
|
69 |
+
public function __construct() {
|
70 |
+
|
71 |
+
// In old PHP we can't define this elsewhere.
|
72 |
+
self::$licenses_features = array(
|
73 |
+
'entries' => esc_html__( 'Media Display', 'custom-facebook-feed' ),
|
74 |
+
//'fields' => esc_html__( 'Layouts', 'custom-facebook-feed' ),
|
75 |
+
// 'templates' => esc_html__( 'Post Display', 'custom-facebook-feed' ),
|
76 |
+
//'conditionals' => esc_html__( 'Image and Video Display', 'custom-facebook-feed' ),
|
77 |
+
'addons' => esc_html__( 'Post Source', 'custom-facebook-feed' ),
|
78 |
+
'addons1' => esc_html__( 'Number of Posts', 'custom-facebook-feed' ),
|
79 |
+
'addons2' => esc_html__( 'Filtering', 'custom-facebook-feed' ),
|
80 |
+
|
81 |
+
//'marketing' => esc_html__( 'Filtering', 'custom-facebook-feed' ),
|
82 |
+
//'marketing' => esc_html__( 'Instagram Stories', 'custom-facebook-feed' ),
|
83 |
+
'payments' => esc_html__( 'Feed Layout', 'custom-facebook-feed' ),
|
84 |
+
'surveys' => esc_html__( 'Post Information', 'custom-facebook-feed' ),
|
85 |
+
'advanced' => esc_html__( 'Comments', 'custom-facebook-feed' ),
|
86 |
+
'extensions' => esc_html__( 'Extensions', 'custom-facebook-feed' ),
|
87 |
+
'support' => esc_html__( 'Customer Support', 'custom-facebook-feed' ),
|
88 |
+
);
|
89 |
+
|
90 |
+
// Maybe load tools page.
|
91 |
+
add_action( 'admin_init', array( $this, 'init' ) );
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Determining if the user is viewing the our page, if so, party on.
|
96 |
+
*
|
97 |
+
* @since 2.4/5.5
|
98 |
+
*/
|
99 |
+
public function init() {
|
100 |
+
|
101 |
+
// Check what page we are on.
|
102 |
+
$page = isset( $_GET['page'] ) ? $_GET['page'] : '';
|
103 |
+
|
104 |
+
// Only load if we are actually on the settings page.
|
105 |
+
if ( self::SLUG !== $page ) {
|
106 |
+
return;
|
107 |
+
}
|
108 |
+
|
109 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'enqueues' ) );
|
110 |
+
|
111 |
+
/*
|
112 |
+
* Define the core views for the our tab.
|
113 |
+
*/
|
114 |
+
$this->views = apply_filters(
|
115 |
+
'cff_admin_about_views',
|
116 |
+
array(
|
117 |
+
esc_html__( 'About Us', 'custom-facebook-feed' ) => array( 'about' ),
|
118 |
+
esc_html__( 'Getting Started', 'custom-facebook-feed' ) => array( 'getting-started' ),
|
119 |
+
)
|
120 |
+
);
|
121 |
+
|
122 |
+
$license = $this->get_license_type();
|
123 |
+
|
124 |
+
if (
|
125 |
+
(
|
126 |
+
$license === 'pro' ||
|
127 |
+
! in_array( $license, self::$licenses_top, true )
|
128 |
+
)
|
129 |
+
//cff_debug()
|
130 |
+
) {
|
131 |
+
$vs_tab_name = sprintf( /* translators: %1$s - current license type, %2$s - suggested license type. */
|
132 |
+
esc_html__( '%1$s vs %2$s', 'custom-facebook-feed' ),
|
133 |
+
ucfirst( $license ),
|
134 |
+
$this->get_next_license( $license )
|
135 |
+
);
|
136 |
+
|
137 |
+
$this->views[ $vs_tab_name ] = array( 'versus' );
|
138 |
+
}
|
139 |
+
|
140 |
+
// Determine the current active settings tab.
|
141 |
+
$this->view = ! empty( $_GET['view'] ) ? esc_html( $_GET['view'] ) : self::DEFAULT_TAB;
|
142 |
+
|
143 |
+
// If the user tries to load an invalid view - fallback to About Us.
|
144 |
+
if (
|
145 |
+
! in_array( $this->view, call_user_func_array( 'array_merge', $this->views ), true ) &&
|
146 |
+
! has_action( 'cff_admin_about_display_tab_' . sanitize_key( $this->view ) )
|
147 |
+
) {
|
148 |
+
$this->view = self::DEFAULT_TAB;
|
149 |
+
}
|
150 |
+
|
151 |
+
add_action( 'cff_admin_page', array( $this, 'output' ) );
|
152 |
+
|
153 |
+
// Hook for addons.
|
154 |
+
do_action( 'cff_admin_about_init' );
|
155 |
+
}
|
156 |
+
|
157 |
+
/**
|
158 |
+
* Enqueue assets for the the page.
|
159 |
+
*
|
160 |
+
* @since 2.4/5.5
|
161 |
+
*/
|
162 |
+
public function enqueues() {
|
163 |
+
|
164 |
+
wp_enqueue_script(
|
165 |
+
'jquery-matchheight',
|
166 |
+
CFF_PLUGIN_URL . 'js/jquery.matchHeight-min.js',
|
167 |
+
array( 'jquery' ),
|
168 |
+
'0.7.0',
|
169 |
+
false
|
170 |
+
);
|
171 |
+
}
|
172 |
+
|
173 |
+
/**
|
174 |
+
* Output the basic page structure.
|
175 |
+
*
|
176 |
+
* @since 2.4/5.5
|
177 |
+
*/
|
178 |
+
public function output() {
|
179 |
+
|
180 |
+
$show_nav = false;
|
181 |
+
foreach ( $this->views as $view ) {
|
182 |
+
if ( in_array( $this->view, (array) $view, true ) ) {
|
183 |
+
$show_nav = true;
|
184 |
+
break;
|
185 |
+
}
|
186 |
+
}
|
187 |
+
?>
|
188 |
+
|
189 |
+
<div id="cff-admin-about" class="wrap cff-admin-wrap">
|
190 |
+
|
191 |
+
<?php
|
192 |
+
if ( $show_nav ) {
|
193 |
+
$license = $this->get_license_type();
|
194 |
+
$next_license = $this->get_next_license( $license );
|
195 |
+
echo '<ul class="cff-admin-tabs">';
|
196 |
+
foreach ( $this->views as $label => $view ) {
|
197 |
+
$class = in_array( $this->view, $view, true ) ? 'active' : '';
|
198 |
+
echo '<li>';
|
199 |
+
printf(
|
200 |
+
'<a href="%s" class="%s">%s</a>',
|
201 |
+
esc_url( admin_url( 'admin.php?page=' . self::SLUG . '&view=' . sanitize_key( $view[0] ) ) ),
|
202 |
+
esc_attr( $class ),
|
203 |
+
esc_html( $label )
|
204 |
+
);
|
205 |
+
echo '</li>';
|
206 |
+
}
|
207 |
+
echo '</ul>';
|
208 |
+
}
|
209 |
+
?>
|
210 |
+
|
211 |
+
<h1 class="cff-h1-placeholder"></h1>
|
212 |
+
|
213 |
+
<?php
|
214 |
+
switch ( $this->view ) {
|
215 |
+
case 'about':
|
216 |
+
$this->output_about();
|
217 |
+
break;
|
218 |
+
case 'getting-started':
|
219 |
+
$this->output_getting_started();
|
220 |
+
break;
|
221 |
+
case 'versus':
|
222 |
+
$this->output_versus();
|
223 |
+
break;
|
224 |
+
default:
|
225 |
+
do_action( 'cff_admin_about_display_tab_' . sanitize_key( $this->view ) );
|
226 |
+
break;
|
227 |
+
}
|
228 |
+
?>
|
229 |
+
|
230 |
+
</div>
|
231 |
+
|
232 |
+
<?php
|
233 |
+
}
|
234 |
+
|
235 |
+
/**
|
236 |
+
* Display the About tab content.
|
237 |
+
*
|
238 |
+
* @since 2.4/5.5
|
239 |
+
*/
|
240 |
+
protected function output_about() {
|
241 |
+
|
242 |
+
$this->output_about_info();
|
243 |
+
$this->output_about_addons();
|
244 |
+
}
|
245 |
+
|
246 |
+
/**
|
247 |
+
* Display the General Info section of About tab.
|
248 |
+
*
|
249 |
+
* @since 1.5.8
|
250 |
+
*/
|
251 |
+
protected function output_about_info() {
|
252 |
+
|
253 |
+
?>
|
254 |
+
|
255 |
+
<div class="cff-admin-about-section cff-admin-columns">
|
256 |
+
|
257 |
+
<div class="cff-admin-about-text" style="min-height: 340px;">
|
258 |
+
<h3>
|
259 |
+
<?php esc_html_e( 'Hello and welcome to the Custom Facebook Feed plugin, the most customizable, clean, and simple Facebook feed plugin in the world. At Smash Balloon, we build software that helps you create beautiful responsive social media feeds for your website in minutes.', 'custom-facebook-feed' ); ?>
|
260 |
+
</h3>
|
261 |
+
|
262 |
+
<p>
|
263 |
+
<?php esc_html_e( 'Smash Balloon is a fun-loving WordPress plugin development company birthed into existence in early 2013. We specialize in creating plugins that are not only intuitive and simple to use, but also designed to integrate seamlessly into your website and allow you to display your social media content in powerful and unique ways. Over 1 million awesome people have decided to actively use our plugins, which is an incredible honor that we don’t take lightly. This compels us to try to provide the quickest and most effective customer support that we can, blowing users away with the best customer service they’ve ever experienced.', 'custom-facebook-feed' ); ?>
|
264 |
+
</p>
|
265 |
+
<p>
|
266 |
+
<?php esc_html_e( 'We’re a small, but dedicated, team based in Minnesota in the USA.', 'custom-facebook-feed' ); ?>
|
267 |
+
</p>
|
268 |
+
|
269 |
+
</div>
|
270 |
+
|
271 |
+
<div class="cff-admin-about-image cff-admin-column-last">
|
272 |
+
<figure>
|
273 |
+
<img src="<?php echo CFF_PLUGIN_URL; ?>img/about/team.jpg" alt="<?php esc_attr_e( 'The Sbi Team photo', 'custom-facebook-feed' ); ?>">
|
274 |
+
<figcaption>
|
275 |
+
<?php esc_html_e( 'The Smash Balloon Team', 'custom-facebook-feed' ); ?><br>
|
276 |
+
</figcaption>
|
277 |
+
</figure>
|
278 |
+
</div>
|
279 |
+
|
280 |
+
</div>
|
281 |
+
<?php
|
282 |
+
}
|
283 |
+
|
284 |
+
/**
|
285 |
+
* Display the Addons section of About tab.
|
286 |
+
*
|
287 |
+
* @since 1.5.8
|
288 |
+
*/
|
289 |
+
protected function output_about_addons() {
|
290 |
+
|
291 |
+
if ( ! current_user_can( 'manage_custom_facebook_feed_options' ) || version_compare( PHP_VERSION, '5.3.0' ) <= 0 ) {
|
292 |
+
return;
|
293 |
+
}
|
294 |
+
|
295 |
+
$all_plugins = get_plugins();
|
296 |
+
$am_plugins = $this->get_am_plugins();
|
297 |
+
|
298 |
+
?>
|
299 |
+
<div id="cff-admin-addons">
|
300 |
+
<div class="addons-container">
|
301 |
+
<h3><?php echo __( 'Our Other Plugins', 'custom-facebook-feed' ); ?></h3>
|
302 |
+
<?php
|
303 |
+
foreach ( $am_plugins as $plugin => $details ) :
|
304 |
+
|
305 |
+
$plugin_data = $this->get_plugin_data( $plugin, $details, $all_plugins );
|
306 |
+
|
307 |
+
if ( $plugin === 'wpforms-lite/wpforms.php' ) {
|
308 |
+
echo '<h3>' .__( 'Plugins We Recommend', 'custom-facebook-feed' ). '</h3>';
|
309 |
+
}
|
310 |
+
|
311 |
+
?>
|
312 |
+
<div class="addon-container">
|
313 |
+
<div class="addon-item">
|
314 |
+
<div class="details cff-clear">
|
315 |
+
<img src="<?php echo esc_url( $plugin_data['details']['icon'] ); ?>">
|
316 |
+
<h5 class="addon-name">
|
317 |
+
<?php echo esc_html( $plugin_data['details']['name'] ); ?>
|
318 |
+
</h5>
|
319 |
+
<p class="addon-desc">
|
320 |
+
<?php echo wp_kses_post( $plugin_data['details']['desc'] ); ?>
|
321 |
+
</p>
|
322 |
+
</div>
|
323 |
+
<div class="actions cff-clear">
|
324 |
+
<div class="status">
|
325 |
+
<strong>
|
326 |
+
<?php
|
327 |
+
printf(
|
328 |
+
/* translators: %s - addon status label. */
|
329 |
+
esc_html__( 'Status: %s', 'custom-facebook-feed' ),
|
330 |
+
'<span class="status-label ' . esc_attr( $plugin_data['status_class'] ) . '">' . wp_kses_post( $plugin_data['status_text'] ) . '</span>'
|
331 |
+
);
|
332 |
+
?>
|
333 |
+
</strong>
|
334 |
+
</div>
|
335 |
+
<div class="action-button">
|
336 |
+
<button class="<?php echo esc_attr( $plugin_data['action_class'] ); ?>" data-plugin="<?php echo esc_attr( $plugin_data['plugin_src'] ); ?>" data-type="plugin">
|
337 |
+
<?php echo wp_kses_post( $plugin_data['action_text'] ); ?>
|
338 |
+
</button>
|
339 |
+
</div>
|
340 |
+
</div>
|
341 |
+
</div>
|
342 |
+
</div>
|
343 |
+
<?php endforeach; ?>
|
344 |
+
</div>
|
345 |
+
</div>
|
346 |
+
<?php
|
347 |
+
}
|
348 |
+
|
349 |
+
/**
|
350 |
+
* Get AM plugin data to display in the Addons section of About tab.
|
351 |
+
*
|
352 |
+
* @since 1.5.8
|
353 |
+
*
|
354 |
+
* @param string $plugin Plugin slug.
|
355 |
+
* @param array $details Plugin details.
|
356 |
+
* @param array $all_plugins List of all plugins.
|
357 |
+
*
|
358 |
+
* @return array
|
359 |
+
*/
|
360 |
+
protected function get_plugin_data( $plugin, $details, $all_plugins ) {
|
361 |
+
|
362 |
+
$have_pro = ( ! empty( $details['pro'] ) && ! empty( $details['pro']['plug'] ) );
|
363 |
+
$show_pro = false;
|
364 |
+
|
365 |
+
$plugin_data = array();
|
366 |
+
|
367 |
+
if ( $have_pro ) {
|
368 |
+
if ( array_key_exists( $plugin, $all_plugins ) ) {
|
369 |
+
if ( is_plugin_active( $plugin ) ) {
|
370 |
+
$show_pro = true;
|
371 |
+
}
|
372 |
+
}
|
373 |
+
if ( array_key_exists( $details['pro']['plug'], $all_plugins ) ) {
|
374 |
+
$show_pro = true;
|
375 |
+
}
|
376 |
+
if ( $show_pro ) {
|
377 |
+
$plugin = $details['pro']['plug'];
|
378 |
+
$details = $details['pro'];
|
379 |
+
}
|
380 |
+
}
|
381 |
+
|
382 |
+
if ( array_key_exists( $plugin, $all_plugins ) ) {
|
383 |
+
if ( is_plugin_active( $plugin ) ) {
|
384 |
+
// Status text/status.
|
385 |
+
$plugin_data['status_class'] = 'status-active';
|
386 |
+
$plugin_data['status_text'] = esc_html__( 'Active', 'custom-facebook-feed' );
|
387 |
+
// Button text/status.
|
388 |
+
$plugin_data['action_class'] = $plugin_data['status_class'] . ' button button-secondary disabled';
|
389 |
+
$plugin_data['action_text'] = esc_html__( 'Activated', 'custom-facebook-feed' );
|
390 |
+
$plugin_data['plugin_src'] = esc_attr( $plugin );
|
391 |
+
} else {
|
392 |
+
// Status text/status.
|
393 |
+
$plugin_data['status_class'] = 'status-inactive';
|
394 |
+
$plugin_data['status_text'] = esc_html__( 'Inactive', 'custom-facebook-feed' );
|
395 |
+
// Button text/status.
|
396 |
+
$plugin_data['action_class'] = $plugin_data['status_class'] . ' button button-secondary';
|
397 |
+
$plugin_data['action_text'] = esc_html__( 'Activate', 'custom-facebook-feed' );
|
398 |
+
$plugin_data['plugin_src'] = esc_attr( $plugin );
|
399 |
+
}
|
400 |
+
} else {
|
401 |
+
// Doesn't exist, install.
|
402 |
+
// Status text/status.
|
403 |
+
$plugin_data['status_class'] = 'status-download';
|
404 |
+
if ( isset( $details['act'] ) && 'go-to-url' === $details['act'] ) {
|
405 |
+
$plugin_data['status_class'] = 'status-go-to-url';
|
406 |
+
}
|
407 |
+
$plugin_data['status_text'] = esc_html__( 'Not Installed', 'custom-facebook-feed' );
|
408 |
+
// Button text/status.
|
409 |
+
$plugin_data['action_class'] = $plugin_data['status_class'] . ' button button-primary';
|
410 |
+
$plugin_data['action_text'] = esc_html__( 'Install Plugin', 'custom-facebook-feed' );
|
411 |
+
$plugin_data['plugin_src'] = esc_url( $details['url'] );
|
412 |
+
}
|
413 |
+
|
414 |
+
$plugin_data['details'] = $details;
|
415 |
+
|
416 |
+
return $plugin_data;
|
417 |
+
}
|
418 |
+
|
419 |
+
/**
|
420 |
+
* Display the Getting Started tab content.
|
421 |
+
*
|
422 |
+
* @since 2.4/5.5
|
423 |
+
*/
|
424 |
+
protected function output_getting_started() {
|
425 |
+
|
426 |
+
$license = $this->get_license_type();
|
427 |
+
?>
|
428 |
+
|
429 |
+
<div class="cff-admin-about-section cff-admin-about-section-first-form" style="display:flex;">
|
430 |
+
|
431 |
+
<div class="cff-admin-about-section-first-form-text">
|
432 |
+
|
433 |
+
<h2>
|
434 |
+
<?php esc_html_e( 'Creating Your First Feed', 'custom-facebook-feed' ); ?>
|
435 |
+
</h2>
|
436 |
+
|
437 |
+
<p>
|
438 |
+
<?php esc_html_e( 'Want to get started creating your first feed with Custom Facebook Feed? By following the step by step instructions in this walkthrough, you can easily publish your first feed on your site.', 'custom-facebook-feed' ); ?>
|
439 |
+
</p>
|
440 |
+
|
441 |
+
<p>
|
442 |
+
<?php esc_html_e( 'Navigate to Facebook Feed in the admin sidebar to go the Configure page.', 'custom-facebook-feed' ); ?>
|
443 |
+
</p>
|
444 |
+
|
445 |
+
<p>
|
446 |
+
<?php esc_html_e( 'Click on the large blue button to connect your Facebook account.', 'custom-facebook-feed' ); ?>
|
447 |
+
</p>
|
448 |
+
|
449 |
+
<p>
|
450 |
+
<?php esc_html_e( 'Once you connect a Facebook account, you can display your feed on any post, page or widget using the shortcode [custom-facebook-feed]. You can also use the Custom Facebook Feed Gutenberg block if your site has the WordPress block editor enabled.', 'custom-facebook-feed' ); ?>
|
451 |
+
</p>
|
452 |
+
|
453 |
+
<ul class="list-plain">
|
454 |
+
<li>
|
455 |
+
<a href="https://smashballoon.com/can-display-feeds-multiple-facebook-pages/?utm_source=WordPress&utm_medium=cff-about-page&utm_campaign=gettingstarted#multiple-feeds" target="_blank" rel="noopener noreferrer">
|
456 |
+
<?php esc_html_e( 'Display Multiple Feeds', 'custom-facebook-feed' ); ?>
|
457 |
+
</a>
|
458 |
+
</li>
|
459 |
+
<li>
|
460 |
+
<a href="https://smashballoon.com/using-shortcode-options-customize-facebook-feeds/?utm_source=WordPress&utm_medium=cff-about-page&utm_campaign=gettingstarted#differentaccount" target="_blank" rel="noopener noreferrer">
|
461 |
+
<?php esc_html_e( 'Shortcode Settings Guide', 'custom-facebook-feed' ); ?>
|
462 |
+
</a>
|
463 |
+
</li>
|
464 |
+
<li>
|
465 |
+
<a href="https://smashballoon.com/find-facebook-page-group-id/?utm_source=WordPress&utm_medium=cff-about-page&utm_campaign=gettingstarted#display-form" target="_blank" rel="noopener noreferrer">
|
466 |
+
<?php esc_html_e( 'Find My Page ID', 'custom-facebook-feed' ); ?>
|
467 |
+
</a>
|
468 |
+
</li>
|
469 |
+
</ul>
|
470 |
+
|
471 |
+
</div>
|
472 |
+
|
473 |
+
<div class="cff-admin-about-section-first-form-video">
|
474 |
+
<iframe src="https://www.youtube-nocookie.com/embed/0gykYq3JSrY?rel=0" width="540" height="304" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
|
475 |
+
</div>
|
476 |
+
|
477 |
+
</div>
|
478 |
+
|
479 |
+
<?php if ( ! in_array( $license, self::$licenses_top, true ) ) { ?>
|
480 |
+
<div class="cff-admin-about-section cff-admin-about-section-hero">
|
481 |
+
|
482 |
+
<div class="cff-admin-about-section-hero-main">
|
483 |
+
<h2>
|
484 |
+
<?php esc_html_e( 'Get Custom Facebook Feed Pro and Unlock all the Powerful Features', 'custom-facebook-feed' ); ?>
|
485 |
+
</h2>
|
486 |
+
|
487 |
+
<p class="bigger">
|
488 |
+
<?php
|
489 |
+
echo wp_kses(
|
490 |
+
__( 'Thanks for being a loyal Custom Facebook Feed Lite user. <strong>Upgrade to Custom Facebook Feed Pro</strong> to unlock all the awesome features and experience<br>why Custom Facebook Feed is the most popular Facebook feed plugin.', 'custom-facebook-feed' ),
|
491 |
+
array(
|
492 |
+
'br' => array(),
|
493 |
+
'strong' => array(),
|
494 |
+
)
|
495 |
+
);
|
496 |
+
?>
|
497 |
+
</p>
|
498 |
+
|
499 |
+
<p>
|
500 |
+
<?php
|
501 |
+
printf(
|
502 |
+
wp_kses(
|
503 |
+
/* translators: %s - stars. */
|
504 |
+
__( 'We know that you will truly love Custom Facebook Feed. It has over <strong>1000+ five star ratings</strong> (%s) and is active on over 200,000 websites.', 'custom-facebook-feed' ),
|
505 |
+
array(
|
506 |
+
'strong' => array(),
|
507 |
+
)
|
508 |
+
),
|
509 |
+
'<i class="fa fa-star" aria-hidden="true"></i>' .
|
510 |
+
'<i class="fa fa-star" aria-hidden="true"></i>' .
|
511 |
+
'<i class="fa fa-star" aria-hidden="true"></i>' .
|
512 |
+
'<i class="fa fa-star" aria-hidden="true"></i>' .
|
513 |
+
'<i class="fa fa-star" aria-hidden="true"></i>'
|
514 |
+
);
|
515 |
+
?>
|
516 |
+
</p>
|
517 |
+
</div>
|
518 |
+
|
519 |
+
<div class="cff-admin-about-section-hero-extra">
|
520 |
+
<div class="cff-admin-columns">
|
521 |
+
<div class="cff-admin-column-50">
|
522 |
+
<ul class="list-features list-plain">
|
523 |
+
<li>
|
524 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
525 |
+
<?php esc_html_e( 'Display photos, videos, and albums in your posts.', 'custom-facebook-feed' ); ?>
|
526 |
+
</li>
|
527 |
+
<li>
|
528 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
529 |
+
<?php esc_html_e( 'Choose which content type to display; posts, photos, albums, videos, links, or events.', 'custom-facebook-feed' ); ?>
|
530 |
+
</li>
|
531 |
+
<li>
|
532 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
533 |
+
<?php esc_html_e( 'Pop-up lightbox to view images and watch videos.', 'custom-facebook-feed' ); ?>
|
534 |
+
</li>
|
535 |
+
<li>
|
536 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
537 |
+
<?php esc_html_e( 'Show comments, likes, shares, reactions and comment replies.', 'custom-facebook-feed' ); ?>
|
538 |
+
</li>
|
539 |
+
<li>
|
540 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
541 |
+
<?php esc_html_e( 'Filter posts by hashtag or words.', 'custom-facebook-feed' ); ?>
|
542 |
+
</li>
|
543 |
+
</ul>
|
544 |
+
</div>
|
545 |
+
<div class="cff-admin-column-50 cff-admin-column-last">
|
546 |
+
<ul class="list-features list-plain">
|
547 |
+
<li>
|
548 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
549 |
+
<?php esc_html_e( 'Infinitely load more posts.', 'custom-facebook-feed' ); ?>
|
550 |
+
</li>
|
551 |
+
<li>
|
552 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
553 |
+
<?php esc_html_e( 'HD, 360 degree, and Live video support.', 'custom-facebook-feed' ); ?>
|
554 |
+
</li>
|
555 |
+
<li>
|
556 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
557 |
+
<?php esc_html_e( 'Support for Facebook Groups.', 'custom-facebook-feed' ); ?>
|
558 |
+
</li>
|
559 |
+
<li>
|
560 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
561 |
+
<?php esc_html_e( 'Multiple post layout options.', 'custom-facebook-feed' ); ?>
|
562 |
+
</li>
|
563 |
+
<li>
|
564 |
+
<i class="fa fa-check" aria-hidden="true"></i>
|
565 |
+
<?php esc_html_e( 'Priority Pro support from our team of experts.', 'custom-facebook-feed' ); ?>
|
566 |
+
</li>
|
567 |
+
</ul>
|
568 |
+
</div>
|
569 |
+
</div>
|
570 |
+
|
571 |
+
<hr />
|
572 |
+
|
573 |
+
<h3 class="call-to-action">
|
574 |
+
<?php
|
575 |
+
if ( 'lite' === $license ) {
|
576 |
+
echo '<a href="https://smashballoon.com/custom-facebook-feed/pricing/?utm_source=plugin-free&utm_campaign=cff" target="_blank" rel="noopener noreferrer">';
|
577 |
+
} else {
|
578 |
+
echo '<a href="https://smashballoon.com/custom-facebook-feed/pricing/?utm_source=WordPress&utm_medium=cff-about-page&utm_campaign=gettingstarted" target="_blank" rel="noopener noreferrer">';
|
579 |
+
}
|
580 |
+
esc_html_e( 'Get Custom Facebook Feed Pro Today and Unlock all the Powerful Features', 'custom-facebook-feed' );
|
581 |
+
?>
|
582 |
+
</a>
|
583 |
+
</h3>
|
584 |
+
|
585 |
+
<?php if ( 'lite' === $license ) { ?>
|
586 |
+
<p>
|
587 |
+
<?php
|
588 |
+
echo wp_kses(
|
589 |
+
__( 'Bonus: Custom Facebook Feed Lite users get <span class="price-20-off">50% off regular price</span>, automatically applied at checkout.', 'custom-facebook-feed' ),
|
590 |
+
array(
|
591 |
+
'span' => array(
|
592 |
+
'class' => array(),
|
593 |
+
),
|
594 |
+
)
|
595 |
+
);
|
596 |
+
?>
|
597 |
+
</p>
|
598 |
+
<?php } ?>
|
599 |
+
</div>
|
600 |
+
|
601 |
+
</div>
|
602 |
+
<?php } ?>
|
603 |
+
|
604 |
+
|
605 |
+
<div class="cff-admin-about-section cff-admin-about-section-squashed cff-admin-about-section-post cff-admin-columns">
|
606 |
+
<div class="cff-admin-column-20">
|
607 |
+
<img src="<?php echo CFF_PLUGIN_URL; ?>img/about/steps.png" alt="">
|
608 |
+
</div>
|
609 |
+
<div class="cff-admin-column-80">
|
610 |
+
<h2>
|
611 |
+
<?php esc_html_e( 'Detailed Step-By-Step Guide', 'custom-facebook-feed' ); ?>
|
612 |
+
</h2>
|
613 |
+
|
614 |
+
<p>
|
615 |
+
<?php esc_html_e( 'View detailed steps with related images on our website. We have a comprehensive guide to getting up and running with Custom Facebook Feed.', 'custom-facebook-feed' ); ?>
|
616 |
+
</p>
|
617 |
+
|
618 |
+
<a href="https://smashballoon.com/custom-facebook-feed/docs/free/?utm_source=WordPress&utm_medium=cff-about-page&utm_campaign=gettingstarted" target="_blank" rel="noopener noreferrer" class="cff-admin-about-section-post-link">
|
619 |
+
<?php esc_html_e( 'Read Documentation', 'custom-facebook-feed' ); ?><i class="fa fa-external-link" aria-hidden="true"></i>
|
620 |
+
</a>
|
621 |
+
</div>
|
622 |
+
</div>
|
623 |
+
|
624 |
+
<div class="cff-admin-about-section cff-admin-about-section-squashed cff-admin-about-section-post cff-admin-columns">
|
625 |
+
<div class="cff-admin-column-20">
|
626 |
+
<img src="<?php echo CFF_PLUGIN_URL; ?>img/about/api-error.png" alt="">
|
627 |
+
</div>
|
628 |
+
<div class="cff-admin-column-80">
|
629 |
+
<h2>
|
630 |
+
<?php esc_html_e( 'Troubleshoot Connection and API Errors', 'custom-facebook-feed' ); ?>
|
631 |
+
</h2>
|
632 |
+
|
633 |
+
<p>
|
634 |
+
<?php esc_html_e( 'Are you having trouble displaying your feed due to an error connecting an account or a Facebook API error? We have several articles to help you troubleshoot issues and help you solve them.', 'custom-facebook-feed' ); ?>
|
635 |
+
</p>
|
636 |
+
|
637 |
+
<a href="https://smashballoon.com/custom-facebook-feed/docs/errors/?utm_source=WordPress&utm_medium=cff-about-page&utm_campaign=gettingstarted" target="_blank" rel="noopener noreferrer" class="cff-admin-about-section-post-link">
|
638 |
+
<?php esc_html_e( 'Read Documentation', 'custom-facebook-feed' ); ?><i class="fa fa-external-link" aria-hidden="true"></i>
|
639 |
+
</a>
|
640 |
+
</div>
|
641 |
+
</div>
|
642 |
+
|
643 |
+
<?php
|
644 |
+
}
|
645 |
+
|
646 |
+
/**
|
647 |
+
* Get the next license type. Helper for Versus tab content.
|
648 |
+
*
|
649 |
+
* @since 1.5.5
|
650 |
+
*
|
651 |
+
* @param string $current Current license type slug.
|
652 |
+
*
|
653 |
+
* @return string Next license type slug.
|
654 |
+
*/
|
655 |
+
protected function get_next_license( $current ) {
|
656 |
+
|
657 |
+
return 'Pro';
|
658 |
+
$current = ucfirst( $current );
|
659 |
+
$license_pairs = array(
|
660 |
+
'Lite' => 'Pro',
|
661 |
+
'Basic' => 'Pro',
|
662 |
+
'Plus' => 'Pro',
|
663 |
+
'Pro' => 'Elite',
|
664 |
+
);
|
665 |
+
|
666 |
+
return ! empty( $license_pairs[ $current ] ) ? $license_pairs[ $current ] : 'Elite';
|
667 |
+
}
|
668 |
+
|
669 |
+
/**
|
670 |
+
* Display the Versus tab content.
|
671 |
+
*
|
672 |
+
* @since 2.4/5.5
|
673 |
+
*/
|
674 |
+
protected function output_versus() {
|
675 |
+
|
676 |
+
//$license = $this->get_license_type();
|
677 |
+
//$next_license = $this->get_next_license( $license );
|
678 |
+
$license = 'lite';
|
679 |
+
$next_license = 'pro';
|
680 |
+
?>
|
681 |
+
|
682 |
+
<div class="cff-admin-about-section cff-admin-about-section-squashed">
|
683 |
+
<h1 class="centered">
|
684 |
+
<strong><?php echo esc_html( ucfirst( $license ) ); ?></strong> vs <strong><?php echo esc_html( ucfirst( $next_license ) ); ?></strong>
|
685 |
+
</h1>
|
686 |
+
|
687 |
+
<p class="centered">
|
688 |
+
<?php esc_html_e( 'Get the most out of your Custom Facebook Feeds by upgrading to Pro and unlocking all of the powerful features.', 'custom-facebook-feed' ); ?>
|
689 |
+
</p>
|
690 |
+
</div>
|
691 |
+
|
692 |
+
<div class="cff-admin-about-section cff-admin-about-section-squashed cff-admin-about-section-hero cff-admin-about-section-table">
|
693 |
+
|
694 |
+
<div class="cff-admin-about-section-hero-main cff-admin-columns">
|
695 |
+
<div class="cff-admin-column-33">
|
696 |
+
<h3 class="no-margin">
|
697 |
+
<?php esc_html_e( 'Feature', 'custom-facebook-feed' ); ?>
|
698 |
+
</h3>
|
699 |
+
</div>
|
700 |
+
<div class="cff-admin-column-33">
|
701 |
+
<h3 class="no-margin">
|
702 |
+
<?php echo esc_html( ucfirst( $license ) ); ?>
|
703 |
+
</h3>
|
704 |
+
</div>
|
705 |
+
<div class="cff-admin-column-33">
|
706 |
+
<h3 class="no-margin">
|
707 |
+
<?php echo esc_html( ucfirst( $next_license ) ); ?>
|
708 |
+
</h3>
|
709 |
+
</div>
|
710 |
+
</div>
|
711 |
+
<div class="cff-admin-about-section-hero-extra no-padding cff-admin-columns">
|
712 |
+
|
713 |
+
<table>
|
714 |
+
<?php
|
715 |
+
foreach ( self::$licenses_features as $slug => $name ) {
|
716 |
+
$current = $this->get_license_data( $slug, $license );
|
717 |
+
$next = $this->get_license_data( $slug, strtolower( $next_license ) );
|
718 |
+
|
719 |
+
if ( empty( $current ) || empty( $next ) ) {
|
720 |
+
continue;
|
721 |
+
}
|
722 |
+
?>
|
723 |
+
<tr class="cff-admin-columns">
|
724 |
+
<td class="cff-admin-column-33">
|
725 |
+
<p><?php echo esc_html( $name ); ?></p>
|
726 |
+
</td>
|
727 |
+
<td class="cff-admin-column-33">
|
728 |
+
<?php if ( is_array( $current ) ) : ?>
|
729 |
+
<p class="features-<?php echo esc_attr( $current['status'] ); ?>">
|
730 |
+
<?php echo wp_kses_post( implode( '<br>', $current['text'] ) ); ?>
|
731 |
+
</p>
|
732 |
+
<?php endif; ?>
|
733 |
+
</td>
|
734 |
+
<td class="cff-admin-column-33">
|
735 |
+
<?php if ( is_array( $current ) ) : ?>
|
736 |
+
<p class="features-full">
|
737 |
+
<?php echo wp_kses_post( implode( '<br>', $next['text'] ) ); ?>
|
738 |
+
</p>
|
739 |
+
<?php endif; ?>
|
740 |
+
</td>
|
741 |
+
</tr>
|
742 |
+
<?php
|
743 |
+
}
|
744 |
+
?>
|
745 |
+
</table>
|
746 |
+
|
747 |
+
</div>
|
748 |
+
|
749 |
+
</div>
|
750 |
+
|
751 |
+
<div class="cff-admin-about-section cff-admin-about-section-hero">
|
752 |
+
<div class="cff-admin-about-section-hero-main no-border">
|
753 |
+
<h3 class="call-to-action centered">
|
754 |
+
<?php
|
755 |
+
if ( 'lite' === $license ) {
|
756 |
+
echo '<a href="https://smashballoon.com/custom-facebook-feed/pricing/?utm_source=WordPress&utm_medium=cff-about-page&utm_campaign=gettingstarted" target="_blank" rel="noopener noreferrer">';
|
757 |
+
} else {
|
758 |
+
echo '<a href="https://smashballoon.com/custom-facebook-feed/pricing/?utm_source=WordPress&utm_medium=cff-about-page&utm_campaign=gettingstarted" target="_blank" rel="noopener noreferrer">';
|
759 |
+
}
|
760 |
+
printf( /* translators: %s - next license level. */
|
761 |
+
esc_html__( 'Get Custom Facebook Feed Pro Today and Unlock all the Powerful Features', 'custom-facebook-feed' ),
|
762 |
+
esc_html( $next_license )
|
763 |
+
);
|
764 |
+
?>
|
765 |
+
</a>
|
766 |
+
</h3>
|
767 |
+
|
768 |
+
<?php if ( 'lite' === $license ) { ?>
|
769 |
+
<p class="centered">
|
770 |
+
<?php
|
771 |
+
echo wp_kses(
|
772 |
+
__( 'Bonus: Custom Facebook Feed Lite users get <span class="price-20-off">50% off regular price</span>, automatically applied at checkout.', 'custom-facebook-feed' ),
|
773 |
+
array(
|
774 |
+
'span' => array(
|
775 |
+
'class' => array(),
|
776 |
+
),
|
777 |
+
)
|
778 |
+
);
|
779 |
+
?>
|
780 |
+
</p>
|
781 |
+
<?php } ?>
|
782 |
+
</div>
|
783 |
+
</div>
|
784 |
+
|
785 |
+
<?php
|
786 |
+
}
|
787 |
+
|
788 |
+
/**
|
789 |
+
* List of AM plugins that we propose to install.
|
790 |
+
*
|
791 |
+
* @since 2.4/5.5
|
792 |
+
*
|
793 |
+
* @return array
|
794 |
+
*/
|
795 |
+
protected function get_am_plugins() {
|
796 |
+
|
797 |
+
$images_url = CFF_PLUGIN_URL . 'img/about/';
|
798 |
+
|
799 |
+
return array(
|
800 |
+
'instagram-feed/instagram-feed.php' => array(
|
801 |
+
'icon' => $images_url . 'plugin-if.png',
|
802 |
+
'name' => esc_html__( 'Instagram Feed', 'custom-facebook-feed' ),
|
803 |
+
'desc' => esc_html__( 'Instagram Feed is a clean and beautiful way to add your Instagram posts to your website. Grab your visitors attention and keep them engaged with your site longer.', 'custom-facebook-feed' ),
|
804 |
+
'url' => 'https://downloads.wordpress.org/plugin/instagram-feed.zip',
|
805 |
+
'pro' => array(
|
806 |
+
'plug' => 'instagram-feed-pro/instagram-feed.php',
|
807 |
+
'icon' => $images_url . 'plugin-if.png',
|
808 |
+
'name' => esc_html__( 'Instagram Feed Pro', 'custom-facebook-feed' ),
|
809 |
+
'desc' => esc_html__( 'Instagram Feed is a clean and beautiful way to add your Instagram posts to your website. Grab your visitors attention and keep them engaged with your site longer.', 'custom-facebook-feed' ),
|
810 |
+
'url' => 'https://smashballoon.com/instagram-feed/?utm_source=WordPress&utm_campaign=facebook'.$this->get_license_type().'about',
|
811 |
+
'act' => 'go-to-url',
|
812 |
+
),
|
813 |
+
),
|
814 |
+
|
815 |
+
'custom-twitter-feeds/custom-twitter-feed.php' => array(
|
816 |
+
'icon' => $images_url . 'plugin-tw.jpg',
|
817 |
+
'name' => esc_html__( 'Custom Twitter Feeds', 'custom-facebook-feed' ),
|
818 |
+
'desc' => esc_html__( 'Custom Twitter Feeds is a highly customizable way to display tweets from your Twitter account. Promote your latest content and update your site content automatically.', 'custom-facebook-feed' ),
|
819 |
+
'url' => 'https://downloads.wordpress.org/plugin/custom-twitter-feeds.zip',
|
820 |
+
'pro' => array(
|
821 |
+
'plug' => 'custom-twitter-feeds-pro/custom-twitter-feed.php',
|
822 |
+
'icon' => $images_url . 'plugin-tw.jpg',
|
823 |
+
'name' => esc_html__( 'Custom Twitter Feeds Pro', 'custom-facebook-feed' ),
|
824 |
+
'desc' => esc_html__( 'Custom Twitter Feeds is a highly customizable way to display tweets from your Twitter account. Promote your latest content and update your site content automatically.', 'custom-facebook-feed' ),
|
825 |
+
'url' => 'https://smashballoon.com/custom-twitter-feeds/?utm_source=WordPress&utm_campaign=facebook'.$this->get_license_type().'about',
|
826 |
+
'act' => 'go-to-url',
|
827 |
+
),
|
828 |
+
),
|
829 |
+
|
830 |
+
'feeds-for-youtube/youtube-feed.php' => array(
|
831 |
+
'icon' => $images_url . 'plugin-yt.png',
|
832 |
+
'name' => esc_html__( 'Feeds for YouTube', 'custom-facebook-feed' ),
|
833 |
+
'desc' => esc_html__( 'Feeds for YouTube is a simple yet powerful way to display videos from YouTube on your website. Increase engagement with your channel while keeping visitors on your website.', 'custom-facebook-feed' ),
|
834 |
+
'url' => 'https://downloads.wordpress.org/plugin/feeds-for-youtube.zip',
|
835 |
+
'pro' => array(
|
836 |
+
'plug' => 'youtube-feed-pro/youtube-feed.php',
|
837 |
+
'icon' => $images_url . 'plugin-yt.png',
|
838 |
+
'name' => esc_html__( 'Feeds for YouTube Pro', 'custom-facebook-feed' ),
|
839 |
+
'desc' => esc_html__( 'Feeds for YouTube is a simple yet powerful way to display videos from YouTube on your website. Increase engagement with your channel while keeping visitors on your website.', 'custom-facebook-feed' ),
|
840 |
+
'url' => 'https://smashballoon.com/youtube-feed/?utm_source=WordPress&utm_campaign=facebook'.$this->get_license_type().'about',
|
841 |
+
'act' => 'go-to-url',
|
842 |
+
),
|
843 |
+
),
|
844 |
+
|
845 |
+
'wpforms-lite/wpforms.php' => array(
|
846 |
+
'icon' => $images_url . 'plugin-wpforms.png',
|
847 |
+
'name' => esc_html__( 'WPForms', 'custom-facebook-feed' ),
|
848 |
+
'desc' => esc_html__( 'The most beginner friendly drag & drop WordPress forms plugin allowing you to create beautiful contact forms, subscription forms, payment forms, and more in minutes, not hours!', 'custom-facebook-feed' ),
|
849 |
+
'url' => 'https://downloads.wordpress.org/plugin/wpforms-lite.zip',
|
850 |
+
'pro' => array(
|
851 |
+
'plug' => 'wpforms/wpforms.php',
|
852 |
+
'icon' => $images_url . 'plugin-wpforms.png',
|
853 |
+
'name' => esc_html__( 'WPForms', 'custom-facebook-feed' ),
|
854 |
+
'desc' => esc_html__( 'The most beginner friendly drag & drop WordPress forms plugin allowing you to create beautiful contact forms, subscription forms, payment forms, and more in minutes, not hours!', 'custom-facebook-feed' ),
|
855 |
+
'url' => 'https://wpforms.com/lite-upgrade/?utm_source=WordPress&utm_campaign=liteplugin&utm_medium=cff-about-page',
|
856 |
+
'act' => 'go-to-url',
|
857 |
+
),
|
858 |
+
),
|
859 |
+
|
860 |
+
'google-analytics-for-wordpress/googleanalytics.php' => array(
|
861 |
+
'icon' => $images_url . 'plugin-mi.png',
|
862 |
+
'name' => esc_html__( 'MonsterInsights', 'custom-facebook-feed' ),
|
863 |
+
'desc' => esc_html__( 'MonsterInsights makes it “effortless” to properly connect your WordPress site with Google Analytics, so you can start making data-driven decisions to grow your business.', 'custom-facebook-feed' ),
|
864 |
+
'url' => 'https://downloads.wordpress.org/plugin/google-analytics-for-wordpress.zip',
|
865 |
+
'pro' => array(
|
866 |
+
'plug' => 'google-analytics-premium/googleanalytics-premium.php',
|
867 |
+
'icon' => $images_url . 'plugin-mi.png',
|
868 |
+
'name' => esc_html__( 'MonsterInsights Pro', 'custom-facebook-feed' ),
|
869 |
+
'desc' => esc_html__( 'MonsterInsights makes it “effortless” to properly connect your WordPress site with Google Analytics, so you can start making data-driven decisions to grow your business.', 'custom-facebook-feed' ),
|
870 |
+
'url' => 'https://www.monsterinsights.com/?utm_source=proplugin&utm_medium=cff-about-page&utm_campaign=pluginurl&utm_content=7%2E0%2E0',
|
871 |
+
'act' => 'go-to-url',
|
872 |
+
),
|
873 |
+
),
|
874 |
+
|
875 |
+
'optinmonster/optin-monster-wp-api.php' => array(
|
876 |
+
'icon' => $images_url . 'plugin-om.png',
|
877 |
+
'name' => esc_html__( 'OptinMonster', 'custom-facebook-feed' ),
|
878 |
+
'desc' => esc_html__( 'Our high-converting optin forms like Exit-Intent® popups, Fullscreen Welcome Mats, and Scroll boxes help you dramatically boost conversions and get more email subscribers.', 'custom-facebook-feed' ),
|
879 |
+
'url' => 'https://downloads.wordpress.org/plugin/optinmonster.zip',
|
880 |
+
),
|
881 |
+
|
882 |
+
'wp-mail-smtp/wp_mail_smtp.php' => array(
|
883 |
+
'icon' => $images_url . 'plugin-smtp.png',
|
884 |
+
'name' => esc_html__( 'WP Mail SMTP', 'custom-facebook-feed' ),
|
885 |
+
'desc' => esc_html__( 'Make sure your website\'s emails reach the inbox. Our goal is to make email deliverability easy and reliable. Trusted by over 1 million websites.', 'custom-facebook-feed' ),
|
886 |
+
'url' => 'https://downloads.wordpress.org/plugin/wp-mail-smtp.zip',
|
887 |
+
'pro' => array(
|
888 |
+
'plug' => 'wp-mail-smtp-pro/wp_mail_smtp.php',
|
889 |
+
'icon' => $images_url . 'plugin-smtp.png',
|
890 |
+
'name' => esc_html__( 'WP Mail SMTP Pro', 'custom-facebook-feed' ),
|
891 |
+
'desc' => esc_html__( 'Make sure your website\'s emails reach the inbox. Our goal is to make email deliverability easy and reliable. Trusted by over 1 million websites.', 'custom-facebook-feed' ),
|
892 |
+
'url' => 'https://wpmailsmtp.com/pricing/',
|
893 |
+
'act' => 'go-to-url',
|
894 |
+
),
|
895 |
+
),
|
896 |
+
|
897 |
+
'rafflepress/rafflepress.php' => array(
|
898 |
+
'icon' => $images_url . 'plugin-rp.png',
|
899 |
+
'name' => esc_html__( 'RafflePress', 'custom-facebook-feed' ),
|
900 |
+
'desc' => esc_html__( 'Turn your visitors into brand ambassadors! Easily grow your email list, website traffic, and social media followers with powerful viral giveaways & contests.', 'custom-facebook-feed' ),
|
901 |
+
'url' => 'https://downloads.wordpress.org/plugin/rafflepress.zip',
|
902 |
+
'pro' => array(
|
903 |
+
'plug' => 'rafflepress-pro/rafflepress-pro.php',
|
904 |
+
'icon' => $images_url . 'plugin-rp.png',
|
905 |
+
'name' => esc_html__( 'RafflePress Pro', 'custom-facebook-feed' ),
|
906 |
+
'desc' => esc_html__( 'Turn your visitors into brand ambassadors! Easily grow your email list, website traffic, and social media followers with powerful viral giveaways & contests.', 'custom-facebook-feed' ),
|
907 |
+
'url' => 'https://rafflepress.com/pricing/',
|
908 |
+
'act' => 'go-to-url',
|
909 |
+
),
|
910 |
+
),
|
911 |
+
|
912 |
+
'all-in-one-seo-pack/all_in_one_seo_pack.php' => array(
|
913 |
+
'icon' => $images_url . 'plugin-seo.png',
|
914 |
+
'name' => esc_html__( 'All In One SEO Pack', 'custom-facebook-feed' ),
|
915 |
+
'desc' => esc_html__( 'Out-of-the-box SEO for WordPress. Features like XML Sitemaps, SEO for custom post types, SEO for blogs or business sites, SEO for ecommerce sites, and much more. More than 50 million downloads since 2007.', 'custom-facebook-feed' ),
|
916 |
+
'url' => 'https://downloads.wordpress.org/plugin/all-in-one-seo-pack.zip',
|
917 |
+
),
|
918 |
+
);
|
919 |
+
}
|
920 |
+
|
921 |
+
/**
|
922 |
+
* Get the array of data that compared the license data.
|
923 |
+
*
|
924 |
+
* @since 2.4/5.5
|
925 |
+
*
|
926 |
+
* @param string $feature Feature name.
|
927 |
+
* @param string $license License type to get data for.
|
928 |
+
*
|
929 |
+
* @return array|false
|
930 |
+
*/
|
931 |
+
protected function get_license_data( $feature, $license ) {
|
932 |
+
|
933 |
+
$data = array(
|
934 |
+
'entries' => array(
|
935 |
+
'lite' => array(
|
936 |
+
'status' => 'none',
|
937 |
+
'text' => array(
|
938 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
939 |
+
),
|
940 |
+
),
|
941 |
+
'basic' => array(
|
942 |
+
'status' => 'full',
|
943 |
+
'text' => array(
|
944 |
+
'<strong>' . esc_html__( 'User, Hashtag, and Tagged Feeds', 'custom-facebook-feed' ) . '</strong>',
|
945 |
+
),
|
946 |
+
),
|
947 |
+
'plus' => array(
|
948 |
+
'status' => 'full',
|
949 |
+
'text' => array(
|
950 |
+
'<strong>' . esc_html__( 'Complete Entry Management inside WordPress', 'custom-facebook-feed' ) . '</strong>',
|
951 |
+
),
|
952 |
+
),
|
953 |
+
'pro' => array(
|
954 |
+
'status' => 'full',
|
955 |
+
'text' => array(
|
956 |
+
'<strong>' . esc_html__( 'Display photos and videos in your posts', 'custom-facebook-feed' ) . '</strong>',
|
957 |
+
),
|
958 |
+
),
|
959 |
+
),
|
960 |
+
'fields' => array(
|
961 |
+
'lite' => array(
|
962 |
+
'status' => 'none',
|
963 |
+
'text' => array(
|
964 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
965 |
+
),
|
966 |
+
),
|
967 |
+
'basic' => array(
|
968 |
+
'status' => 'full',
|
969 |
+
'text' => array(
|
970 |
+
'<strong>' . esc_html__( 'Access to all Standard and Fancy Fields', 'custom-facebook-feed' ) . '</strong>',
|
971 |
+
esc_html__( 'Address, Phone, Website URL, Date/Time, Password, File Upload, HTML, Pagebreaks, Section Dividers, Ratings, and Hidden Field', 'custom-facebook-feed' ),
|
972 |
+
),
|
973 |
+
),
|
974 |
+
'plus' => array(
|
975 |
+
'status' => 'full',
|
976 |
+
'text' => array(
|
977 |
+
'<strong>' . esc_html__( 'Access to all Standard and Fancy Fields', 'custom-facebook-feed' ) . '</strong>',
|
978 |
+
esc_html__( 'Address, Phone, Website URL, Date/Time, Password, File Upload, HTML, Pagebreaks, Section Dividers, Ratings, and Hidden Field', 'custom-facebook-feed' ),
|
979 |
+
),
|
980 |
+
),
|
981 |
+
'pro' => array(
|
982 |
+
'status' => 'full',
|
983 |
+
'text' => array(
|
984 |
+
'<strong>' . esc_html__( 'Grid, highlight, masonry, and carousel layouts', 'custom-facebook-feed' ) . '</strong>',
|
985 |
+
),
|
986 |
+
),
|
987 |
+
),
|
988 |
+
'conditionals' => array(
|
989 |
+
'lite' => array(
|
990 |
+
'status' => 'partial',
|
991 |
+
'text' => array(
|
992 |
+
'<strong>' . esc_html__( 'Image, carousel, and video thumbnails', 'custom-facebook-feed' ) . '</strong>',
|
993 |
+
),
|
994 |
+
),
|
995 |
+
'basic' => array(
|
996 |
+
'status' => 'full',
|
997 |
+
'text' => array(
|
998 |
+
'<strong>' . esc_html__( 'Powerful Form Logic for Building Smart Forms', 'custom-facebook-feed' ) . '</strong>',
|
999 |
+
),
|
1000 |
+
),
|
1001 |
+
'plus' => array(
|
1002 |
+
'status' => 'full',
|
1003 |
+
'text' => array(
|
1004 |
+
'<strong>' . esc_html__( 'Powerful Form Logic for Building Smart Forms', 'custom-facebook-feed' ) . '</strong>',
|
1005 |
+
),
|
1006 |
+
),
|
1007 |
+
'pro' => array(
|
1008 |
+
'status' => 'full',
|
1009 |
+
'text' => array(
|
1010 |
+
'<strong>' . esc_html__( 'Display images, swipe through carousel posts, and play videos in a pop-up lightbox', 'custom-facebook-feed' ) . '</strong>',
|
1011 |
+
),
|
1012 |
+
),
|
1013 |
+
),
|
1014 |
+
'marketing' => array(
|
1015 |
+
'lite' => array(
|
1016 |
+
'status' => 'none',
|
1017 |
+
'text' => array(
|
1018 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
1019 |
+
),
|
1020 |
+
),
|
1021 |
+
'basic' => array(
|
1022 |
+
'status' => 'partial',
|
1023 |
+
'text' => array(
|
1024 |
+
'<strong>' . esc_html__( 'Limited Marketing Integration', 'custom-facebook-feed' ) . '</strong>',
|
1025 |
+
esc_html__( 'Constant Contact only', 'custom-facebook-feed' ),
|
1026 |
+
),
|
1027 |
+
),
|
1028 |
+
'plus' => array(
|
1029 |
+
'status' => 'partial',
|
1030 |
+
'text' => array(
|
1031 |
+
'<strong>' . esc_html__( '6 Email Marketing Integrations', 'custom-facebook-feed' ) . '</strong>',
|
1032 |
+
esc_html__( 'Constant Contact, Mailchimp, AWeber, GetResponse, Campaign Monitor, and Drip', 'custom-facebook-feed' ),
|
1033 |
+
),
|
1034 |
+
),
|
1035 |
+
'pro' => array(
|
1036 |
+
'status' => 'full',
|
1037 |
+
'text' => array(
|
1038 |
+
'<strong>' . esc_html__( 'Display images and play videos in a pop-up lightbox', 'custom-facebook-feed' ) . '</strong>',
|
1039 |
+
),
|
1040 |
+
),
|
1041 |
+
),
|
1042 |
+
'payments' => array(
|
1043 |
+
'lite' => array(
|
1044 |
+
'status' => 'partial',
|
1045 |
+
'text' => array(
|
1046 |
+
'<strong>' . esc_html__( 'Default post layout', 'custom-facebook-feed' ) . '</strong>',
|
1047 |
+
),
|
1048 |
+
),
|
1049 |
+
'basic' => array(
|
1050 |
+
'status' => 'none',
|
1051 |
+
'text' => array(
|
1052 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
1053 |
+
),
|
1054 |
+
),
|
1055 |
+
'plus' => array(
|
1056 |
+
'status' => 'none',
|
1057 |
+
'text' => array(
|
1058 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
1059 |
+
),
|
1060 |
+
),
|
1061 |
+
'pro' => array(
|
1062 |
+
'status' => 'full',
|
1063 |
+
'text' => array(
|
1064 |
+
'<strong>' . esc_html__( 'Choose from thumbnail, half-width or full-width post layouts, and grid layout for photo, album, and video feeds.', 'custom-facebook-feed' ) . '</strong>',
|
1065 |
+
),
|
1066 |
+
),
|
1067 |
+
),
|
1068 |
+
'surveys' => array(
|
1069 |
+
'lite' => array(
|
1070 |
+
'status' => 'partial',
|
1071 |
+
'text' => array(
|
1072 |
+
'<strong>' . esc_html__( 'Basic post information', 'custom-facebook-feed' ) . '</strong>',
|
1073 |
+
),
|
1074 |
+
),
|
1075 |
+
'basic' => array(
|
1076 |
+
'status' => 'none',
|
1077 |
+
'text' => array(
|
1078 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
1079 |
+
),
|
1080 |
+
),
|
1081 |
+
'plus' => array(
|
1082 |
+
'status' => 'none',
|
1083 |
+
'text' => array(
|
1084 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
1085 |
+
),
|
1086 |
+
),
|
1087 |
+
'pro' => array(
|
1088 |
+
'status' => 'full',
|
1089 |
+
'text' => array(
|
1090 |
+
'<strong>' . esc_html__( 'Display the number of likes, shares, comments, and reactions below each post', 'custom-facebook-feed' ) . '</strong>',
|
1091 |
+
),
|
1092 |
+
),
|
1093 |
+
),
|
1094 |
+
'advanced' => array(
|
1095 |
+
'lite' => array(
|
1096 |
+
'status' => 'none',
|
1097 |
+
'text' => array(
|
1098 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
1099 |
+
),
|
1100 |
+
),
|
1101 |
+
'basic' => array(
|
1102 |
+
'status' => 'partial',
|
1103 |
+
'text' => array(
|
1104 |
+
'<strong>' . esc_html__( 'Limited Advanced Features', 'custom-facebook-feed' ) . '</strong>',
|
1105 |
+
esc_html__( 'Multi-page Forms, File Upload Forms, Multiple Form Notifications, Conditional Form Confirmation', 'custom-facebook-feed' ),
|
1106 |
+
),
|
1107 |
+
),
|
1108 |
+
'plus' => array(
|
1109 |
+
'status' => 'partial',
|
1110 |
+
'text' => array(
|
1111 |
+
'<strong>' . esc_html__( 'Limited Advanced Features', 'custom-facebook-feed' ) . '</strong>',
|
1112 |
+
esc_html__( 'Multi-page Forms, File Upload Forms, Multiple Form Notifications, Conditional Form Confirmation', 'custom-facebook-feed' ),
|
1113 |
+
),
|
1114 |
+
),
|
1115 |
+
'pro' => array(
|
1116 |
+
'status' => 'full',
|
1117 |
+
'text' => array(
|
1118 |
+
'<strong>' . esc_html__( 'Display comments below each post and in the pop-up lightbox', 'custom-facebook-feed' ) . '</strong>',
|
1119 |
+
),
|
1120 |
+
),
|
1121 |
+
),
|
1122 |
+
'addons' => array(
|
1123 |
+
'lite' => array(
|
1124 |
+
'status' => 'partial',
|
1125 |
+
'text' => array(
|
1126 |
+
'<strong>' . esc_html__( 'Show feeds from a timeline', 'custom-facebook-feed' ) . '</strong>',
|
1127 |
+
),
|
1128 |
+
),
|
1129 |
+
'basic' => array(
|
1130 |
+
'status' => 'partial',
|
1131 |
+
'text' => array(
|
1132 |
+
'<strong>' . esc_html__( 'Custom Captcha Addon included', 'custom-facebook-feed' ) . '</strong>',
|
1133 |
+
),
|
1134 |
+
),
|
1135 |
+
'plus' => array(
|
1136 |
+
'status' => 'partial',
|
1137 |
+
'text' => array(
|
1138 |
+
'<strong>' . esc_html__( 'Email Marketing Addons included', 'custom-facebook-feed' ) . '</strong>',
|
1139 |
+
),
|
1140 |
+
),
|
1141 |
+
'pro' => array(
|
1142 |
+
'status' => 'full',
|
1143 |
+
'text' => array(
|
1144 |
+
'<strong>' . esc_html__( 'Timeline feeds, Photo Grids, Album feeds, Video feeds, Event feeds', 'custom-facebook-feed' ) . '</strong>',
|
1145 |
+
),
|
1146 |
+
),
|
1147 |
+
),
|
1148 |
+
'addons1' => array(
|
1149 |
+
'lite' => array(
|
1150 |
+
'status' => 'partial',
|
1151 |
+
'text' => array(
|
1152 |
+
'<strong>' . esc_html__( 'Choose how many posts to display', 'custom-facebook-feed' ) . '</strong>',
|
1153 |
+
),
|
1154 |
+
),
|
1155 |
+
'basic' => array(
|
1156 |
+
'status' => 'partial',
|
1157 |
+
'text' => array(
|
1158 |
+
'<strong>' . esc_html__( 'Custom Captcha Addon included', 'custom-facebook-feed' ) . '</strong>',
|
1159 |
+
),
|
1160 |
+
),
|
1161 |
+
'plus' => array(
|
1162 |
+
'status' => 'partial',
|
1163 |
+
'text' => array(
|
1164 |
+
'<strong>' . esc_html__( 'Email Marketing Addons included', 'custom-facebook-feed' ) . '</strong>',
|
1165 |
+
),
|
1166 |
+
),
|
1167 |
+
'pro' => array(
|
1168 |
+
'status' => 'full',
|
1169 |
+
'text' => array(
|
1170 |
+
'<strong>' . esc_html__( 'Choose to dynamically load more posts using the Load More button', 'custom-facebook-feed' ) . '</strong>',
|
1171 |
+
),
|
1172 |
+
),
|
1173 |
+
),
|
1174 |
+
'addons2' => array(
|
1175 |
+
'lite' => array(
|
1176 |
+
'status' => 'none',
|
1177 |
+
'text' => array(
|
1178 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
1179 |
+
),
|
1180 |
+
),
|
1181 |
+
'basic' => array(
|
1182 |
+
'status' => 'partial',
|
1183 |
+
'text' => array(
|
1184 |
+
'<strong>' . esc_html__( 'Custom Captcha Addon included', 'custom-facebook-feed' ) . '</strong>',
|
1185 |
+
),
|
1186 |
+
),
|
1187 |
+
'plus' => array(
|
1188 |
+
'status' => 'partial',
|
1189 |
+
'text' => array(
|
1190 |
+
'<strong>' . esc_html__( 'Email Marketing Addons included', 'custom-facebook-feed' ) . '</strong>',
|
1191 |
+
),
|
1192 |
+
),
|
1193 |
+
'pro' => array(
|
1194 |
+
'status' => 'full',
|
1195 |
+
'text' => array(
|
1196 |
+
'<strong>' . esc_html__( 'Filter posts in your feed based on a particular hashtag, word, or phrase', 'custom-facebook-feed' ) . '</strong>',
|
1197 |
+
),
|
1198 |
+
),
|
1199 |
+
),
|
1200 |
+
'extensions' => array(
|
1201 |
+
'lite' => array(
|
1202 |
+
'status' => 'none',
|
1203 |
+
'text' => array(
|
1204 |
+
'<strong>' . esc_html__( 'Not available', 'custom-facebook-feed' ) . '</strong>',
|
1205 |
+
),
|
1206 |
+
),
|
1207 |
+
'basic' => array(
|
1208 |
+
'status' => 'partial',
|
1209 |
+
'text' => array(
|
1210 |
+
'<strong>' . esc_html__( 'Custom Captcha Addon included', 'custom-facebook-feed' ) . '</strong>',
|
1211 |
+
),
|
1212 |
+
),
|
1213 |
+
'plus' => array(
|
1214 |
+
'status' => 'partial',
|
1215 |
+
'text' => array(
|
1216 |
+
'<strong>' . esc_html__( 'Email Marketing Addons included', 'custom-facebook-feed' ) . '</strong>',
|
1217 |
+
),
|
1218 |
+
),
|
1219 |
+
'pro' => array(
|
1220 |
+
'status' => 'full',
|
1221 |
+
'text' => array(
|
1222 |
+
'<strong>' . esc_html__( 'Supports all add-on extensions; Reviews, Multifeed, Date Range, Album Embed, Featured Post, and Carousel.', 'custom-facebook-feed' ) . '</strong>',
|
1223 |
+
),
|
1224 |
+
),
|
1225 |
+
),
|
1226 |
+
'support' => array(
|
1227 |
+
'lite' => array(
|
1228 |
+
'status' => 'partial',
|
1229 |
+
'text' => array(
|
1230 |
+
'<strong>' . esc_html__( 'Limited support', 'custom-facebook-feed' ) . '</strong>',
|
1231 |
+
),
|
1232 |
+
),
|
1233 |
+
'basic' => array(
|
1234 |
+
'status' => 'partial',
|
1235 |
+
'text' => array(
|
1236 |
+
'<strong>' . esc_html__( 'Standard Support', 'custom-facebook-feed' ) . '</strong>',
|
1237 |
+
),
|
1238 |
+
),
|
1239 |
+
'plus' => array(
|
1240 |
+
'status' => 'partial',
|
1241 |
+
'text' => array(
|
1242 |
+
'<strong>' . esc_html__( 'Standard Support', 'custom-facebook-feed' ) . '</strong>',
|
1243 |
+
),
|
1244 |
+
),
|
1245 |
+
'pro' => array(
|
1246 |
+
'status' => 'full',
|
1247 |
+
'text' => array(
|
1248 |
+
'<strong>' . esc_html__( 'Priority support', 'custom-facebook-feed' ) . '</strong>',
|
1249 |
+
),
|
1250 |
+
),
|
1251 |
+
'elite' => array(
|
1252 |
+
'status' => 'full',
|
1253 |
+
'text' => array(
|
1254 |
+
'<strong>' . esc_html__( 'Premium Support', 'custom-facebook-feed' ) . '</strong>',
|
1255 |
+
),
|
1256 |
+
),
|
1257 |
+
'ultimate' => array(
|
1258 |
+
'status' => 'full',
|
1259 |
+
'text' => array(
|
1260 |
+
'<strong>' . esc_html__( 'Premium Support', 'custom-facebook-feed' ) . '</strong>',
|
1261 |
+
),
|
1262 |
+
),
|
1263 |
+
'agency' => array(
|
1264 |
+
'status' => 'full',
|
1265 |
+
'text' => array(
|
1266 |
+
'<strong>' . esc_html__( 'Premium Support', 'custom-facebook-feed' ) . '</strong>',
|
1267 |
+
),
|
1268 |
+
),
|
1269 |
+
),
|
1270 |
+
'sites' => array(
|
1271 |
+
'basic' => array(
|
1272 |
+
'status' => 'partial',
|
1273 |
+
'text' => array(
|
1274 |
+
'<strong>' . esc_html__( '1 Site', 'custom-facebook-feed' ) . '</strong>',
|
1275 |
+
),
|
1276 |
+
),
|
1277 |
+
'plus' => array(
|
1278 |
+
'status' => 'partial',
|
1279 |
+
'text' => array(
|
1280 |
+
'<strong>' . esc_html__( '3 Sites', 'custom-facebook-feed' ) . '</strong>',
|
1281 |
+
),
|
1282 |
+
),
|
1283 |
+
'pro' => array(
|
1284 |
+
'status' => 'full',
|
1285 |
+
'text' => array(
|
1286 |
+
'<strong>' . esc_html__( '5 Sites', 'custom-facebook-feed' ) . '</strong>',
|
1287 |
+
),
|
1288 |
+
),
|
1289 |
+
'elite' => array(
|
1290 |
+
'status' => 'full',
|
1291 |
+
'text' => array(
|
1292 |
+
'<strong>' . esc_html__( 'Unlimited Sites', 'custom-facebook-feed' ) . '</strong>',
|
1293 |
+
),
|
1294 |
+
),
|
1295 |
+
'ultimate' => array(
|
1296 |
+
'status' => 'full',
|
1297 |
+
'text' => array(
|
1298 |
+
'<strong>' . esc_html__( 'Unlimited Sites', 'custom-facebook-feed' ) . '</strong>',
|
1299 |
+
),
|
1300 |
+
),
|
1301 |
+
'agency' => array(
|
1302 |
+
'status' => 'full',
|
1303 |
+
'text' => array(
|
1304 |
+
'<strong>' . esc_html__( 'Unlimited Sites', 'custom-facebook-feed' ) . '</strong>',
|
1305 |
+
),
|
1306 |
+
),
|
1307 |
+
),
|
1308 |
+
);
|
1309 |
+
|
1310 |
+
// Wrong feature?
|
1311 |
+
if ( ! isset( $data[ $feature ] ) ) {
|
1312 |
+
return false;
|
1313 |
+
}
|
1314 |
+
|
1315 |
+
// Is a top level license?
|
1316 |
+
$is_licenses_top = in_array( $license, self::$licenses_top, true );
|
1317 |
+
|
1318 |
+
// Wrong license type?
|
1319 |
+
if ( ! isset( $data[ $feature ][ $license ] ) && ! $is_licenses_top ) {
|
1320 |
+
return false;
|
1321 |
+
}
|
1322 |
+
|
1323 |
+
// Some licenses have partial data.
|
1324 |
+
if ( isset( $data[ $feature ][ $license ] ) ) {
|
1325 |
+
return $data[ $feature ][ $license ];
|
1326 |
+
}
|
1327 |
+
|
1328 |
+
// Top level plans has no feature difference with `pro` plan in most cases.
|
1329 |
+
return $is_licenses_top ? $data[ $feature ]['pro'] : $data[ $feature ][ $license ];
|
1330 |
+
}
|
1331 |
+
|
1332 |
+
/**
|
1333 |
+
* Get the current installation license type (always lowercase).
|
1334 |
+
*
|
1335 |
+
* @since 2.4/5.5
|
1336 |
+
*
|
1337 |
+
* @return string
|
1338 |
+
*/
|
1339 |
+
protected function get_license_type() {
|
1340 |
+
|
1341 |
+
//$type = cff_setting( 'type', '', 'cff_license' );
|
1342 |
+
|
1343 |
+
//if ( empty( $type ) || ! cff()->pro ) {
|
1344 |
+
$type = 'free';
|
1345 |
+
//}
|
1346 |
+
|
1347 |
+
return strtolower( $type );
|
1348 |
+
}
|
1349 |
+
}
|
1350 |
+
|
1351 |
+
new CFF_About();
|
admin/class-install-skin.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
use CFF\Helpers\PluginSilentUpgraderSkin;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Skin for on-the-fly addon installations.
|
7 |
+
*
|
8 |
+
* @since 1.0.0
|
9 |
+
* @since 1.5.6.1 Extend PluginSilentUpgraderSkin and clean up the class.
|
10 |
+
*/
|
11 |
+
class CFF_Install_Skin extends PluginSilentUpgraderSkin {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Instead of outputting HTML for errors, json_encode the errors and send them
|
15 |
+
* back to the Ajax script for processing.
|
16 |
+
*
|
17 |
+
* @since 1.0.0
|
18 |
+
*
|
19 |
+
* @param array $errors Array of errors with the install process.
|
20 |
+
*/
|
21 |
+
public function error( $errors ) {
|
22 |
+
|
23 |
+
if ( ! empty( $errors ) ) {
|
24 |
+
wp_send_json_error( $errors );
|
25 |
+
}
|
26 |
+
}
|
27 |
+
}
|
blocks/class-cff-blocks.php
CHANGED
@@ -1,150 +1,150 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* Custom Facebook Feed block with live preview.
|
4 |
-
*
|
5 |
-
* @since 2.3
|
6 |
-
*/
|
7 |
-
class CFF_Blocks {
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Indicates if current integration is allowed to load.
|
11 |
-
*
|
12 |
-
* @since 1.8
|
13 |
-
*
|
14 |
-
* @return bool
|
15 |
-
*/
|
16 |
-
public function allow_load() {
|
17 |
-
return function_exists( 'register_block_type' );
|
18 |
-
}
|
19 |
-
|
20 |
-
/**
|
21 |
-
* Loads an integration.
|
22 |
-
*
|
23 |
-
* @since 2.3
|
24 |
-
*/
|
25 |
-
public function load() {
|
26 |
-
$this->hooks();
|
27 |
-
}
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Integration hooks.
|
31 |
-
*
|
32 |
-
* @since 2.3
|
33 |
-
*/
|
34 |
-
protected function hooks() {
|
35 |
-
add_action( 'init', array( $this, 'register_block' ) );
|
36 |
-
add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_block_editor_assets' ) );
|
37 |
-
}
|
38 |
-
|
39 |
-
/**
|
40 |
-
* Register Custom Facebook Feed Gutenberg block on the backend.
|
41 |
-
*
|
42 |
-
* @since 2.3
|
43 |
-
*/
|
44 |
-
public function register_block() {
|
45 |
-
|
46 |
-
wp_register_style(
|
47 |
-
'cff-blocks-styles',
|
48 |
-
trailingslashit( CFF_PLUGIN_URL ) . 'css/cff-blocks.css',
|
49 |
-
array( 'wp-edit-blocks' ),
|
50 |
-
CFFVER
|
51 |
-
);
|
52 |
-
|
53 |
-
$attributes = array(
|
54 |
-
'shortcodeSettings' => array(
|
55 |
-
'type' => 'string',
|
56 |
-
),
|
57 |
-
'noNewChanges' => array(
|
58 |
-
'type' => 'boolean',
|
59 |
-
)
|
60 |
-
);
|
61 |
-
|
62 |
-
register_block_type(
|
63 |
-
'cff/cff-feed-block',
|
64 |
-
array(
|
65 |
-
'attributes' => $attributes,
|
66 |
-
'render_callback' => array( $this, 'get_feed_html' ),
|
67 |
-
)
|
68 |
-
);
|
69 |
-
}
|
70 |
-
|
71 |
-
/**
|
72 |
-
* Load Custom Facebook Feed Gutenberg block scripts.
|
73 |
-
*
|
74 |
-
* @since 2.3
|
75 |
-
*/
|
76 |
-
public function enqueue_block_editor_assets() {
|
77 |
-
$access_token = get_option('cff_access_token');
|
78 |
-
|
79 |
-
cff_add_my_stylesheet();
|
80 |
-
cff_scripts_method();
|
81 |
-
|
82 |
-
wp_enqueue_style( 'cff-blocks-styles' );
|
83 |
-
wp_enqueue_script(
|
84 |
-
'cff-feed-block',
|
85 |
-
trailingslashit( CFF_PLUGIN_URL ) . 'js/cff-blocks.js',
|
86 |
-
array( 'wp-blocks', 'wp-i18n', 'wp-element' ),
|
87 |
-
CFFVER,
|
88 |
-
true
|
89 |
-
);
|
90 |
-
|
91 |
-
$shortcodeSettings = '';
|
92 |
-
|
93 |
-
$i18n = array(
|
94 |
-
'addSettings' => esc_html__( 'Add Settings', 'instagram-feed' ),
|
95 |
-
'shortcodeSettings' => esc_html__( 'Shortcode Settings', 'instagram-feed' ),
|
96 |
-
'example' => esc_html__( 'Example', 'instagram-feed' ),
|
97 |
-
'preview' => esc_html__( 'Apply Changes', 'instagram-feed' ),
|
98 |
-
|
99 |
-
);
|
100 |
-
|
101 |
-
wp_localize_script(
|
102 |
-
'cff-feed-block',
|
103 |
-
'cff_block_editor',
|
104 |
-
array(
|
105 |
-
'wpnonce' => wp_create_nonce( 'facebook-blocks' ),
|
106 |
-
'canShowFeed' => ! empty( $access_token ),
|
107 |
-
'configureLink' => get_admin_url() . '?page=cff-top',
|
108 |
-
'shortcodeSettings' => $shortcodeSettings,
|
109 |
-
'i18n' => $i18n,
|
110 |
-
)
|
111 |
-
);
|
112 |
-
}
|
113 |
-
|
114 |
-
/**
|
115 |
-
* Get form HTML to display in a Custom Facebook Feed Gutenberg block.
|
116 |
-
*
|
117 |
-
* @param array $attr Attributes passed by Custom Facebook Feed Gutenberg block.
|
118 |
-
*
|
119 |
-
* @since 2.3
|
120 |
-
*
|
121 |
-
* @return string
|
122 |
-
*/
|
123 |
-
public function get_feed_html( $attr ) {
|
124 |
-
|
125 |
-
$return = '';
|
126 |
-
|
127 |
-
$shortcode_settings = isset( $attr['shortcodeSettings'] ) ? $attr['shortcodeSettings'] : '';
|
128 |
-
|
129 |
-
$shortcode_settings = str_replace(array( '[custom-facebook-feed', ']' ), '', $shortcode_settings);
|
130 |
-
|
131 |
-
$return .= do_shortcode( '[custom-facebook-feed '.$shortcode_settings.']' );
|
132 |
-
|
133 |
-
return $return;
|
134 |
-
|
135 |
-
}
|
136 |
-
|
137 |
-
/**
|
138 |
-
* Checking if is Gutenberg REST API call.
|
139 |
-
*
|
140 |
-
* @since 2.3
|
141 |
-
*
|
142 |
-
* @return bool True if is Gutenberg REST API call.
|
143 |
-
*/
|
144 |
-
public static function is_gb_editor() {
|
145 |
-
|
146 |
-
// TODO: Find a better way to check if is GB editor API call.
|
147 |
-
return defined( 'REST_REQUEST' ) && REST_REQUEST && ! empty( $_REQUEST['context'] ) && 'edit' === $_REQUEST['context']; // phpcs:ignore
|
148 |
-
}
|
149 |
-
|
150 |
-
}
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Custom Facebook Feed block with live preview.
|
4 |
+
*
|
5 |
+
* @since 2.3
|
6 |
+
*/
|
7 |
+
class CFF_Blocks {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Indicates if current integration is allowed to load.
|
11 |
+
*
|
12 |
+
* @since 1.8
|
13 |
+
*
|
14 |
+
* @return bool
|
15 |
+
*/
|
16 |
+
public function allow_load() {
|
17 |
+
return function_exists( 'register_block_type' );
|
18 |
+
}
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Loads an integration.
|
22 |
+
*
|
23 |
+
* @since 2.3
|
24 |
+
*/
|
25 |
+
public function load() {
|
26 |
+
$this->hooks();
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Integration hooks.
|
31 |
+
*
|
32 |
+
* @since 2.3
|
33 |
+
*/
|
34 |
+
protected function hooks() {
|
35 |
+
add_action( 'init', array( $this, 'register_block' ) );
|
36 |
+
add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_block_editor_assets' ) );
|
37 |
+
}
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Register Custom Facebook Feed Gutenberg block on the backend.
|
41 |
+
*
|
42 |
+
* @since 2.3
|
43 |
+
*/
|
44 |
+
public function register_block() {
|
45 |
+
|
46 |
+
wp_register_style(
|
47 |
+
'cff-blocks-styles',
|
48 |
+
trailingslashit( CFF_PLUGIN_URL ) . 'css/cff-blocks.css',
|
49 |
+
array( 'wp-edit-blocks' ),
|
50 |
+
CFFVER
|
51 |
+
);
|
52 |
+
|
53 |
+
$attributes = array(
|
54 |
+
'shortcodeSettings' => array(
|
55 |
+
'type' => 'string',
|
56 |
+
),
|
57 |
+
'noNewChanges' => array(
|
58 |
+
'type' => 'boolean',
|
59 |
+
)
|
60 |
+
);
|
61 |
+
|
62 |
+
register_block_type(
|
63 |
+
'cff/cff-feed-block',
|
64 |
+
array(
|
65 |
+
'attributes' => $attributes,
|
66 |
+
'render_callback' => array( $this, 'get_feed_html' ),
|
67 |
+
)
|
68 |
+
);
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Load Custom Facebook Feed Gutenberg block scripts.
|
73 |
+
*
|
74 |
+
* @since 2.3
|
75 |
+
*/
|
76 |
+
public function enqueue_block_editor_assets() {
|
77 |
+
$access_token = get_option('cff_access_token');
|
78 |
+
|
79 |
+
cff_add_my_stylesheet();
|
80 |
+
cff_scripts_method();
|
81 |
+
|
82 |
+
wp_enqueue_style( 'cff-blocks-styles' );
|
83 |
+
wp_enqueue_script(
|
84 |
+
'cff-feed-block',
|
85 |
+
trailingslashit( CFF_PLUGIN_URL ) . 'js/cff-blocks.js',
|
86 |
+
array( 'wp-blocks', 'wp-i18n', 'wp-element' ),
|
87 |
+
CFFVER,
|
88 |
+
true
|
89 |
+
);
|
90 |
+
|
91 |
+
$shortcodeSettings = '';
|
92 |
+
|
93 |
+
$i18n = array(
|
94 |
+
'addSettings' => esc_html__( 'Add Settings', 'instagram-feed' ),
|
95 |
+
'shortcodeSettings' => esc_html__( 'Shortcode Settings', 'instagram-feed' ),
|
96 |
+
'example' => esc_html__( 'Example', 'instagram-feed' ),
|
97 |
+
'preview' => esc_html__( 'Apply Changes', 'instagram-feed' ),
|
98 |
+
|
99 |
+
);
|
100 |
+
|
101 |
+
wp_localize_script(
|
102 |
+
'cff-feed-block',
|
103 |
+
'cff_block_editor',
|
104 |
+
array(
|
105 |
+
'wpnonce' => wp_create_nonce( 'facebook-blocks' ),
|
106 |
+
'canShowFeed' => ! empty( $access_token ),
|
107 |
+
'configureLink' => get_admin_url() . '?page=cff-top',
|
108 |
+
'shortcodeSettings' => $shortcodeSettings,
|
109 |
+
'i18n' => $i18n,
|
110 |
+
)
|
111 |
+
);
|
112 |
+
}
|
113 |
+
|
114 |
+
/**
|
115 |
+
* Get form HTML to display in a Custom Facebook Feed Gutenberg block.
|
116 |
+
*
|
117 |
+
* @param array $attr Attributes passed by Custom Facebook Feed Gutenberg block.
|
118 |
+
*
|
119 |
+
* @since 2.3
|
120 |
+
*
|
121 |
+
* @return string
|
122 |
+
*/
|
123 |
+
public function get_feed_html( $attr ) {
|
124 |
+
|
125 |
+
$return = '';
|
126 |
+
|
127 |
+
$shortcode_settings = isset( $attr['shortcodeSettings'] ) ? $attr['shortcodeSettings'] : '';
|
128 |
+
|
129 |
+
$shortcode_settings = str_replace(array( '[custom-facebook-feed', ']' ), '', $shortcode_settings);
|
130 |
+
|
131 |
+
$return .= do_shortcode( '[custom-facebook-feed '.$shortcode_settings.']' );
|
132 |
+
|
133 |
+
return $return;
|
134 |
+
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Checking if is Gutenberg REST API call.
|
139 |
+
*
|
140 |
+
* @since 2.3
|
141 |
+
*
|
142 |
+
* @return bool True if is Gutenberg REST API call.
|
143 |
+
*/
|
144 |
+
public static function is_gb_editor() {
|
145 |
+
|
146 |
+
// TODO: Find a better way to check if is GB editor API call.
|
147 |
+
return defined( 'REST_REQUEST' ) && REST_REQUEST && ! empty( $_REQUEST['context'] ) && 'edit' === $_REQUEST['context']; // phpcs:ignore
|
148 |
+
}
|
149 |
+
|
150 |
+
}
|
class-cff-education.php
ADDED
@@ -0,0 +1,135 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
*
|
5 |
+
* @since 5.5
|
6 |
+
*/
|
7 |
+
class CFF_Education {
|
8 |
+
|
9 |
+
var $plugin_version;
|
10 |
+
|
11 |
+
/**
|
12 |
+
* Constructor.
|
13 |
+
*
|
14 |
+
* @since 5.5
|
15 |
+
*/
|
16 |
+
public function __construct() {
|
17 |
+
|
18 |
+
$this->hooks();
|
19 |
+
}
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Hooks.
|
23 |
+
*
|
24 |
+
* @since 5.5
|
25 |
+
*/
|
26 |
+
public function hooks() {
|
27 |
+
$this->plugin_version = defined( 'WPW_SL_STORE_URL' ) ? 'pro' : 'free';
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* "Did You Know?" messages.
|
32 |
+
*
|
33 |
+
* @since 5.5
|
34 |
+
*/
|
35 |
+
public function dyk_messages() {
|
36 |
+
|
37 |
+
$free_messages = array(
|
38 |
+
array(
|
39 |
+
'title' => esc_html__( 'Bring Your Feeds to Life with Media Content', 'custom-facebook-feeds' ),
|
40 |
+
'content' => esc_html__( 'You\'ve done the hard work of getting a visitor onto your site, now keep them there by displaying your Facebook photos and videos directly on your site, rather than sending your visitors away to Facebook.', 'custom-facebook-feeds' ),
|
41 |
+
'more' => 'https://smashballoon.com/custom-facebook-feed/',
|
42 |
+
'item' => 1,
|
43 |
+
),
|
44 |
+
array(
|
45 |
+
'title' => esc_html__( 'Use Facebook Reviews to Boost Conversions', 'custom-facebook-feeds' ),
|
46 |
+
'content' => esc_html__( 'Reviews for your product or service are the best way to give users the confidence to take action. With the Reviews extension, easily add 5 star reviews and recommendations from Facebook to your website help increase conversions.', 'custom-facebook-feeds' ),
|
47 |
+
'more' => 'https://smashballoon.com/extensions/reviews/',
|
48 |
+
'item' => 2,
|
49 |
+
),
|
50 |
+
array(
|
51 |
+
'title' => esc_html__( 'Bring the Conversation to Your Website', 'custom-facebook-feeds' ),
|
52 |
+
'content' => esc_html__( 'Include the Facebook comments with each of your posts to engage your website viewers, keep them on your site for longer, and encourage them to interact with your content.', 'custom-facebook-feeds' ),
|
53 |
+
'more' => 'https://smashballoon.com/custom-facebook-feed/wordpress-plugin/#comments',
|
54 |
+
'item' => 3,
|
55 |
+
),
|
56 |
+
array(
|
57 |
+
'title' => esc_html__( 'Automatically Feed Facebook Events to Your Website', 'custom-facebook-feeds' ),
|
58 |
+
'content' => esc_html__( 'Save yourself the time and effort of posting events both to Facebook and your website by using the Custom Facebook Feed Pro plugin to automatically feeds events right to your site.', 'custom-facebook-feeds' ),
|
59 |
+
'more' => 'https://smashballoon.com/custom-facebook-feed/docs/displaying-facebook-events-using-wordpress-plugin/',
|
60 |
+
'item' => 4,
|
61 |
+
),
|
62 |
+
);
|
63 |
+
|
64 |
+
$pro_messages = array(
|
65 |
+
array(
|
66 |
+
'title' => esc_html__( 'Automated YouTube Live Streaming', 'custom-facebook-feeds' ),
|
67 |
+
'content' => esc_html__( 'You can automatically feed live YouTube videos to your website using our Feeds For YouTube Pro plugin. It takes all the hassle out of publishing live videos to your site by automating the process.', 'custom-facebook-feeds' ),
|
68 |
+
'more' => 'https://smashballoon.com/youtube-feed/',
|
69 |
+
'item' => 1,
|
70 |
+
),
|
71 |
+
array(
|
72 |
+
'title' => esc_html__( 'Use Facebook Reviews to Boost Conversions', 'custom-facebook-feeds' ),
|
73 |
+
'content' => esc_html__( 'Reviews for your product or service are the best way to give users the confidence to take action. With the Reviews extension, easily add 5 star reviews and recommendations from Facebook to your website help increase conversions.', 'custom-facebook-feeds' ),
|
74 |
+
'more' => 'https://smashballoon.com/extensions/reviews/',
|
75 |
+
'item' => 2,
|
76 |
+
),
|
77 |
+
array(
|
78 |
+
'title' => esc_html__( 'Adding Social Proof with Twitter Feeds', 'custom-facebook-feeds' ),
|
79 |
+
'content' => esc_html__( 'Twitter testimonials are one of the best ways to add verifiable social proof to your website. They add credibility to your brand, product, or service by displaying reviews from real people to your site, helping to convert more visitors into customers. Our free Custom Twitter Feeds plugin makes displaying Tweets on your website a breeze.', 'custom-facebook-feeds' ),
|
80 |
+
'more' => 'https://wordpress.org/plugins/custom-twitter-feeds/',
|
81 |
+
'item' => 3,
|
82 |
+
),
|
83 |
+
array(
|
84 |
+
'title' => esc_html__( 'Run Promotions with Instagram Hashtags', 'custom-facebook-feeds' ),
|
85 |
+
'content' => esc_html__( 'You can use hashtags on Instagram for so many things; but one of the most effective is for targeted promotions or competitions which engage with your audience and boost your exposure. Our Instagram Feed Pro plugin allows you to bring your hashtagged content into your website and display it in one centralized location.', 'custom-facebook-feeds' ),
|
86 |
+
'more' => 'https://smashballoon.com/instagram-feed/features/#hashtag',
|
87 |
+
'item' => 4,
|
88 |
+
),
|
89 |
+
);
|
90 |
+
|
91 |
+
if ( $this->plugin_version === 'pro' ) {
|
92 |
+
return $pro_messages;
|
93 |
+
}
|
94 |
+
return $free_messages;
|
95 |
+
|
96 |
+
}
|
97 |
+
|
98 |
+
/**
|
99 |
+
* "Did You Know?" random message.
|
100 |
+
*
|
101 |
+
* @since 5.5
|
102 |
+
*/
|
103 |
+
public function dyk_message_rnd() {
|
104 |
+
|
105 |
+
$messages = $this->dyk_messages();
|
106 |
+
|
107 |
+
$index = array_rand( $messages );
|
108 |
+
|
109 |
+
return $messages[ $index ];
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* "Did You Know?" display message.
|
114 |
+
*
|
115 |
+
* @since 5.5
|
116 |
+
*
|
117 |
+
*/
|
118 |
+
public function dyk_display() {
|
119 |
+
|
120 |
+
$dyk_message = $this->dyk_message_rnd();
|
121 |
+
|
122 |
+
if ( ! empty( $dyk_message['more'] ) ) {
|
123 |
+
$dyk_message['more'] = add_query_arg(
|
124 |
+
array(
|
125 |
+
'utm_source' => 'plugin-'.$this->plugin_version,
|
126 |
+
'utm_campaign' => 'cff-issue-email',
|
127 |
+
'utm_content' => $dyk_message['item'],
|
128 |
+
),
|
129 |
+
$dyk_message['more']
|
130 |
+
);
|
131 |
+
}
|
132 |
+
|
133 |
+
return $dyk_message;
|
134 |
+
}
|
135 |
+
}
|
class-cff-error-reporter.php
ADDED
@@ -0,0 +1,444 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Class CFF_Error_Reporter
|
4 |
+
*
|
5 |
+
* Set as a global object to record and report errors
|
6 |
+
*
|
7 |
+
* @since
|
8 |
+
*/
|
9 |
+
|
10 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
11 |
+
die( '-1' );
|
12 |
+
}
|
13 |
+
|
14 |
+
class CFF_Error_Reporter
|
15 |
+
{
|
16 |
+
/**
|
17 |
+
* @var array
|
18 |
+
*/
|
19 |
+
var $errors;
|
20 |
+
|
21 |
+
/**
|
22 |
+
* @var array
|
23 |
+
*/
|
24 |
+
var $frontend_error;
|
25 |
+
|
26 |
+
var $reporter_key;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* CFF_Error_Reporter constructor.
|
30 |
+
*/
|
31 |
+
public function __construct() {
|
32 |
+
$this->reporter_key = 'cff_error_reporter';
|
33 |
+
$this->errors = get_option( $this->reporter_key, array() );
|
34 |
+
$this->frontend_error = '';
|
35 |
+
add_action( 'cff_feed_issue_email', array( $this, 'maybe_trigger_report_email_send' ) );
|
36 |
+
add_action( 'wp_ajax_cff_dismiss_critical_notice', array( $this, 'dismiss_critical_notice' ) );
|
37 |
+
add_action( 'wp_footer', array( $this, 'critical_error_notice' ), 300 );
|
38 |
+
add_action( 'admin_notices', array( $this, 'admin_error_notices' ) );
|
39 |
+
}
|
40 |
+
|
41 |
+
/**
|
42 |
+
* @return array
|
43 |
+
*
|
44 |
+
* @since 2.0/4.0
|
45 |
+
*/
|
46 |
+
public function get_errors() {
|
47 |
+
return $this->errors;
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @param $type
|
52 |
+
* @param $message_array
|
53 |
+
*
|
54 |
+
* @since 2.0/4.0
|
55 |
+
*/
|
56 |
+
public function add_error( $type, $args ) {
|
57 |
+
if ( $type === 'accesstoken' ) {
|
58 |
+
$accesstoken_error_exists = false;
|
59 |
+
if ( isset( $this->errors['accesstoken'] ) ) {
|
60 |
+
foreach ($this->errors['accesstoken'] as $accesstoken ) {
|
61 |
+
if ( $args['accesstoken'] === $accesstoken['accesstoken'] ) {
|
62 |
+
$accesstoken_error_exists = true;
|
63 |
+
}
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
if ( !$accesstoken_error_exists ) {
|
68 |
+
$this->errors['accesstoken'][] = array(
|
69 |
+
'accesstoken' => $args['accesstoken'],
|
70 |
+
'post_id' => $args['post_id'],
|
71 |
+
'errorno' => $args['errorno']
|
72 |
+
);
|
73 |
+
}
|
74 |
+
|
75 |
+
} else {
|
76 |
+
$this->errors[ $type ] = array(
|
77 |
+
'accesstoken' => $args['accesstoken'],
|
78 |
+
'public_message' => $args['public_message'],
|
79 |
+
'admin_message' => $args['admin_message'],
|
80 |
+
'frontend_directions' => $args['frontend_directions'],
|
81 |
+
'backend_directions' => $args['backend_directions'],
|
82 |
+
'post_id' => $args['post_id'],
|
83 |
+
'errorno' => $args['errorno']
|
84 |
+
);
|
85 |
+
}
|
86 |
+
|
87 |
+
update_option( $this->reporter_key, $this->errors, false );
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* @param $type
|
92 |
+
*
|
93 |
+
* @since 2.0/4.0
|
94 |
+
*/
|
95 |
+
public function remove_error( $type ) {
|
96 |
+
$errors = $this->errors;
|
97 |
+
|
98 |
+
if ( isset( $errors[ $type ] ) ) {
|
99 |
+
unset( $errors[ $type ] );
|
100 |
+
}
|
101 |
+
|
102 |
+
if ( empty( $errors ) ) {
|
103 |
+
delete_option( $this->reporter_key );
|
104 |
+
$this->errors = array();
|
105 |
+
} else {
|
106 |
+
update_option( $this->reporter_key, $errors, false );
|
107 |
+
$this->errors = $errors;
|
108 |
+
}
|
109 |
+
}
|
110 |
+
|
111 |
+
public function remove_all_errors() {
|
112 |
+
delete_option( $this->reporter_key );
|
113 |
+
$this->errors = array();
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* @param $type
|
118 |
+
* @param $message
|
119 |
+
*
|
120 |
+
* @since 2.0/5.0
|
121 |
+
*/
|
122 |
+
public function add_frontend_error( $message, $directions ) {
|
123 |
+
$this->frontend_error = $message . $directions;
|
124 |
+
}
|
125 |
+
|
126 |
+
public function remove_frontend_error() {
|
127 |
+
$this->frontend_error = '';
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* @return string
|
132 |
+
*
|
133 |
+
* @since 2.0/5.0
|
134 |
+
*/
|
135 |
+
public function get_frontend_error() {
|
136 |
+
return $this->frontend_error;
|
137 |
+
}
|
138 |
+
|
139 |
+
public function get_critical_errors() {
|
140 |
+
$errors = $this->get_errors();
|
141 |
+
|
142 |
+
return $errors;
|
143 |
+
}
|
144 |
+
|
145 |
+
public function are_critical_errors() {
|
146 |
+
$are_errors = false;
|
147 |
+
|
148 |
+
$errors = $this->get_errors();
|
149 |
+
|
150 |
+
foreach ( $errors as $error ) {
|
151 |
+
$are_errors = true;
|
152 |
+
}
|
153 |
+
|
154 |
+
return $are_errors;
|
155 |
+
}
|
156 |
+
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Load the critical notice for logged in users.
|
160 |
+
*/
|
161 |
+
function critical_error_notice() {
|
162 |
+
// Don't do anything for guests.
|
163 |
+
if ( ! is_user_logged_in() ) {
|
164 |
+
return;
|
165 |
+
}
|
166 |
+
|
167 |
+
// Only show this to users who are not tracked.
|
168 |
+
if ( ! current_user_can( 'edit_posts' ) ) {
|
169 |
+
return;
|
170 |
+
}
|
171 |
+
|
172 |
+
if ( ! $this->are_critical_errors() ) {
|
173 |
+
return;
|
174 |
+
}
|
175 |
+
|
176 |
+
|
177 |
+
// Don't show if already dismissed.
|
178 |
+
if ( get_option( 'cff_dismiss_critical_notice', false ) ) {
|
179 |
+
return;
|
180 |
+
}
|
181 |
+
|
182 |
+
$options = get_option('cff_style_settings');
|
183 |
+
if ( isset( $options['disable_admin_notice'] ) && $options['disable_admin_notice'] === 'on' ) {
|
184 |
+
return;
|
185 |
+
}
|
186 |
+
|
187 |
+
?>
|
188 |
+
<div class="cff-critical-notice cff-critical-notice-hide">
|
189 |
+
<div class="cff-critical-notice-icon">
|
190 |
+
<img src="<?php echo CFF_PLUGIN_URL . 'img/cff-icon.png'; ?>" width="45" alt="Custom Facebook Feed icon" />
|
191 |
+
</div>
|
192 |
+
<div class="cff-critical-notice-text">
|
193 |
+
<h3><?php esc_html_e( 'Custom Facebook Feed Critical Issue', 'custom-facebook-feed' ); ?></h3>
|
194 |
+
<p>
|
195 |
+
<?php
|
196 |
+
$doc_url = admin_url() . 'admin.php?page=cff-top';
|
197 |
+
// Translators: %s is the link to the article where more details about critical are listed.
|
198 |
+
printf( esc_html__( 'An issue is preventing your Custom Facebook Feeds from updating. %1$sResolve this issue%2$s.', 'custom-facebook-feed' ), '<a href="' . esc_url( $doc_url ) . '" target="_blank">', '</a>' );
|
199 |
+
?>
|
200 |
+
</p>
|
201 |
+
</div>
|
202 |
+
<div class="cff-critical-notice-close">×</div>
|
203 |
+
</div>
|
204 |
+
<style type="text/css">
|
205 |
+
.cff-critical-notice {
|
206 |
+
position: fixed;
|
207 |
+
bottom: 20px;
|
208 |
+
right: 15px;
|
209 |
+
font-family: Arial, Helvetica, "Trebuchet MS", sans-serif;
|
210 |
+
background: #fff;
|
211 |
+
box-shadow: 0 0 10px 0 #dedede;
|
212 |
+
padding: 10px 10px;
|
213 |
+
display: flex;
|
214 |
+
align-items: center;
|
215 |
+
justify-content: center;
|
216 |
+
width: 325px;
|
217 |
+
max-width: calc( 100% - 30px );
|
218 |
+
border-radius: 6px;
|
219 |
+
transition: bottom 700ms ease;
|
220 |
+
z-index: 10000;
|
221 |
+
}
|
222 |
+
|
223 |
+
.cff-critical-notice h3 {
|
224 |
+
font-size: 13px;
|
225 |
+
color: #222;
|
226 |
+
font-weight: 700;
|
227 |
+
margin: 0 0 4px;
|
228 |
+
padding: 0;
|
229 |
+
line-height: 1;
|
230 |
+
border: none;
|
231 |
+
}
|
232 |
+
|
233 |
+
.cff-critical-notice p {
|
234 |
+
font-size: 12px;
|
235 |
+
color: #7f7f7f;
|
236 |
+
font-weight: 400;
|
237 |
+
margin: 0;
|
238 |
+
padding: 0;
|
239 |
+
line-height: 1.2;
|
240 |
+
border: none;
|
241 |
+
}
|
242 |
+
|
243 |
+
.cff-critical-notice p a {
|
244 |
+
color: #7f7f7f;
|
245 |
+
font-size: 12px;
|
246 |
+
line-height: 1.2;
|
247 |
+
margin: 0;
|
248 |
+
padding: 0;
|
249 |
+
text-decoration: underline;
|
250 |
+
font-weight: 400;
|
251 |
+
}
|
252 |
+
|
253 |
+
.cff-critical-notice p a:hover {
|
254 |
+
color: #666;
|
255 |
+
}
|
256 |
+
|
257 |
+
.cff-critical-notice-icon img {
|
258 |
+
height: auto;
|
259 |
+
display: block;
|
260 |
+
margin: 0;
|
261 |
+
}
|
262 |
+
|
263 |
+
.cff-critical-notice-icon {
|
264 |
+
padding: 0;
|
265 |
+
border-radius: 4px;
|
266 |
+
flex-grow: 0;
|
267 |
+
flex-shrink: 0;
|
268 |
+
margin-right: 12px;
|
269 |
+
overflow: hidden;
|
270 |
+
}
|
271 |
+
|
272 |
+
.cff-critical-notice-close {
|
273 |
+
padding: 10px;
|
274 |
+
margin: -12px -9px 0 0;
|
275 |
+
border: none;
|
276 |
+
box-shadow: none;
|
277 |
+
border-radius: 0;
|
278 |
+
color: #7f7f7f;
|
279 |
+
background: transparent;
|
280 |
+
line-height: 1;
|
281 |
+
align-self: flex-start;
|
282 |
+
cursor: pointer;
|
283 |
+
font-weight: 400;
|
284 |
+
}
|
285 |
+
.cff-critical-notice-close:hover,
|
286 |
+
.cff-critical-notice-close:focus{
|
287 |
+
color: #111;
|
288 |
+
}
|
289 |
+
|
290 |
+
.cff-critical-notice.cff-critical-notice-hide {
|
291 |
+
bottom: -200px;
|
292 |
+
}
|
293 |
+
</style>
|
294 |
+
<?php
|
295 |
+
|
296 |
+
if ( ! wp_script_is( 'jquery', 'queue' ) ) {
|
297 |
+
wp_enqueue_script( 'jquery' );
|
298 |
+
}
|
299 |
+
?>
|
300 |
+
<script>
|
301 |
+
if ( 'undefined' !== typeof jQuery ) {
|
302 |
+
jQuery( document ).ready( function ( $ ) {
|
303 |
+
/* Don't show the notice if we don't have a way to hide it (no js, no jQuery). */
|
304 |
+
$( document.querySelector( '.cff-critical-notice' ) ).removeClass( 'cff-critical-notice-hide' );
|
305 |
+
$( document.querySelector( '.cff-critical-notice-close' ) ).on( 'click', function ( e ) {
|
306 |
+
e.preventDefault();
|
307 |
+
$( this ).closest( '.cff-critical-notice' ).addClass( 'cff-critical-notice-hide' );
|
308 |
+
$.ajax( {
|
309 |
+
url: '<?php echo esc_url( admin_url( 'admin-ajax.php' ) ); ?>',
|
310 |
+
method: 'POST',
|
311 |
+
data: {
|
312 |
+
action: 'cff_dismiss_critical_notice',
|
313 |
+
nonce: '<?php echo esc_js( wp_create_nonce( 'cff-critical-notice' ) ); ?>',
|
314 |
+
}
|
315 |
+
} );
|
316 |
+
} );
|
317 |
+
} );
|
318 |
+
}
|
319 |
+
</script>
|
320 |
+
<?php
|
321 |
+
}
|
322 |
+
|
323 |
+
/**
|
324 |
+
* Ajax handler to hide the critical notice.
|
325 |
+
*/
|
326 |
+
public function dismiss_critical_notice() {
|
327 |
+
|
328 |
+
check_ajax_referer( 'cff-critical-notice', 'nonce' );
|
329 |
+
|
330 |
+
update_option( 'cff_dismiss_critical_notice', 1, false );
|
331 |
+
|
332 |
+
wp_die();
|
333 |
+
|
334 |
+
}
|
335 |
+
|
336 |
+
public function send_report_email() {
|
337 |
+
$options = get_option( 'cff_style_settings', array() );
|
338 |
+
|
339 |
+
$to_string = ! empty( $options['email_notification_addresses'] ) ? str_replace( ' ', '', $options['email_notification_addresses'] ) : get_option( 'admin_email', '' );
|
340 |
+
|
341 |
+
$to_array_raw = explode( ',', $to_string );
|
342 |
+
$to_array = array();
|
343 |
+
|
344 |
+
foreach ( $to_array_raw as $email ) {
|
345 |
+
if ( is_email( $email ) ) {
|
346 |
+
$to_array[] = $email;
|
347 |
+
}
|
348 |
+
}
|
349 |
+
|
350 |
+
if ( empty( $to_array ) ) {
|
351 |
+
return false;
|
352 |
+
}
|
353 |
+
$from_name = esc_html( wp_specialchars_decode( get_bloginfo( 'name' ) ) );
|
354 |
+
$email_from = $from_name . ' <' . get_option( 'admin_email', $to_array[0] ) . '>';
|
355 |
+
$header_from = "From: " . $email_from;
|
356 |
+
|
357 |
+
$headers = array( 'Content-Type: text/html; charset=utf-8', $header_from );
|
358 |
+
|
359 |
+
$header_image = CFF_PLUGIN_URL . 'img/balloon-120.png';
|
360 |
+
$title = __( 'Custom Facebook Feed Report for ' . home_url() );
|
361 |
+
$link = admin_url( 'admin.php?page=cff-top');
|
362 |
+
//&tab=customize-advanced
|
363 |
+
$footer_link = admin_url('admin.php?page=cff-style&tab=misc&flag=emails');
|
364 |
+
$bold = __( 'There\'s an Issue with a Facebook Feed on Your Website', 'custom-facebook-feed' );
|
365 |
+
$details = '<p>' . __( 'A Custom Facebook Feed on your website is currently unable to connect to Facebook to retrieve new posts. Don\'t worry, your feed is still being displayed using a cached version, but is no longer able to display new posts.', 'custom-facebook-feed' ) . '</p>';
|
366 |
+
$details .= '<p>' . sprintf( __( 'This is caused by an issue with your Facebook account connecting to the Facebook API. For information on the exact issue and directions on how to resolve it, please visit the %sCustom Facebook Feed settings page%s on your website.', 'custom-facebook-feed' ), '<a href="' . esc_url( $link ) . '">', '</a>' ). '</p>';
|
367 |
+
$message_content = '<h6 style="padding:0;word-wrap:normal;font-family:\'Helvetica Neue\',Helvetica,Arial,sans-serif;font-weight:bold;line-height:130%;font-size: 16px;color:#444444;text-align:inherit;margin:0 0 20px 0;Margin:0 0 20px 0;">' . $bold . '</h6>' . $details;
|
368 |
+
include_once CFF_PLUGIN_DIR . 'class-cff-education.php';
|
369 |
+
$educator = new CFF_Education();
|
370 |
+
$dyk_message = $educator->dyk_display();
|
371 |
+
ob_start();
|
372 |
+
include CFF_PLUGIN_DIR . 'email.php';
|
373 |
+
$email_body = ob_get_contents();
|
374 |
+
ob_get_clean();
|
375 |
+
$sent = wp_mail( $to_array, $title, $email_body, $headers );
|
376 |
+
|
377 |
+
return $sent;
|
378 |
+
}
|
379 |
+
|
380 |
+
public function maybe_trigger_report_email_send() {
|
381 |
+
if ( ! $this->are_critical_errors() ) {
|
382 |
+
return;
|
383 |
+
}
|
384 |
+
$options = get_option('cff_style_settings');
|
385 |
+
|
386 |
+
if ( isset( $options['enable_email_report'] ) && empty( $options['enable_email_report'] ) ) {
|
387 |
+
return;
|
388 |
+
}
|
389 |
+
|
390 |
+
$this->send_report_email();
|
391 |
+
}
|
392 |
+
|
393 |
+
public function admin_error_notices() {
|
394 |
+
if ( isset( $_GET['page'] ) && in_array( $_GET['page'], array( 'cff-top', 'cff-style' )) ) {
|
395 |
+
|
396 |
+
$errors = $this->get_critical_errors();
|
397 |
+
if ( $this->are_critical_errors() && ! empty( $errors ) ) :
|
398 |
+
if ( isset( $errors['wp_remote_get'] ) ) {
|
399 |
+
$error = $errors['wp_remote_get'];
|
400 |
+
$error_message = $error['admin_message'];
|
401 |
+
$button = $error['backend_directions'];
|
402 |
+
$post_id = $error['post_id'];
|
403 |
+
$directions = '<p class="cff-error-directions">';
|
404 |
+
$directions .= $button;
|
405 |
+
$directions .= '<button data-url="'.get_the_permalink( $post_id ).'" class="cff-clear-errors-visit-page cff-space-left button button-secondary">' . __( 'View Feed and Retry', 'custom-facebook-feed' ) . '</button>';
|
406 |
+
$directions .= '</p>';
|
407 |
+
} elseif ( isset( $errors['api'] ) ) {
|
408 |
+
$error = $errors['api'];
|
409 |
+
$error_message = $error['admin_message'];
|
410 |
+
$button = $error['backend_directions'];
|
411 |
+
$post_id = $error['post_id'];
|
412 |
+
$directions = '<p class="cff-error-directions">';
|
413 |
+
$directions .= $button;
|
414 |
+
$directions .= '<button data-url="'.get_the_permalink( $post_id ).'" class="cff-clear-errors-visit-page cff-space-left button button-secondary">' . __( 'View Feed and Retry', 'custom-facebook-feed' ) . '</button>';
|
415 |
+
$directions .= '</p>';
|
416 |
+
} else {
|
417 |
+
$error = $errors['accesstoken'];
|
418 |
+
|
419 |
+
$tokens = array();
|
420 |
+
$post_id = false;
|
421 |
+
foreach ( $error as $token ) {
|
422 |
+
$tokens[] = $token['accesstoken'];
|
423 |
+
$post_id = $token['post_id'];
|
424 |
+
}
|
425 |
+
$error_message = sprintf( __( 'The access token %s is invalid or has expired.', 'custom-facebook-feed' ), implode( $tokens, ', ' ) );
|
426 |
+
$directions = '<p class="cff-error-directions">';
|
427 |
+
$directions .= '<button class="button button-primary cff-reconnect">' . __( 'Reconnect Your Account', 'custom-facebook-feed' ) . '</button>';
|
428 |
+
$directions .= '<button data-url="'.get_the_permalink( $post_id ).'" class="cff-clear-errors-visit-page cff-space-left button button-secondary">' . __( 'View Feed and Retry', 'custom-facebook-feed' ) . '</button>';
|
429 |
+
$directions .= '</p>';
|
430 |
+
}
|
431 |
+
?>
|
432 |
+
<div class="notice notice-warning is-dismissible cff-admin-notice">
|
433 |
+
<p><strong><?php echo esc_html__( 'Custom Facebook Feed is encountering an error and your feeds may not be updating due to the following reasons:', 'custom-facebook-feed') ; ?></strong></p>
|
434 |
+
|
435 |
+
<?php echo $error_message; ?>
|
436 |
+
|
437 |
+
<?php echo $directions; ?>
|
438 |
+
</div>
|
439 |
+
<?php endif;
|
440 |
+
}
|
441 |
+
|
442 |
+
}
|
443 |
+
|
444 |
+
}
|
class-cff-sitehealth.php
ADDED
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class CFF_SiteHealth {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Indicates if current integration is allowed to load.
|
7 |
+
*
|
8 |
+
* @since 1.5.5
|
9 |
+
*
|
10 |
+
* @return bool
|
11 |
+
*/
|
12 |
+
public function allow_load() {
|
13 |
+
|
14 |
+
global $wp_version;
|
15 |
+
|
16 |
+
return version_compare( $wp_version, '5.2', '>=' );
|
17 |
+
}
|
18 |
+
|
19 |
+
/**
|
20 |
+
* Loads an integration.
|
21 |
+
*
|
22 |
+
* @since 1.5.5
|
23 |
+
*/
|
24 |
+
public function load() {
|
25 |
+
|
26 |
+
$this->hooks();
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Integration hooks.
|
31 |
+
*
|
32 |
+
* @since 1.5.5
|
33 |
+
*/
|
34 |
+
protected function hooks() {
|
35 |
+
add_filter( 'site_status_tests', array( $this, 'add_tests' ) );
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Add MonsterInsights WP Site Health tests.
|
40 |
+
*
|
41 |
+
* @param array $tests The current filters array.
|
42 |
+
*
|
43 |
+
* @return array
|
44 |
+
*/
|
45 |
+
public function add_tests( $tests ) {
|
46 |
+
$tests['direct']['cff_test_check_errors'] = array(
|
47 |
+
'label' => __( 'Custom Facebook Feed Errors', 'custom-facebook-feed' ),
|
48 |
+
'test' => array( $this, 'test_check_errors' )
|
49 |
+
);
|
50 |
+
|
51 |
+
return $tests;
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Checks if there are Instagram API Errors
|
56 |
+
*/
|
57 |
+
public function test_check_errors() {
|
58 |
+
$result = array(
|
59 |
+
'label' => __( 'Custom Facebook Feed has no critical errors', 'custom-facebook-feed' ),
|
60 |
+
'status' => 'good',
|
61 |
+
'badge' => array(
|
62 |
+
'label' => __( 'Custom Facebook Feed', 'custom-facebook-feed' ),
|
63 |
+
'color' => 'blue',
|
64 |
+
),
|
65 |
+
'description' => __( 'No critical errors have been detected.', 'custom-facebook-feed' ),
|
66 |
+
'test' => 'cff_test_check_errors',
|
67 |
+
);
|
68 |
+
|
69 |
+
global $cff_error_reporter;
|
70 |
+
|
71 |
+
|
72 |
+
if ( $cff_error_reporter->are_critical_errors() ) {
|
73 |
+
$link = admin_url( 'admin.php?page=cff-top' );
|
74 |
+
$result['status'] = 'critical';
|
75 |
+
$result['label'] = __( 'Your Custom Facebook Feed is experiencing an error.', 'custom-facebook-feed' );
|
76 |
+
$result['description'] = sprintf( __( 'A critical issue has been detected with your Custom Facebook Feed. Visit the %sCustom Facebook Feed settings page%s to fix the issue.', 'custom-facebook-feed' ), '<a href="' . esc_url( $link ) . '">', '</a>' );
|
77 |
+
}
|
78 |
+
|
79 |
+
|
80 |
+
return $result;
|
81 |
+
}
|
82 |
+
}
|
css/cff-admin-style.css
CHANGED
@@ -1748,4 +1748,756 @@
|
|
1748 |
text-align: center;
|
1749 |
width: 20px;
|
1750 |
-webkit-font-smoothing: antialiased
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1751 |
}
|
1748 |
text-align: center;
|
1749 |
width: 20px;
|
1750 |
-webkit-font-smoothing: antialiased
|
1751 |
+
}
|
1752 |
+
|
1753 |
+
/* Error Reporting */
|
1754 |
+
#cff-admin .cff-space-left {
|
1755 |
+
margin-left: 10px;
|
1756 |
+
}
|
1757 |
+
#cff-admin .cff-goto {
|
1758 |
+
border: 1px solid #e89a2e;
|
1759 |
+
background-color: rgba(232, 154, 46, .2);
|
1760 |
+
}
|
1761 |
+
|
1762 |
+
#cff-admin .cff_box {
|
1763 |
+
float: left;
|
1764 |
+
clear: both;
|
1765 |
+
width: 96%;
|
1766 |
+
|
1767 |
+
padding: 10px 2%;
|
1768 |
+
margin: 10px 0;
|
1769 |
+
font-size: 13px;
|
1770 |
+
background: #f9f9f9;
|
1771 |
+
background: rgba(255,255,255,0.8);
|
1772 |
+
|
1773 |
+
-moz-border-radius: 8px;
|
1774 |
+
-webkit-border-radius: 8px;
|
1775 |
+
border-radius: 8px;
|
1776 |
+
}
|
1777 |
+
#cff-admin .cff_box_setting{
|
1778 |
+
margin-bottom: 20px;
|
1779 |
+
}
|
1780 |
+
#cff-admin .cff_box_setting:last-child {
|
1781 |
+
margin-bottom: 0;
|
1782 |
+
}
|
1783 |
+
#cff-admin .cff_box_setting label {
|
1784 |
+
display: inline-block;
|
1785 |
+
font-weight: bold;
|
1786 |
+
font-size: 14px;
|
1787 |
+
padding-bottom: 5px;
|
1788 |
+
padding-right: 5px;
|
1789 |
+
}
|
1790 |
+
#cff-admin .cff_box_setting textarea {
|
1791 |
+
width: 100%;
|
1792 |
+
}
|
1793 |
+
|
1794 |
+
|
1795 |
+
/* About */
|
1796 |
+
#cff-admin-about *,#cff-admin-about *::before,#cff-admin-about *::after {
|
1797 |
+
-webkit-box-sizing: border-box;
|
1798 |
+
-moz-box-sizing: border-box;
|
1799 |
+
box-sizing: border-box
|
1800 |
+
}
|
1801 |
+
|
1802 |
+
#cff-admin-about .cff-admin-about-section {
|
1803 |
+
position: relative;
|
1804 |
+
margin: 0 20px 20px;
|
1805 |
+
padding: 30px;
|
1806 |
+
background: #fff;
|
1807 |
+
border: 1px solid #DDDDDD;
|
1808 |
+
line-height: 2;
|
1809 |
+
}
|
1810 |
+
|
1811 |
+
#cff-admin-about .cff-admin-about-section h1,#cff-admin-about .cff-admin-about-section h2,#cff-admin-about .cff-admin-about-section h3,#cff-admin-about .cff-admin-about-section h4,#cff-admin-about .cff-admin-about-section h5 {
|
1812 |
+
margin-top: 0;
|
1813 |
+
padding-top: 0;
|
1814 |
+
line-height: 1.6
|
1815 |
+
}
|
1816 |
+
|
1817 |
+
#cff-admin-about .cff-admin-about-section h2 {
|
1818 |
+
font-size: 24px
|
1819 |
+
}
|
1820 |
+
|
1821 |
+
#cff-admin-about .cff-admin-about-section h3 {
|
1822 |
+
font-size: 18px;
|
1823 |
+
margin-bottom: 30px;
|
1824 |
+
color: #23282C
|
1825 |
+
}
|
1826 |
+
|
1827 |
+
#cff-admin-about .cff-admin-about-section ul,#cff-admin-about .cff-admin-about-section p {
|
1828 |
+
font-size: 16px
|
1829 |
+
}
|
1830 |
+
|
1831 |
+
#cff-admin-about .cff-admin-about-section p {
|
1832 |
+
margin-bottom: 20px
|
1833 |
+
}
|
1834 |
+
|
1835 |
+
#cff-admin-about .cff-admin-about-section p.bigger {
|
1836 |
+
font-size: 18px
|
1837 |
+
}
|
1838 |
+
|
1839 |
+
#cff-admin-about .cff-admin-about-section p.smaller {
|
1840 |
+
font-size: 14px
|
1841 |
+
}
|
1842 |
+
|
1843 |
+
#cff-admin-about .cff-admin-about-section p:last-child {
|
1844 |
+
margin-bottom: 0
|
1845 |
+
}
|
1846 |
+
|
1847 |
+
#cff-admin-about .cff-admin-about-section hr {
|
1848 |
+
margin: 30px 0
|
1849 |
+
}
|
1850 |
+
|
1851 |
+
#cff-admin-about .cff-admin-about-section figure {
|
1852 |
+
margin: 0
|
1853 |
+
}
|
1854 |
+
|
1855 |
+
#cff-admin-about .cff-admin-about-section figure img {
|
1856 |
+
width: 100%
|
1857 |
+
}
|
1858 |
+
|
1859 |
+
#cff-admin-about .cff-admin-about-section figure figcaption {
|
1860 |
+
font-size: 13px;
|
1861 |
+
color: #888888;
|
1862 |
+
margin-top: -10px;
|
1863 |
+
text-align: center;
|
1864 |
+
line-height: initial
|
1865 |
+
}
|
1866 |
+
|
1867 |
+
#cff-admin-about .cff-admin-about-section .cff-admin-column-40 {
|
1868 |
+
padding-left: 15px
|
1869 |
+
}
|
1870 |
+
|
1871 |
+
@media (max-width: 767px) {
|
1872 |
+
#cff-admin-about .cff-admin-about-section .cff-admin-column-40 {
|
1873 |
+
width:100%;
|
1874 |
+
padding-left: 0;
|
1875 |
+
padding-top: 20px
|
1876 |
+
}
|
1877 |
+
}
|
1878 |
+
|
1879 |
+
#cff-admin-about .cff-admin-about-section .cff-admin-column-60 {
|
1880 |
+
padding-right: 15px
|
1881 |
+
}
|
1882 |
+
#cff-admin-about .cff-admin-about-section .cff-admin-about-text{
|
1883 |
+
padding-right: 400px;
|
1884 |
+
}
|
1885 |
+
#cff-admin-about .cff-admin-about-section .cff-admin-about-image{
|
1886 |
+
position: absolute;
|
1887 |
+
width: 340px;
|
1888 |
+
top: 20px;
|
1889 |
+
right: 20px;
|
1890 |
+
}
|
1891 |
+
|
1892 |
+
@media (max-width: 767px) {
|
1893 |
+
#cff-admin-about .cff-admin-about-section .cff-admin-column-60,
|
1894 |
+
#cff-admin-about .cff-admin-about-section .cff-admin-about-text,
|
1895 |
+
#cff-admin-about .cff-admin-about-section .cff-admin-about-image {
|
1896 |
+
position: relative;
|
1897 |
+
width:100%;
|
1898 |
+
padding-right: 0
|
1899 |
+
}
|
1900 |
+
}
|
1901 |
+
|
1902 |
+
#cff-admin-about .cff-admin-about-section ul.list-plain {
|
1903 |
+
margin-top: 0;
|
1904 |
+
margin-bottom: 0
|
1905 |
+
}
|
1906 |
+
|
1907 |
+
#cff-admin-about .cff-admin-about-section ul.list-plain li {
|
1908 |
+
margin-bottom: 0
|
1909 |
+
}
|
1910 |
+
|
1911 |
+
#cff-admin-about .cff-admin-about-section ul.list-features li .fa {
|
1912 |
+
color: #2a9b39;
|
1913 |
+
margin: 0 8px 0 0
|
1914 |
+
}
|
1915 |
+
|
1916 |
+
#cff-admin-about .cff-admin-about-section .fa-star {
|
1917 |
+
color: gold
|
1918 |
+
}
|
1919 |
+
|
1920 |
+
#cff-admin-about .cff-admin-about-section .no-margin {
|
1921 |
+
margin: 0 !important
|
1922 |
+
}
|
1923 |
+
|
1924 |
+
#cff-admin-about .cff-admin-about-section .no-padding {
|
1925 |
+
padding: 0 !important
|
1926 |
+
}
|
1927 |
+
|
1928 |
+
#cff-admin-about .cff-admin-about-section .centered {
|
1929 |
+
text-align: center !important
|
1930 |
+
}
|
1931 |
+
|
1932 |
+
#cff-admin-about .cff-admin-about-section-first-form {
|
1933 |
+
display: flex
|
1934 |
+
}
|
1935 |
+
|
1936 |
+
@media (max-width: 767px) {
|
1937 |
+
#cff-admin-about .cff-admin-about-section-first-form {
|
1938 |
+
display:block !important
|
1939 |
+
}
|
1940 |
+
}
|
1941 |
+
|
1942 |
+
#cff-admin-about .cff-admin-about-section-first-form .cff-admin-about-section-first-form-text {
|
1943 |
+
flex: 1;
|
1944 |
+
padding-right: 30px
|
1945 |
+
}
|
1946 |
+
|
1947 |
+
@media (max-width: 767px) {
|
1948 |
+
#cff-admin-about .cff-admin-about-section-first-form .cff-admin-about-section-first-form-text {
|
1949 |
+
flex:none
|
1950 |
+
}
|
1951 |
+
}
|
1952 |
+
|
1953 |
+
#cff-admin-about .cff-admin-about-section-first-form .cff-admin-about-section-first-form-video iframe {
|
1954 |
+
border: 1px solid #DDDDDD
|
1955 |
+
}
|
1956 |
+
|
1957 |
+
@media (max-width: 767px) {
|
1958 |
+
#cff-admin-about .cff-admin-about-section-first-form .cff-admin-about-section-first-form-video {
|
1959 |
+
padding-top:20px
|
1960 |
+
}
|
1961 |
+
}
|
1962 |
+
|
1963 |
+
#cff-admin-about .cff-admin-about-section-hero {
|
1964 |
+
padding: 0
|
1965 |
+
}
|
1966 |
+
|
1967 |
+
#cff-admin-about .cff-admin-about-section-hero .cff-admin-about-section-hero-main,#cff-admin-about .cff-admin-about-section-hero .cff-admin-about-section-hero-extra {
|
1968 |
+
padding: 30px
|
1969 |
+
}
|
1970 |
+
|
1971 |
+
@media (max-width: 767px) {
|
1972 |
+
#cff-admin-about .cff-admin-about-section-hero .cff-admin-about-section-hero-extra .cff-admin-column-50 {
|
1973 |
+
float:none;
|
1974 |
+
width: 100%
|
1975 |
+
}
|
1976 |
+
}
|
1977 |
+
|
1978 |
+
#cff-admin-about .cff-admin-about-section-hero .cff-admin-about-section-hero-main {
|
1979 |
+
background-color: #FAFAFA;
|
1980 |
+
border-bottom: 1px solid #DDDDDD
|
1981 |
+
}
|
1982 |
+
|
1983 |
+
#cff-admin-about .cff-admin-about-section-hero .cff-admin-about-section-hero-main.no-border {
|
1984 |
+
border-bottom: 0
|
1985 |
+
}
|
1986 |
+
|
1987 |
+
#cff-admin-about .cff-admin-about-section-hero .cff-admin-about-section-hero-main p {
|
1988 |
+
color: #666
|
1989 |
+
}
|
1990 |
+
|
1991 |
+
#cff-admin-about .cff-admin-about-section-hero h3.call-to-action {
|
1992 |
+
margin-bottom: -10px
|
1993 |
+
}
|
1994 |
+
|
1995 |
+
#cff-admin-about .cff-admin-about-section-hero span.price-20-off {
|
1996 |
+
color: #6AB255
|
1997 |
+
}
|
1998 |
+
|
1999 |
+
#cff-admin-about .cff-admin-about-section-squashed {
|
2000 |
+
margin-bottom: 0
|
2001 |
+
}
|
2002 |
+
|
2003 |
+
#cff-admin-about .cff-admin-about-section-squashed:not(:last-of-type) {
|
2004 |
+
border-bottom: 0
|
2005 |
+
}
|
2006 |
+
|
2007 |
+
#cff-admin-about .cff-admin-about-section-post h2 {
|
2008 |
+
margin-bottom: -10px
|
2009 |
+
}
|
2010 |
+
|
2011 |
+
#cff-admin-about .cff-admin-about-section-post h3 {
|
2012 |
+
margin-bottom: 15px
|
2013 |
+
}
|
2014 |
+
|
2015 |
+
#cff-admin-about .cff-admin-about-section-post p:last-of-type {
|
2016 |
+
margin-bottom: 30px
|
2017 |
+
}
|
2018 |
+
|
2019 |
+
#cff-admin-about .cff-admin-about-section-post .cff-admin-column-20 {
|
2020 |
+
padding-right: 20px;
|
2021 |
+
width: auto
|
2022 |
+
}
|
2023 |
+
|
2024 |
+
#cff-admin-about .cff-admin-about-section-post .cff-admin-column-20 img {
|
2025 |
+
width: 270px
|
2026 |
+
}
|
2027 |
+
|
2028 |
+
@media (max-width: 767px) {
|
2029 |
+
#cff-admin-about .cff-admin-about-section-post .cff-admin-column-20 {
|
2030 |
+
width:20%
|
2031 |
+
}
|
2032 |
+
|
2033 |
+
#cff-admin-about .cff-admin-about-section-post .cff-admin-column-20 img {
|
2034 |
+
width: auto;
|
2035 |
+
max-width: 100%
|
2036 |
+
}
|
2037 |
+
}
|
2038 |
+
|
2039 |
+
#cff-admin-about .cff-admin-about-section-post .cff-admin-column-80 {
|
2040 |
+
padding-left: 20px;
|
2041 |
+
width: calc(100% - 20px - 270px)
|
2042 |
+
}
|
2043 |
+
|
2044 |
+
@media (max-width: 767px) {
|
2045 |
+
#cff-admin-about .cff-admin-about-section-post .cff-admin-column-80 {
|
2046 |
+
width:80%
|
2047 |
+
}
|
2048 |
+
}
|
2049 |
+
|
2050 |
+
#cff-admin-about .cff-admin-about-section-post .cff-admin-about-section-post-link {
|
2051 |
+
padding: 10px 15px;
|
2052 |
+
background-color: #DF7739;
|
2053 |
+
color: #fff;
|
2054 |
+
border-radius: 3px;
|
2055 |
+
text-decoration: none;
|
2056 |
+
margin-top: 15px;
|
2057 |
+
font-size: 14px
|
2058 |
+
}
|
2059 |
+
|
2060 |
+
#cff-admin-about .cff-admin-about-section-post .cff-admin-about-section-post-link:hover {
|
2061 |
+
background-color: #B85A1B
|
2062 |
+
}
|
2063 |
+
|
2064 |
+
#cff-admin-about .cff-admin-about-section-post .cff-admin-about-section-post-link .fa {
|
2065 |
+
color: #EDBA9E;
|
2066 |
+
vertical-align: middle;
|
2067 |
+
margin-left: 8px
|
2068 |
+
}
|
2069 |
+
|
2070 |
+
#cff-admin-about .cff-admin-about-section-table table {
|
2071 |
+
border-collapse: collapse
|
2072 |
+
}
|
2073 |
+
|
2074 |
+
#cff-admin-about .cff-admin-about-section-table table tr td {
|
2075 |
+
border-bottom: 1px solid #DDDDDD;
|
2076 |
+
border-right: 1px solid #DDDDDD;
|
2077 |
+
padding: 30px;
|
2078 |
+
vertical-align: top
|
2079 |
+
}
|
2080 |
+
|
2081 |
+
#cff-admin-about .cff-admin-about-section-table table tr td:last-of-type {
|
2082 |
+
border-right: 0
|
2083 |
+
}
|
2084 |
+
|
2085 |
+
#cff-admin-about .cff-admin-about-section-table table tr:last-child td {
|
2086 |
+
border-bottom: none
|
2087 |
+
}
|
2088 |
+
|
2089 |
+
#cff-admin-about .cff-admin-about-section-table table p {
|
2090 |
+
background-repeat: no-repeat;
|
2091 |
+
background-size: 15px auto;
|
2092 |
+
background-position: 0 6px;
|
2093 |
+
margin: 0
|
2094 |
+
}
|
2095 |
+
|
2096 |
+
#cff-admin-about .cff-admin-about-section-table table p.features-full {
|
2097 |
+
padding-left: 30px;
|
2098 |
+
background-image: url(../img/about/icon-full.svg)
|
2099 |
+
}
|
2100 |
+
|
2101 |
+
#cff-admin-about .cff-admin-about-section-table table p.features-none {
|
2102 |
+
padding-left: 30px;
|
2103 |
+
background-image: url(../img/about/icon-none.svg)
|
2104 |
+
}
|
2105 |
+
|
2106 |
+
#cff-admin-about .cff-admin-about-section-table table p.features-partial {
|
2107 |
+
padding-left: 30px;
|
2108 |
+
background-position: -3px 0;
|
2109 |
+
background-size: 23px auto;
|
2110 |
+
background-image: url(../img/about/icon-partial.svg)
|
2111 |
+
}
|
2112 |
+
|
2113 |
+
#cff-admin-about .cff-admin-about-section-table .cff-admin-about-section-hero-main {
|
2114 |
+
padding: 0
|
2115 |
+
}
|
2116 |
+
|
2117 |
+
#cff-admin-about .cff-admin-about-section-table .cff-admin-about-section-hero-main h3 {
|
2118 |
+
padding: 30px 30px 30px 60px
|
2119 |
+
}
|
2120 |
+
|
2121 |
+
#cff-admin-about .cff-admin-about-section-table .cff-admin-about-section-hero-main .cff-admin-column-33:first-child h3 {
|
2122 |
+
padding: 30px
|
2123 |
+
}
|
2124 |
+
|
2125 |
+
#cff-admin-about #cff-admin-addons {
|
2126 |
+
padding: 0 30px
|
2127 |
+
}
|
2128 |
+
|
2129 |
+
#cff-admin-about #cff-admin-addons .addon-container {
|
2130 |
+
padding: 0 10px
|
2131 |
+
}
|
2132 |
+
|
2133 |
+
#cff-admin-about #cff-admin-addons .addon-item .details {
|
2134 |
+
padding: 20px
|
2135 |
+
}
|
2136 |
+
|
2137 |
+
#cff-admin-about #cff-admin-addons .addon-item img {
|
2138 |
+
padding: 10px
|
2139 |
+
}
|
2140 |
+
|
2141 |
+
#cff-admin-about #cff-admin-addons .addon-item img[src*="-mi"] {
|
2142 |
+
padding: 13px
|
2143 |
+
}
|
2144 |
+
|
2145 |
+
#cff-admin-about #cff-admin-addons .addon-item .action-button .button {
|
2146 |
+
display: inline-block;
|
2147 |
+
text-decoration: none;
|
2148 |
+
font-size: 13px;
|
2149 |
+
line-height: 26px;
|
2150 |
+
height: 28px;
|
2151 |
+
margin: 0;
|
2152 |
+
padding: 0 10px 1px;
|
2153 |
+
cursor: pointer;
|
2154 |
+
-webkit-appearance: none;
|
2155 |
+
border-radius: 3px;
|
2156 |
+
border: 1px solid #cccccc;
|
2157 |
+
background: #f7f7f7;
|
2158 |
+
box-shadow: 0 1px 0 #cccccc;
|
2159 |
+
font-weight: normal
|
2160 |
+
}
|
2161 |
+
|
2162 |
+
#cff-admin-about #cff-admin-addons .addon-item .action-button .button:hover,#cff-admin-about #cff-admin-addons .addon-item .action-button .button:focus {
|
2163 |
+
background: #fafafa;
|
2164 |
+
border-color: #999;
|
2165 |
+
color: #23282d
|
2166 |
+
}
|
2167 |
+
|
2168 |
+
#cff-admin-about #cff-admin-addons .addon-item .action-button .button.button-primary {
|
2169 |
+
background: #0085ba;
|
2170 |
+
border-color: #0073aa #006799 #006799;
|
2171 |
+
box-shadow: 0 1px 0 #006799;
|
2172 |
+
color: #fff;
|
2173 |
+
text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799
|
2174 |
+
}
|
2175 |
+
|
2176 |
+
#cff-admin-about #cff-admin-addons .addon-item .action-button .button.button-primary:hover,#cff-admin-about #cff-admin-addons .addon-item .action-button .button.button-primary:focus {
|
2177 |
+
background: #008ec2;
|
2178 |
+
border-color: #006799;
|
2179 |
+
color: #fff
|
2180 |
+
}
|
2181 |
+
|
2182 |
+
#cff-admin-about #cff-admin-addons .addon-item .action-button .button.button-primary .fa-spinner {
|
2183 |
+
color: #fff
|
2184 |
+
}
|
2185 |
+
|
2186 |
+
#cff-admin-about #cff-admin-addons .addon-item .action-button .button.button-secondary {
|
2187 |
+
color: #555;
|
2188 |
+
border-color: #cccccc;
|
2189 |
+
background: #f7f7f7;
|
2190 |
+
box-shadow: 0 1px 0 #cccccc
|
2191 |
+
}
|
2192 |
+
|
2193 |
+
#cff-admin-about #cff-admin-addons .addon-item .action-button .button.button-secondary:hover,#cff-admin-about #cff-admin-addons .addon-item .action-button .button.button-secondary:focus {
|
2194 |
+
background: #fafafa;
|
2195 |
+
border-color: #999;
|
2196 |
+
color: #23282d
|
2197 |
+
}
|
2198 |
+
|
2199 |
+
#cff-admin-about #cff-admin-addons .addon-item .action-button .button.disabled {
|
2200 |
+
cursor: default
|
2201 |
+
}
|
2202 |
+
|
2203 |
+
/* AW columns */
|
2204 |
+
.cff-admin-columns>div[class*="-column-"] {
|
2205 |
+
float: left
|
2206 |
+
}
|
2207 |
+
|
2208 |
+
.cff-admin-columns .cff-admin-column-20 {
|
2209 |
+
width: 20%
|
2210 |
+
}
|
2211 |
+
|
2212 |
+
.cff-admin-columns .cff-admin-column-33 {
|
2213 |
+
width: 33.33333%
|
2214 |
+
}
|
2215 |
+
|
2216 |
+
.cff-admin-columns .cff-admin-column-40 {
|
2217 |
+
width: 40%
|
2218 |
+
}
|
2219 |
+
|
2220 |
+
.cff-admin-columns .cff-admin-column-50 {
|
2221 |
+
width: 50%
|
2222 |
+
}
|
2223 |
+
|
2224 |
+
.cff-admin-columns .cff-admin-column-60 {
|
2225 |
+
width: 60%
|
2226 |
+
}
|
2227 |
+
|
2228 |
+
.cff-admin-columns .cff-admin-column-80 {
|
2229 |
+
width: 80%
|
2230 |
+
}
|
2231 |
+
|
2232 |
+
.cff-admin-columns .cff-admin-column-last {
|
2233 |
+
float: right !important
|
2234 |
+
}
|
2235 |
+
|
2236 |
+
.cff-admin-columns:after {
|
2237 |
+
content: "";
|
2238 |
+
display: table;
|
2239 |
+
clear: both
|
2240 |
+
}
|
2241 |
+
|
2242 |
+
/* AW Addons */
|
2243 |
+
#cff-admin-addons h3 {
|
2244 |
+
padding: 10px 10px 0 10px;
|
2245 |
+
clear: left;
|
2246 |
+
}
|
2247 |
+
#cff-admin-addons *,#cff-admin-addons *::before,#cff-admin-addons *::after {
|
2248 |
+
-webkit-box-sizing: border-box;
|
2249 |
+
-moz-box-sizing: border-box;
|
2250 |
+
box-sizing: border-box
|
2251 |
+
}
|
2252 |
+
|
2253 |
+
#cff-admin-addons .addons-container {
|
2254 |
+
margin-left: -20px;
|
2255 |
+
margin-right: -20px
|
2256 |
+
}
|
2257 |
+
|
2258 |
+
#cff-admin-addons .unlock-msg {
|
2259 |
+
padding: 0 20px;
|
2260 |
+
margin-top: -20px;
|
2261 |
+
clear: both
|
2262 |
+
}
|
2263 |
+
|
2264 |
+
#cff-admin-addons #cff-admin-addons-search {
|
2265 |
+
background-color: #fff;
|
2266 |
+
border: 1px solid #ddd;
|
2267 |
+
border-radius: 3px;
|
2268 |
+
box-shadow: none;
|
2269 |
+
color: #333;
|
2270 |
+
vertical-align: middle;
|
2271 |
+
padding: 7px 12px;
|
2272 |
+
margin: -3px 10px 0 0;
|
2273 |
+
width: 200px;
|
2274 |
+
min-height: 35px;
|
2275 |
+
float: right
|
2276 |
+
}
|
2277 |
+
|
2278 |
+
#cff-admin-addons #cff-admin-addons-search:focus {
|
2279 |
+
border-color: #bbb
|
2280 |
+
}
|
2281 |
+
|
2282 |
+
#cff-admin-addons .addon-container {
|
2283 |
+
padding: 0 20px;
|
2284 |
+
float: left;
|
2285 |
+
width: 33.333333%;
|
2286 |
+
margin-bottom: 20px
|
2287 |
+
}
|
2288 |
+
|
2289 |
+
@media (max-width: 1249px) {
|
2290 |
+
#cff-admin-addons .addon-container {
|
2291 |
+
width:50%
|
2292 |
+
}
|
2293 |
+
}
|
2294 |
+
|
2295 |
+
@media (max-width: 767px) {
|
2296 |
+
#cff-admin-addons .addon-container {
|
2297 |
+
width:100%;
|
2298 |
+
margin-bottom: 20px
|
2299 |
+
}
|
2300 |
+
}
|
2301 |
+
|
2302 |
+
#cff-admin-addons h4 {
|
2303 |
+
font-size: 17px;
|
2304 |
+
font-weight: 700
|
2305 |
+
}
|
2306 |
+
|
2307 |
+
#cff-admin-addons .addon-item {
|
2308 |
+
background-color: #fff;
|
2309 |
+
border: 1px solid #ddd;
|
2310 |
+
border-radius: 3px;
|
2311 |
+
margin: 0
|
2312 |
+
}
|
2313 |
+
|
2314 |
+
@media (max-width: 767px) {
|
2315 |
+
#cff-admin-addons .addon-item {
|
2316 |
+
margin:0 0
|
2317 |
+
}
|
2318 |
+
}
|
2319 |
+
|
2320 |
+
#cff-admin-addons .addon-item img {
|
2321 |
+
border: 1px solid #eee;
|
2322 |
+
float: left;
|
2323 |
+
max-width: 75px
|
2324 |
+
}
|
2325 |
+
|
2326 |
+
#cff-admin-addons .addon-item h5 {
|
2327 |
+
margin: 0 0 10px 100px;
|
2328 |
+
font-size: 16px
|
2329 |
+
}
|
2330 |
+
|
2331 |
+
#cff-admin-addons .addon-item p {
|
2332 |
+
margin: 0 0 0 100px
|
2333 |
+
}
|
2334 |
+
|
2335 |
+
#cff-admin-addons .addon-item .details {
|
2336 |
+
padding: 30px 20px
|
2337 |
+
}
|
2338 |
+
|
2339 |
+
#cff-admin-addons .addon-item .actions {
|
2340 |
+
background-color: #f7f7f7;
|
2341 |
+
border-top: 1px solid #ddd;
|
2342 |
+
padding: 20px;
|
2343 |
+
position: relative
|
2344 |
+
}
|
2345 |
+
|
2346 |
+
#cff-admin-addons .addon-item .actions .msg {
|
2347 |
+
background-color: #f7f7f7;
|
2348 |
+
position: absolute;
|
2349 |
+
text-align: center;
|
2350 |
+
font-weight: 600;
|
2351 |
+
top: 0;
|
2352 |
+
left: 0;
|
2353 |
+
height: 100%;
|
2354 |
+
width: 100%;
|
2355 |
+
z-index: 99;
|
2356 |
+
padding: 20px;
|
2357 |
+
display: -webkit-box;
|
2358 |
+
display: -moz-box;
|
2359 |
+
display: -ms-flexbox;
|
2360 |
+
display: -webkit-flex;
|
2361 |
+
display: flex;
|
2362 |
+
-webkit-align-items: center;
|
2363 |
+
-ms-align-items: center;
|
2364 |
+
align-items: center;
|
2365 |
+
justify-content: center
|
2366 |
+
}
|
2367 |
+
|
2368 |
+
#cff-admin-addons .addon-item .actions .msg.success {
|
2369 |
+
color: #2a9b39
|
2370 |
+
}
|
2371 |
+
|
2372 |
+
#cff-admin-addons .addon-item .actions .msg.error {
|
2373 |
+
color: red
|
2374 |
+
}
|
2375 |
+
|
2376 |
+
#cff-admin-addons .addon-item .status {
|
2377 |
+
float: left;
|
2378 |
+
padding-top: 8px
|
2379 |
+
}
|
2380 |
+
|
2381 |
+
#cff-admin-addons .addon-item .status .status-inactive {
|
2382 |
+
color: red
|
2383 |
+
}
|
2384 |
+
|
2385 |
+
#cff-admin-addons .addon-item .status .status-download {
|
2386 |
+
color: #666
|
2387 |
+
}
|
2388 |
+
|
2389 |
+
#cff-admin-addons .addon-item .status .status-active {
|
2390 |
+
color: #2a9b39
|
2391 |
+
}
|
2392 |
+
|
2393 |
+
#cff-admin-addons .addon-item .upgrade-button {
|
2394 |
+
text-align: center
|
2395 |
+
}
|
2396 |
+
|
2397 |
+
#cff-admin-addons .addon-item .upgrade-button a {
|
2398 |
+
font-weight: 600;
|
2399 |
+
width: 140px;
|
2400 |
+
text-align: center;
|
2401 |
+
padding: 8px 5px
|
2402 |
+
}
|
2403 |
+
|
2404 |
+
#cff-admin-addons .addon-item .action-button {
|
2405 |
+
float: right
|
2406 |
+
}
|
2407 |
+
|
2408 |
+
#cff-admin-addons .addon-item .action-button button {
|
2409 |
+
background: none;
|
2410 |
+
border: 1px solid #ddd;
|
2411 |
+
border-radius: 3px;
|
2412 |
+
box-shadow: none;
|
2413 |
+
cursor: pointer;
|
2414 |
+
font-weight: 600;
|
2415 |
+
width: 140px;
|
2416 |
+
text-align: center;
|
2417 |
+
padding: 8px 5px
|
2418 |
+
}
|
2419 |
+
|
2420 |
+
#cff-admin-addons .addon-item .action-button button:hover,#cff-admin-addons .addon-item .action-button button.loading {
|
2421 |
+
background-color: #e9e9e9
|
2422 |
+
}
|
2423 |
+
|
2424 |
+
#cff-admin-addons .addon-item .action-button button .fa {
|
2425 |
+
margin-right: 8px
|
2426 |
+
}
|
2427 |
+
|
2428 |
+
#cff-admin-addons .addon-item .action-button button .fa.fa-spinner {
|
2429 |
+
margin-right: 0
|
2430 |
+
}
|
2431 |
+
|
2432 |
+
#cff-admin-addons .addon-item .action-button button.status-active .fa {
|
2433 |
+
color: #2a9b39
|
2434 |
+
}
|
2435 |
+
|
2436 |
+
#cff-admin-addons .addon-item .action-button button.status-inactive .fa {
|
2437 |
+
color: red
|
2438 |
+
}
|
2439 |
+
|
2440 |
+
#cff-admin-addons .addon-item .action-button button.status-download .fa {
|
2441 |
+
color: #999
|
2442 |
+
}
|
2443 |
+
|
2444 |
+
#cff-admin-addons .addon-item .action-button button.disabled {
|
2445 |
+
cursor: default
|
2446 |
+
}
|
2447 |
+
|
2448 |
+
#cff-admin-addons .addon-item .action-button button.loading .fa {
|
2449 |
+
color: #666
|
2450 |
+
}
|
2451 |
+
|
2452 |
+
/* Tabs */
|
2453 |
+
.cff-admin-tabs {
|
2454 |
+
background-color: #fff;
|
2455 |
+
margin: 0 0 20px 0;
|
2456 |
+
padding: 0 20px;
|
2457 |
+
list-style: none;
|
2458 |
+
overflow: auto;
|
2459 |
+
font-size: 14px
|
2460 |
+
}
|
2461 |
+
|
2462 |
+
.cff-admin-tabs li {
|
2463 |
+
margin: 0 30px 0 0;
|
2464 |
+
padding: 0;
|
2465 |
+
float: left
|
2466 |
+
}
|
2467 |
+
|
2468 |
+
.cff-admin-tabs li:last-of-type {
|
2469 |
+
margin: 0
|
2470 |
+
}
|
2471 |
+
|
2472 |
+
.cff-admin-tabs li a {
|
2473 |
+
color: #666;
|
2474 |
+
display: block;
|
2475 |
+
padding: 20px 0 18px 0;
|
2476 |
+
text-decoration: none;
|
2477 |
+
border-bottom: 2px solid #fff;
|
2478 |
+
box-shadow: none
|
2479 |
+
}
|
2480 |
+
|
2481 |
+
.cff-admin-tabs li a:hover {
|
2482 |
+
border-color: #999
|
2483 |
+
}
|
2484 |
+
|
2485 |
+
.cff-admin-tabs li a.active {
|
2486 |
+
border-color: #e27730
|
2487 |
+
}
|
2488 |
+
|
2489 |
+
.cff-admin-tabs li a:focus {
|
2490 |
+
box-shadow: none
|
2491 |
+
}
|
2492 |
+
|
2493 |
+
/* Clear */
|
2494 |
+
.cff-clear:before {
|
2495 |
+
content: " ";
|
2496 |
+
display: table
|
2497 |
+
}
|
2498 |
+
|
2499 |
+
.cff-clear:after {
|
2500 |
+
clear: both;
|
2501 |
+
content: " ";
|
2502 |
+
display: table
|
2503 |
}
|
css/cff-blocks.css
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
-
.cff-wrapper {
|
2 |
-
pointer-events: none !important;
|
3 |
}
|
1 |
+
.cff-wrapper {
|
2 |
+
pointer-events: none !important;
|
3 |
}
|
custom-facebook-feed-admin.php
CHANGED
@@ -2,9 +2,14 @@
|
|
2 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
3 |
|
4 |
function cff_menu() {
|
|
|
|
|
|
|
|
|
|
|
5 |
add_menu_page(
|
6 |
'',
|
7 |
-
'Facebook Feed',
|
8 |
'manage_options',
|
9 |
'cff-top',
|
10 |
'cff_settings_page'
|
@@ -12,7 +17,7 @@ function cff_menu() {
|
|
12 |
add_submenu_page(
|
13 |
'cff-top',
|
14 |
'Settings',
|
15 |
-
'Settings',
|
16 |
'manage_options',
|
17 |
'cff-top',
|
18 |
'cff_settings_page'
|
@@ -29,9 +34,21 @@ function cff_styling_menu() {
|
|
29 |
'cff-style',
|
30 |
'cff_style_page'
|
31 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
add_action('admin_menu', 'cff_styling_menu');
|
34 |
|
|
|
|
|
|
|
|
|
35 |
//Create Settings page
|
36 |
function cff_settings_page() {
|
37 |
//Declare variables for fields
|
@@ -194,6 +211,9 @@ function cff_settings_page() {
|
|
194 |
if( isset($_GET['access_token']) && isset($_GET['final_response']) ){
|
195 |
|
196 |
if( $_GET['final_response'] == 'true' ){
|
|
|
|
|
|
|
197 |
|
198 |
$access_token = $_GET['access_token'];
|
199 |
$cff_is_groups = false;
|
@@ -275,7 +295,9 @@ function cff_settings_page() {
|
|
275 |
echo "<p>Facebook has not returned any groups for your user. It is only possible to display a feed from a group which you are either an admin or a member. Please note, if you are not an admin of the group then it is required that an admin add our app in the group settings in order to display a feed.</p><p>Please either create or join a Facebook group and then follow the directions when connecting your account on this page.</p>";
|
276 |
echo '<a href="JavaScript:void(0);" class="button button-primary" id="cff-close-modal-primary-button">Close</a>';
|
277 |
} else {
|
|
|
278 |
|
|
|
279 |
echo '<div class="cff-groups-list">';
|
280 |
echo '<p style="margin-top: 0;"><i class="fa fa-check-circle" aria-hidden="true" style="font-size: 15px; margin: 0 8px 0 2px;"></i>Select a Facebook group below to get an Access Token.</p>';
|
281 |
|
@@ -334,7 +356,9 @@ function cff_settings_page() {
|
|
334 |
|
335 |
} else {
|
336 |
//PAGES
|
|
|
337 |
|
|
|
338 |
echo '<p style="margin-top: 0;"><i class="fa fa-check-circle" aria-hidden="true" style="font-size: 15px; margin: 0 8px 0 2px;"></i>Select a Facebook page below to get an Access Token.</p>';
|
339 |
echo '<p class="cff-tokens-note">Note: This Access Token will allow you to display posts from <b style="font-weight: 900;">any</b> public Facebook page, not just the one selected.</p>';
|
340 |
|
@@ -803,9 +827,9 @@ function cff_settings_page() {
|
|
803 |
|
804 |
<ul class="cff-faq-col-1">
|
805 |
<li><b>FAQs</b></li>
|
806 |
-
<li>• <?php _e('<a href="https://smashballoon.com/category/custom-facebook-feed/faq
|
807 |
-
<li>• <?php _e('<a href="https://smashballoon.com/category/custom-facebook-feed/getting-started
|
808 |
-
<li>• <?php _e('<a href="https://smashballoon.com/category/custom-facebook-feed/troubleshooting
|
809 |
<li style="margin-top: 8px; font-size: 12px;"><a href="https://smashballoon.com/custom-facebook-feed/faq/?utm_source=plugin-free&utm_campaign=cff" target="_blank">See all<i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
|
810 |
</ul>
|
811 |
|
@@ -813,7 +837,7 @@ function cff_settings_page() {
|
|
813 |
<li><b>Documentation</b></li>
|
814 |
<li>• <?php _e('<a href="http://smashballoon.com/custom-facebook-feed/docs/free/" target="_blank">Installation and Configuration</a>'); ?></li>
|
815 |
<li>• <?php _e('<a href="https://smashballoon.com/custom-facebook-feed/docs/shortcodes/" target="_blank">Shortcode Reference</a>', 'custom-facebook-feed'); ?></li>
|
816 |
-
<li>• <?php _e('<a href=https://smashballoon.com/category/custom-facebook-feed/customizations/snippets
|
817 |
<li style="margin-top: 8px; font-size: 12px;"><a href="https://smashballoon.com/custom-facebook-feed/docs/?utm_source=plugin-free&utm_campaign=cff" target="_blank">See all<i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
|
818 |
</ul>
|
819 |
</div>
|
@@ -1025,6 +1049,9 @@ Force Cache To Clear => <?php echo $options['cff_cron'] ."\n"; ?>
|
|
1025 |
Request Method => <?php echo $options['cff_request_method'] ."\n"; ?>
|
1026 |
Fix Text Shortening => <?php echo $options['cff_format_issue'] ."\n"; ?>
|
1027 |
Disable Default Styles => <?php echo $options['cff_disable_styles'] ."\n"; ?>
|
|
|
|
|
|
|
1028 |
|
1029 |
## CUSTOM TEXT/TRANSLATE: ##
|
1030 |
Modified text strings:
|
@@ -1067,7 +1094,29 @@ if( isset( $api_response_json->error ) ) echo $posts_json;
|
|
1067 |
if( isset( $api_response_json->data ) ){
|
1068 |
$posts_json_split = explode(',"paging":{', $posts_json);
|
1069 |
echo $posts_json_split[0];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1070 |
}
|
|
|
1071 |
?>
|
1072 |
</textarea>
|
1073 |
|
@@ -1215,6 +1264,7 @@ function cff_style_page() {
|
|
1215 |
'cff_show_credit' => '',
|
1216 |
'cff_font_source' => '',
|
1217 |
'cff_minify' => false,
|
|
|
1218 |
'cff_sep_color' => '',
|
1219 |
'cff_sep_size' => '1',
|
1220 |
|
@@ -1266,7 +1316,12 @@ function cff_style_page() {
|
|
1266 |
'cff_translate_months' => 'months',
|
1267 |
'cff_translate_year' => 'year',
|
1268 |
'cff_translate_years' => 'years',
|
1269 |
-
'cff_translate_ago' => 'ago'
|
|
|
|
|
|
|
|
|
|
|
1270 |
);
|
1271 |
//Save layout option in an array
|
1272 |
$options = wp_parse_args(get_option('cff_style_settings'), $defaults);
|
@@ -1427,6 +1482,10 @@ function cff_style_page() {
|
|
1427 |
$cff_minify = $options[ 'cff_minify' ];
|
1428 |
$cff_cols = $options[ 'cff_cols' ];
|
1429 |
$cff_cols_mobile = $options[ 'cff_cols_mobile' ];
|
|
|
|
|
|
|
|
|
1430 |
|
1431 |
//Page Header
|
1432 |
$cff_show_header = $options[ 'cff_show_header' ];
|
@@ -1827,6 +1886,7 @@ function cff_style_page() {
|
|
1827 |
(isset($_POST[ 'cff_format_issue' ])) ? $cff_format_issue = sanitize_text_field( $_POST[ 'cff_format_issue' ] ) : $cff_format_issue = '';
|
1828 |
(isset($_POST[ 'cff_restricted_page' ])) ? $cff_restricted_page = sanitize_text_field( $_POST[ 'cff_restricted_page' ] ) : $cff_restricted_page = '';
|
1829 |
(isset($_POST[ 'cff_minify' ])) ? $cff_minify = sanitize_text_field( $_POST[ 'cff_minify' ] ) : $cff_minify = '';
|
|
|
1830 |
|
1831 |
//Custom CSS
|
1832 |
$options[ 'cff_custom_css' ] = $cff_custom_css;
|
@@ -1848,6 +1908,7 @@ function cff_style_page() {
|
|
1848 |
$options[ 'cff_format_issue' ] = $cff_format_issue;
|
1849 |
$options[ 'cff_restricted_page' ] = $cff_restricted_page;
|
1850 |
$options[ 'cff_minify' ] = $cff_minify;
|
|
|
1851 |
|
1852 |
if( $cff_cron == 'no' ) wp_clear_scheduled_hook('cff_cron_job');
|
1853 |
|
@@ -1867,6 +1928,29 @@ function cff_style_page() {
|
|
1867 |
wp_schedule_event(time(), $cff_cron_schedule, 'cff_cron_job');
|
1868 |
}
|
1869 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1870 |
}
|
1871 |
//Update the Custom Text / Translate options
|
1872 |
if( isset($_POST[ $style_custom_text_hidden_field_name ]) && $_POST[ $style_custom_text_hidden_field_name ] == 'Y' ) {
|
@@ -3763,7 +3847,7 @@ function cff_style_page() {
|
|
3763 |
<tbody>
|
3764 |
<tr valign="top">
|
3765 |
<td style="padding-top: 0;">
|
3766 |
-
<p style="padding-bottom: 10px;"><?php _e('Enter your own custom CSS in the box below', 'custom-facebook-feed'); ?> <i style="margin-left: 5px; font-size: 11px;"><a href="https://smashballoon.com/category/custom-facebook-feed/customizations/snippets
|
3767 |
<textarea name="cff_custom_css" id="cff_custom_css" style="width: 70%;" rows="7"><?php echo esc_textarea( stripslashes($cff_custom_css), 'custom-facebook-feed' ); ?></textarea>
|
3768 |
</td>
|
3769 |
</tr>
|
@@ -3774,7 +3858,7 @@ function cff_style_page() {
|
|
3774 |
<tbody>
|
3775 |
<tr valign="top">
|
3776 |
<td style="padding-top: 0;">
|
3777 |
-
<p style="padding-bottom: 10px;"><?php _e('Enter your own custom JavaScript/jQuery in the box below', 'custom-facebook-feed'); ?> <i style="margin-left: 5px; font-size: 11px;"><a href="https://smashballoon.com/category/custom-facebook-feed/customizations/snippets
|
3778 |
<textarea name="cff_custom_js" id="cff_custom_js" style="width: 70%;" rows="7"><?php echo esc_textarea( stripslashes($cff_custom_js), 'custom-facebook-feed' ); ?></textarea>
|
3779 |
</td>
|
3780 |
</tr>
|
@@ -3937,6 +4021,79 @@ function cff_style_page() {
|
|
3937 |
<p class="cff-tooltip cff-more-info"><?php _e("The plugin includes some basic text and link styles which can be disabled by enabling this setting. Note that the styles used for the layout of the posts will still be applied.", 'custom-facebook-feed'); ?></p>
|
3938 |
</td>
|
3939 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3940 |
</tbody>
|
3941 |
</table>
|
3942 |
|
@@ -4149,6 +4306,17 @@ function cff_lite_dismiss() {
|
|
4149 |
}
|
4150 |
add_action( 'wp_ajax_cff_lite_dismiss', 'cff_lite_dismiss' );
|
4151 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4152 |
// Add a Settings link to the plugin on the Plugins page
|
4153 |
$cff_plugin_file = 'custom-facebook-feed/custom-facebook-feed.php';
|
4154 |
add_filter( "plugin_action_links_{$cff_plugin_file}", 'cff_add_settings_link', 10, 2 );
|
@@ -4336,7 +4504,7 @@ function cff_notices_html() {
|
|
4336 |
$dismiss_url = add_query_arg( 'cff_ignore_rating_notice_nag', '1' );
|
4337 |
$later_url = add_query_arg( 'cff_ignore_rating_notice_nag', 'later' );
|
4338 |
if ( $should_show_bfcm_discount ) {
|
4339 |
-
$other_notice_html = '<p class="cff_other_notice">' . __( 'PS. We currently have a <a href="https://smashballoon.com/custom-facebook-feed/?utm_source=plugin-free&utm_campaign=cff&discount='.$cff_bfcm_discount_code.'" target="_blank"><b style="font-weight: 700;">Black Friday deal</b></a> for
|
4340 |
|
4341 |
$dismiss_url = add_query_arg( array(
|
4342 |
'cff_ignore_rating_notice_nag' => '1',
|
@@ -4381,7 +4549,7 @@ function cff_notices_html() {
|
|
4381 |
<div class='cff_notice cff_review_notice cff_new_user_sale_notice'>
|
4382 |
<img src='" . plugins_url( 'img/cff-icon-offer.png?74px' , __FILE__ ) . "' alt='Facebook Feed'>
|
4383 |
<div class='cff-notice-text'>
|
4384 |
-
<p>" . __( '<b style="font-weight: 700;">Exclusive offer!</b> We don\'t run promotions very often, but for a limited time we\'re offering <b style="font-weight: 700;">
|
4385 |
<p class='cff-links'>
|
4386 |
<a class='cff_notice_dismiss cff_offer_btn' href='https://smashballoon.com/custom-facebook-feed/?utm_source=plugin-free&utm_campaign=cff&discount=facebookthankyou' target='_blank'><b>" . __( 'Get this offer', 'custom-facebook-feed' ) . "</b></a>
|
4387 |
<a class='cff_notice_dismiss' style='margin-left: 5px;' href='" . esc_url( add_query_arg( 'cff_ignore_new_user_sale_notice', 'always' ) ) . "'>" . __( 'I\'m not interested', 'custom-facebook-feed' ) . "</a>
|
@@ -4399,7 +4567,7 @@ function cff_notices_html() {
|
|
4399 |
<div class='cff_notice cff_review_notice cff_bfcm_sale_notice'>
|
4400 |
<img src='". plugins_url( 'img/cff-icon-offer.png?74px' , __FILE__ ) ."' alt='Facebook Feed'>
|
4401 |
<div class='cff-notice-text'>
|
4402 |
-
<p>" . __( '<b style="font-weight: 700;">Black Friday/Cyber Monday Deal!</b> Thank you for using the free Smash Balloon Custom Facebook Feed plugin. For a limited time, we\'re offering <b style="font-weight: 700;">
|
4403 |
<p class='cff-links'>
|
4404 |
<a class='cff_notice_dismiss cff_offer_btn' href='https://smashballoon.com/custom-facebook-feed/?utm_source=plugin-free&utm_campaign=cff&discount=".$cff_bfcm_discount_code."' target='_blank'><b>" . __( 'Get this offer', 'custom-facebook-feed' ) . "</b></a>
|
4405 |
<a class='cff_notice_dismiss' style='margin-left: 5px;' href='" .esc_url( add_query_arg( 'cff_ignore_bfcm_sale_notice', date( 'Y', $current_time ) ) ). "'>" . __( 'I\'m not interested', 'custom-facebook-feed' ) . "</a>
|
@@ -4479,7 +4647,55 @@ function cff_get_future_date( $month, $year, $week, $day, $direction ) {
|
|
4479 |
return mktime( 0, 0, 0, $month, $startday + $offset, $year );
|
4480 |
}
|
4481 |
|
|
|
4482 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4483 |
|
4484 |
|
4485 |
?>
|
2 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
3 |
|
4 |
function cff_menu() {
|
5 |
+
global $cff_error_reporter;
|
6 |
+
$notice = '';
|
7 |
+
if ( $cff_error_reporter->are_critical_errors() ) {
|
8 |
+
$notice = ' <span class="update-plugins cff-error-alert"><span>!</span></span>';
|
9 |
+
}
|
10 |
add_menu_page(
|
11 |
'',
|
12 |
+
'Facebook Feed'. $notice,
|
13 |
'manage_options',
|
14 |
'cff-top',
|
15 |
'cff_settings_page'
|
17 |
add_submenu_page(
|
18 |
'cff-top',
|
19 |
'Settings',
|
20 |
+
'Settings'. $notice,
|
21 |
'manage_options',
|
22 |
'cff-top',
|
23 |
'cff_settings_page'
|
34 |
'cff-style',
|
35 |
'cff_style_page'
|
36 |
);
|
37 |
+
add_submenu_page(
|
38 |
+
'cff-top',
|
39 |
+
__( 'About Us', 'custom-facebook-feed' ),
|
40 |
+
__( 'About Us', 'custom-facebook-feed' ),
|
41 |
+
'manage_options',
|
42 |
+
'cff-about',
|
43 |
+
'cff_about_page'
|
44 |
+
);
|
45 |
}
|
46 |
add_action('admin_menu', 'cff_styling_menu');
|
47 |
|
48 |
+
function cff_about_page() {
|
49 |
+
do_action('cff_admin_page' );
|
50 |
+
}
|
51 |
+
|
52 |
//Create Settings page
|
53 |
function cff_settings_page() {
|
54 |
//Declare variables for fields
|
211 |
if( isset($_GET['access_token']) && isset($_GET['final_response']) ){
|
212 |
|
213 |
if( $_GET['final_response'] == 'true' ){
|
214 |
+
global $cff_error_reporter;
|
215 |
+
|
216 |
+
$cff_error_reporter->remove_error( 'accesstoken' );
|
217 |
|
218 |
$access_token = $_GET['access_token'];
|
219 |
$cff_is_groups = false;
|
295 |
echo "<p>Facebook has not returned any groups for your user. It is only possible to display a feed from a group which you are either an admin or a member. Please note, if you are not an admin of the group then it is required that an admin add our app in the group settings in order to display a feed.</p><p>Please either create or join a Facebook group and then follow the directions when connecting your account on this page.</p>";
|
296 |
echo '<a href="JavaScript:void(0);" class="button button-primary" id="cff-close-modal-primary-button">Close</a>';
|
297 |
} else {
|
298 |
+
global $cff_error_reporter;
|
299 |
|
300 |
+
$cff_error_reporter->remove_error( 'accesstoken' );
|
301 |
echo '<div class="cff-groups-list">';
|
302 |
echo '<p style="margin-top: 0;"><i class="fa fa-check-circle" aria-hidden="true" style="font-size: 15px; margin: 0 8px 0 2px;"></i>Select a Facebook group below to get an Access Token.</p>';
|
303 |
|
356 |
|
357 |
} else {
|
358 |
//PAGES
|
359 |
+
global $cff_error_reporter;
|
360 |
|
361 |
+
$cff_error_reporter->remove_error( 'accesstoken' );
|
362 |
echo '<p style="margin-top: 0;"><i class="fa fa-check-circle" aria-hidden="true" style="font-size: 15px; margin: 0 8px 0 2px;"></i>Select a Facebook page below to get an Access Token.</p>';
|
363 |
echo '<p class="cff-tokens-note">Note: This Access Token will allow you to display posts from <b style="font-weight: 900;">any</b> public Facebook page, not just the one selected.</p>';
|
364 |
|
827 |
|
828 |
<ul class="cff-faq-col-1">
|
829 |
<li><b>FAQs</b></li>
|
830 |
+
<li>• <?php _e('<a href="https://smashballoon.com/category/custom-facebook-feed/faq/" target="_blank">General Questions</a>'); ?></li>
|
831 |
+
<li>• <?php _e('<a href="https://smashballoon.com/category/custom-facebook-feed/getting-started/" target="_blank">Getting Started</a>'); ?></li>
|
832 |
+
<li>• <?php _e('<a href="https://smashballoon.com/category/custom-facebook-feed/troubleshooting/" target="_blank">Common Issues</a>'); ?></li>
|
833 |
<li style="margin-top: 8px; font-size: 12px;"><a href="https://smashballoon.com/custom-facebook-feed/faq/?utm_source=plugin-free&utm_campaign=cff" target="_blank">See all<i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
|
834 |
</ul>
|
835 |
|
837 |
<li><b>Documentation</b></li>
|
838 |
<li>• <?php _e('<a href="http://smashballoon.com/custom-facebook-feed/docs/free/" target="_blank">Installation and Configuration</a>'); ?></li>
|
839 |
<li>• <?php _e('<a href="https://smashballoon.com/custom-facebook-feed/docs/shortcodes/" target="_blank">Shortcode Reference</a>', 'custom-facebook-feed'); ?></li>
|
840 |
+
<li>• <?php _e('<a href=https://smashballoon.com/category/custom-facebook-feed/customizations/snippets/" target="_blank">Custom CSS and JavaScript Snippets</a>'); ?></li>
|
841 |
<li style="margin-top: 8px; font-size: 12px;"><a href="https://smashballoon.com/custom-facebook-feed/docs/?utm_source=plugin-free&utm_campaign=cff" target="_blank">See all<i class="fa fa-chevron-right" aria-hidden="true"></i></a></li>
|
842 |
</ul>
|
843 |
</div>
|
1049 |
Request Method => <?php echo $options['cff_request_method'] ."\n"; ?>
|
1050 |
Fix Text Shortening => <?php echo $options['cff_format_issue'] ."\n"; ?>
|
1051 |
Disable Default Styles => <?php echo $options['cff_disable_styles'] ."\n"; ?>
|
1052 |
+
Disable Frontend Error Notice => <?php if ( isset( $options['disable_admin_notice'] ) ) echo $options['disable_admin_notice']; echo "\n"; ?>
|
1053 |
+
Enable Email => <?php if ( isset( $options['enable_email_report'] ) ) echo $options['enable_email_report']; echo "\n" ?>
|
1054 |
+
Email Addresses => <?php if ( isset( $options['enable_email_report'] ) ) echo $options['email_notification_addresses']; echo "\n"; ?>
|
1055 |
|
1056 |
## CUSTOM TEXT/TRANSLATE: ##
|
1057 |
Modified text strings:
|
1094 |
if( isset( $api_response_json->data ) ){
|
1095 |
$posts_json_split = explode(',"paging":{', $posts_json);
|
1096 |
echo $posts_json_split[0];
|
1097 |
+
} ?>
|
1098 |
+
|
1099 |
+
|
1100 |
+
## Cron Events: ##
|
1101 |
+
<?php
|
1102 |
+
$cron = _get_cron_array();
|
1103 |
+
foreach ( $cron as $key => $data ) {
|
1104 |
+
$is_target = false;
|
1105 |
+
foreach ( $data as $key2 => $val ) {
|
1106 |
+
if ( strpos( $key2, 'cff' ) !== false ) {
|
1107 |
+
$is_target = true;
|
1108 |
+
echo $key2;
|
1109 |
+
echo "\n";
|
1110 |
+
}
|
1111 |
+
}
|
1112 |
+
if ( $is_target) {
|
1113 |
+
echo date( "Y-m-d H:i:s", $key );
|
1114 |
+
echo "\n";
|
1115 |
+
echo 'Next Scheduled: ' . ((int)$key - time())/60 . ' minutes';
|
1116 |
+
echo "\n\n";
|
1117 |
+
}
|
1118 |
}
|
1119 |
+
|
1120 |
?>
|
1121 |
</textarea>
|
1122 |
|
1264 |
'cff_show_credit' => '',
|
1265 |
'cff_font_source' => '',
|
1266 |
'cff_minify' => false,
|
1267 |
+
'disable_admin_notice' => false,
|
1268 |
'cff_sep_color' => '',
|
1269 |
'cff_sep_size' => '1',
|
1270 |
|
1316 |
'cff_translate_months' => 'months',
|
1317 |
'cff_translate_year' => 'year',
|
1318 |
'cff_translate_years' => 'years',
|
1319 |
+
'cff_translate_ago' => 'ago',
|
1320 |
+
|
1321 |
+
// email
|
1322 |
+
'enable_email_report' => 'on',
|
1323 |
+
'email_notification' => 'monday',
|
1324 |
+
'email_notification_addresses' => get_option( 'admin_email' )
|
1325 |
);
|
1326 |
//Save layout option in an array
|
1327 |
$options = wp_parse_args(get_option('cff_style_settings'), $defaults);
|
1482 |
$cff_minify = $options[ 'cff_minify' ];
|
1483 |
$cff_cols = $options[ 'cff_cols' ];
|
1484 |
$cff_cols_mobile = $options[ 'cff_cols_mobile' ];
|
1485 |
+
$cff_disable_admin_notice = $options[ 'disable_admin_notice' ];
|
1486 |
+
$cff_enable_email_report = $options[ 'enable_email_report' ];
|
1487 |
+
$cff_email_notification = $options[ 'email_notification' ];
|
1488 |
+
$cff_email_notification_addresses = $options[ 'email_notification_addresses' ];
|
1489 |
|
1490 |
//Page Header
|
1491 |
$cff_show_header = $options[ 'cff_show_header' ];
|
1886 |
(isset($_POST[ 'cff_format_issue' ])) ? $cff_format_issue = sanitize_text_field( $_POST[ 'cff_format_issue' ] ) : $cff_format_issue = '';
|
1887 |
(isset($_POST[ 'cff_restricted_page' ])) ? $cff_restricted_page = sanitize_text_field( $_POST[ 'cff_restricted_page' ] ) : $cff_restricted_page = '';
|
1888 |
(isset($_POST[ 'cff_minify' ])) ? $cff_minify = sanitize_text_field( $_POST[ 'cff_minify' ] ) : $cff_minify = '';
|
1889 |
+
(isset($_POST[ 'cff_disable_admin_notice' ])) ? $cff_disable_admin_notice = sanitize_text_field( $_POST[ 'cff_disable_admin_notice' ] ) : $cff_disable_admin_notice = '';
|
1890 |
|
1891 |
//Custom CSS
|
1892 |
$options[ 'cff_custom_css' ] = $cff_custom_css;
|
1908 |
$options[ 'cff_format_issue' ] = $cff_format_issue;
|
1909 |
$options[ 'cff_restricted_page' ] = $cff_restricted_page;
|
1910 |
$options[ 'cff_minify' ] = $cff_minify;
|
1911 |
+
$options[ 'disable_admin_notice' ] = $cff_disable_admin_notice;
|
1912 |
|
1913 |
if( $cff_cron == 'no' ) wp_clear_scheduled_hook('cff_cron_job');
|
1914 |
|
1928 |
wp_schedule_event(time(), $cff_cron_schedule, 'cff_cron_job');
|
1929 |
}
|
1930 |
|
1931 |
+
isset($_POST[ 'cff_enable_email_report' ]) ? $cff_enable_email_report = $_POST[ 'cff_enable_email_report' ] : $cff_enable_email_report = '';
|
1932 |
+
$options['enable_email_report'] = $cff_enable_email_report;
|
1933 |
+
isset($_POST[ 'cff_email_notification' ]) ? $cff_email_notification = $_POST[ 'cff_email_notification' ] : $cff_email_notification = '';
|
1934 |
+
$original = $options['email_notification'];
|
1935 |
+
$options['email_notification'] = $cff_email_notification;
|
1936 |
+
isset($_POST[ 'cff_email_notification_addresses' ]) ? $cff_email_notification_addresses = $_POST[ 'cff_email_notification_addresses' ] : $cff_email_notification_addresses = get_option( 'admin_email' );
|
1937 |
+
$options['email_notification_addresses'] = $cff_email_notification_addresses;
|
1938 |
+
|
1939 |
+
if ( $original !== $cff_email_notification && $cff_enable_email_report === 'on' ){
|
1940 |
+
//Clear the existing cron event
|
1941 |
+
wp_clear_scheduled_hook('cff_feed_issue_email');
|
1942 |
+
|
1943 |
+
$input = sanitize_text_field($_POST[ 'cff_email_notification' ] );
|
1944 |
+
$timestamp = strtotime( 'next ' . $input );
|
1945 |
+
|
1946 |
+
if ( $timestamp - (3600 * 1) < time() ) {
|
1947 |
+
$timestamp = $timestamp + (3600 * 24 * 7);
|
1948 |
+
}
|
1949 |
+
$six_am_local = $timestamp + cff_get_utc_offset() + (6*60*60);
|
1950 |
+
|
1951 |
+
wp_schedule_event( $six_am_local, 'cffweekly', 'cff_feed_issue_email' );
|
1952 |
+
}
|
1953 |
+
|
1954 |
}
|
1955 |
//Update the Custom Text / Translate options
|
1956 |
if( isset($_POST[ $style_custom_text_hidden_field_name ]) && $_POST[ $style_custom_text_hidden_field_name ] == 'Y' ) {
|
3847 |
<tbody>
|
3848 |
<tr valign="top">
|
3849 |
<td style="padding-top: 0;">
|
3850 |
+
<p style="padding-bottom: 10px;"><?php _e('Enter your own custom CSS in the box below', 'custom-facebook-feed'); ?> <i style="margin-left: 5px; font-size: 11px;"><a href="https://smashballoon.com/category/custom-facebook-feed/customizations/snippets/" target="_blank"><?php _e('See some examples', 'custom-facebook-feed'); ?></a></i></p>
|
3851 |
<textarea name="cff_custom_css" id="cff_custom_css" style="width: 70%;" rows="7"><?php echo esc_textarea( stripslashes($cff_custom_css), 'custom-facebook-feed' ); ?></textarea>
|
3852 |
</td>
|
3853 |
</tr>
|
3858 |
<tbody>
|
3859 |
<tr valign="top">
|
3860 |
<td style="padding-top: 0;">
|
3861 |
+
<p style="padding-bottom: 10px;"><?php _e('Enter your own custom JavaScript/jQuery in the box below', 'custom-facebook-feed'); ?> <i style="margin-left: 5px; font-size: 11px;"><a href="https://smashballoon.com/category/custom-facebook-feed/customizations/snippets/" target="_blank"><?php _e('See some examples', 'custom-facebook-feed'); ?></a></i></p>
|
3862 |
<textarea name="cff_custom_js" id="cff_custom_js" style="width: 70%;" rows="7"><?php echo esc_textarea( stripslashes($cff_custom_js), 'custom-facebook-feed' ); ?></textarea>
|
3863 |
</td>
|
3864 |
</tr>
|
4021 |
<p class="cff-tooltip cff-more-info"><?php _e("The plugin includes some basic text and link styles which can be disabled by enabling this setting. Note that the styles used for the layout of the posts will still be applied.", 'custom-facebook-feed'); ?></p>
|
4022 |
</td>
|
4023 |
</tr>
|
4024 |
+
|
4025 |
+
<tr>
|
4026 |
+
<th class="bump-left"><label for="cff_disable_admin_notice" class="bump-left"><?php _e("Disable admin error notice", 'custom-facebook-feed'); ?></label></th>
|
4027 |
+
<td>
|
4028 |
+
<input name="cff_disable_admin_notice" type="checkbox" id="cff_disable_admin_notice" <?php if($cff_disable_admin_notice == true) echo "checked"; ?> />
|
4029 |
+
<label for="cff_disable_admin_notice"><?php _e('Yes', 'custom-facebook-feed'); ?></label>
|
4030 |
+
<a class="cff-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
4031 |
+
<p class="cff-tooltip cff-more-info"><?php _e("This will permanently disable the feed error notice that displays in the bottom right corner for admins on the front end of your site.", 'custom-facebook-feed'); ?></p>
|
4032 |
+
</td>
|
4033 |
+
</tr>
|
4034 |
+
|
4035 |
+
<tr>
|
4036 |
+
<th class="bump-left"><label for="cff_enable_email_report" class="bump-left"><?php _e("Feed issue email report", 'instagram-feed'); ?></label></th>
|
4037 |
+
<td>
|
4038 |
+
<input name="cff_enable_email_report" type="checkbox" id="cff_enable_email_report" <?php if($cff_enable_email_report == 'on') echo "checked"; ?> />
|
4039 |
+
<label for="cff_enable_email_report"><?php _e('Yes', 'custom-facebook-feed'); ?></label>
|
4040 |
+
<a class="cff-tooltip-link" href="JavaScript:void(0);"><i class="fa fa-question-circle" aria-hidden="true"></i></a>
|
4041 |
+
<p class="cff-tooltip cff-more-info"><?php _e("Custom Facebook Feed will send a weekly notification email using your site's wp_mail() function if one or more of your feeds is not updating or is not displaying. If you're not receiving the emails in your inbox, you may need to configure an SMTP service using another plugin like WP Mail SMTP.", 'custom-facebook-feed'); ?></p>
|
4042 |
+
|
4043 |
+
<div class="cff_box" style="display: block;">
|
4044 |
+
<div class="cff_box_setting">
|
4045 |
+
<label><?php _e('Schedule Weekly on', 'custom-facebook-feed'); ?></label><br>
|
4046 |
+
<?php
|
4047 |
+
$schedule_options = array(
|
4048 |
+
array(
|
4049 |
+
'val' => 'monday',
|
4050 |
+
'label' => __( 'Monday', 'custom-facebook-feed' )
|
4051 |
+
),
|
4052 |
+
array(
|
4053 |
+
'val' => 'tuesday',
|
4054 |
+
'label' => __( 'Tuesday', 'custom-facebook-feed' )
|
4055 |
+
),
|
4056 |
+
array(
|
4057 |
+
'val' => 'wednesday',
|
4058 |
+
'label' => __( 'Wednesday', 'custom-facebook-feed' )
|
4059 |
+
),
|
4060 |
+
array(
|
4061 |
+
'val' => 'thursday',
|
4062 |
+
'label' => __( 'Thursday', 'custom-facebook-feed' )
|
4063 |
+
),
|
4064 |
+
array(
|
4065 |
+
'val' => 'friday',
|
4066 |
+
'label' => __( 'Friday', 'custom-facebook-feed' )
|
4067 |
+
),
|
4068 |
+
array(
|
4069 |
+
'val' => 'saturday',
|
4070 |
+
'label' => __( 'Saturday', 'custom-facebook-feed' )
|
4071 |
+
),
|
4072 |
+
array(
|
4073 |
+
'val' => 'sunday',
|
4074 |
+
'label' => __( 'Sunday', 'custom-facebook-feed' )
|
4075 |
+
),
|
4076 |
+
);
|
4077 |
+
|
4078 |
+
if ( isset( $_GET['flag'] ) ){
|
4079 |
+
echo '<span id="cff-goto"></span>';
|
4080 |
+
}
|
4081 |
+
?>
|
4082 |
+
<select name="cff_email_notification" id="cff_email_notification">
|
4083 |
+
<?php foreach ( $schedule_options as $schedule_option ) : ?>
|
4084 |
+
<option value="<?php echo esc_attr( $schedule_option['val'] ) ; ?>" <?php if ( $schedule_option['val'] === $cff_email_notification ) { echo 'selected';} ?>><?php echo esc_html( $schedule_option['label'] ) ; ?></option>
|
4085 |
+
<?php endforeach; ?>
|
4086 |
+
</select>
|
4087 |
+
</div>
|
4088 |
+
<div class="cff_box_setting">
|
4089 |
+
<label><?php _e('Email Recipients', 'custom-facebook-feed'); ?></label><br><input class="regular-text" type="text" name="cff_email_notification_addresses" value="<?php echo esc_attr( $cff_email_notification_addresses ); ?>"><span class="sbi_note"><?php _e('separate multiple emails with commas', 'custom-facebook-feed'); ?></span>
|
4090 |
+
<br><br><?php _e( 'Emails not working?', 'custom-facebook-feed' ) ?> <a href="https://smashballoon.com/email-report-is-not-in-my-inbox/" target="_blank"><?php _e( 'See our related FAQ', 'custom-facebook-feed' ) ?></a>
|
4091 |
+
</div>
|
4092 |
+
</div>
|
4093 |
+
|
4094 |
+
</td>
|
4095 |
+
</tr>
|
4096 |
+
|
4097 |
</tbody>
|
4098 |
</table>
|
4099 |
|
4306 |
}
|
4307 |
add_action( 'wp_ajax_cff_lite_dismiss', 'cff_lite_dismiss' );
|
4308 |
|
4309 |
+
function cff_reset_log() {
|
4310 |
+
global $cff_error_reporter;
|
4311 |
+
|
4312 |
+
$cff_error_reporter->remove_all_errors();
|
4313 |
+
cff_delete_cache();
|
4314 |
+
|
4315 |
+
die();
|
4316 |
+
}
|
4317 |
+
add_action( 'wp_ajax_cff_reset_log', 'cff_reset_log' );
|
4318 |
+
|
4319 |
+
|
4320 |
// Add a Settings link to the plugin on the Plugins page
|
4321 |
$cff_plugin_file = 'custom-facebook-feed/custom-facebook-feed.php';
|
4322 |
add_filter( "plugin_action_links_{$cff_plugin_file}", 'cff_add_settings_link', 10, 2 );
|
4504 |
$dismiss_url = add_query_arg( 'cff_ignore_rating_notice_nag', '1' );
|
4505 |
$later_url = add_query_arg( 'cff_ignore_rating_notice_nag', 'later' );
|
4506 |
if ( $should_show_bfcm_discount ) {
|
4507 |
+
$other_notice_html = '<p class="cff_other_notice">' . __( 'PS. We currently have a <a href="https://smashballoon.com/custom-facebook-feed/?utm_source=plugin-free&utm_campaign=cff&discount='.$cff_bfcm_discount_code.'" target="_blank"><b style="font-weight: 700;">Black Friday deal</b></a> for 60% off the Pro version!', 'custom-facebook-feed' ) . '</p>';
|
4508 |
|
4509 |
$dismiss_url = add_query_arg( array(
|
4510 |
'cff_ignore_rating_notice_nag' => '1',
|
4549 |
<div class='cff_notice cff_review_notice cff_new_user_sale_notice'>
|
4550 |
<img src='" . plugins_url( 'img/cff-icon-offer.png?74px' , __FILE__ ) . "' alt='Facebook Feed'>
|
4551 |
<div class='cff-notice-text'>
|
4552 |
+
<p>" . __( '<b style="font-weight: 700;">Exclusive offer!</b> We don\'t run promotions very often, but for a limited time we\'re offering <b style="font-weight: 700;">60% off</b> our Pro version to all users of our free Smash Balloon Custom Facebook Feed plugin.', 'custom-facebook-feed' ) . "</p>
|
4553 |
<p class='cff-links'>
|
4554 |
<a class='cff_notice_dismiss cff_offer_btn' href='https://smashballoon.com/custom-facebook-feed/?utm_source=plugin-free&utm_campaign=cff&discount=facebookthankyou' target='_blank'><b>" . __( 'Get this offer', 'custom-facebook-feed' ) . "</b></a>
|
4555 |
<a class='cff_notice_dismiss' style='margin-left: 5px;' href='" . esc_url( add_query_arg( 'cff_ignore_new_user_sale_notice', 'always' ) ) . "'>" . __( 'I\'m not interested', 'custom-facebook-feed' ) . "</a>
|
4567 |
<div class='cff_notice cff_review_notice cff_bfcm_sale_notice'>
|
4568 |
<img src='". plugins_url( 'img/cff-icon-offer.png?74px' , __FILE__ ) ."' alt='Facebook Feed'>
|
4569 |
<div class='cff-notice-text'>
|
4570 |
+
<p>" . __( '<b style="font-weight: 700;">Black Friday/Cyber Monday Deal!</b> Thank you for using the free Smash Balloon Custom Facebook Feed plugin. For a limited time, we\'re offering <b style="font-weight: 700;">60% off</b> the Pro version for all of our users.', 'custom-facebook-feed' ) . "</p>
|
4571 |
<p class='cff-links'>
|
4572 |
<a class='cff_notice_dismiss cff_offer_btn' href='https://smashballoon.com/custom-facebook-feed/?utm_source=plugin-free&utm_campaign=cff&discount=".$cff_bfcm_discount_code."' target='_blank'><b>" . __( 'Get this offer', 'custom-facebook-feed' ) . "</b></a>
|
4573 |
<a class='cff_notice_dismiss' style='margin-left: 5px;' href='" .esc_url( add_query_arg( 'cff_ignore_bfcm_sale_notice', date( 'Y', $current_time ) ) ). "'>" . __( 'I\'m not interested', 'custom-facebook-feed' ) . "</a>
|
4647 |
return mktime( 0, 0, 0, $month, $startday + $offset, $year );
|
4648 |
}
|
4649 |
|
4650 |
+
function cff_admin_hide_unrelated_notices() {
|
4651 |
|
4652 |
+
// Bail if we're not on a sbi screen or page.
|
4653 |
+
if ( ! isset( $_GET['page'] ) || strpos( $_GET['page'], 'cff') === false ) {
|
4654 |
+
return;
|
4655 |
+
}
|
4656 |
+
|
4657 |
+
// Extra banned classes and callbacks from third-party plugins.
|
4658 |
+
$blacklist = array(
|
4659 |
+
'classes' => array(),
|
4660 |
+
'callbacks' => array(
|
4661 |
+
'cffdb_admin_notice', // 'Database for sbi' plugin.
|
4662 |
+
),
|
4663 |
+
);
|
4664 |
+
|
4665 |
+
global $wp_filter;
|
4666 |
+
|
4667 |
+
foreach ( array( 'user_admin_notices', 'admin_notices', 'all_admin_notices' ) as $notices_type ) {
|
4668 |
+
if ( empty( $wp_filter[ $notices_type ]->callbacks ) || ! is_array( $wp_filter[ $notices_type ]->callbacks ) ) {
|
4669 |
+
continue;
|
4670 |
+
}
|
4671 |
+
foreach ( $wp_filter[ $notices_type ]->callbacks as $priority => $hooks ) {
|
4672 |
+
foreach ( $hooks as $name => $arr ) {
|
4673 |
+
if ( is_object( $arr['function'] ) && $arr['function'] instanceof Closure ) {
|
4674 |
+
unset( $wp_filter[ $notices_type ]->callbacks[ $priority ][ $name ] );
|
4675 |
+
continue;
|
4676 |
+
}
|
4677 |
+
$class = ! empty( $arr['function'][0] ) && is_object( $arr['function'][0] ) ? strtolower( get_class( $arr['function'][0] ) ) : '';
|
4678 |
+
if (
|
4679 |
+
! empty( $class ) &&
|
4680 |
+
strpos( $class, 'cff' ) !== false &&
|
4681 |
+
! in_array( $class, $blacklist['classes'], true )
|
4682 |
+
) {
|
4683 |
+
continue;
|
4684 |
+
}
|
4685 |
+
if (
|
4686 |
+
! empty( $name ) && (
|
4687 |
+
strpos( $name, 'cff' ) === false ||
|
4688 |
+
in_array( $class, $blacklist['classes'], true ) ||
|
4689 |
+
in_array( $name, $blacklist['callbacks'], true )
|
4690 |
+
)
|
4691 |
+
) {
|
4692 |
+
unset( $wp_filter[ $notices_type ]->callbacks[ $priority ][ $name ] );
|
4693 |
+
}
|
4694 |
+
}
|
4695 |
+
}
|
4696 |
+
}
|
4697 |
+
}
|
4698 |
+
add_action( 'admin_print_scripts', 'cff_admin_hide_unrelated_notices' );
|
4699 |
|
4700 |
|
4701 |
?>
|
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: 2.
|
7 |
Author: Smash Balloon
|
8 |
Author URI: http://smashballoon.com/
|
9 |
License: GPLv2 or later
|
@@ -24,11 +24,20 @@ 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 |
|
27 |
-
define('CFFVER', '2.
|
28 |
|
29 |
// Db version.
|
30 |
if ( ! defined( 'CFF_DBVERSION' ) ) {
|
31 |
-
define( 'CFF_DBVERSION', '1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
|
34 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
@@ -63,29 +72,69 @@ function cff_check_for_db_updates() {
|
|
63 |
}
|
64 |
update_option( 'cff_db_version', CFF_DBVERSION );
|
65 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
67 |
add_action( 'wp_loaded', 'cff_check_for_db_updates' );
|
68 |
|
69 |
function cff_plugin_init() {
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
}
|
74 |
-
// Plugin Folder URL.
|
75 |
-
if ( ! defined( 'CFF_PLUGIN_URL' ) ) {
|
76 |
-
define( 'CFF_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
77 |
-
}
|
78 |
-
require_once trailingslashit( CFF_PLUGIN_DIR ) . 'blocks/class-cff-blocks.php';
|
79 |
|
|
|
80 |
$cff_blocks = new CFF_Blocks();
|
81 |
-
|
82 |
if ( $cff_blocks->allow_load() ) {
|
83 |
$cff_blocks->load();
|
84 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
}
|
86 |
|
87 |
add_action( 'plugins_loaded', 'cff_plugin_init' );
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
function cff_text_domain() {
|
90 |
load_plugin_textdomain( 'custom-facebook-feed', false, basename( dirname(__FILE__) ) . '/languages' );
|
91 |
}
|
@@ -2143,14 +2192,115 @@ function cffSortTags($a, $b) {
|
|
2143 |
return $a['offset'] - $b['offset'];
|
2144 |
}
|
2145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2146 |
//Get JSON object of feed data
|
2147 |
function cff_fetchUrl($url){
|
2148 |
-
|
2149 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2150 |
|
2151 |
-
|
|
|
|
|
|
|
|
|
2152 |
|
2153 |
-
return $feedData;
|
2154 |
}
|
2155 |
|
2156 |
//Make links into span instead when the post text is made clickable
|
@@ -2492,10 +2642,25 @@ function cff_activate() {
|
|
2492 |
update_option( 'cff_show_access_token', true );
|
2493 |
|
2494 |
//Run cron twice daily when plugin is first activated for new users
|
2495 |
-
|
|
|
|
|
|
|
|
|
|
|
2496 |
}
|
2497 |
register_activation_hook( __FILE__, 'cff_activate' );
|
2498 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2499 |
function cff_deactivate() {
|
2500 |
wp_clear_scheduled_hook('cff_cron_job');
|
2501 |
}
|
@@ -2527,6 +2692,8 @@ function cff_uninstall()
|
|
2527 |
delete_option( 'cff_title_length' );
|
2528 |
delete_option( 'cff_body_length' );
|
2529 |
delete_option('cff_style_settings');
|
|
|
|
|
2530 |
}
|
2531 |
register_uninstall_hook( __FILE__, 'cff_uninstall' );
|
2532 |
add_action( 'wp_head', 'cff_custom_css' );
|
@@ -2895,7 +3062,4 @@ function cff_autolink_email($text, $tagfill=''){
|
|
2895 |
return $buffer;
|
2896 |
}
|
2897 |
|
2898 |
-
|
2899 |
-
|
2900 |
-
|
2901 |
-
?>
|
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: 2.14
|
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 |
|
27 |
+
define('CFFVER', '2.14');
|
28 |
|
29 |
// Db version.
|
30 |
if ( ! defined( 'CFF_DBVERSION' ) ) {
|
31 |
+
define( 'CFF_DBVERSION', '1.1' );
|
32 |
+
}
|
33 |
+
|
34 |
+
// Plugin Folder Path.
|
35 |
+
if ( ! defined( 'CFF_PLUGIN_DIR' ) ) {
|
36 |
+
define( 'CFF_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
37 |
+
}
|
38 |
+
// Plugin Folder URL.
|
39 |
+
if ( ! defined( 'CFF_PLUGIN_URL' ) ) {
|
40 |
+
define( 'CFF_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
|
41 |
}
|
42 |
|
43 |
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
72 |
}
|
73 |
update_option( 'cff_db_version', CFF_DBVERSION );
|
74 |
}
|
75 |
+
|
76 |
+
if ( (float) $db_ver < 1.1 ) {
|
77 |
+
if ( ! wp_next_scheduled( 'cff_feed_issue_email' ) ) {
|
78 |
+
$timestamp = strtotime( 'next monday' );
|
79 |
+
$timestamp = $timestamp + (3600 * 24 * 7);
|
80 |
+
$six_am_local = $timestamp + cff_get_utc_offset() + (6*60*60);
|
81 |
+
|
82 |
+
wp_schedule_event( $six_am_local, 'cffweekly', 'cff_feed_issue_email' );
|
83 |
+
}
|
84 |
+
|
85 |
+
|
86 |
+
update_option( 'sbi_db_version', CFF_DBVERSION );
|
87 |
+
}
|
88 |
}
|
89 |
add_action( 'wp_loaded', 'cff_check_for_db_updates' );
|
90 |
|
91 |
function cff_plugin_init() {
|
92 |
+
require_once trailingslashit( CFF_PLUGIN_DIR ) . 'class-cff-error-reporter.php';
|
93 |
+
global $cff_error_reporter;
|
94 |
+
$cff_error_reporter = new CFF_Error_Reporter();
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
+
require_once trailingslashit( CFF_PLUGIN_DIR ) . 'blocks/class-cff-blocks.php';
|
97 |
$cff_blocks = new CFF_Blocks();
|
|
|
98 |
if ( $cff_blocks->allow_load() ) {
|
99 |
$cff_blocks->load();
|
100 |
}
|
101 |
+
|
102 |
+
if ( is_admin() ) {
|
103 |
+
require_once trailingslashit( CFF_PLUGIN_DIR ) . 'admin/class-cff-about.php';
|
104 |
+
|
105 |
+
if ( version_compare( PHP_VERSION, '5.3.0' ) >= 0 ) {
|
106 |
+
require_once trailingslashit( CFF_PLUGIN_DIR ) . 'admin/addon-functions.php';
|
107 |
+
require_once trailingslashit( CFF_PLUGIN_DIR ) . 'admin/PluginSilentUpgrader.php';
|
108 |
+
require_once trailingslashit( CFF_PLUGIN_DIR ) . 'admin/PluginSilentUpgraderSkin.php';
|
109 |
+
require_once trailingslashit( CFF_PLUGIN_DIR ) . 'admin/class-install-skin.php';
|
110 |
+
}
|
111 |
+
|
112 |
+
require_once trailingslashit( CFF_PLUGIN_DIR ) . 'class-cff-sitehealth.php';
|
113 |
+
$cff_sitehealth = new CFF_SiteHealth();
|
114 |
+
if ( $cff_sitehealth->allow_load() ) {
|
115 |
+
$cff_sitehealth->load();
|
116 |
+
}
|
117 |
+
}
|
118 |
}
|
119 |
|
120 |
add_action( 'plugins_loaded', 'cff_plugin_init' );
|
121 |
|
122 |
+
function cff_get_utc_offset() {
|
123 |
+
return get_option( 'gmt_offset', 0 ) * HOUR_IN_SECONDS;
|
124 |
+
}
|
125 |
+
|
126 |
+
function cff_schedule_report_email() {
|
127 |
+
$options = get_option('cff_style_settings');
|
128 |
+
|
129 |
+
$input = isset( $options[ 'email_notification' ] ) ? $options[ 'email_notification' ] : 'monday';
|
130 |
+
$timestamp = strtotime( 'next ' . $input );
|
131 |
+
$timestamp = $timestamp + (3600 * 24 * 7);
|
132 |
+
|
133 |
+
$six_am_local = $timestamp + cff_get_utc_offset() + (6*60*60);
|
134 |
+
|
135 |
+
wp_schedule_event( $six_am_local, 'cffweekly', 'cff_feed_issue_email' );
|
136 |
+
}
|
137 |
+
|
138 |
function cff_text_domain() {
|
139 |
load_plugin_textdomain( 'custom-facebook-feed', false, basename( dirname(__FILE__) ) . '/languages' );
|
140 |
}
|
2192 |
return $a['offset'] - $b['offset'];
|
2193 |
}
|
2194 |
|
2195 |
+
function cff_is_wp_error( $response ) {
|
2196 |
+
return is_wp_error( $response );
|
2197 |
+
}
|
2198 |
+
function cff_log_wp_error( $response, $url ) {
|
2199 |
+
if ( is_wp_error( $response ) ) {
|
2200 |
+
global $cff_error_reporter;
|
2201 |
+
delete_option( 'cff_dismiss_critical_notice' );
|
2202 |
+
$admin_message = sprintf( __( 'Error connecting to %s.', 'custom-facebook-feed' ), $url );
|
2203 |
+
$public_message =__( 'Unable to make remote requests to the Facebook API. Log in as an admin to view more details.', 'custom-facebook-feed' );
|
2204 |
+
$frontend_directions = '<p class="cff-error-directions"><a href="https://smashballoon.com/custom-facebook-feed/docs/errors/" target="_blank" rel="noopener">' . __( 'Directions on How to Resolve This Issue', 'custom-facebook-feed' ) . '</a></p>';
|
2205 |
+
$backend_directions = '<a class="button button-primary" href="https://smashballoon.com/custom-facebook-feed/docs/errors/" target="_blank" rel="noopener">' . __( 'Directions on How to Resolve This Issue', 'custom-facebook-feed' ) . '</a>';
|
2206 |
+
$error = array(
|
2207 |
+
'accesstoken' => 'none',
|
2208 |
+
'public_message' => $public_message,
|
2209 |
+
'admin_message' => $admin_message,
|
2210 |
+
'frontend_directions' => $frontend_directions,
|
2211 |
+
'backend_directions' => $backend_directions,
|
2212 |
+
'post_id' => get_the_ID(),
|
2213 |
+
'errorno' => 'wp_remote_get'
|
2214 |
+
);
|
2215 |
+
|
2216 |
+
|
2217 |
+
$cff_error_reporter->add_error( 'wp_remote_get', $error );
|
2218 |
+
}
|
2219 |
+
}
|
2220 |
+
function cff_is_fb_error( $response ) {
|
2221 |
+
return (strpos( $response, '{"error":' ) === 0);
|
2222 |
+
}
|
2223 |
+
function cff_log_fb_error( $response, $url ) {
|
2224 |
+
if ( is_admin() ) {
|
2225 |
+
return;
|
2226 |
+
}
|
2227 |
+
global $cff_error_reporter;
|
2228 |
+
delete_option( 'cff_dismiss_critical_notice' );
|
2229 |
+
|
2230 |
+
$access_token_refresh_errors = array( 10, 4, 200 );
|
2231 |
+
|
2232 |
+
$response = json_decode( $response, true );
|
2233 |
+
$api_error_code = $response['error']['code'];
|
2234 |
+
|
2235 |
+
if ( in_array( (int)$api_error_code, $access_token_refresh_errors, true ) ) {
|
2236 |
+
$pieces = explode( 'access_token=', $url );
|
2237 |
+
$accesstoken_parts = isset( $pieces[1] ) ? explode( '&', $pieces[1] ) : 'none';
|
2238 |
+
$accesstoken = $accesstoken_parts[0];
|
2239 |
+
|
2240 |
+
$api_error_number_message = sprintf( __( 'API Error %s:', 'custom-facebook-feed' ), $api_error_code );
|
2241 |
+
$admin_message = '<strong>' . $api_error_number_message . '</strong><br>' . $response['error']['message'];
|
2242 |
+
$public_message = __( 'There is a problem with your access token.', 'custom-facebook-feed' ) . ' ' . $api_error_number_message;
|
2243 |
+
$link = admin_url( 'admin.php?page=cff-top' );
|
2244 |
+
$frontend_directions = '<p class="cff-error-directions cff-reconnect"><a href="'. esc_url( $link ).'" target="_blank" rel="noopener">' . __( 'Reconnect Your Account in the Admin Area', 'custom-facebook-feed') . '</a></p>';
|
2245 |
+
$backend_directions = '<button class="cff-reconnect button button-primary" >' . __( 'Reconnect Your Account', 'custom-facebook-feed') . '</button>';
|
2246 |
+
$error = array(
|
2247 |
+
'accesstoken' => $accesstoken,
|
2248 |
+
'post_id' => get_the_ID(),
|
2249 |
+
'errorno' => $api_error_code
|
2250 |
+
);
|
2251 |
+
|
2252 |
+
$cff_error_reporter->add_error( 'accesstoken', $error );
|
2253 |
+
} else {
|
2254 |
+
$api_error_number_message = sprintf( __( 'API Error %s:', 'custom-facebook-feed' ), $api_error_code );
|
2255 |
+
$admin_message = '<strong>' . $api_error_number_message . '</strong><br>' . $response['error']['message'];
|
2256 |
+
$public_message = __( 'Error connecting to the Facebook API.', 'custom-facebook-feed' ) . ' ' . $api_error_number_message;
|
2257 |
+
$frontend_directions = '<p class="cff-error-directions"><a href="https://smashballoon.com/custom-facebook-feed/docs/errors/" target="_blank" rel="noopener">' . __( 'Directions on How to Resolve This Issue', 'custom-facebook-feed' ) . '</a></p>';
|
2258 |
+
$backend_directions = '<a class="button button-primary" href="https://smashballoon.com/custom-facebook-feed/docs/errors/" target="_blank" rel="noopener">' . __( 'Directions on How to Resolve This Issue', 'custom-facebook-feed' ) . '</a>';
|
2259 |
+
$error = array(
|
2260 |
+
'accesstoken' => 'none',
|
2261 |
+
'public_message' => $public_message,
|
2262 |
+
'admin_message' => $admin_message,
|
2263 |
+
'frontend_directions' => $frontend_directions,
|
2264 |
+
'backend_directions' => $backend_directions,
|
2265 |
+
'post_id' => get_the_ID(),
|
2266 |
+
'errorno' => $api_error_code
|
2267 |
+
);
|
2268 |
+
|
2269 |
+
$cff_error_reporter->add_error( 'api', $error );
|
2270 |
+
}
|
2271 |
+
|
2272 |
+
}
|
2273 |
//Get JSON object of feed data
|
2274 |
function cff_fetchUrl($url){
|
2275 |
+
//return '{}';
|
2276 |
+
//$response = wp_remote_get('fff'.$url);
|
2277 |
+
//$url = str_replace( '100178597731', '200178597732', $url );
|
2278 |
+
$response = wp_remote_get( $url );
|
2279 |
+
|
2280 |
+
if ( !cff_is_wp_error( $response ) ) {
|
2281 |
+
$feedData = wp_remote_retrieve_body( $response );
|
2282 |
+
|
2283 |
+
if ( ! cff_is_fb_error( $feedData ) ) {
|
2284 |
+
global $cff_error_reporter;
|
2285 |
+
|
2286 |
+
$cff_error_reporter->remove_error( 'api' );
|
2287 |
+
$cff_error_reporter->remove_error( 'connection' );
|
2288 |
+
|
2289 |
+
$feedData = apply_filters( 'cff_filter_api_data', $feedData );
|
2290 |
+
|
2291 |
+
return $feedData;
|
2292 |
+
} else {
|
2293 |
+
cff_log_fb_error( $feedData, $url );
|
2294 |
+
|
2295 |
+
return $feedData;
|
2296 |
+
}
|
2297 |
|
2298 |
+
} else {
|
2299 |
+
cff_log_wp_error( $response, $url );
|
2300 |
+
|
2301 |
+
return '{}';
|
2302 |
+
}
|
2303 |
|
|
|
2304 |
}
|
2305 |
|
2306 |
//Make links into span instead when the post text is made clickable
|
2642 |
update_option( 'cff_show_access_token', true );
|
2643 |
|
2644 |
//Run cron twice daily when plugin is first activated for new users
|
2645 |
+
if ( ! wp_next_scheduled( 'cff_cron_job' ) ) {
|
2646 |
+
wp_schedule_event( time(), 'twicedaily', 'cff_cron_job' );
|
2647 |
+
}
|
2648 |
+
if ( ! wp_next_scheduled( 'cff_feed_issue_email' ) ) {
|
2649 |
+
cff_schedule_report_email();
|
2650 |
+
}
|
2651 |
}
|
2652 |
register_activation_hook( __FILE__, 'cff_activate' );
|
2653 |
|
2654 |
+
function cff_cron_custom_interval( $schedules ) {
|
2655 |
+
$schedules['cffweekly'] = array(
|
2656 |
+
'interval' => 3600 * 24 * 7,
|
2657 |
+
'display' => __( 'Weekly' )
|
2658 |
+
);
|
2659 |
+
|
2660 |
+
return $schedules;
|
2661 |
+
}
|
2662 |
+
add_filter( 'cron_schedules', 'cff_cron_custom_interval' );
|
2663 |
+
|
2664 |
function cff_deactivate() {
|
2665 |
wp_clear_scheduled_hook('cff_cron_job');
|
2666 |
}
|
2692 |
delete_option( 'cff_title_length' );
|
2693 |
delete_option( 'cff_body_length' );
|
2694 |
delete_option('cff_style_settings');
|
2695 |
+
|
2696 |
+
wp_clear_scheduled_hook( 'cff_feed_issue_email' );
|
2697 |
}
|
2698 |
register_uninstall_hook( __FILE__, 'cff_uninstall' );
|
2699 |
add_action( 'wp_head', 'cff_custom_css' );
|
3062 |
return $buffer;
|
3063 |
}
|
3064 |
|
3065 |
+
###################################################################
|
|
|
|
|
|
email.php
ADDED
@@ -0,0 +1,102 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Email header template.
|
4 |
+
*/
|
5 |
+
|
6 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
7 |
+
exit;
|
8 |
+
}
|
9 |
+
|
10 |
+
?>
|
11 |
+
|
12 |
+
<!DOCTYPE html>
|
13 |
+
<html lang="en">
|
14 |
+
<head>
|
15 |
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
16 |
+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
17 |
+
<meta name="viewport" content="width=device-width">
|
18 |
+
<title><?php echo esc_html( $title ); ?></title>
|
19 |
+
</head>
|
20 |
+
<body>
|
21 |
+
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" style="border-collapse:collapse;border-spacing:0px;vertical-align:top;min-width:100%;box-sizing:border-box;background-color:rgb(233,234,236);color:rgb(68,68,68);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;padding:0px;margin:0px;text-align:left;font-size:14px;line-height:140%;height:100%;width:100%"><tbody><tr style="padding:0px;vertical-align:top;text-align:left">
|
22 |
+
<td align="center" valign="top" style="vertical-align:top;color:rgb(68,68,68);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;padding:0px;margin:0px;font-size:14px;line-height:140%;text-align:center;border-collapse:collapse">
|
23 |
+
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;padding:0px;vertical-align:top;width:600px;margin:0px auto;text-align:inherit">
|
24 |
+
<tbody><tr style="padding:0px;vertical-align:top;text-align:left">
|
25 |
+
<td align="center" valign="middle" style="vertical-align:top;color:rgb(68,68,68);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;margin:0px;font-size:14px;line-height:140%;text-align:center;padding:30px 30px 22px;border-collapse:collapse">
|
26 |
+
<?php if ( ! empty( $header_image ) ) : ?>
|
27 |
+
<img src="<?php echo esc_url( $header_image ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" />
|
28 |
+
<?php endif; ?>
|
29 |
+
</td>
|
30 |
+
</tr>
|
31 |
+
<tr style="padding:0px;vertical-align:top;text-align:left">
|
32 |
+
<td align="left" valign="top" style="vertical-align:top;color:rgb(68,68,68);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;margin:0px;text-align:left;font-size:14px;line-height:140%;background-color:rgb(255,255,255);padding:60px 75px 45px;border-width:3px 1px 1px;border-style:solid;border-color:rgb(227, 71, 22) rgb(221,221,221) rgb(221,221,221);border-collapse:collapse">
|
33 |
+
|
34 |
+
<table style="border-collapse:collapse;border-spacing:0px;padding:0px;vertical-align:top;text-align:left;width:100%"><tbody><tr style="padding:0px;vertical-align:top;text-align:left">
|
35 |
+
<td style="vertical-align:top;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;padding:0px;margin:0px;text-align:left;font-size:14px;line-height:140%;color:rgb(119,119,119);border-collapse:collapse">
|
36 |
+
<?php echo $message_content; ?>
|
37 |
+
|
38 |
+
<table class="summary-info-table" style="border-collapse: collapse; border-spacing: 0; padding: 0; vertical-align: top; text-align: left; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 38px 0 0 0; Margin: 38px 0 0 0; font-size: 15px; border: 1px solid #dddddd; border-radius: 6px; display: block;">
|
39 |
+
<tbody><tr style="padding: 0; vertical-align: top; text-align: left;">
|
40 |
+
<td class="summary-info-content" style="word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; vertical-align: top; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: normal; margin: 0; Margin: 0; text-align: left; font-size: 14px; mso-line-height-rule: exactly; line-height: 140%; color: #777777; padding: 25px 30px 30px 30px;">
|
41 |
+
<table style="border-collapse: collapse; border-spacing: 0; padding: 0; vertical-align: top; text-align: left; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;">
|
42 |
+
<tbody><tr style="padding: 0; vertical-align: top; text-align: left;">
|
43 |
+
<td class="text-center" style="word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; vertical-align: top; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: normal; padding: 0; margin: 0; Margin: 0; font-size: 14px; mso-line-height-rule: exactly; line-height: 140%; text-align: center; color: #777777;">
|
44 |
+
<h6 style="padding: 0; word-wrap: normal; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: bold; mso-line-height-rule: exactly; line-height: 130%; font-size: 18px; color: #444444; text-align: inherit; margin: 0 0 20px 0; Margin: 0 0 20px 0;"><?php echo esc_html( $dyk_message['title'] ); ?></h6>
|
45 |
+
</td>
|
46 |
+
</tr>
|
47 |
+
<tr style="padding: 0; vertical-align: top; text-align: left;">
|
48 |
+
<td class="text-center" style="word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; vertical-align: top; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: normal; padding: 0; margin: 0; Margin: 0; font-size: 14px; mso-line-height-rule: exactly; line-height: 140%; text-align: center; color: #777777;">
|
49 |
+
<?php echo esc_html( $dyk_message['content'] ); ?>
|
50 |
+
</td>
|
51 |
+
</tr>
|
52 |
+
</tbody></table>
|
53 |
+
</td>
|
54 |
+
</tr>
|
55 |
+
<tr style="padding: 0; vertical-align: top; text-align: left;">
|
56 |
+
<td class="summary-info-content button-container" style="word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; vertical-align: top; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: normal; margin: 0; Margin: 0; text-align: left; font-size: 14px; mso-line-height-rule: exactly; line-height: 140%; color: #777777; padding: 0 30px 30px 30px;">
|
57 |
+
<center style="width: 100%;">
|
58 |
+
<table class="button rounded-button" style="border-collapse: collapse; border-spacing: 0; padding: 0; vertical-align: top; text-align: left; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; width: auto; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; overflow: hidden;margin: auto;Margin: auto;"><tbody><tr style="padding: 0; vertical-align: top; text-align: left;">
|
59 |
+
<td style="word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; vertical-align: top; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: normal; padding: 0; margin: 0; Margin: 0; text-align: left; font-size: 14px; mso-line-height-rule: exactly; line-height: 100%; color: #777777;">
|
60 |
+
<table style="border-collapse: collapse; border-spacing: 0; padding: 0; vertical-align: top; text-align: left; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;"><tbody><tr style="padding: 0; vertical-align: top; text-align: left;">
|
61 |
+
<td style="word-wrap: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; vertical-align: top; mso-table-lspace: 0pt; mso-table-rspace: 0pt; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: normal; padding: 0; margin: 0; Margin: 0; font-size: 14px; text-align: center; color: #ffffff; background: rgb(227, 71, 22); border: 1px solid #c45e1b; border-bottom: 3px solid #c45e1b; mso-line-height-rule: exactly; line-height: 100%;">
|
62 |
+
<a href="<?php echo esc_url( $dyk_message['more'] ); ?>" rel="noopener noreferrer" target="_blank" style="-ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 0; Margin: 0; font-family: Helvetica, Arial, sans-serif; font-size: 16px; font-weight: bold; color: #ffffff; text-decoration: none; text-align: center; display: inline-block; border: 0 solid #c45e1b; mso-line-height-rule: exactly; line-height: 100%; padding: 17px 30px 15px 30px;">
|
63 |
+
<?php echo esc_html( __( 'Learn More', 'custom-facebook-feeds' ) ); ?>
|
64 |
+
</a>
|
65 |
+
</td>
|
66 |
+
</tr></tbody></table>
|
67 |
+
</td>
|
68 |
+
</tr></tbody></table>
|
69 |
+
</center>
|
70 |
+
</td>
|
71 |
+
</tr>
|
72 |
+
</tbody>
|
73 |
+
</table>
|
74 |
+
</td>
|
75 |
+
</tr></tbody></table>
|
76 |
+
</td>
|
77 |
+
</tr>
|
78 |
+
<tr style="padding:0px;vertical-align:top;text-align:left">
|
79 |
+
<td align="center" valign="top" style="vertical-align:top;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;margin:0px;line-height:140%;padding:30px;color:rgb(114,119,124);font-size:12px;text-align:center;border-collapse:collapse">
|
80 |
+
<?php
|
81 |
+
/* translators: %s - link to a site. */
|
82 |
+
esc_html_e( 'This is a courtesy email sent from the Smash Balloon Custom Facebook Feed plugin on your website to alert you when there is an issue with one of your Facebook feeds.', 'custom-facebook-feeds' );
|
83 |
+
?>
|
84 |
+
</td>
|
85 |
+
</tr>
|
86 |
+
<tr style="padding:0px;vertical-align:top;text-align:left">
|
87 |
+
<td align="center" valign="top" style="vertical-align:top;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:normal;margin:0px;line-height:140%;padding:30px;color:rgb(114,119,124);font-size:12px;text-align:center;border-collapse:collapse">
|
88 |
+
<?php
|
89 |
+
printf( esc_html__( 'Sent from %s', 'custom-facebook-feeds' ), '<a href="' . esc_url( home_url() ) . '">' . esc_html( wp_specialchars_decode( get_bloginfo( 'name' ) ) ) . '</a>' );
|
90 |
+
?>
|
91 |
+
<span>•</span>
|
92 |
+
<?php
|
93 |
+
printf( esc_html__( '%sLog in and disable these emails%s', 'custom-facebook-feeds' ), '<a href="' . esc_url( $footer_link ) . '">', '</a>' );
|
94 |
+
?>
|
95 |
+
</td>
|
96 |
+
</tr>
|
97 |
+
</tbody>
|
98 |
+
</table>
|
99 |
+
</td>
|
100 |
+
</tr></tbody></table>
|
101 |
+
</body>
|
102 |
+
</html>
|
img/about/api-error.png
ADDED
Binary file
|
img/about/icon-full.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg viewBox="0 0 37 28" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M12.29 26.462c.328.375.75.562 1.266.562s.937-.187 1.266-.562L35.563 5.79c.329-.328.493-.75.493-1.265 0-.516-.164-.938-.493-1.266L32.962.728a1.567 1.567 0 00-1.23-.563c-.493 0-.926.188-1.301.563L13.556 17.603 5.681 9.728c-.375-.375-.808-.563-1.301-.563-.492 0-.902.188-1.23.563L.548 12.259c-.328.328-.492.75-.492 1.265 0 .516.164.938.492 1.266L12.29 26.462z" fill="#6ab255" fill-rule="nonzero"/></svg>
|
img/about/icon-none.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg viewBox="0 0 33 33" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M27.592 32.359a1.928 1.928 0 01-1.417.583 1.928 1.928 0 01-1.416-.583l-8.084-8.084-8.083 8.084a1.928 1.928 0 01-1.417.583 1.93 1.93 0 01-1.417-.583l-4.5-4.5a1.932 1.932 0 01-.583-1.417c0-.555.195-1.028.583-1.417l8.084-8.083-8.084-8.084a1.931 1.931 0 01-.583-1.416c0-.556.195-1.028.583-1.417l4.5-4.5A1.93 1.93 0 017.175.942c.556 0 1.028.194 1.417.583l8.083 8.083 8.084-8.083a1.928 1.928 0 011.416-.583c.556 0 1.028.194 1.417.583l4.5 4.5c.389.389.583.861.583 1.417 0 .555-.194 1.027-.583 1.416l-8.083 8.084 8.083 8.083c.389.389.583.862.583 1.417 0 .556-.194 1.028-.583 1.417l-4.5 4.5z" fill="#d83638" fill-rule="nonzero"/></svg>
|
img/about/icon-partial.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg viewBox="0 0 53 53" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-miterlimit="10"><path d="M37.592 42.359a1.928 1.928 0 01-1.417.583 1.928 1.928 0 01-1.416-.583l-8.084-8.084-8.083 8.084a1.928 1.928 0 01-1.417.583 1.93 1.93 0 01-1.417-.583l-4.5-4.5a1.932 1.932 0 01-.583-1.417c0-.556.195-1.028.583-1.417l8.084-8.083-8.084-8.084a1.93 1.93 0 01-.583-1.416c0-.556.195-1.028.583-1.417l4.5-4.5a1.93 1.93 0 011.417-.584 1.93 1.93 0 011.417.584l8.083 8.083 8.084-8.083a1.928 1.928 0 011.416-.584 1.93 1.93 0 011.417.584l4.5 4.5c.389.389.583.861.583 1.417 0 .555-.194 1.028-.583 1.416l-8.083 8.084 8.083 8.083c.389.389.583.861.583 1.417s-.194 1.028-.583 1.417l-4.5 4.5z" fill="none" stroke="#d83638" stroke-width="2" stroke-dasharray="4,2"/></svg>
|
img/about/plugin-if.png
ADDED
Binary file
|
img/about/plugin-mi.png
ADDED
Binary file
|
img/about/plugin-om.png
ADDED
Binary file
|
img/about/plugin-rp.png
ADDED
Binary file
|
img/about/plugin-seo.png
ADDED
Binary file
|
img/about/plugin-smtp.png
ADDED
Binary file
|
img/about/plugin-tw.jpg
ADDED
Binary file
|
img/about/plugin-wpforms.png
ADDED
Binary file
|
img/about/plugin-yt.png
ADDED
Binary file
|
img/about/steps.png
ADDED
Binary file
|
img/about/team.jpg
ADDED
Binary file
|
img/balloon-120.png
ADDED
Binary file
|
img/cff-icon-offer.png
CHANGED
Binary file
|
js/cff-admin-scripts.js
CHANGED
@@ -733,4 +733,296 @@ jQuery(document).ready(function($) {
|
|
733 |
});
|
734 |
});
|
735 |
|
736 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
733 |
});
|
734 |
});
|
735 |
|
736 |
+
//sb_instagram_enable_email_report
|
737 |
+
function cffToggleEmail() {
|
738 |
+
if (jQuery('#cff_enable_email_report').is(':checked')) {
|
739 |
+
jQuery('#cff_enable_email_report').closest('td').find('.cff_box').slideDown();
|
740 |
+
} else {
|
741 |
+
jQuery('#cff_enable_email_report').closest('td').find('.cff_box').slideUp();
|
742 |
+
}
|
743 |
+
}cffToggleEmail();
|
744 |
+
jQuery('#cff_enable_email_report').change(cffToggleEmail);
|
745 |
+
if (jQuery('#cff-goto').length) {
|
746 |
+
jQuery('#cff-goto').closest('tr').addClass('cff-goto');
|
747 |
+
$('html, body').animate({
|
748 |
+
scrollTop: $('#cff-goto').offset().top - 200
|
749 |
+
}, 500);
|
750 |
+
}
|
751 |
+
|
752 |
+
jQuery('.cff-error-directions .cff-reconnect').click(function(){
|
753 |
+
event.preventDefault();
|
754 |
+
jQuery('.cff_admin_btn').trigger('click');
|
755 |
+
});
|
756 |
+
jQuery('.cff-clear-errors-visit-page').click(function(event) {
|
757 |
+
event.preventDefault();
|
758 |
+
var $btn = jQuery(this);
|
759 |
+
$btn.prop( 'disabled', true ).addClass( 'loading' ).html('<i class="fa fa-spinner fa-spin" aria-hidden="true"></i>');
|
760 |
+
$.ajax({
|
761 |
+
url : cffA.ajax_url,
|
762 |
+
type : 'post',
|
763 |
+
data : {
|
764 |
+
action : 'cff_reset_log'
|
765 |
+
},
|
766 |
+
success : function(data) {
|
767 |
+
window.location.href = $btn.attr('data-url');
|
768 |
+
},
|
769 |
+
error : function(data) {
|
770 |
+
window.location.href = $btn.attr('data-url');
|
771 |
+
}
|
772 |
+
}); // ajax call
|
773 |
+
});
|
774 |
+
|
775 |
+
/* removing padding */
|
776 |
+
if (jQuery('#cff-admin-about').length) {
|
777 |
+
jQuery('#wpcontent').css('padding', 0);
|
778 |
+
}
|
779 |
+
|
780 |
+
});
|
781 |
+
|
782 |
+
|
783 |
+
|
784 |
+
/* global smash_admin, jconfirm, wpCookies, Choices, List */
|
785 |
+
|
786 |
+
(function($) {
|
787 |
+
|
788 |
+
'use strict';
|
789 |
+
|
790 |
+
// Global settings access.
|
791 |
+
var s;
|
792 |
+
|
793 |
+
// Admin object.
|
794 |
+
var SmashCFFAdmin = {
|
795 |
+
|
796 |
+
// Settings.
|
797 |
+
settings: {
|
798 |
+
iconActivate: '<i class="fa fa-toggle-on fa-flip-horizontal" aria-hidden="true"></i>',
|
799 |
+
iconDeactivate: '<i class="fa fa-toggle-on" aria-hidden="true"></i>',
|
800 |
+
iconInstall: '<i class="fa fa-cloud-download" aria-hidden="true"></i>',
|
801 |
+
iconSpinner: '<i class="fa fa-spinner fa-spin" aria-hidden="true"></i>',
|
802 |
+
mediaFrame: false
|
803 |
+
},
|
804 |
+
|
805 |
+
/**
|
806 |
+
* Start the engine.
|
807 |
+
*
|
808 |
+
* @since 1.3.9
|
809 |
+
*/
|
810 |
+
init: function() {
|
811 |
+
|
812 |
+
// Settings shortcut.
|
813 |
+
s = this.settings;
|
814 |
+
|
815 |
+
// Document ready.
|
816 |
+
$( document ).ready( SmashCFFAdmin.ready );
|
817 |
+
|
818 |
+
// Addons List.
|
819 |
+
SmashCFFAdmin.initAddons();
|
820 |
+
},
|
821 |
+
|
822 |
+
/**
|
823 |
+
* Document ready.
|
824 |
+
*
|
825 |
+
* @since 1.3.9
|
826 |
+
*/
|
827 |
+
ready: function() {
|
828 |
+
|
829 |
+
// Action available for each binding.
|
830 |
+
$( document ).trigger( 'smashReady' );
|
831 |
+
},
|
832 |
+
|
833 |
+
//--------------------------------------------------------------------//
|
834 |
+
// Addons List.
|
835 |
+
//--------------------------------------------------------------------//
|
836 |
+
|
837 |
+
/**
|
838 |
+
* Element bindings for Addons List page.
|
839 |
+
*
|
840 |
+
* @since 1.3.9
|
841 |
+
*/
|
842 |
+
initAddons: function() {
|
843 |
+
|
844 |
+
// Some actions have to be delayed to document.ready.
|
845 |
+
$( document ).on( 'smashReady', function() {
|
846 |
+
|
847 |
+
// Only run on the addons page.
|
848 |
+
if ( ! $( '#cff-admin-addons' ).length ) {
|
849 |
+
return;
|
850 |
+
}
|
851 |
+
|
852 |
+
// Display all addon boxes as the same height.
|
853 |
+
$( '.addon-item .details' ).matchHeight( { byrow: false, property: 'height' } );
|
854 |
+
|
855 |
+
// Addons searching.
|
856 |
+
if ( $('#cff-admin-addons-list').length ) {
|
857 |
+
var addonSearch = new List( 'cff-admin-addons-list', {
|
858 |
+
valueNames: [ 'addon-name' ]
|
859 |
+
} );
|
860 |
+
|
861 |
+
$( '#cff-admin-addons-search' ).on( 'keyup', function () {
|
862 |
+
var searchTerm = $( this ).val(),
|
863 |
+
$heading = $( '#addons-heading' );
|
864 |
+
|
865 |
+
if ( searchTerm ) {
|
866 |
+
$heading.text( cff_admin.addon_search );
|
867 |
+
}
|
868 |
+
else {
|
869 |
+
$heading.text( $heading.data( 'text' ) );
|
870 |
+
}
|
871 |
+
|
872 |
+
addonSearch.search( searchTerm );
|
873 |
+
} );
|
874 |
+
}
|
875 |
+
});
|
876 |
+
|
877 |
+
// Toggle an addon state.
|
878 |
+
$( document ).on( 'click', '#cff-admin-addons .addon-item button', function( event ) {
|
879 |
+
|
880 |
+
event.preventDefault();
|
881 |
+
|
882 |
+
if ( $( this ).hasClass( 'disabled' ) ) {
|
883 |
+
return false;
|
884 |
+
}
|
885 |
+
|
886 |
+
SmashCFFAdmin.addonToggle( $( this ) );
|
887 |
+
});
|
888 |
+
},
|
889 |
+
|
890 |
+
/**
|
891 |
+
* Toggle addon state.
|
892 |
+
*
|
893 |
+
* @since 1.3.9
|
894 |
+
*/
|
895 |
+
addonToggle: function( $btn ) {
|
896 |
+
|
897 |
+
var $addon = $btn.closest( '.addon-item' ),
|
898 |
+
plugin = $btn.attr( 'data-plugin' ),
|
899 |
+
plugin_type = $btn.attr( 'data-type' ),
|
900 |
+
action,
|
901 |
+
cssClass,
|
902 |
+
statusText,
|
903 |
+
buttonText,
|
904 |
+
errorText,
|
905 |
+
successText;
|
906 |
+
|
907 |
+
if ( $btn.hasClass( 'status-go-to-url' ) ) {
|
908 |
+
// Open url in new tab.
|
909 |
+
window.open( $btn.attr('data-plugin'), '_blank' );
|
910 |
+
return;
|
911 |
+
}
|
912 |
+
|
913 |
+
$btn.prop( 'disabled', true ).addClass( 'loading' );
|
914 |
+
$btn.html( s.iconSpinner );
|
915 |
+
|
916 |
+
if ( $btn.hasClass( 'status-active' ) ) {
|
917 |
+
// Deactivate.
|
918 |
+
action = 'cff_deactivate_addon';
|
919 |
+
cssClass = 'status-inactive';
|
920 |
+
if ( plugin_type === 'plugin' ) {
|
921 |
+
cssClass += ' button button-secondary';
|
922 |
+
}
|
923 |
+
statusText = cff_admin.addon_inactive;
|
924 |
+
buttonText = cff_admin.addon_activate;
|
925 |
+
if ( plugin_type === 'addon' ) {
|
926 |
+
buttonText = s.iconActivate + buttonText;
|
927 |
+
}
|
928 |
+
errorText = s.iconDeactivate + cff_admin.addon_deactivate;
|
929 |
+
|
930 |
+
} else if ( $btn.hasClass( 'status-inactive' ) ) {
|
931 |
+
// Activate.
|
932 |
+
action = 'cff_activate_addon';
|
933 |
+
cssClass = 'status-active';
|
934 |
+
if ( plugin_type === 'plugin' ) {
|
935 |
+
cssClass += ' button button-secondary disabled';
|
936 |
+
}
|
937 |
+
statusText = cff_admin.addon_active;
|
938 |
+
buttonText = cff_admin.addon_deactivate;
|
939 |
+
if ( plugin_type === 'addon' ) {
|
940 |
+
buttonText = s.iconDeactivate + buttonText;
|
941 |
+
} else if ( plugin_type === 'plugin' ) {
|
942 |
+
buttonText = cff_admin.addon_activated;
|
943 |
+
}
|
944 |
+
errorText = s.iconActivate + cff_admin.addon_activate;
|
945 |
+
|
946 |
+
} else if ( $btn.hasClass( 'status-download' ) ) {
|
947 |
+
// Install & Activate.
|
948 |
+
action = 'cff_install_addon';
|
949 |
+
cssClass = 'status-active';
|
950 |
+
if ( plugin_type === 'plugin' ) {
|
951 |
+
cssClass += ' button disabled';
|
952 |
+
}
|
953 |
+
statusText = cff_admin.addon_active;
|
954 |
+
buttonText = cff_admin.addon_activated;
|
955 |
+
if ( plugin_type === 'addon' ) {
|
956 |
+
buttonText = s.iconActivate + cff_admin.addon_deactivate;
|
957 |
+
}
|
958 |
+
errorText = s.iconInstall + cff_admin.addon_activate;
|
959 |
+
|
960 |
+
} else {
|
961 |
+
return;
|
962 |
+
}
|
963 |
+
|
964 |
+
var data = {
|
965 |
+
action: action,
|
966 |
+
nonce : cff_admin.nonce,
|
967 |
+
plugin: plugin,
|
968 |
+
type : plugin_type
|
969 |
+
};
|
970 |
+
$.post( cff_admin.ajax_url, data, function( res ) {
|
971 |
+
|
972 |
+
if ( res.success ) {
|
973 |
+
if ( 'cff_install_addon' === action ) {
|
974 |
+
$btn.attr( 'data-plugin', res.data.basename );
|
975 |
+
successText = res.data.msg;
|
976 |
+
if ( ! res.data.is_activated ) {
|
977 |
+
cssClass = 'status-inactive';
|
978 |
+
if ( plugin_type === 'plugin' ) {
|
979 |
+
cssClass = 'button';
|
980 |
+
}
|
981 |
+
statusText = cff_admin.addon_inactive;
|
982 |
+
buttonText = s.iconActivate + cff_admin.addon_activate;
|
983 |
+
}
|
984 |
+
} else {
|
985 |
+
successText = res.data;
|
986 |
+
}
|
987 |
+
$addon.find( '.actions' ).append( '<div class="msg success">'+successText+'</div>' );
|
988 |
+
$addon.find( 'span.status-label' )
|
989 |
+
.removeClass( 'status-active status-inactive status-download' )
|
990 |
+
.addClass( cssClass )
|
991 |
+
.removeClass( 'button button-primary button-secondary disabled' )
|
992 |
+
.text( statusText );
|
993 |
+
$btn
|
994 |
+
.removeClass( 'status-active status-inactive status-download' )
|
995 |
+
.removeClass( 'button button-primary button-secondary disabled' )
|
996 |
+
.addClass( cssClass ).html( buttonText );
|
997 |
+
} else {
|
998 |
+
if ( 'download_failed' === res.data[0].code ) {
|
999 |
+
if ( plugin_type === 'addon' ) {
|
1000 |
+
$addon.find( '.actions' ).append( '<div class="msg error">'+cff_admin.addon_error+'</div>' );
|
1001 |
+
} else {
|
1002 |
+
$addon.find( '.actions' ).append( '<div class="msg error">'+cff_admin.plugin_error+'</div>' );
|
1003 |
+
}
|
1004 |
+
} else {
|
1005 |
+
$addon.find( '.actions' ).append( '<div class="msg error">'+res.data+'</div>' );
|
1006 |
+
}
|
1007 |
+
$btn.html( errorText );
|
1008 |
+
}
|
1009 |
+
|
1010 |
+
$btn.prop( 'disabled', false ).removeClass( 'loading' );
|
1011 |
+
|
1012 |
+
// Automatically clear addon messages after 3 seconds.
|
1013 |
+
setTimeout( function() {
|
1014 |
+
$( '.addon-item .msg' ).remove();
|
1015 |
+
}, 3000 );
|
1016 |
+
|
1017 |
+
}).fail( function( xhr ) {
|
1018 |
+
console.log( xhr.responseText );
|
1019 |
+
});
|
1020 |
+
},
|
1021 |
+
|
1022 |
+
};
|
1023 |
+
|
1024 |
+
SmashCFFAdmin.init();
|
1025 |
+
|
1026 |
+
window.SmashCFFAdmin = SmashCFFAdmin;
|
1027 |
+
|
1028 |
+
})( jQuery );
|
js/cff-blocks.js
CHANGED
@@ -1,114 +1,114 @@
|
|
1 |
-
"use strict";
|
2 |
-
window.cffmetatrans = false;
|
3 |
-
(function () {
|
4 |
-
var _wp = wp,
|
5 |
-
_wp$serverSideRender = _wp.serverSideRender,
|
6 |
-
createElement = wp.element.createElement,
|
7 |
-
ServerSideRender = _wp$serverSideRender === void 0 ? wp.components.ServerSideRender : _wp$serverSideRender,
|
8 |
-
_ref = wp.blockEditor || wp.editor,
|
9 |
-
InspectorControls = _ref.InspectorControls,
|
10 |
-
_wp$components = wp.components,
|
11 |
-
TextareaControl = _wp$components.TextareaControl,
|
12 |
-
Button = _wp$components.Button,
|
13 |
-
PanelBody = _wp$components.PanelBody,
|
14 |
-
Placeholder = _wp$components.Placeholder,
|
15 |
-
registerBlockType = wp.blocks.registerBlockType;
|
16 |
-
|
17 |
-
var cffIcon = createElement('svg', {
|
18 |
-
width: 20,
|
19 |
-
height: 20,
|
20 |
-
viewBox: '0 0 448 512',
|
21 |
-
className: 'dashicon'
|
22 |
-
}, createElement('path', {
|
23 |
-
fill: 'currentColor',
|
24 |
-
d: 'M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z'
|
25 |
-
}));
|
26 |
-
|
27 |
-
registerBlockType('cff/cff-feed-block', {
|
28 |
-
title: 'Custom Facebook Feed',
|
29 |
-
icon: cffIcon,
|
30 |
-
category: 'widgets',
|
31 |
-
attributes: {
|
32 |
-
noNewChanges: {
|
33 |
-
type: 'boolean',
|
34 |
-
},
|
35 |
-
shortcodeSettings: {
|
36 |
-
type: 'string',
|
37 |
-
}
|
38 |
-
},
|
39 |
-
edit: function edit(props) {
|
40 |
-
var _props = props,
|
41 |
-
setAttributes = _props.setAttributes,
|
42 |
-
_props$attributes = _props.attributes,
|
43 |
-
_props$attributes$sho = _props$attributes.shortcodeSettings,
|
44 |
-
shortcodeSettings = _props$attributes$sho === void 0 ? cff_block_editor.shortcodeSettings : _props$attributes$sho,
|
45 |
-
_props$attributes$cli = _props$attributes.noNewChanges,
|
46 |
-
noNewChanges = _props$attributes$cli === void 0 ? true : _props$attributes$cli;
|
47 |
-
|
48 |
-
function setState(shortcodeSettingsContent) {
|
49 |
-
setAttributes({
|
50 |
-
noNewChanges: false,
|
51 |
-
shortcodeSettings: shortcodeSettingsContent
|
52 |
-
})
|
53 |
-
}
|
54 |
-
|
55 |
-
function previewClick(content) {
|
56 |
-
setAttributes({
|
57 |
-
noNewChanges: true,
|
58 |
-
})
|
59 |
-
}
|
60 |
-
function afterRender() {
|
61 |
-
var executed = false;
|
62 |
-
// no way to run a script after AJAX call to get feed so we just try to execute it on a few intervals
|
63 |
-
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},1000);
|
64 |
-
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},2000);
|
65 |
-
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},3000);
|
66 |
-
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},5000);
|
67 |
-
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},10000);
|
68 |
-
}
|
69 |
-
|
70 |
-
var jsx = [React.createElement(InspectorControls, {
|
71 |
-
key: "cff-gutenberg-setting-selector-inspector-controls"
|
72 |
-
}, React.createElement(PanelBody, {
|
73 |
-
title: cff_block_editor.i18n.addSettings
|
74 |
-
}, React.createElement(TextareaControl, {
|
75 |
-
key: "cff-gutenberg-settings",
|
76 |
-
className: "cff-gutenberg-settings",
|
77 |
-
label: cff_block_editor.i18n.shortcodeSettings,
|
78 |
-
help: cff_block_editor.i18n.example + ": 'id=\"smashballoon\" showheader=\"true\"'",
|
79 |
-
value: shortcodeSettings,
|
80 |
-
onChange: setState
|
81 |
-
}), React.createElement(Button, {
|
82 |
-
key: "cff-gutenberg-preview",
|
83 |
-
className: "cff-gutenberg-preview",
|
84 |
-
onClick: previewClick,
|
85 |
-
isDefault: true
|
86 |
-
}, cff_block_editor.i18n.preview)))];
|
87 |
-
|
88 |
-
if (noNewChanges) {
|
89 |
-
afterRender();
|
90 |
-
jsx.push(React.createElement(ServerSideRender, {
|
91 |
-
key: "custom-facebook-feeds/custom-facebook-feeds",
|
92 |
-
block: "cff/cff-feed-block",
|
93 |
-
attributes: props.attributes,
|
94 |
-
}));
|
95 |
-
} else {
|
96 |
-
props.attributes.noNewChanges = false;
|
97 |
-
jsx.push(React.createElement(Placeholder, {
|
98 |
-
key: "cff-gutenberg-setting-selector-select-wrap",
|
99 |
-
className: "cff-gutenberg-setting-selector-select-wrap"
|
100 |
-
}, React.createElement(Button, {
|
101 |
-
key: "cff-gutenberg-preview",
|
102 |
-
className: "cff-gutenberg-preview",
|
103 |
-
onClick: previewClick,
|
104 |
-
isDefault: true
|
105 |
-
}, cff_block_editor.i18n.preview)));
|
106 |
-
}
|
107 |
-
|
108 |
-
return jsx;
|
109 |
-
},
|
110 |
-
save: function save() {
|
111 |
-
return null;
|
112 |
-
}
|
113 |
-
});
|
114 |
})();
|
1 |
+
"use strict";
|
2 |
+
window.cffmetatrans = false;
|
3 |
+
(function () {
|
4 |
+
var _wp = wp,
|
5 |
+
_wp$serverSideRender = _wp.serverSideRender,
|
6 |
+
createElement = wp.element.createElement,
|
7 |
+
ServerSideRender = _wp$serverSideRender === void 0 ? wp.components.ServerSideRender : _wp$serverSideRender,
|
8 |
+
_ref = wp.blockEditor || wp.editor,
|
9 |
+
InspectorControls = _ref.InspectorControls,
|
10 |
+
_wp$components = wp.components,
|
11 |
+
TextareaControl = _wp$components.TextareaControl,
|
12 |
+
Button = _wp$components.Button,
|
13 |
+
PanelBody = _wp$components.PanelBody,
|
14 |
+
Placeholder = _wp$components.Placeholder,
|
15 |
+
registerBlockType = wp.blocks.registerBlockType;
|
16 |
+
|
17 |
+
var cffIcon = createElement('svg', {
|
18 |
+
width: 20,
|
19 |
+
height: 20,
|
20 |
+
viewBox: '0 0 448 512',
|
21 |
+
className: 'dashicon'
|
22 |
+
}, createElement('path', {
|
23 |
+
fill: 'currentColor',
|
24 |
+
d: 'M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z'
|
25 |
+
}));
|
26 |
+
|
27 |
+
registerBlockType('cff/cff-feed-block', {
|
28 |
+
title: 'Custom Facebook Feed',
|
29 |
+
icon: cffIcon,
|
30 |
+
category: 'widgets',
|
31 |
+
attributes: {
|
32 |
+
noNewChanges: {
|
33 |
+
type: 'boolean',
|
34 |
+
},
|
35 |
+
shortcodeSettings: {
|
36 |
+
type: 'string',
|
37 |
+
}
|
38 |
+
},
|
39 |
+
edit: function edit(props) {
|
40 |
+
var _props = props,
|
41 |
+
setAttributes = _props.setAttributes,
|
42 |
+
_props$attributes = _props.attributes,
|
43 |
+
_props$attributes$sho = _props$attributes.shortcodeSettings,
|
44 |
+
shortcodeSettings = _props$attributes$sho === void 0 ? cff_block_editor.shortcodeSettings : _props$attributes$sho,
|
45 |
+
_props$attributes$cli = _props$attributes.noNewChanges,
|
46 |
+
noNewChanges = _props$attributes$cli === void 0 ? true : _props$attributes$cli;
|
47 |
+
|
48 |
+
function setState(shortcodeSettingsContent) {
|
49 |
+
setAttributes({
|
50 |
+
noNewChanges: false,
|
51 |
+
shortcodeSettings: shortcodeSettingsContent
|
52 |
+
})
|
53 |
+
}
|
54 |
+
|
55 |
+
function previewClick(content) {
|
56 |
+
setAttributes({
|
57 |
+
noNewChanges: true,
|
58 |
+
})
|
59 |
+
}
|
60 |
+
function afterRender() {
|
61 |
+
var executed = false;
|
62 |
+
// no way to run a script after AJAX call to get feed so we just try to execute it on a few intervals
|
63 |
+
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},1000);
|
64 |
+
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},2000);
|
65 |
+
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},3000);
|
66 |
+
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},5000);
|
67 |
+
setTimeout(function() { if (typeof cff_init !== 'undefined' && !executed) {executed = true;cff_init();}},10000);
|
68 |
+
}
|
69 |
+
|
70 |
+
var jsx = [React.createElement(InspectorControls, {
|
71 |
+
key: "cff-gutenberg-setting-selector-inspector-controls"
|
72 |
+
}, React.createElement(PanelBody, {
|
73 |
+
title: cff_block_editor.i18n.addSettings
|
74 |
+
}, React.createElement(TextareaControl, {
|
75 |
+
key: "cff-gutenberg-settings",
|
76 |
+
className: "cff-gutenberg-settings",
|
77 |
+
label: cff_block_editor.i18n.shortcodeSettings,
|
78 |
+
help: cff_block_editor.i18n.example + ": 'id=\"smashballoon\" showheader=\"true\"'",
|
79 |
+
value: shortcodeSettings,
|
80 |
+
onChange: setState
|
81 |
+
}), React.createElement(Button, {
|
82 |
+
key: "cff-gutenberg-preview",
|
83 |
+
className: "cff-gutenberg-preview",
|
84 |
+
onClick: previewClick,
|
85 |
+
isDefault: true
|
86 |
+
}, cff_block_editor.i18n.preview)))];
|
87 |
+
|
88 |
+
if (noNewChanges) {
|
89 |
+
afterRender();
|
90 |
+
jsx.push(React.createElement(ServerSideRender, {
|
91 |
+
key: "custom-facebook-feeds/custom-facebook-feeds",
|
92 |
+
block: "cff/cff-feed-block",
|
93 |
+
attributes: props.attributes,
|
94 |
+
}));
|
95 |
+
} else {
|
96 |
+
props.attributes.noNewChanges = false;
|
97 |
+
jsx.push(React.createElement(Placeholder, {
|
98 |
+
key: "cff-gutenberg-setting-selector-select-wrap",
|
99 |
+
className: "cff-gutenberg-setting-selector-select-wrap"
|
100 |
+
}, React.createElement(Button, {
|
101 |
+
key: "cff-gutenberg-preview",
|
102 |
+
className: "cff-gutenberg-preview",
|
103 |
+
onClick: previewClick,
|
104 |
+
isDefault: true
|
105 |
+
}, cff_block_editor.i18n.preview)));
|
106 |
+
}
|
107 |
+
|
108 |
+
return jsx;
|
109 |
+
},
|
110 |
+
save: function save() {
|
111 |
+
return null;
|
112 |
+
}
|
113 |
+
});
|
114 |
})();
|
js/cff-scripts.min.js
CHANGED
@@ -1,63 +1,63 @@
|
|
1 |
-
var cff_js_exists=(typeof cff_js_exists!=='undefined')?!0:!1;if(!cff_js_exists){if(jQuery('#cff.cff-masonry-js').length){!function(a){function b(){}
|
2 |
-
function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}
|
3 |
-
function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}
|
4 |
-
return this}
|
5 |
-
return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}
|
6 |
-
if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}
|
7 |
-
var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c("object"==typeof exports?require("jquery"):a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}
|
8 |
-
var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(window),function(){function a(){}
|
9 |
-
function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}
|
10 |
-
function c(a){return function(){return this[a].apply(this,arguments)}}
|
11 |
-
var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;b<a.length;b+=1)c.push(a[b].listener);return c},d.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},d.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},d.on=c("addListener"),d.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},d.once=c("addOnceListener"),d.defineEvent=function(a){return this.getListeners(a),this},d.defineEvents=function(a){for(var b=0;b<a.length;b+=1)this.defineEvent(a[b]);return this},d.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},d.off=c("removeListener"),d.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},d.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if(a instanceof RegExp)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},d.removeAllListeners=c("removeEvent"),d.emitEvent=function(a,b){var c,d,e,f,g=this.getListenersAsObject(a);for(e in g)if(g.hasOwnProperty(e))for(d=g[e].length;d--;)c=g[e][d],c.once===!0&&this.removeListener(a,c.listener),f=c.listener.apply(this,b||[]),f===this._getOnceReturnValue()&&this.removeListener(a,c.listener);return this},d.trigger=c("emitEvent"),d.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},d.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},d._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},d._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return e.EventEmitter=f,a},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return a}):"object"==typeof module&&module.exports?module.exports=a:e.EventEmitter=a}.call(this),function(a){function b(a){if(a){if("string"==typeof d[a])return a;a=a.charAt(0).toUpperCase()+a.slice(1);for(var b,e=0,f=c.length;f>e;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}
|
12 |
-
var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a){function b(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}
|
13 |
-
function c(){}
|
14 |
-
function d(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=g.length;c>b;b++){var d=g[b];a[d]=0}
|
15 |
-
return a}
|
16 |
-
function e(c){function e(){if(!m){m=!0;var d=a.getComputedStyle;if(j=function(){var a=d?function(a){return d(a,null)}:function(a){return a.currentStyle};return function(b){var c=a(b);return c||f("Style returned "+c+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),c}}(),k=c("boxSizing")){var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style[k]="border-box";var g=document.body||document.documentElement;g.appendChild(e);var h=j(e);l=200===b(h.width),g.removeChild(e)}}}
|
17 |
-
function h(a){if(e(),"string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var c=j(a);if("none"===c.display)return d();var f={};f.width=a.offsetWidth,f.height=a.offsetHeight;for(var h=f.isBorderBox=!(!k||!c[k]||"border-box"!==c[k]),m=0,n=g.length;n>m;m++){var o=g[m],p=c[o];p=i(a,p);var q=parseFloat(p);f[o]=isNaN(q)?0:q}
|
18 |
-
var r=f.paddingLeft+f.paddingRight,s=f.paddingTop+f.paddingBottom,t=f.marginLeft+f.marginRight,u=f.marginTop+f.marginBottom,v=f.borderLeftWidth+f.borderRightWidth,w=f.borderTopWidth+f.borderBottomWidth,x=h&&l,y=b(c.width);y!==!1&&(f.width=y+(x?0:r+v));var z=b(c.height);return z!==!1&&(f.height=z+(x?0:s+w)),f.innerWidth=f.width-(r+v),f.innerHeight=f.height-(s+w),f.outerWidth=f.width+t,f.outerHeight=f.height+u,f}}
|
19 |
-
function i(b,c){if(a.getComputedStyle||-1===c.indexOf("%"))return c;var d=b.style,e=d.left,f=b.runtimeStyle,g=f&&f.left;return g&&(f.left=b.currentStyle.left),d.left=c,c=d.pixelLeft,d.left=e,g&&(f.left=g),c}
|
20 |
-
var j,k,l,m=!1;return h}
|
21 |
-
var f="undefined"==typeof console?c:function(a){console.error(a)},g=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],e):"object"==typeof exports?module.exports=e(require("desandro-get-style-property")):a.getSize=e(a.getStyleProperty)}(window),function(a){function b(a){"function"==typeof a&&(b.isReady?a():g.push(a))}
|
22 |
-
function c(a){var c="readystatechange"===a.type&&"complete"!==f.readyState;b.isReady||c||d()}
|
23 |
-
function d(){b.isReady=!0;for(var a=0,c=g.length;c>a;a++){var d=g[a];d()}}
|
24 |
-
function e(e){return"complete"===f.readyState?d():(e.bind(f,"DOMContentLoaded",c),e.bind(f,"readystatechange",c),e.bind(a,"load",c)),b}
|
25 |
-
var f=a.document,g=[];b.isReady=!1,"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],e):"object"==typeof exports?module.exports=e(require("eventie")):a.docReady=e(a.eventie)}(window),function(a){function b(a,b){return a[g](b)}
|
26 |
-
function c(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}
|
27 |
-
function d(a,b){c(a);for(var d=a.parentNode.querySelectorAll(b),e=0,f=d.length;f>e;e++)if(d[e]===a)return!0;return!1}
|
28 |
-
function e(a,d){return c(a),b(a,d)}
|
29 |
-
var f,g=function(){if(a.matches)return"matches";if(a.matchesSelector)return"matchesSelector";for(var b=["webkit","moz","ms","o"],c=0,d=b.length;d>c;c++){var e=b[c],f=e+"MatchesSelector";if(a[f])return f}}();if(g){var h=document.createElement("div"),i=b(h,"div");f=i?b:e}else f=d;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return f}):"object"==typeof exports?module.exports=f:window.matchesSelector=f}(Element.prototype),function(a,b){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(c,d){return b(a,c,d)}):"object"==typeof exports?module.exports=b(a,require("doc-ready"),require("desandro-matches-selector")):a.fizzyUIUtils=b(a,a.docReady,a.matchesSelector)}(window,function(a,b,c){var d={};d.extend=function(a,b){for(var c in b)a[c]=b[c];return a},d.modulo=function(a,b){return(a%b+b)%b};var e=Object.prototype.toString;d.isArray=function(a){return"[object Array]"==e.call(a)},d.makeArray=function(a){var b=[];if(d.isArray(a))b=a;else if(a&&"number"==typeof a.length)for(var c=0,e=a.length;e>c;c++)b.push(a[c]);else b.push(a);return b},d.indexOf=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},d.removeFrom=function(a,b){var c=d.indexOf(a,b);-1!=c&&a.splice(c,1)},d.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1==a.nodeType&&"string"==typeof a.nodeName},d.setText=function(){function a(a,c){b=b||(void 0!==document.documentElement.textContent?"textContent":"innerText"),a[b]=c}
|
30 |
-
var b;return a}(),d.getParent=function(a,b){for(;a!=document.body;)if(a=a.parentNode,c(a,b))return a},d.getQueryElement=function(a){return"string"==typeof a?document.querySelector(a):a},d.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},d.filterFindElements=function(a,b){a=d.makeArray(a);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f];if(d.isElement(h))if(b){c(h,b)&&e.push(h);for(var i=h.querySelectorAll(b),j=0,k=i.length;k>j;j++)e.push(i[j])}else e.push(h)}
|
31 |
-
return e},d.debounceMethod=function(a,b,c){var d=a.prototype[b],e=b+"Timeout";a.prototype[b]=function(){var a=this[e];a&&clearTimeout(a);var b=arguments,f=this;this[e]=setTimeout(function(){d.apply(f,b),delete f[e]},c||100)}},d.toDashed=function(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()};var f=a.console;return d.htmlInit=function(c,e){b(function(){for(var b=d.toDashed(e),g=document.querySelectorAll(".js-"+b),h="data-"+b+"-options",i=0,j=g.length;j>i;i++){var k,l=g[i],m=l.getAttribute(h);try{k=m&&JSON.parse(m)}catch(n){f&&f.error("Error parsing "+h+" on "+l.nodeName.toLowerCase()+(l.id?"#"+l.id:"")+": "+n);continue}
|
32 |
-
var o=new c(l,k),p=a.jQuery;p&&p.data(l,e,o)}})},d}),function(a,b){"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property","fizzy-ui-utils/utils"],function(c,d,e,f){return b(a,c,d,e,f)}):"object"==typeof exports?module.exports=b(a,require("wolfy87-eventemitter"),require("get-size"),require("desandro-get-style-property"),require("fizzy-ui-utils")):(a.Outlayer={},a.Outlayer.Item=b(a,a.EventEmitter,a.getSize,a.getStyleProperty,a.fizzyUIUtils))}(window,function(a,b,c,d,e){function f(a){for(var b in a)return!1;return b=null,!0}
|
33 |
-
function g(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}
|
34 |
-
var h=a.getComputedStyle,i=h?function(a){return h(a,null)}:function(a){return a.currentStyle},j=d("transition"),k=d("transform"),l=j&&k,m=!!d("perspective"),n={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[j],o=["transform","transition","transitionDuration","transitionProperty"],p=function(){for(var a={},b=0,c=o.length;c>b;b++){var e=o[b],f=d(e);f&&f!==e&&(a[e]=f)}
|
35 |
-
return a}();e.extend(g.prototype,b.prototype),g.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.getSize=function(){this.size=c(this.element)},g.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=p[c]||c;b[d]=a[c]}},g.prototype.getPosition=function(){var a=i(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=parseInt(a[c?"left":"right"],10),f=parseInt(a[d?"top":"bottom"],10);e=isNaN(e)?0:e,f=isNaN(f)?0:f;var g=this.layout.size;e-=c?g.paddingLeft:g.paddingRight,f-=d?g.paddingTop:g.paddingBottom,this.position.x=e,this.position.y=f},g.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={},d=b.isOriginLeft?"paddingLeft":"paddingRight",e=b.isOriginLeft?"left":"right",f=b.isOriginLeft?"right":"left",g=this.position.x+a[d];g=b.percentPosition&&!b.isHorizontal?g/a.width*100+"%":g+"px",c[e]=g,c[f]="";var h=b.isOriginTop?"paddingTop":"paddingBottom",i=b.isOriginTop?"top":"bottom",j=b.isOriginTop?"bottom":"top",k=this.position.y+a[h];k=b.percentPosition&&b.isHorizontal?k/a.height*100+"%":k+"px",c[i]=k,c[j]="",this.css(c),this.emitEvent("layout",[this])};var q=m?function(a,b){return"translate3d("+a+"px, "+b+"px, 0)"}:function(a,b){return"translate("+a+"px, "+b+"px)"};g.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={},k=this.layout.options;h=k.isOriginLeft?h:-h,i=k.isOriginTop?i:-i,j.transform=q(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},g.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},g.prototype.moveTo=l?g.prototype._transitionTo:g.prototype.goTo,g.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},g.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},g.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}
|
36 |
-
this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var r=k&&e.toDashed(k)+",opacity";g.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:r,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(n,this,!1))},g.prototype.transition=g.prototype[j?"_transition":"_nonTransition"],g.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},g.prototype.onotransitionend=function(a){this.ontransitionend(a)};var s={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};g.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,c=s[a.propertyName]||a.propertyName;if(delete b.ingProperties[c],f(b.ingProperties)&&this.disableTransition(),c in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[c]),c in b.onEnd){var d=b.onEnd[c];d.call(this),delete b.onEnd[c]}
|
37 |
-
this.emitEvent("transitionEnd",[this])}},g.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(n,this,!1),this.isTransitioning=!1},g.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var t={transitionProperty:"",transitionDuration:""};return g.prototype.removeTransitionStyles=function(){this.css(t)},g.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},g.prototype.remove=function(){if(!j||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.once("transitionEnd",function(){a.removeElem()}),this.hide()},g.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("visibleStyle");b[c]=this.onRevealTransitionEnd,this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},g.prototype.getHideRevealTransitionEndProperty=function(a){var b=this.layout.options[a];if(b.opacity)return"opacity";for(var c in b)return c},g.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("hiddenStyle");b[c]=this.onHideTransitionEnd,this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},g.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},g}),function(a,b){"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","eventEmitter/EventEmitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(c,d,e,f,g){return b(a,c,d,e,f,g)}):"object"==typeof exports?module.exports=b(a,require("eventie"),require("wolfy87-eventemitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):a.Outlayer=b(a,a.eventie,a.EventEmitter,a.getSize,a.fizzyUIUtils,a.Outlayer.Item)}(window,function(a,b,c,d,e,f){function g(a,b){var c=e.getQueryElement(a);if(!c)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(c||a)));this.element=c,i&&(this.$element=i(this.element)),this.options=e.extend({},this.constructor.defaults),this.option(b);var d=++k;this.element.outlayerGUID=d,l[d]=this,this._create(),this.options.isInitLayout&&this.layout()}
|
38 |
-
var h=a.console,i=a.jQuery,j=function(){},k=0,l={};return g.namespace="outlayer",g.Item=f,g.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e.extend(g.prototype,c.prototype),g.prototype.option=function(a){e.extend(this.options,a)},g.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e.extend(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},g.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},g.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}
|
39 |
-
return d},g.prototype._filterFindItemElements=function(a){return e.filterFindElements(a,this.options.itemSelector)},g.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},g.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},g.prototype._init=g.prototype.layout,g.prototype._resetLayout=function(){this.getSize()},g.prototype.getSize=function(){this.size=d(this.element)},g.prototype._getMeasurement=function(a,b){var c,f=this.options[a];f?("string"==typeof f?c=this.element.querySelector(f):e.isElement(f)&&(c=f),this[a]=c?d(c)[b]:f):this[a]=0},g.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},g.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}
|
40 |
-
return b},g.prototype._layoutItems=function(a,b){if(this._emitCompleteOnItems("layout",a),a&&a.length){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d],g=this._getItemLayoutPosition(f);g.item=f,g.isInstant=b||f.isLayoutInstant,c.push(g)}
|
41 |
-
this._processLayoutQueue(c)}},g.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},g.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},g.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},g.prototype._postLayout=function(){this.resizeContainer()},g.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))}},g.prototype._getContainerSize=j,g.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},g.prototype._emitCompleteOnItems=function(a,b){function c(){e.emitEvent(a+"Complete",[b])}
|
42 |
-
function d(){g++,g===f&&c()}
|
43 |
-
var e=this,f=b.length;if(!b||!f)return void c();for(var g=0,h=0,i=b.length;i>h;h++){var j=b[h];j.once(a,d)}},g.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},g.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},g.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},g.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e.removeFrom(this.stamps,d),this.unignore(d)}},g.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=e.makeArray(a)):void 0},g.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},g.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},g.prototype._manageStamp=j,g.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,e=d(a),f={left:b.left-c.left-e.marginLeft,top:b.top-c.top-e.marginTop,right:c.right-b.right-e.marginRight,bottom:c.bottom-b.bottom-e.marginBottom};return f},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.bindResize=function(){this.isResizeBound||(b.bind(a,"resize",this),this.isResizeBound=!0)},g.prototype.unbindResize=function(){this.isResizeBound&&b.unbind(a,"resize",this),this.isResizeBound=!1},g.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}
|
44 |
-
this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},g.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},g.prototype.needsResizeLayout=function(){var a=d(this.element),b=this.size&&a;return b&&a.innerWidth!==this.size.innerWidth},g.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},g.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},g.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},g.prototype.reveal=function(a){this._emitCompleteOnItems("reveal",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.reveal()}},g.prototype.hide=function(a){this._emitCompleteOnItems("hide",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.hide()}},g.prototype.revealItemElements=function(a){var b=this.getItems(a);this.reveal(b)},g.prototype.hideItemElements=function(a){var b=this.getItems(a);this.hide(b)},g.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},g.prototype.getItems=function(a){a=e.makeArray(a);for(var b=[],c=0,d=a.length;d>c;c++){var f=a[c],g=this.getItem(f);g&&b.push(g)}
|
45 |
-
return b},g.prototype.remove=function(a){var b=this.getItems(a);if(this._emitCompleteOnItems("remove",b),b&&b.length)for(var c=0,d=b.length;d>c;c++){var f=b[c];f.remove(),e.removeFrom(this.items,f)}},g.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}
|
46 |
-
this.unbindResize();var e=this.element.outlayerGUID;delete l[e],delete this.element.outlayerGUID,i&&i.removeData(this.element,this.constructor.namespace)},g.data=function(a){a=e.getQueryElement(a);var b=a&&a.outlayerGUID;return b&&l[b]},g.create=function(a,b){function c(){g.apply(this,arguments)}
|
47 |
-
return Object.create?c.prototype=Object.create(g.prototype):e.extend(c.prototype,g.prototype),c.prototype.constructor=c,c.defaults=e.extend({},g.defaults),e.extend(c.defaults,b),c.prototype.settings={},c.namespace=a,c.data=g.data,c.Item=function(){f.apply(this,arguments)},c.Item.prototype=new f,e.htmlInit(c,a),i&&i.bridget&&i.bridget(a,c),c},g.Item=f,g}),function(a,b){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","fizzy-ui-utils/utils"],b):"object"==typeof exports?module.exports=b(require("outlayer"),require("get-size"),require("fizzy-ui-utils")):a.Masonry=b(a.Outlayer,a.getSize,a.fizzyUIUtils)}(window,function(a,b,c){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}
|
48 |
-
var d=this.columnWidth+=this.gutter,e=this.containerWidth+this.gutter,f=e/d,g=d-e%d,h=g&&1>g?"round":"floor";f=Math[h](f),this.cols=Math.max(f,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c.indexOf(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}
|
49 |
-
return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.needsResizeLayout=function(){var a=this.containerWidth;return this.getContainerWidth(),a!==this.containerWidth},d})
|
50 |
-
function cffAddMasonry($self){if(jQuery(window).width()>780||$self.hasClass('masonry-2-mobile')){$self.addClass('cff-masonry cff-masonry-js').removeClass('cff-disable-masonry');if($self.find('.cff-item').length){$self.masonry({itemSelector:'.cff-new, .cff-item, .cff-likebox'});$self.find('.cff-item').each(function(){jQuery(this).css('margin-bottom','15px')})}else if($self.find('.cff-album-item').length){$self.masonry({itemSelector:'.cff-album-item'})}}else{$self.addClass('cff-disable-masonry')}}}
|
51 |
-
function cff_init(){jQuery('.cff-likebox iframe').each(function(){var $likebox=jQuery(this),likeboxWidth=$likebox.attr('data-likebox-width'),cffFeedWidth=$likebox.parent().width();if(likeboxWidth=='')likeboxWidth=340;if(cffFeedWidth<likeboxWidth)likeboxWidth=cffFeedWidth;$likebox.attr('src','https://www.facebook.com/plugins/page.php?href=https%3A%2F%2Fwww.facebook.com%2F'+$likebox.attr('data-likebox-id')+'%2F&tabs&width='+likeboxWidth+'&small_header='+$likebox.attr('data-likebox-header')+'&adapt_container_width=true&hide_cover='+$likebox.attr('data-hide-cover')+'&hide_cta='+$likebox.attr('data-hide-cta')+'&show_facepile='+$likebox.attr('data-likebox-faces')+'&locale='+$likebox.attr('data-locale'))});jQuery('#cff .cff-item').each(function(){var $self=jQuery(this);if($self.find('.cff-viewpost-facebook').parent('p').length){$self.find('.cff-viewpost-facebook').unwrap('p')}
|
52 |
-
if($self.find('.cff-author').parent('p').length){$self.find('.cff-author').eq(1).unwrap('p');$self.find('.cff-author').eq(1).remove()}
|
53 |
-
if($self.find('#cff .cff-link').parent('p').length){$self.find('#cff .cff-link').unwrap('p')}
|
54 |
-
var expanded=!1,$post_text=$self.find('.cff-post-text .cff-text'),text_limit=$self.closest('#cff').attr('data-char');if(typeof text_limit==='undefined'||text_limit=='')text_limit=99999;if($post_text.find('a.cff-post-text-link').length)$post_text=$self.find('.cff-post-text .cff-text a');var full_text=$post_text.html();if(full_text==undefined)full_text='';var cff_trunc_regx=new RegExp(/(<[^>]*>)/g);var cff_trunc_counter=0;full_text_arr=full_text.split(cff_trunc_regx);for(var i=0,len=full_text_arr.length;i<len;i++){if(!(cff_trunc_regx.test(full_text_arr[i]))){if(cff_trunc_counter==text_limit){full_text_arr.splice(i,1);continue}
|
55 |
-
cff_trunc_counter=cff_trunc_counter+full_text_arr[i].length;if(cff_trunc_counter>text_limit){var diff=cff_trunc_counter-text_limit;full_text_arr[i]=full_text_arr[i].slice(0,-diff);cff_trunc_counter=text_limit;if(full_text.length>text_limit)$self.find('.cff-expand').show()}}}
|
56 |
-
var short_text=full_text_arr.join('');short_text=short_text.replace(/(<(?!\/)[^>]+>)+(<\/[^>]+>)/g,"");var lastChar=short_text.substr(short_text.length-1);if(lastChar=='<')short_text=short_text.substring(0,short_text.length-1);short_text=short_text.replace(/(<br>\s*)+$/,'');short_text=short_text.replace(/(<img class="cff-linebreak">\s*)+$/,'');$post_text.html(short_text);$self.find('.cff-expand a').unbind('click').bind('click',function(e){e.preventDefault();var $expand=jQuery(this),$more=$expand.find('.cff-more'),$less=$expand.find('.cff-less');if(expanded==!1){$post_text.html(full_text);expanded=!0;$more.hide();$less.show()}else{$post_text.html(short_text);expanded=!1;$more.show();$less.hide()}
|
57 |
-
cffLinkHashtags();$post_text.find('a').attr('target','_blank')});$post_text.find('a').add($self.find('.cff-post-desc a')).attr({'target':'_blank','rel':'nofollow'});$sharedLink=$self.find('.cff-shared-link');if($sharedLink.text()==''){$sharedLink.remove()}
|
58 |
-
function cffLinkHashtags(){var cffTextStr=$self.find('.cff-text').html(),cffDescStr=$self.find('.cff-post-desc').html(),regex=/(^|\s)#(\w*[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]+\w*)/gi,linkcolor=$self.find('.cff-text').attr('data-color');function replacer(hash){var replacementString=jQuery.trim(hash);if(/^#[0-9A-F]{6}$/i.test(replacementString)){return replacementString}else{return' <a href="https://www.facebook.com/hashtag/'+replacementString.substring(1)+'" target="_blank" rel="nofollow" style="color:#'+linkcolor+'">'+replacementString+'</a>'}}
|
59 |
-
if(typeof cfflinkhashtags=='undefined')cfflinkhashtags='true';if(cfflinkhashtags=='true'){var $cffText=$self.find('.cff-text');if($cffText.length>0){cffTextStr=cffTextStr.replace(/<br>/g,"<br> ");$cffText.html(cffTextStr.replace(regex,replacer))}}
|
60 |
-
if($self.find('.cff-post-desc').length>0)$self.find('.cff-post-desc').html(cffDescStr.replace(regex,replacer))}
|
61 |
-
cffLinkHashtags();$self.find('.cff-text a').add($self.find('.cff-post-desc a')).attr({'target':'_blank','rel':'nofollow noopener noreferrer'});$self.find('.cff-share-link').unbind().bind('click',function(e){e.preventDefault();var $cffShareTooltip=$self.find('.cff-share-tooltip')
|
62 |
-
if($cffShareTooltip.is(':visible')){$cffShareTooltip.hide().find('a').removeClass('cff-show')}else{$cffShareTooltip.show();var time=0;$cffShareTooltip.find('a').each(function(){var $cffShareIcon=jQuery(this);setTimeout(function(){$cffShareIcon.addClass('cff-show')},time);time+=20})}})});jQuery('.cff-wrapper').each(function(){var $cff=jQuery(this).find('#cff');if($cff.hasClass('cff-masonry-js')){cffAddMasonry($cff);setTimeout(function(){cffAddMasonry($cff)},500);jQuery(window).resize(function(){setTimeout(function(){cffAddMasonry($cff)},500)});if($cff.find('.cff-credit').length)$cff.css('padding-bottom',30)}})}
|
63 |
cff_init()}
|
1 |
+
var cff_js_exists=(typeof cff_js_exists!=='undefined')?!0:!1;if(!cff_js_exists){if(jQuery('#cff.cff-masonry-js').length){!function(a){function b(){}
|
2 |
+
function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}
|
3 |
+
function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}
|
4 |
+
return this}
|
5 |
+
return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}
|
6 |
+
if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}
|
7 |
+
var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c("object"==typeof exports?require("jquery"):a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}
|
8 |
+
var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(window),function(){function a(){}
|
9 |
+
function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}
|
10 |
+
function c(a){return function(){return this[a].apply(this,arguments)}}
|
11 |
+
var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;b<a.length;b+=1)c.push(a[b].listener);return c},d.getListenersAsObject=function(a){var b,c=this.getListeners(a);return c instanceof Array&&(b={},b[a]=c),b||c},d.addListener=function(a,c){var d,e=this.getListenersAsObject(a),f="object"==typeof c;for(d in e)e.hasOwnProperty(d)&&-1===b(e[d],c)&&e[d].push(f?c:{listener:c,once:!1});return this},d.on=c("addListener"),d.addOnceListener=function(a,b){return this.addListener(a,{listener:b,once:!0})},d.once=c("addOnceListener"),d.defineEvent=function(a){return this.getListeners(a),this},d.defineEvents=function(a){for(var b=0;b<a.length;b+=1)this.defineEvent(a[b]);return this},d.removeListener=function(a,c){var d,e,f=this.getListenersAsObject(a);for(e in f)f.hasOwnProperty(e)&&(d=b(f[e],c),-1!==d&&f[e].splice(d,1));return this},d.off=c("removeListener"),d.addListeners=function(a,b){return this.manipulateListeners(!1,a,b)},d.removeListeners=function(a,b){return this.manipulateListeners(!0,a,b)},d.manipulateListeners=function(a,b,c){var d,e,f=a?this.removeListener:this.addListener,g=a?this.removeListeners:this.addListeners;if("object"!=typeof b||b instanceof RegExp)for(d=c.length;d--;)f.call(this,b,c[d]);else for(d in b)b.hasOwnProperty(d)&&(e=b[d])&&("function"==typeof e?f.call(this,d,e):g.call(this,d,e));return this},d.removeEvent=function(a){var b,c=typeof a,d=this._getEvents();if("string"===c)delete d[a];else if(a instanceof RegExp)for(b in d)d.hasOwnProperty(b)&&a.test(b)&&delete d[b];else delete this._events;return this},d.removeAllListeners=c("removeEvent"),d.emitEvent=function(a,b){var c,d,e,f,g=this.getListenersAsObject(a);for(e in g)if(g.hasOwnProperty(e))for(d=g[e].length;d--;)c=g[e][d],c.once===!0&&this.removeListener(a,c.listener),f=c.listener.apply(this,b||[]),f===this._getOnceReturnValue()&&this.removeListener(a,c.listener);return this},d.trigger=c("emitEvent"),d.emit=function(a){var b=Array.prototype.slice.call(arguments,1);return this.emitEvent(a,b)},d.setOnceReturnValue=function(a){return this._onceReturnValue=a,this},d._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},d._getEvents=function(){return this._events||(this._events={})},a.noConflict=function(){return e.EventEmitter=f,a},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return a}):"object"==typeof module&&module.exports?module.exports=a:e.EventEmitter=a}.call(this),function(a){function b(a){if(a){if("string"==typeof d[a])return a;a=a.charAt(0).toUpperCase()+a.slice(1);for(var b,e=0,f=c.length;f>e;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}
|
12 |
+
var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a){function b(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}
|
13 |
+
function c(){}
|
14 |
+
function d(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=g.length;c>b;b++){var d=g[b];a[d]=0}
|
15 |
+
return a}
|
16 |
+
function e(c){function e(){if(!m){m=!0;var d=a.getComputedStyle;if(j=function(){var a=d?function(a){return d(a,null)}:function(a){return a.currentStyle};return function(b){var c=a(b);return c||f("Style returned "+c+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),c}}(),k=c("boxSizing")){var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style[k]="border-box";var g=document.body||document.documentElement;g.appendChild(e);var h=j(e);l=200===b(h.width),g.removeChild(e)}}}
|
17 |
+
function h(a){if(e(),"string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var c=j(a);if("none"===c.display)return d();var f={};f.width=a.offsetWidth,f.height=a.offsetHeight;for(var h=f.isBorderBox=!(!k||!c[k]||"border-box"!==c[k]),m=0,n=g.length;n>m;m++){var o=g[m],p=c[o];p=i(a,p);var q=parseFloat(p);f[o]=isNaN(q)?0:q}
|
18 |
+
var r=f.paddingLeft+f.paddingRight,s=f.paddingTop+f.paddingBottom,t=f.marginLeft+f.marginRight,u=f.marginTop+f.marginBottom,v=f.borderLeftWidth+f.borderRightWidth,w=f.borderTopWidth+f.borderBottomWidth,x=h&&l,y=b(c.width);y!==!1&&(f.width=y+(x?0:r+v));var z=b(c.height);return z!==!1&&(f.height=z+(x?0:s+w)),f.innerWidth=f.width-(r+v),f.innerHeight=f.height-(s+w),f.outerWidth=f.width+t,f.outerHeight=f.height+u,f}}
|
19 |
+
function i(b,c){if(a.getComputedStyle||-1===c.indexOf("%"))return c;var d=b.style,e=d.left,f=b.runtimeStyle,g=f&&f.left;return g&&(f.left=b.currentStyle.left),d.left=c,c=d.pixelLeft,d.left=e,g&&(f.left=g),c}
|
20 |
+
var j,k,l,m=!1;return h}
|
21 |
+
var f="undefined"==typeof console?c:function(a){console.error(a)},g=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],e):"object"==typeof exports?module.exports=e(require("desandro-get-style-property")):a.getSize=e(a.getStyleProperty)}(window),function(a){function b(a){"function"==typeof a&&(b.isReady?a():g.push(a))}
|
22 |
+
function c(a){var c="readystatechange"===a.type&&"complete"!==f.readyState;b.isReady||c||d()}
|
23 |
+
function d(){b.isReady=!0;for(var a=0,c=g.length;c>a;a++){var d=g[a];d()}}
|
24 |
+
function e(e){return"complete"===f.readyState?d():(e.bind(f,"DOMContentLoaded",c),e.bind(f,"readystatechange",c),e.bind(a,"load",c)),b}
|
25 |
+
var f=a.document,g=[];b.isReady=!1,"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],e):"object"==typeof exports?module.exports=e(require("eventie")):a.docReady=e(a.eventie)}(window),function(a){function b(a,b){return a[g](b)}
|
26 |
+
function c(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}
|
27 |
+
function d(a,b){c(a);for(var d=a.parentNode.querySelectorAll(b),e=0,f=d.length;f>e;e++)if(d[e]===a)return!0;return!1}
|
28 |
+
function e(a,d){return c(a),b(a,d)}
|
29 |
+
var f,g=function(){if(a.matches)return"matches";if(a.matchesSelector)return"matchesSelector";for(var b=["webkit","moz","ms","o"],c=0,d=b.length;d>c;c++){var e=b[c],f=e+"MatchesSelector";if(a[f])return f}}();if(g){var h=document.createElement("div"),i=b(h,"div");f=i?b:e}else f=d;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return f}):"object"==typeof exports?module.exports=f:window.matchesSelector=f}(Element.prototype),function(a,b){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(c,d){return b(a,c,d)}):"object"==typeof exports?module.exports=b(a,require("doc-ready"),require("desandro-matches-selector")):a.fizzyUIUtils=b(a,a.docReady,a.matchesSelector)}(window,function(a,b,c){var d={};d.extend=function(a,b){for(var c in b)a[c]=b[c];return a},d.modulo=function(a,b){return(a%b+b)%b};var e=Object.prototype.toString;d.isArray=function(a){return"[object Array]"==e.call(a)},d.makeArray=function(a){var b=[];if(d.isArray(a))b=a;else if(a&&"number"==typeof a.length)for(var c=0,e=a.length;e>c;c++)b.push(a[c]);else b.push(a);return b},d.indexOf=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},d.removeFrom=function(a,b){var c=d.indexOf(a,b);-1!=c&&a.splice(c,1)},d.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1==a.nodeType&&"string"==typeof a.nodeName},d.setText=function(){function a(a,c){b=b||(void 0!==document.documentElement.textContent?"textContent":"innerText"),a[b]=c}
|
30 |
+
var b;return a}(),d.getParent=function(a,b){for(;a!=document.body;)if(a=a.parentNode,c(a,b))return a},d.getQueryElement=function(a){return"string"==typeof a?document.querySelector(a):a},d.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},d.filterFindElements=function(a,b){a=d.makeArray(a);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f];if(d.isElement(h))if(b){c(h,b)&&e.push(h);for(var i=h.querySelectorAll(b),j=0,k=i.length;k>j;j++)e.push(i[j])}else e.push(h)}
|
31 |
+
return e},d.debounceMethod=function(a,b,c){var d=a.prototype[b],e=b+"Timeout";a.prototype[b]=function(){var a=this[e];a&&clearTimeout(a);var b=arguments,f=this;this[e]=setTimeout(function(){d.apply(f,b),delete f[e]},c||100)}},d.toDashed=function(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()};var f=a.console;return d.htmlInit=function(c,e){b(function(){for(var b=d.toDashed(e),g=document.querySelectorAll(".js-"+b),h="data-"+b+"-options",i=0,j=g.length;j>i;i++){var k,l=g[i],m=l.getAttribute(h);try{k=m&&JSON.parse(m)}catch(n){f&&f.error("Error parsing "+h+" on "+l.nodeName.toLowerCase()+(l.id?"#"+l.id:"")+": "+n);continue}
|
32 |
+
var o=new c(l,k),p=a.jQuery;p&&p.data(l,e,o)}})},d}),function(a,b){"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property","fizzy-ui-utils/utils"],function(c,d,e,f){return b(a,c,d,e,f)}):"object"==typeof exports?module.exports=b(a,require("wolfy87-eventemitter"),require("get-size"),require("desandro-get-style-property"),require("fizzy-ui-utils")):(a.Outlayer={},a.Outlayer.Item=b(a,a.EventEmitter,a.getSize,a.getStyleProperty,a.fizzyUIUtils))}(window,function(a,b,c,d,e){function f(a){for(var b in a)return!1;return b=null,!0}
|
33 |
+
function g(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}
|
34 |
+
var h=a.getComputedStyle,i=h?function(a){return h(a,null)}:function(a){return a.currentStyle},j=d("transition"),k=d("transform"),l=j&&k,m=!!d("perspective"),n={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[j],o=["transform","transition","transitionDuration","transitionProperty"],p=function(){for(var a={},b=0,c=o.length;c>b;b++){var e=o[b],f=d(e);f&&f!==e&&(a[e]=f)}
|
35 |
+
return a}();e.extend(g.prototype,b.prototype),g.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.getSize=function(){this.size=c(this.element)},g.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=p[c]||c;b[d]=a[c]}},g.prototype.getPosition=function(){var a=i(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=parseInt(a[c?"left":"right"],10),f=parseInt(a[d?"top":"bottom"],10);e=isNaN(e)?0:e,f=isNaN(f)?0:f;var g=this.layout.size;e-=c?g.paddingLeft:g.paddingRight,f-=d?g.paddingTop:g.paddingBottom,this.position.x=e,this.position.y=f},g.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={},d=b.isOriginLeft?"paddingLeft":"paddingRight",e=b.isOriginLeft?"left":"right",f=b.isOriginLeft?"right":"left",g=this.position.x+a[d];g=b.percentPosition&&!b.isHorizontal?g/a.width*100+"%":g+"px",c[e]=g,c[f]="";var h=b.isOriginTop?"paddingTop":"paddingBottom",i=b.isOriginTop?"top":"bottom",j=b.isOriginTop?"bottom":"top",k=this.position.y+a[h];k=b.percentPosition&&b.isHorizontal?k/a.height*100+"%":k+"px",c[i]=k,c[j]="",this.css(c),this.emitEvent("layout",[this])};var q=m?function(a,b){return"translate3d("+a+"px, "+b+"px, 0)"}:function(a,b){return"translate("+a+"px, "+b+"px)"};g.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={},k=this.layout.options;h=k.isOriginLeft?h:-h,i=k.isOriginTop?i:-i,j.transform=q(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},g.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},g.prototype.moveTo=l?g.prototype._transitionTo:g.prototype.goTo,g.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},g.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},g.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}
|
36 |
+
this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var r=k&&e.toDashed(k)+",opacity";g.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:r,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(n,this,!1))},g.prototype.transition=g.prototype[j?"_transition":"_nonTransition"],g.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},g.prototype.onotransitionend=function(a){this.ontransitionend(a)};var s={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};g.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,c=s[a.propertyName]||a.propertyName;if(delete b.ingProperties[c],f(b.ingProperties)&&this.disableTransition(),c in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[c]),c in b.onEnd){var d=b.onEnd[c];d.call(this),delete b.onEnd[c]}
|
37 |
+
this.emitEvent("transitionEnd",[this])}},g.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(n,this,!1),this.isTransitioning=!1},g.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var t={transitionProperty:"",transitionDuration:""};return g.prototype.removeTransitionStyles=function(){this.css(t)},g.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},g.prototype.remove=function(){if(!j||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.once("transitionEnd",function(){a.removeElem()}),this.hide()},g.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("visibleStyle");b[c]=this.onRevealTransitionEnd,this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},g.prototype.getHideRevealTransitionEndProperty=function(a){var b=this.layout.options[a];if(b.opacity)return"opacity";for(var c in b)return c},g.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("hiddenStyle");b[c]=this.onHideTransitionEnd,this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},g.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},g}),function(a,b){"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","eventEmitter/EventEmitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(c,d,e,f,g){return b(a,c,d,e,f,g)}):"object"==typeof exports?module.exports=b(a,require("eventie"),require("wolfy87-eventemitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):a.Outlayer=b(a,a.eventie,a.EventEmitter,a.getSize,a.fizzyUIUtils,a.Outlayer.Item)}(window,function(a,b,c,d,e,f){function g(a,b){var c=e.getQueryElement(a);if(!c)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(c||a)));this.element=c,i&&(this.$element=i(this.element)),this.options=e.extend({},this.constructor.defaults),this.option(b);var d=++k;this.element.outlayerGUID=d,l[d]=this,this._create(),this.options.isInitLayout&&this.layout()}
|
38 |
+
var h=a.console,i=a.jQuery,j=function(){},k=0,l={};return g.namespace="outlayer",g.Item=f,g.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e.extend(g.prototype,c.prototype),g.prototype.option=function(a){e.extend(this.options,a)},g.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e.extend(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},g.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},g.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}
|
39 |
+
return d},g.prototype._filterFindItemElements=function(a){return e.filterFindElements(a,this.options.itemSelector)},g.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},g.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},g.prototype._init=g.prototype.layout,g.prototype._resetLayout=function(){this.getSize()},g.prototype.getSize=function(){this.size=d(this.element)},g.prototype._getMeasurement=function(a,b){var c,f=this.options[a];f?("string"==typeof f?c=this.element.querySelector(f):e.isElement(f)&&(c=f),this[a]=c?d(c)[b]:f):this[a]=0},g.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},g.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}
|
40 |
+
return b},g.prototype._layoutItems=function(a,b){if(this._emitCompleteOnItems("layout",a),a&&a.length){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d],g=this._getItemLayoutPosition(f);g.item=f,g.isInstant=b||f.isLayoutInstant,c.push(g)}
|
41 |
+
this._processLayoutQueue(c)}},g.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},g.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},g.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},g.prototype._postLayout=function(){this.resizeContainer()},g.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))}},g.prototype._getContainerSize=j,g.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},g.prototype._emitCompleteOnItems=function(a,b){function c(){e.emitEvent(a+"Complete",[b])}
|
42 |
+
function d(){g++,g===f&&c()}
|
43 |
+
var e=this,f=b.length;if(!b||!f)return void c();for(var g=0,h=0,i=b.length;i>h;h++){var j=b[h];j.once(a,d)}},g.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},g.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},g.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},g.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e.removeFrom(this.stamps,d),this.unignore(d)}},g.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=e.makeArray(a)):void 0},g.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},g.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},g.prototype._manageStamp=j,g.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,e=d(a),f={left:b.left-c.left-e.marginLeft,top:b.top-c.top-e.marginTop,right:c.right-b.right-e.marginRight,bottom:c.bottom-b.bottom-e.marginBottom};return f},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.bindResize=function(){this.isResizeBound||(b.bind(a,"resize",this),this.isResizeBound=!0)},g.prototype.unbindResize=function(){this.isResizeBound&&b.unbind(a,"resize",this),this.isResizeBound=!1},g.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}
|
44 |
+
this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},g.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},g.prototype.needsResizeLayout=function(){var a=d(this.element),b=this.size&&a;return b&&a.innerWidth!==this.size.innerWidth},g.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},g.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},g.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},g.prototype.reveal=function(a){this._emitCompleteOnItems("reveal",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.reveal()}},g.prototype.hide=function(a){this._emitCompleteOnItems("hide",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.hide()}},g.prototype.revealItemElements=function(a){var b=this.getItems(a);this.reveal(b)},g.prototype.hideItemElements=function(a){var b=this.getItems(a);this.hide(b)},g.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},g.prototype.getItems=function(a){a=e.makeArray(a);for(var b=[],c=0,d=a.length;d>c;c++){var f=a[c],g=this.getItem(f);g&&b.push(g)}
|
45 |
+
return b},g.prototype.remove=function(a){var b=this.getItems(a);if(this._emitCompleteOnItems("remove",b),b&&b.length)for(var c=0,d=b.length;d>c;c++){var f=b[c];f.remove(),e.removeFrom(this.items,f)}},g.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}
|
46 |
+
this.unbindResize();var e=this.element.outlayerGUID;delete l[e],delete this.element.outlayerGUID,i&&i.removeData(this.element,this.constructor.namespace)},g.data=function(a){a=e.getQueryElement(a);var b=a&&a.outlayerGUID;return b&&l[b]},g.create=function(a,b){function c(){g.apply(this,arguments)}
|
47 |
+
return Object.create?c.prototype=Object.create(g.prototype):e.extend(c.prototype,g.prototype),c.prototype.constructor=c,c.defaults=e.extend({},g.defaults),e.extend(c.defaults,b),c.prototype.settings={},c.namespace=a,c.data=g.data,c.Item=function(){f.apply(this,arguments)},c.Item.prototype=new f,e.htmlInit(c,a),i&&i.bridget&&i.bridget(a,c),c},g.Item=f,g}),function(a,b){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","fizzy-ui-utils/utils"],b):"object"==typeof exports?module.exports=b(require("outlayer"),require("get-size"),require("fizzy-ui-utils")):a.Masonry=b(a.Outlayer,a.getSize,a.fizzyUIUtils)}(window,function(a,b,c){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}
|
48 |
+
var d=this.columnWidth+=this.gutter,e=this.containerWidth+this.gutter,f=e/d,g=d-e%d,h=g&&1>g?"round":"floor";f=Math[h](f),this.cols=Math.max(f,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c.indexOf(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}
|
49 |
+
return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.needsResizeLayout=function(){var a=this.containerWidth;return this.getContainerWidth(),a!==this.containerWidth},d})
|
50 |
+
function cffAddMasonry($self){if(jQuery(window).width()>780||$self.hasClass('masonry-2-mobile')){$self.addClass('cff-masonry cff-masonry-js').removeClass('cff-disable-masonry');if($self.find('.cff-item').length){$self.masonry({itemSelector:'.cff-new, .cff-item, .cff-likebox'});$self.find('.cff-item').each(function(){jQuery(this).css('margin-bottom','15px')})}else if($self.find('.cff-album-item').length){$self.masonry({itemSelector:'.cff-album-item'})}}else{$self.addClass('cff-disable-masonry')}}}
|
51 |
+
function cff_init(){jQuery('.cff-likebox iframe').each(function(){var $likebox=jQuery(this),likeboxWidth=$likebox.attr('data-likebox-width'),cffFeedWidth=$likebox.parent().width();if(likeboxWidth=='')likeboxWidth=340;if(cffFeedWidth<likeboxWidth)likeboxWidth=cffFeedWidth;$likebox.attr('src','https://www.facebook.com/plugins/page.php?href=https%3A%2F%2Fwww.facebook.com%2F'+$likebox.attr('data-likebox-id')+'%2F&tabs&width='+likeboxWidth+'&small_header='+$likebox.attr('data-likebox-header')+'&adapt_container_width=true&hide_cover='+$likebox.attr('data-hide-cover')+'&hide_cta='+$likebox.attr('data-hide-cta')+'&show_facepile='+$likebox.attr('data-likebox-faces')+'&locale='+$likebox.attr('data-locale'))});jQuery('#cff .cff-item').each(function(){var $self=jQuery(this);if($self.find('.cff-viewpost-facebook').parent('p').length){$self.find('.cff-viewpost-facebook').unwrap('p')}
|
52 |
+
if($self.find('.cff-author').parent('p').length){$self.find('.cff-author').eq(1).unwrap('p');$self.find('.cff-author').eq(1).remove()}
|
53 |
+
if($self.find('#cff .cff-link').parent('p').length){$self.find('#cff .cff-link').unwrap('p')}
|
54 |
+
var expanded=!1,$post_text=$self.find('.cff-post-text .cff-text'),text_limit=$self.closest('#cff').attr('data-char');if(typeof text_limit==='undefined'||text_limit=='')text_limit=99999;if($post_text.find('a.cff-post-text-link').length)$post_text=$self.find('.cff-post-text .cff-text a');var full_text=$post_text.html();if(full_text==undefined)full_text='';var cff_trunc_regx=new RegExp(/(<[^>]*>)/g);var cff_trunc_counter=0;full_text_arr=full_text.split(cff_trunc_regx);for(var i=0,len=full_text_arr.length;i<len;i++){if(!(cff_trunc_regx.test(full_text_arr[i]))){if(cff_trunc_counter==text_limit){full_text_arr.splice(i,1);continue}
|
55 |
+
cff_trunc_counter=cff_trunc_counter+full_text_arr[i].length;if(cff_trunc_counter>text_limit){var diff=cff_trunc_counter-text_limit;full_text_arr[i]=full_text_arr[i].slice(0,-diff);cff_trunc_counter=text_limit;if(full_text.length>text_limit)$self.find('.cff-expand').show()}}}
|
56 |
+
var short_text=full_text_arr.join('');short_text=short_text.replace(/(<(?!\/)[^>]+>)+(<\/[^>]+>)/g,"");var lastChar=short_text.substr(short_text.length-1);if(lastChar=='<')short_text=short_text.substring(0,short_text.length-1);short_text=short_text.replace(/(<br>\s*)+$/,'');short_text=short_text.replace(/(<img class="cff-linebreak">\s*)+$/,'');$post_text.html(short_text);$self.find('.cff-expand a').unbind('click').bind('click',function(e){e.preventDefault();var $expand=jQuery(this),$more=$expand.find('.cff-more'),$less=$expand.find('.cff-less');if(expanded==!1){$post_text.html(full_text);expanded=!0;$more.hide();$less.show()}else{$post_text.html(short_text);expanded=!1;$more.show();$less.hide()}
|
57 |
+
cffLinkHashtags();$post_text.find('a').attr('target','_blank')});$post_text.find('a').add($self.find('.cff-post-desc a')).attr({'target':'_blank','rel':'nofollow'});$sharedLink=$self.find('.cff-shared-link');if($sharedLink.text()==''){$sharedLink.remove()}
|
58 |
+
function cffLinkHashtags(){var cffTextStr=$self.find('.cff-text').html(),cffDescStr=$self.find('.cff-post-desc').html(),regex=/(^|\s)#(\w*[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]+\w*)/gi,linkcolor=$self.find('.cff-text').attr('data-color');function replacer(hash){var replacementString=jQuery.trim(hash);if(/^#[0-9A-F]{6}$/i.test(replacementString)){return replacementString}else{return' <a href="https://www.facebook.com/hashtag/'+replacementString.substring(1)+'" target="_blank" rel="nofollow" style="color:#'+linkcolor+'">'+replacementString+'</a>'}}
|
59 |
+
if(typeof cfflinkhashtags=='undefined')cfflinkhashtags='true';if(cfflinkhashtags=='true'){var $cffText=$self.find('.cff-text');if($cffText.length>0){cffTextStr=cffTextStr.replace(/<br>/g,"<br> ");$cffText.html(cffTextStr.replace(regex,replacer))}}
|
60 |
+
if($self.find('.cff-post-desc').length>0)$self.find('.cff-post-desc').html(cffDescStr.replace(regex,replacer))}
|
61 |
+
cffLinkHashtags();$self.find('.cff-text a').add($self.find('.cff-post-desc a')).attr({'target':'_blank','rel':'nofollow noopener noreferrer'});$self.find('.cff-share-link').unbind().bind('click',function(e){e.preventDefault();var $cffShareTooltip=$self.find('.cff-share-tooltip')
|
62 |
+
if($cffShareTooltip.is(':visible')){$cffShareTooltip.hide().find('a').removeClass('cff-show')}else{$cffShareTooltip.show();var time=0;$cffShareTooltip.find('a').each(function(){var $cffShareIcon=jQuery(this);setTimeout(function(){$cffShareIcon.addClass('cff-show')},time);time+=20})}})});jQuery('.cff-wrapper').each(function(){var $cff=jQuery(this).find('#cff');if($cff.hasClass('cff-masonry-js')){cffAddMasonry($cff);setTimeout(function(){cffAddMasonry($cff)},500);jQuery(window).resize(function(){setTimeout(function(){cffAddMasonry($cff)},500)});if($cff.find('.cff-credit').length)$cff.css('padding-bottom',30)}})}
|
63 |
cff_init()}
|
js/jquery.matchHeight-min.js
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*
|
2 |
+
* jquery-match-height 0.7.2 by @liabru
|
3 |
+
* http://brm.io/jquery-match-height/
|
4 |
+
* License MIT
|
5 |
+
*/
|
6 |
+
!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=-1,o=-1,n=function(t){return parseFloat(t)||0},a=function(e){var o=1,a=t(e),i=null,r=[];return a.each(function(){var e=t(this),a=e.offset().top-n(e.css("margin-top")),s=r.length>0?r[r.length-1]:null;null===s?r.push(e):Math.floor(Math.abs(i-a))<=o?r[r.length-1]=s.add(e):r.push(e),i=a}),r},i=function(e){var o={
|
7 |
+
byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof e?t.extend(o,e):("boolean"==typeof e?o.byRow=e:"remove"===e&&(o.remove=!0),o)},r=t.fn.matchHeight=function(e){var o=i(e);if(o.remove){var n=this;return this.css(o.property,""),t.each(r._groups,function(t,e){e.elements=e.elements.not(n)}),this}return this.length<=1&&!o.target?this:(r._groups.push({elements:this,options:o}),r._apply(this,o),this)};r.version="0.7.2",r._groups=[],r._throttle=80,r._maintainScroll=!1,r._beforeUpdate=null,
|
8 |
+
r._afterUpdate=null,r._rows=a,r._parse=n,r._parseOptions=i,r._apply=function(e,o){var s=i(o),h=t(e),l=[h],c=t(window).scrollTop(),p=t("html").outerHeight(!0),u=h.parents().filter(":hidden");return u.each(function(){var e=t(this);e.data("style-cache",e.attr("style"))}),u.css("display","block"),s.byRow&&!s.target&&(h.each(function(){var e=t(this),o=e.css("display");"inline-block"!==o&&"flex"!==o&&"inline-flex"!==o&&(o="block"),e.data("style-cache",e.attr("style")),e.css({display:o,"padding-top":"0",
|
9 |
+
"padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),l=a(h),h.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||"")})),t.each(l,function(e,o){var a=t(o),i=0;if(s.target)i=s.target.outerHeight(!1);else{if(s.byRow&&a.length<=1)return void a.css(s.property,"");a.each(function(){var e=t(this),o=e.attr("style"),n=e.css("display");"inline-block"!==n&&"flex"!==n&&"inline-flex"!==n&&(n="block");var a={
|
10 |
+
display:n};a[s.property]="",e.css(a),e.outerHeight(!1)>i&&(i=e.outerHeight(!1)),o?e.attr("style",o):e.css("display","")})}a.each(function(){var e=t(this),o=0;s.target&&e.is(s.target)||("border-box"!==e.css("box-sizing")&&(o+=n(e.css("border-top-width"))+n(e.css("border-bottom-width")),o+=n(e.css("padding-top"))+n(e.css("padding-bottom"))),e.css(s.property,i-o+"px"))})}),u.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||null)}),r._maintainScroll&&t(window).scrollTop(c/p*t("html").outerHeight(!0)),
|
11 |
+
this},r._applyDataApi=function(){var e={};t("[data-match-height], [data-mh]").each(function(){var o=t(this),n=o.attr("data-mh")||o.attr("data-match-height");n in e?e[n]=e[n].add(o):e[n]=o}),t.each(e,function(){this.matchHeight(!0)})};var s=function(e){r._beforeUpdate&&r._beforeUpdate(e,r._groups),t.each(r._groups,function(){r._apply(this.elements,this.options)}),r._afterUpdate&&r._afterUpdate(e,r._groups)};r._update=function(n,a){if(a&&"resize"===a.type){var i=t(window).width();if(i===e)return;e=i;
|
12 |
+
}n?o===-1&&(o=setTimeout(function(){s(a),o=-1},r._throttle)):s(a)},t(r._applyDataApi);var h=t.fn.on?"on":"bind";t(window)[h]("load",function(t){r._update(!1,t)}),t(window)[h]("resize orientationchange",function(t){r._update(!0,t)})});
|
languages/custom-facebook-feed.po
CHANGED
@@ -1,2300 +1,2300 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: \n"
|
4 |
-
"POT-Creation-Date: 2020-03-26 13:28-0500\n"
|
5 |
-
"PO-Revision-Date: 2020-03-26 13:29-0500\n"
|
6 |
-
"Last-Translator: \n"
|
7 |
-
"Language-Team: \n"
|
8 |
-
"Language: en_US\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 2.3\n"
|
13 |
-
"X-Poedit-Basepath: ..\n"
|
14 |
-
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
-
"X-Poedit-KeywordsList: __;_e;esc_html_e;esc_attr_e\n"
|
16 |
-
"X-Poedit-SearchPath-0: .\n"
|
17 |
-
|
18 |
-
#: custom-facebook-feed-admin.php:113 custom-facebook-feed-admin.php:1943
|
19 |
-
msgid "Settings saved."
|
20 |
-
msgstr ""
|
21 |
-
|
22 |
-
#: custom-facebook-feed-admin.php:126 custom-facebook-feed-admin.php:1954
|
23 |
-
msgid ""
|
24 |
-
"You're using Custom Facebook Feed Lite. To unlock more features consider <a "
|
25 |
-
"href=\"https://smashballoon.com/custom-facebook-feed/?"
|
26 |
-
"utm_source=WordPress&utm_campaign=facebookliteplugin&utm_medium=notice-bar\" "
|
27 |
-
"target=\"_blank\" rel=\"noopener noreferrer\">upgrading to Pro</a>."
|
28 |
-
msgstr ""
|
29 |
-
|
30 |
-
#: custom-facebook-feed-admin.php:127 custom-facebook-feed-admin.php:1955
|
31 |
-
msgid "Dismiss this message."
|
32 |
-
msgstr ""
|
33 |
-
|
34 |
-
#: custom-facebook-feed-admin.php:133 custom-facebook-feed-admin.php:1962
|
35 |
-
#: custom-facebook-feed-admin.php:4355
|
36 |
-
msgid "Custom Facebook Feed"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: custom-facebook-feed-admin.php:140 custom-facebook-feed-admin.php:152
|
40 |
-
#: custom-facebook-feed-admin.php:1974
|
41 |
-
msgid "Configuration"
|
42 |
-
msgstr ""
|
43 |
-
|
44 |
-
#: custom-facebook-feed-admin.php:141 custom-facebook-feed-admin.php:1975
|
45 |
-
msgid "Customize"
|
46 |
-
msgstr ""
|
47 |
-
|
48 |
-
#: custom-facebook-feed-admin.php:142 custom-facebook-feed-admin.php:763
|
49 |
-
#: custom-facebook-feed-admin.php:1976 custom-facebook-feed-admin.php:2480
|
50 |
-
msgid "Support"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: custom-facebook-feed-admin.php:178 custom-facebook-feed-admin.php:180
|
54 |
-
msgid "Continue"
|
55 |
-
msgstr ""
|
56 |
-
|
57 |
-
#: custom-facebook-feed-admin.php:190
|
58 |
-
msgid "Log in and get my Access Token"
|
59 |
-
msgstr ""
|
60 |
-
|
61 |
-
#: custom-facebook-feed-admin.php:363
|
62 |
-
msgid "Show Available Groups"
|
63 |
-
msgstr ""
|
64 |
-
|
65 |
-
#: custom-facebook-feed-admin.php:363
|
66 |
-
msgid "Show Available Pages"
|
67 |
-
msgstr ""
|
68 |
-
|
69 |
-
#: custom-facebook-feed-admin.php:375
|
70 |
-
msgid ""
|
71 |
-
"Facebook Page ID<br /><i style=\"font-weight: normal; font-size: 12px;\">ID "
|
72 |
-
"of your Facebook Page or Group</i>"
|
73 |
-
msgstr ""
|
74 |
-
|
75 |
-
#: custom-facebook-feed-admin.php:380
|
76 |
-
msgid "What's my Page ID?"
|
77 |
-
msgstr ""
|
78 |
-
|
79 |
-
#: custom-facebook-feed-admin.php:384
|
80 |
-
msgid ""
|
81 |
-
"<b>Facebook Page</b><br />\r\n"
|
82 |
-
" You can find the ID of your Facebook "
|
83 |
-
"<b>Page</b> from the URL. In each URL format, the ID is highlighted below:"
|
84 |
-
"<br /><br />\r\n"
|
85 |
-
" URL Format 1: <code>https://www.facebook."
|
86 |
-
"com/<span class=\"cff-highlight\">your_page_name</span></code>\r\n"
|
87 |
-
" <br />\r\n"
|
88 |
-
" URL Format 2: <code>https://www.facebook."
|
89 |
-
"com/your_page_name-<span class=\"cff-highlight\">1234567890</span></code>\r\n"
|
90 |
-
" <br />\r\n"
|
91 |
-
" URL Format 3: <code>https://www.facebook."
|
92 |
-
"com/pages/your_page_name/<span class=\"cff-highlight\">1234567890</span></"
|
93 |
-
"code>\r\n"
|
94 |
-
" "
|
95 |
-
msgstr ""
|
96 |
-
|
97 |
-
#: custom-facebook-feed-admin.php:393
|
98 |
-
msgid ""
|
99 |
-
"<b>Facebook Group</b><br />You can find the ID of your Facebook <b>Group</b> "
|
100 |
-
"from the URL, like so: <code>https://www.facebook.com/groups/<span class="
|
101 |
-
"\"cff-highlight\">1234567890</span></code>"
|
102 |
-
msgstr ""
|
103 |
-
|
104 |
-
#: custom-facebook-feed-admin.php:417
|
105 |
-
msgid "Facebook Access Token"
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: custom-facebook-feed-admin.php:417
|
109 |
-
msgid "Required"
|
110 |
-
msgstr ""
|
111 |
-
|
112 |
-
#: custom-facebook-feed-admin.php:419 custom-facebook-feed-admin.php:3580
|
113 |
-
msgid "What is this?"
|
114 |
-
msgstr ""
|
115 |
-
|
116 |
-
#: custom-facebook-feed-admin.php:420
|
117 |
-
msgid ""
|
118 |
-
"In order to connect to Facebook and get a feed, you need to use an Access "
|
119 |
-
"Token. To get one, simply use the blue button above to log into your "
|
120 |
-
"Facebook account. You will then receive a token that will be used to connect "
|
121 |
-
"to Facebook's API. If you already have an Access Token then you can enter it "
|
122 |
-
"here."
|
123 |
-
msgstr ""
|
124 |
-
|
125 |
-
#: custom-facebook-feed-admin.php:423
|
126 |
-
msgid ""
|
127 |
-
"<p>This doesn't appear to be an Access Token. Please be sure that you didn't "
|
128 |
-
"enter your App Secret instead of your Access Token.<br />Your App ID and App "
|
129 |
-
"Secret are used to obtain your Access Token; simply paste them into the "
|
130 |
-
"fields in the last step of the <a href='https://smashballoon.com/custom-"
|
131 |
-
"facebook-feed/access-token/' target='_blank'>Access Token instructions</a> "
|
132 |
-
"and click '<b>Get my Access Token</b>'.</p>"
|
133 |
-
msgstr ""
|
134 |
-
|
135 |
-
#: custom-facebook-feed-admin.php:435
|
136 |
-
msgid "Is it a Facebook page or group?"
|
137 |
-
msgstr ""
|
138 |
-
|
139 |
-
#: custom-facebook-feed-admin.php:437
|
140 |
-
msgid "- Select one -"
|
141 |
-
msgstr ""
|
142 |
-
|
143 |
-
#: custom-facebook-feed-admin.php:438 custom-facebook-feed-admin.php:446
|
144 |
-
#: custom-facebook-feed-admin.php:453 custom-facebook-feed-admin.php:456
|
145 |
-
#: custom-facebook-feed-admin.php:463 custom-facebook-feed-admin.php:499
|
146 |
-
msgid "Page"
|
147 |
-
msgstr ""
|
148 |
-
|
149 |
-
#: custom-facebook-feed-admin.php:439 custom-facebook-feed-admin.php:446
|
150 |
-
#: custom-facebook-feed-admin.php:453 custom-facebook-feed-admin.php:456
|
151 |
-
#: custom-facebook-feed-admin.php:463 custom-facebook-feed-admin.php:500
|
152 |
-
msgid "Group"
|
153 |
-
msgstr ""
|
154 |
-
|
155 |
-
#: custom-facebook-feed-admin.php:446
|
156 |
-
msgid "Name"
|
157 |
-
msgstr ""
|
158 |
-
|
159 |
-
#: custom-facebook-feed-admin.php:446
|
160 |
-
msgid "(optional)"
|
161 |
-
msgstr ""
|
162 |
-
|
163 |
-
#: custom-facebook-feed-admin.php:449
|
164 |
-
msgid "This is just for labeling the account here on this settings page"
|
165 |
-
msgstr ""
|
166 |
-
|
167 |
-
#: custom-facebook-feed-admin.php:453
|
168 |
-
msgid "ID"
|
169 |
-
msgstr ""
|
170 |
-
|
171 |
-
#: custom-facebook-feed-admin.php:456
|
172 |
-
msgid "The ID of the Facebook"
|
173 |
-
msgstr ""
|
174 |
-
|
175 |
-
#: custom-facebook-feed-admin.php:456
|
176 |
-
msgid "you want to add."
|
177 |
-
msgstr ""
|
178 |
-
|
179 |
-
#: custom-facebook-feed-admin.php:456
|
180 |
-
msgid "How do I find my Page ID?"
|
181 |
-
msgstr ""
|
182 |
-
|
183 |
-
#: custom-facebook-feed-admin.php:460
|
184 |
-
msgid "Access Token"
|
185 |
-
msgstr ""
|
186 |
-
|
187 |
-
#: custom-facebook-feed-admin.php:463
|
188 |
-
msgid "The Access Token of the Facebook"
|
189 |
-
msgstr ""
|
190 |
-
|
191 |
-
#: custom-facebook-feed-admin.php:463
|
192 |
-
msgid "you want to add"
|
193 |
-
msgstr ""
|
194 |
-
|
195 |
-
#: custom-facebook-feed-admin.php:492 custom-facebook-feed-admin.php:4158
|
196 |
-
msgid "Settings"
|
197 |
-
msgstr ""
|
198 |
-
|
199 |
-
#: custom-facebook-feed-admin.php:495
|
200 |
-
msgid "Is it a page or group?"
|
201 |
-
msgstr ""
|
202 |
-
|
203 |
-
#: custom-facebook-feed-admin.php:501
|
204 |
-
msgid "Profile"
|
205 |
-
msgstr ""
|
206 |
-
|
207 |
-
#: custom-facebook-feed-admin.php:504
|
208 |
-
msgid ""
|
209 |
-
"<p>Due to Facebook's privacy policy you're not able to display posts from a "
|
210 |
-
"personal profile, only from a public Facebook Page.</p><p>If you're using a "
|
211 |
-
"profile to represent a business, organization, product, public figure or the "
|
212 |
-
"like, then Facebook recommends <a href='http://www.facebook.com/"
|
213 |
-
"help/175644189234902/' target='_blank'>converting your profile to a page</"
|
214 |
-
"a>. There are many advantages to using pages over profiles, and once you've "
|
215 |
-
"converted then the plugin will be able to successfully retrieve and display "
|
216 |
-
"all of your posts.</p>"
|
217 |
-
msgstr ""
|
218 |
-
|
219 |
-
#: custom-facebook-feed-admin.php:510
|
220 |
-
msgid "Show posts on my page by:"
|
221 |
-
msgstr ""
|
222 |
-
|
223 |
-
#: custom-facebook-feed-admin.php:514
|
224 |
-
msgid "Only the page owner (me)"
|
225 |
-
msgstr ""
|
226 |
-
|
227 |
-
#: custom-facebook-feed-admin.php:515
|
228 |
-
msgid "Page owner + other people"
|
229 |
-
msgstr ""
|
230 |
-
|
231 |
-
#: custom-facebook-feed-admin.php:516
|
232 |
-
msgid "Only other people"
|
233 |
-
msgstr ""
|
234 |
-
|
235 |
-
#: custom-facebook-feed-admin.php:522
|
236 |
-
msgid "Number of posts to display"
|
237 |
-
msgstr ""
|
238 |
-
|
239 |
-
#: custom-facebook-feed-admin.php:530
|
240 |
-
msgid "Facebook API post limit"
|
241 |
-
msgstr ""
|
242 |
-
|
243 |
-
#: custom-facebook-feed-admin.php:534 custom-facebook-feed-admin.php:544
|
244 |
-
#: custom-facebook-feed-admin.php:3917
|
245 |
-
msgid "Auto"
|
246 |
-
msgstr ""
|
247 |
-
|
248 |
-
#: custom-facebook-feed-admin.php:535 custom-facebook-feed-admin.php:547
|
249 |
-
msgid "Manual"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: custom-facebook-feed-admin.php:542
|
253 |
-
msgid ""
|
254 |
-
"The post 'limit' is the number of posts retrieved from the Facebook API. "
|
255 |
-
"Most users won't need to manually adjust this setting as by default the "
|
256 |
-
"plugin automatically retrieves a few more posts from the Facebook API than "
|
257 |
-
"you need, as some posts may be filtered out."
|
258 |
-
msgstr ""
|
259 |
-
|
260 |
-
#: custom-facebook-feed-admin.php:544
|
261 |
-
msgid "Recommended"
|
262 |
-
msgstr ""
|
263 |
-
|
264 |
-
#: custom-facebook-feed-admin.php:545
|
265 |
-
msgid ""
|
266 |
-
"Allow the plugin to automatically decide how many posts to retrieve from "
|
267 |
-
"Facebook's API."
|
268 |
-
msgstr ""
|
269 |
-
|
270 |
-
#: custom-facebook-feed-admin.php:548
|
271 |
-
msgid ""
|
272 |
-
"Manually set how many posts to retrieve from Facebook's API.<br /><b>Note:</"
|
273 |
-
"b> If you choose to retrieve a high number of posts then it will take longer "
|
274 |
-
"for Facebook to return the posts when the plugin checks for new ones."
|
275 |
-
msgstr ""
|
276 |
-
|
277 |
-
#: custom-facebook-feed-admin.php:552
|
278 |
-
msgid "Check for new posts every"
|
279 |
-
msgstr ""
|
280 |
-
|
281 |
-
#: custom-facebook-feed-admin.php:556
|
282 |
-
msgid "Minutes"
|
283 |
-
msgstr ""
|
284 |
-
|
285 |
-
#: custom-facebook-feed-admin.php:557
|
286 |
-
msgid "Hours"
|
287 |
-
msgstr ""
|
288 |
-
|
289 |
-
#: custom-facebook-feed-admin.php:558
|
290 |
-
msgid "Days"
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: custom-facebook-feed-admin.php:561
|
294 |
-
msgid ""
|
295 |
-
"Your Facebook posts and comments data is temporarily cached by the plugin in "
|
296 |
-
"your WordPress database. You can choose how long this data should be cached "
|
297 |
-
"for. If you set the time to 60 minutes then the plugin will clear the cached "
|
298 |
-
"data after that length of time, and the next time the page is viewed it will "
|
299 |
-
"check for new data."
|
300 |
-
msgstr ""
|
301 |
-
|
302 |
-
#: custom-facebook-feed-admin.php:566
|
303 |
-
msgid "Localization"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: custom-facebook-feed-admin.php:570
|
307 |
-
msgid "Afrikaans"
|
308 |
-
msgstr ""
|
309 |
-
|
310 |
-
#: custom-facebook-feed-admin.php:571
|
311 |
-
msgid "Arabic"
|
312 |
-
msgstr ""
|
313 |
-
|
314 |
-
#: custom-facebook-feed-admin.php:572
|
315 |
-
msgid "Azerbaijani"
|
316 |
-
msgstr ""
|
317 |
-
|
318 |
-
#: custom-facebook-feed-admin.php:573
|
319 |
-
msgid "Belarusian"
|
320 |
-
msgstr ""
|
321 |
-
|
322 |
-
#: custom-facebook-feed-admin.php:574
|
323 |
-
msgid "Bulgarian"
|
324 |
-
msgstr ""
|
325 |
-
|
326 |
-
#: custom-facebook-feed-admin.php:575
|
327 |
-
msgid "Bengali"
|
328 |
-
msgstr ""
|
329 |
-
|
330 |
-
#: custom-facebook-feed-admin.php:576
|
331 |
-
msgid "Bosnian"
|
332 |
-
msgstr ""
|
333 |
-
|
334 |
-
#: custom-facebook-feed-admin.php:577
|
335 |
-
msgid "Catalan"
|
336 |
-
msgstr ""
|
337 |
-
|
338 |
-
#: custom-facebook-feed-admin.php:578
|
339 |
-
msgid "Czech"
|
340 |
-
msgstr ""
|
341 |
-
|
342 |
-
#: custom-facebook-feed-admin.php:579
|
343 |
-
msgid "Welsh"
|
344 |
-
msgstr ""
|
345 |
-
|
346 |
-
#: custom-facebook-feed-admin.php:580
|
347 |
-
msgid "Danish"
|
348 |
-
msgstr ""
|
349 |
-
|
350 |
-
#: custom-facebook-feed-admin.php:581
|
351 |
-
msgid "German"
|
352 |
-
msgstr ""
|
353 |
-
|
354 |
-
#: custom-facebook-feed-admin.php:582
|
355 |
-
msgid "Greek"
|
356 |
-
msgstr ""
|
357 |
-
|
358 |
-
#: custom-facebook-feed-admin.php:583
|
359 |
-
msgid "English (UK)"
|
360 |
-
msgstr ""
|
361 |
-
|
362 |
-
#: custom-facebook-feed-admin.php:584
|
363 |
-
msgid "English (Pirate)"
|
364 |
-
msgstr ""
|
365 |
-
|
366 |
-
#: custom-facebook-feed-admin.php:585
|
367 |
-
msgid "English (Upside Down)"
|
368 |
-
msgstr ""
|
369 |
-
|
370 |
-
#: custom-facebook-feed-admin.php:586
|
371 |
-
msgid "English (US)"
|
372 |
-
msgstr ""
|
373 |
-
|
374 |
-
#: custom-facebook-feed-admin.php:587
|
375 |
-
msgid "Esperanto"
|
376 |
-
msgstr ""
|
377 |
-
|
378 |
-
#: custom-facebook-feed-admin.php:588
|
379 |
-
msgid "Spanish (Spain)"
|
380 |
-
msgstr ""
|
381 |
-
|
382 |
-
#: custom-facebook-feed-admin.php:589
|
383 |
-
msgid "Spanish"
|
384 |
-
msgstr ""
|
385 |
-
|
386 |
-
#: custom-facebook-feed-admin.php:590
|
387 |
-
msgid "Estonian"
|
388 |
-
msgstr ""
|
389 |
-
|
390 |
-
#: custom-facebook-feed-admin.php:591
|
391 |
-
msgid "Basque"
|
392 |
-
msgstr ""
|
393 |
-
|
394 |
-
#: custom-facebook-feed-admin.php:592
|
395 |
-
msgid "Persian"
|
396 |
-
msgstr ""
|
397 |
-
|
398 |
-
#: custom-facebook-feed-admin.php:593
|
399 |
-
msgid "Leet Speak"
|
400 |
-
msgstr ""
|
401 |
-
|
402 |
-
#: custom-facebook-feed-admin.php:594
|
403 |
-
msgid "Finnish"
|
404 |
-
msgstr ""
|
405 |
-
|
406 |
-
#: custom-facebook-feed-admin.php:595
|
407 |
-
msgid "Faroese"
|
408 |
-
msgstr ""
|
409 |
-
|
410 |
-
#: custom-facebook-feed-admin.php:596
|
411 |
-
msgid "French (Canada)"
|
412 |
-
msgstr ""
|
413 |
-
|
414 |
-
#: custom-facebook-feed-admin.php:597
|
415 |
-
msgid "French (France)"
|
416 |
-
msgstr ""
|
417 |
-
|
418 |
-
#: custom-facebook-feed-admin.php:598
|
419 |
-
msgid "Frisian"
|
420 |
-
msgstr ""
|
421 |
-
|
422 |
-
#: custom-facebook-feed-admin.php:599
|
423 |
-
msgid "Irish"
|
424 |
-
msgstr ""
|
425 |
-
|
426 |
-
#: custom-facebook-feed-admin.php:600
|
427 |
-
msgid "Galician"
|
428 |
-
msgstr ""
|
429 |
-
|
430 |
-
#: custom-facebook-feed-admin.php:601
|
431 |
-
msgid "Hebrew"
|
432 |
-
msgstr ""
|
433 |
-
|
434 |
-
#: custom-facebook-feed-admin.php:602
|
435 |
-
msgid "Hindi"
|
436 |
-
msgstr ""
|
437 |
-
|
438 |
-
#: custom-facebook-feed-admin.php:603
|
439 |
-
msgid "Croatian"
|
440 |
-
msgstr ""
|
441 |
-
|
442 |
-
#: custom-facebook-feed-admin.php:604
|
443 |
-
msgid "Hungarian"
|
444 |
-
msgstr ""
|
445 |
-
|
446 |
-
#: custom-facebook-feed-admin.php:605
|
447 |
-
msgid "Armenian"
|
448 |
-
msgstr ""
|
449 |
-
|
450 |
-
#: custom-facebook-feed-admin.php:606
|
451 |
-
msgid "Indonesian"
|
452 |
-
msgstr ""
|
453 |
-
|
454 |
-
#: custom-facebook-feed-admin.php:607
|
455 |
-
msgid "Icelandic"
|
456 |
-
msgstr ""
|
457 |
-
|
458 |
-
#: custom-facebook-feed-admin.php:608
|
459 |
-
msgid "Italian"
|
460 |
-
msgstr ""
|
461 |
-
|
462 |
-
#: custom-facebook-feed-admin.php:609
|
463 |
-
msgid "Japanese"
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: custom-facebook-feed-admin.php:610
|
467 |
-
msgid "Georgian"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: custom-facebook-feed-admin.php:611
|
471 |
-
msgid "Khmer"
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: custom-facebook-feed-admin.php:612
|
475 |
-
msgid "Korean"
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: custom-facebook-feed-admin.php:613
|
479 |
-
msgid "Kurdish"
|
480 |
-
msgstr ""
|
481 |
-
|
482 |
-
#: custom-facebook-feed-admin.php:614
|
483 |
-
msgid "Latin"
|
484 |
-
msgstr ""
|
485 |
-
|
486 |
-
#: custom-facebook-feed-admin.php:615
|
487 |
-
msgid "Lithuanian"
|
488 |
-
msgstr ""
|
489 |
-
|
490 |
-
#: custom-facebook-feed-admin.php:616
|
491 |
-
msgid "Latvian"
|
492 |
-
msgstr ""
|
493 |
-
|
494 |
-
#: custom-facebook-feed-admin.php:617
|
495 |
-
msgid "Macedonian"
|
496 |
-
msgstr ""
|
497 |
-
|
498 |
-
#: custom-facebook-feed-admin.php:618
|
499 |
-
msgid "Malayalam"
|
500 |
-
msgstr ""
|
501 |
-
|
502 |
-
#: custom-facebook-feed-admin.php:619
|
503 |
-
msgid "Malay"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: custom-facebook-feed-admin.php:620
|
507 |
-
msgid "Norwegian (bokmal)"
|
508 |
-
msgstr ""
|
509 |
-
|
510 |
-
#: custom-facebook-feed-admin.php:621
|
511 |
-
msgid "Nepali"
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: custom-facebook-feed-admin.php:622
|
515 |
-
msgid "Dutch"
|
516 |
-
msgstr ""
|
517 |
-
|
518 |
-
#: custom-facebook-feed-admin.php:623
|
519 |
-
msgid "Norwegian (nynorsk)"
|
520 |
-
msgstr ""
|
521 |
-
|
522 |
-
#: custom-facebook-feed-admin.php:624
|
523 |
-
msgid "Punjabi"
|
524 |
-
msgstr ""
|
525 |
-
|
526 |
-
#: custom-facebook-feed-admin.php:625
|
527 |
-
msgid "Polish"
|
528 |
-
msgstr ""
|
529 |
-
|
530 |
-
#: custom-facebook-feed-admin.php:626
|
531 |
-
msgid "Pashto"
|
532 |
-
msgstr ""
|
533 |
-
|
534 |
-
#: custom-facebook-feed-admin.php:627
|
535 |
-
msgid "Portuguese (Brazil)"
|
536 |
-
msgstr ""
|
537 |
-
|
538 |
-
#: custom-facebook-feed-admin.php:628
|
539 |
-
msgid "Portuguese (Portugal)"
|
540 |
-
msgstr ""
|
541 |
-
|
542 |
-
#: custom-facebook-feed-admin.php:629
|
543 |
-
msgid "Romanian"
|
544 |
-
msgstr ""
|
545 |
-
|
546 |
-
#: custom-facebook-feed-admin.php:630
|
547 |
-
msgid "Russian"
|
548 |
-
msgstr ""
|
549 |
-
|
550 |
-
#: custom-facebook-feed-admin.php:631
|
551 |
-
msgid "Slovak"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: custom-facebook-feed-admin.php:632
|
555 |
-
msgid "Slovenian"
|
556 |
-
msgstr ""
|
557 |
-
|
558 |
-
#: custom-facebook-feed-admin.php:633
|
559 |
-
msgid "Albanian"
|
560 |
-
msgstr ""
|
561 |
-
|
562 |
-
#: custom-facebook-feed-admin.php:634
|
563 |
-
msgid "Serbian"
|
564 |
-
msgstr ""
|
565 |
-
|
566 |
-
#: custom-facebook-feed-admin.php:635
|
567 |
-
msgid "Swedish"
|
568 |
-
msgstr ""
|
569 |
-
|
570 |
-
#: custom-facebook-feed-admin.php:636
|
571 |
-
msgid "Swahili"
|
572 |
-
msgstr ""
|
573 |
-
|
574 |
-
#: custom-facebook-feed-admin.php:637
|
575 |
-
msgid "Tamil"
|
576 |
-
msgstr ""
|
577 |
-
|
578 |
-
#: custom-facebook-feed-admin.php:638
|
579 |
-
msgid "Telugu"
|
580 |
-
msgstr ""
|
581 |
-
|
582 |
-
#: custom-facebook-feed-admin.php:639
|
583 |
-
msgid "Thai"
|
584 |
-
msgstr ""
|
585 |
-
|
586 |
-
#: custom-facebook-feed-admin.php:640
|
587 |
-
msgid "Filipino"
|
588 |
-
msgstr ""
|
589 |
-
|
590 |
-
#: custom-facebook-feed-admin.php:641
|
591 |
-
msgid "Turkish"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: custom-facebook-feed-admin.php:642
|
595 |
-
msgid "Ukrainian"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: custom-facebook-feed-admin.php:643
|
599 |
-
msgid "Vietnamese"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: custom-facebook-feed-admin.php:644
|
603 |
-
msgid "Simplified Chinese (China)"
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: custom-facebook-feed-admin.php:645
|
607 |
-
msgid "Traditional Chinese (Hong Kong)"
|
608 |
-
msgstr ""
|
609 |
-
|
610 |
-
#: custom-facebook-feed-admin.php:646
|
611 |
-
msgid "Traditional Chinese (Taiwan)"
|
612 |
-
msgstr ""
|
613 |
-
|
614 |
-
#: custom-facebook-feed-admin.php:649
|
615 |
-
msgid ""
|
616 |
-
"This translates some of the text sent by Facebook, specifically, the "
|
617 |
-
"descriptive post text (eg: Smash Balloon shared a link) and the text in the "
|
618 |
-
"'Like Box' widget. To find out how to translate the other text in the plugin "
|
619 |
-
"see <a href='https://smashballoon.com/cff-how-does-the-plugin-handle-text-"
|
620 |
-
"and-language-translation/' target='_blank'>this FAQ</a>."
|
621 |
-
msgstr ""
|
622 |
-
|
623 |
-
#: custom-facebook-feed-admin.php:654 custom-facebook-feed-admin.php:3056
|
624 |
-
msgid "Timezone"
|
625 |
-
msgstr ""
|
626 |
-
|
627 |
-
#: custom-facebook-feed-admin.php:659 custom-facebook-feed-admin.php:3061
|
628 |
-
msgid "(GMT-11:00) Midway Island, Samoa"
|
629 |
-
msgstr ""
|
630 |
-
|
631 |
-
#: custom-facebook-feed-admin.php:660 custom-facebook-feed-admin.php:3062
|
632 |
-
msgid "(GMT-10:00) Hawaii-Aleutian"
|
633 |
-
msgstr ""
|
634 |
-
|
635 |
-
#: custom-facebook-feed-admin.php:661 custom-facebook-feed-admin.php:3063
|
636 |
-
msgid "(GMT-10:00) Hawaii"
|
637 |
-
msgstr ""
|
638 |
-
|
639 |
-
#: custom-facebook-feed-admin.php:662 custom-facebook-feed-admin.php:3064
|
640 |
-
msgid "(GMT-09:30) Marquesas Islands"
|
641 |
-
msgstr ""
|
642 |
-
|
643 |
-
#: custom-facebook-feed-admin.php:663 custom-facebook-feed-admin.php:3065
|
644 |
-
msgid "(GMT-09:00) Gambier Islands"
|
645 |
-
msgstr ""
|
646 |
-
|
647 |
-
#: custom-facebook-feed-admin.php:664 custom-facebook-feed-admin.php:3066
|
648 |
-
msgid "(GMT-09:00) Alaska"
|
649 |
-
msgstr ""
|
650 |
-
|
651 |
-
#: custom-facebook-feed-admin.php:665 custom-facebook-feed-admin.php:3067
|
652 |
-
msgid "(GMT-08:00) Tijuana, Baja California"
|
653 |
-
msgstr ""
|
654 |
-
|
655 |
-
#: custom-facebook-feed-admin.php:666 custom-facebook-feed-admin.php:3068
|
656 |
-
msgid "(GMT-08:00) Pitcairn Islands"
|
657 |
-
msgstr ""
|
658 |
-
|
659 |
-
#: custom-facebook-feed-admin.php:667 custom-facebook-feed-admin.php:3069
|
660 |
-
msgid "(GMT-08:00) Pacific Time (US & Canada)"
|
661 |
-
msgstr ""
|
662 |
-
|
663 |
-
#: custom-facebook-feed-admin.php:668 custom-facebook-feed-admin.php:3070
|
664 |
-
msgid "(GMT-07:00) Mountain Time (US & Canada)"
|
665 |
-
msgstr ""
|
666 |
-
|
667 |
-
#: custom-facebook-feed-admin.php:669 custom-facebook-feed-admin.php:3071
|
668 |
-
msgid "(GMT-07:00) Chihuahua, La Paz, Mazatlan"
|
669 |
-
msgstr ""
|
670 |
-
|
671 |
-
#: custom-facebook-feed-admin.php:670 custom-facebook-feed-admin.php:3072
|
672 |
-
msgid "(GMT-07:00) Arizona"
|
673 |
-
msgstr ""
|
674 |
-
|
675 |
-
#: custom-facebook-feed-admin.php:671 custom-facebook-feed-admin.php:3073
|
676 |
-
msgid "(GMT-06:00) Saskatchewan, Central America"
|
677 |
-
msgstr ""
|
678 |
-
|
679 |
-
#: custom-facebook-feed-admin.php:672 custom-facebook-feed-admin.php:3074
|
680 |
-
msgid "(GMT-06:00) Guadalajara, Mexico City, Monterrey"
|
681 |
-
msgstr ""
|
682 |
-
|
683 |
-
#: custom-facebook-feed-admin.php:673 custom-facebook-feed-admin.php:3075
|
684 |
-
msgid "(GMT-06:00) Easter Island"
|
685 |
-
msgstr ""
|
686 |
-
|
687 |
-
#: custom-facebook-feed-admin.php:674 custom-facebook-feed-admin.php:3076
|
688 |
-
msgid "(GMT-06:00) Central Time (US & Canada)"
|
689 |
-
msgstr ""
|
690 |
-
|
691 |
-
#: custom-facebook-feed-admin.php:675 custom-facebook-feed-admin.php:3077
|
692 |
-
msgid "(GMT-05:00) Eastern Time (US & Canada)"
|
693 |
-
msgstr ""
|
694 |
-
|
695 |
-
#: custom-facebook-feed-admin.php:676 custom-facebook-feed-admin.php:3078
|
696 |
-
msgid "(GMT-05:00) Cuba"
|
697 |
-
msgstr ""
|
698 |
-
|
699 |
-
#: custom-facebook-feed-admin.php:677 custom-facebook-feed-admin.php:3079
|
700 |
-
msgid "(GMT-05:00) Bogota, Lima, Quito, Rio Branco"
|
701 |
-
msgstr ""
|
702 |
-
|
703 |
-
#: custom-facebook-feed-admin.php:678 custom-facebook-feed-admin.php:3080
|
704 |
-
msgid "(GMT-04:30) Caracas"
|
705 |
-
msgstr ""
|
706 |
-
|
707 |
-
#: custom-facebook-feed-admin.php:679 custom-facebook-feed-admin.php:3081
|
708 |
-
msgid "(GMT-04:00) Santiago"
|
709 |
-
msgstr ""
|
710 |
-
|
711 |
-
#: custom-facebook-feed-admin.php:680 custom-facebook-feed-admin.php:3082
|
712 |
-
msgid "(GMT-04:00) La Paz"
|
713 |
-
msgstr ""
|
714 |
-
|
715 |
-
#: custom-facebook-feed-admin.php:681 custom-facebook-feed-admin.php:3083
|
716 |
-
msgid "(GMT-04:00) Faukland Islands"
|
717 |
-
msgstr ""
|
718 |
-
|
719 |
-
#: custom-facebook-feed-admin.php:682 custom-facebook-feed-admin.php:3084
|
720 |
-
msgid "(GMT-04:00) Brazil"
|
721 |
-
msgstr ""
|
722 |
-
|
723 |
-
#: custom-facebook-feed-admin.php:683 custom-facebook-feed-admin.php:3085
|
724 |
-
msgid "(GMT-04:00) Atlantic Time (Goose Bay)"
|
725 |
-
msgstr ""
|
726 |
-
|
727 |
-
#: custom-facebook-feed-admin.php:684 custom-facebook-feed-admin.php:3086
|
728 |
-
msgid "(GMT-04:00) Atlantic Time (Canada)"
|
729 |
-
msgstr ""
|
730 |
-
|
731 |
-
#: custom-facebook-feed-admin.php:685 custom-facebook-feed-admin.php:3087
|
732 |
-
msgid "(GMT-03:30) Newfoundland"
|
733 |
-
msgstr ""
|
734 |
-
|
735 |
-
#: custom-facebook-feed-admin.php:686 custom-facebook-feed-admin.php:3088
|
736 |
-
msgid "(GMT-03:00) UTC-3"
|
737 |
-
msgstr ""
|
738 |
-
|
739 |
-
#: custom-facebook-feed-admin.php:687 custom-facebook-feed-admin.php:3089
|
740 |
-
msgid "(GMT-03:00) Montevideo"
|
741 |
-
msgstr ""
|
742 |
-
|
743 |
-
#: custom-facebook-feed-admin.php:688 custom-facebook-feed-admin.php:3090
|
744 |
-
msgid "(GMT-03:00) Miquelon, St. Pierre"
|
745 |
-
msgstr ""
|
746 |
-
|
747 |
-
#: custom-facebook-feed-admin.php:689 custom-facebook-feed-admin.php:3091
|
748 |
-
msgid "(GMT-03:00) Greenland"
|
749 |
-
msgstr ""
|
750 |
-
|
751 |
-
#: custom-facebook-feed-admin.php:690 custom-facebook-feed-admin.php:3092
|
752 |
-
msgid "(GMT-03:00) Buenos Aires"
|
753 |
-
msgstr ""
|
754 |
-
|
755 |
-
#: custom-facebook-feed-admin.php:691 custom-facebook-feed-admin.php:3093
|
756 |
-
msgid "(GMT-03:00) Brasilia"
|
757 |
-
msgstr ""
|
758 |
-
|
759 |
-
#: custom-facebook-feed-admin.php:692 custom-facebook-feed-admin.php:3094
|
760 |
-
msgid "(GMT-02:00) Mid-Atlantic"
|
761 |
-
msgstr ""
|
762 |
-
|
763 |
-
#: custom-facebook-feed-admin.php:693 custom-facebook-feed-admin.php:3095
|
764 |
-
msgid "(GMT-01:00) Cape Verde Is."
|
765 |
-
msgstr ""
|
766 |
-
|
767 |
-
#: custom-facebook-feed-admin.php:694 custom-facebook-feed-admin.php:3096
|
768 |
-
msgid "(GMT-01:00) Azores"
|
769 |
-
msgstr ""
|
770 |
-
|
771 |
-
#: custom-facebook-feed-admin.php:695 custom-facebook-feed-admin.php:3097
|
772 |
-
msgid "(GMT) Greenwich Mean Time : Belfast"
|
773 |
-
msgstr ""
|
774 |
-
|
775 |
-
#: custom-facebook-feed-admin.php:696 custom-facebook-feed-admin.php:3098
|
776 |
-
msgid "(GMT) Greenwich Mean Time : Dublin"
|
777 |
-
msgstr ""
|
778 |
-
|
779 |
-
#: custom-facebook-feed-admin.php:697 custom-facebook-feed-admin.php:3099
|
780 |
-
msgid "(GMT) Greenwich Mean Time : Lisbon"
|
781 |
-
msgstr ""
|
782 |
-
|
783 |
-
#: custom-facebook-feed-admin.php:698 custom-facebook-feed-admin.php:3100
|
784 |
-
msgid "(GMT) Greenwich Mean Time : London"
|
785 |
-
msgstr ""
|
786 |
-
|
787 |
-
#: custom-facebook-feed-admin.php:699 custom-facebook-feed-admin.php:3101
|
788 |
-
msgid "(GMT) Monrovia, Reykjavik"
|
789 |
-
msgstr ""
|
790 |
-
|
791 |
-
#: custom-facebook-feed-admin.php:700 custom-facebook-feed-admin.php:3102
|
792 |
-
msgid "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"
|
793 |
-
msgstr ""
|
794 |
-
|
795 |
-
#: custom-facebook-feed-admin.php:701 custom-facebook-feed-admin.php:3103
|
796 |
-
msgid "(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague"
|
797 |
-
msgstr ""
|
798 |
-
|
799 |
-
#: custom-facebook-feed-admin.php:702 custom-facebook-feed-admin.php:3104
|
800 |
-
msgid "(GMT+01:00) Brussels, Copenhagen, Madrid, Paris"
|
801 |
-
msgstr ""
|
802 |
-
|
803 |
-
#: custom-facebook-feed-admin.php:703 custom-facebook-feed-admin.php:3105
|
804 |
-
msgid "(GMT+01:00) West Central Africa"
|
805 |
-
msgstr ""
|
806 |
-
|
807 |
-
#: custom-facebook-feed-admin.php:704 custom-facebook-feed-admin.php:3106
|
808 |
-
msgid "(GMT+01:00) Windhoek"
|
809 |
-
msgstr ""
|
810 |
-
|
811 |
-
#: custom-facebook-feed-admin.php:705 custom-facebook-feed-admin.php:3107
|
812 |
-
msgid "(GMT+02:00) Beirut"
|
813 |
-
msgstr ""
|
814 |
-
|
815 |
-
#: custom-facebook-feed-admin.php:706 custom-facebook-feed-admin.php:3108
|
816 |
-
msgid "(GMT+02:00) Cairo"
|
817 |
-
msgstr ""
|
818 |
-
|
819 |
-
#: custom-facebook-feed-admin.php:707 custom-facebook-feed-admin.php:3109
|
820 |
-
msgid "(GMT+02:00) Gaza"
|
821 |
-
msgstr ""
|
822 |
-
|
823 |
-
#: custom-facebook-feed-admin.php:708 custom-facebook-feed-admin.php:3110
|
824 |
-
msgid "(GMT+02:00) Harare, Pretoria"
|
825 |
-
msgstr ""
|
826 |
-
|
827 |
-
#: custom-facebook-feed-admin.php:709 custom-facebook-feed-admin.php:3111
|
828 |
-
msgid "(GMT+02:00) Jerusalem"
|
829 |
-
msgstr ""
|
830 |
-
|
831 |
-
#: custom-facebook-feed-admin.php:710 custom-facebook-feed-admin.php:3113
|
832 |
-
msgid "(GMT+02:00) Minsk"
|
833 |
-
msgstr ""
|
834 |
-
|
835 |
-
#: custom-facebook-feed-admin.php:711 custom-facebook-feed-admin.php:3114
|
836 |
-
msgid "(GMT+02:00) Syria"
|
837 |
-
msgstr ""
|
838 |
-
|
839 |
-
#: custom-facebook-feed-admin.php:712 custom-facebook-feed-admin.php:3115
|
840 |
-
msgid "(GMT+03:00) Moscow, St. Petersburg, Volgograd"
|
841 |
-
msgstr ""
|
842 |
-
|
843 |
-
#: custom-facebook-feed-admin.php:713 custom-facebook-feed-admin.php:3116
|
844 |
-
msgid "(GMT+03:00) Nairobi"
|
845 |
-
msgstr ""
|
846 |
-
|
847 |
-
#: custom-facebook-feed-admin.php:714 custom-facebook-feed-admin.php:3117
|
848 |
-
msgid "(GMT+03:30) Tehran"
|
849 |
-
msgstr ""
|
850 |
-
|
851 |
-
#: custom-facebook-feed-admin.php:715 custom-facebook-feed-admin.php:3118
|
852 |
-
msgid "(GMT+04:00) Abu Dhabi, Muscat"
|
853 |
-
msgstr ""
|
854 |
-
|
855 |
-
#: custom-facebook-feed-admin.php:716 custom-facebook-feed-admin.php:3119
|
856 |
-
msgid "(GMT+04:00) Yerevan"
|
857 |
-
msgstr ""
|
858 |
-
|
859 |
-
#: custom-facebook-feed-admin.php:717 custom-facebook-feed-admin.php:3120
|
860 |
-
msgid "(GMT+04:30) Kabul"
|
861 |
-
msgstr ""
|
862 |
-
|
863 |
-
#: custom-facebook-feed-admin.php:718 custom-facebook-feed-admin.php:3121
|
864 |
-
msgid "(GMT+05:00) Ekaterinburg"
|
865 |
-
msgstr ""
|
866 |
-
|
867 |
-
#: custom-facebook-feed-admin.php:719 custom-facebook-feed-admin.php:3122
|
868 |
-
msgid "(GMT+05:00) Tashkent"
|
869 |
-
msgstr ""
|
870 |
-
|
871 |
-
#: custom-facebook-feed-admin.php:720 custom-facebook-feed-admin.php:3123
|
872 |
-
msgid "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
|
873 |
-
msgstr ""
|
874 |
-
|
875 |
-
#: custom-facebook-feed-admin.php:721 custom-facebook-feed-admin.php:3124
|
876 |
-
msgid "(GMT+05:45) Kathmandu"
|
877 |
-
msgstr ""
|
878 |
-
|
879 |
-
#: custom-facebook-feed-admin.php:722 custom-facebook-feed-admin.php:3125
|
880 |
-
msgid "(GMT+06:00) Astana, Dhaka"
|
881 |
-
msgstr ""
|
882 |
-
|
883 |
-
#: custom-facebook-feed-admin.php:723 custom-facebook-feed-admin.php:3126
|
884 |
-
msgid "(GMT+06:00) Novosibirsk"
|
885 |
-
msgstr ""
|
886 |
-
|
887 |
-
#: custom-facebook-feed-admin.php:724 custom-facebook-feed-admin.php:3127
|
888 |
-
msgid "(GMT+06:30) Yangon (Rangoon)"
|
889 |
-
msgstr ""
|
890 |
-
|
891 |
-
#: custom-facebook-feed-admin.php:725 custom-facebook-feed-admin.php:3128
|
892 |
-
msgid "(GMT+07:00) Bangkok, Hanoi, Jakarta"
|
893 |
-
msgstr ""
|
894 |
-
|
895 |
-
#: custom-facebook-feed-admin.php:726 custom-facebook-feed-admin.php:3129
|
896 |
-
msgid "(GMT+07:00) Krasnoyarsk"
|
897 |
-
msgstr ""
|
898 |
-
|
899 |
-
#: custom-facebook-feed-admin.php:727 custom-facebook-feed-admin.php:3130
|
900 |
-
msgid "(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi"
|
901 |
-
msgstr ""
|
902 |
-
|
903 |
-
#: custom-facebook-feed-admin.php:728 custom-facebook-feed-admin.php:3131
|
904 |
-
msgid "(GMT+08:00) Irkutsk, Ulaan Bataar"
|
905 |
-
msgstr ""
|
906 |
-
|
907 |
-
#: custom-facebook-feed-admin.php:729 custom-facebook-feed-admin.php:3132
|
908 |
-
msgid "(GMT+08:00) Perth"
|
909 |
-
msgstr ""
|
910 |
-
|
911 |
-
#: custom-facebook-feed-admin.php:730 custom-facebook-feed-admin.php:3133
|
912 |
-
msgid "(GMT+08:45) Eucla"
|
913 |
-
msgstr ""
|
914 |
-
|
915 |
-
#: custom-facebook-feed-admin.php:731 custom-facebook-feed-admin.php:3134
|
916 |
-
msgid "(GMT+09:00) Osaka, Sapporo, Tokyo"
|
917 |
-
msgstr ""
|
918 |
-
|
919 |
-
#: custom-facebook-feed-admin.php:732 custom-facebook-feed-admin.php:3135
|
920 |
-
msgid "(GMT+09:00) Seoul"
|
921 |
-
msgstr ""
|
922 |
-
|
923 |
-
#: custom-facebook-feed-admin.php:733 custom-facebook-feed-admin.php:3136
|
924 |
-
msgid "(GMT+09:00) Yakutsk"
|
925 |
-
msgstr ""
|
926 |
-
|
927 |
-
#: custom-facebook-feed-admin.php:734 custom-facebook-feed-admin.php:3137
|
928 |
-
msgid "(GMT+09:30) Adelaide"
|
929 |
-
msgstr ""
|
930 |
-
|
931 |
-
#: custom-facebook-feed-admin.php:735 custom-facebook-feed-admin.php:3138
|
932 |
-
msgid "(GMT+09:30) Darwin"
|
933 |
-
msgstr ""
|
934 |
-
|
935 |
-
#: custom-facebook-feed-admin.php:736 custom-facebook-feed-admin.php:3139
|
936 |
-
msgid "(GMT+10:00) Brisbane"
|
937 |
-
msgstr ""
|
938 |
-
|
939 |
-
#: custom-facebook-feed-admin.php:737
|
940 |
-
msgid "(GMT+10:00) Sydney"
|
941 |
-
msgstr ""
|
942 |
-
|
943 |
-
#: custom-facebook-feed-admin.php:738 custom-facebook-feed-admin.php:3141
|
944 |
-
msgid "(GMT+10:00) Vladivostok"
|
945 |
-
msgstr ""
|
946 |
-
|
947 |
-
#: custom-facebook-feed-admin.php:739 custom-facebook-feed-admin.php:3142
|
948 |
-
msgid "(GMT+10:30) Lord Howe Island"
|
949 |
-
msgstr ""
|
950 |
-
|
951 |
-
#: custom-facebook-feed-admin.php:740 custom-facebook-feed-admin.php:3143
|
952 |
-
msgid "(GMT+11:00) Solomon Is., New Caledonia"
|
953 |
-
msgstr ""
|
954 |
-
|
955 |
-
#: custom-facebook-feed-admin.php:741 custom-facebook-feed-admin.php:3144
|
956 |
-
msgid "(GMT+11:00) Magadan"
|
957 |
-
msgstr ""
|
958 |
-
|
959 |
-
#: custom-facebook-feed-admin.php:742 custom-facebook-feed-admin.php:3145
|
960 |
-
msgid "(GMT+11:30) Norfolk Island"
|
961 |
-
msgstr ""
|
962 |
-
|
963 |
-
#: custom-facebook-feed-admin.php:743 custom-facebook-feed-admin.php:3146
|
964 |
-
msgid "(GMT+12:00) Anadyr, Kamchatka"
|
965 |
-
msgstr ""
|
966 |
-
|
967 |
-
#: custom-facebook-feed-admin.php:744 custom-facebook-feed-admin.php:3147
|
968 |
-
msgid "(GMT+12:00) Auckland, Wellington"
|
969 |
-
msgstr ""
|
970 |
-
|
971 |
-
#: custom-facebook-feed-admin.php:745 custom-facebook-feed-admin.php:3148
|
972 |
-
msgid "(GMT+12:00) Fiji, Kamchatka, Marshall Is."
|
973 |
-
msgstr ""
|
974 |
-
|
975 |
-
#: custom-facebook-feed-admin.php:746 custom-facebook-feed-admin.php:3149
|
976 |
-
msgid "(GMT+12:45) Chatham Islands"
|
977 |
-
msgstr ""
|
978 |
-
|
979 |
-
#: custom-facebook-feed-admin.php:747 custom-facebook-feed-admin.php:3150
|
980 |
-
msgid "(GMT+13:00) Nuku'alofa"
|
981 |
-
msgstr ""
|
982 |
-
|
983 |
-
#: custom-facebook-feed-admin.php:748 custom-facebook-feed-admin.php:3151
|
984 |
-
msgid "(GMT+14:00) Kiritimati"
|
985 |
-
msgstr ""
|
986 |
-
|
987 |
-
#: custom-facebook-feed-admin.php:760
|
988 |
-
msgid ""
|
989 |
-
"As the settings on this page directly affect the request made to Facebook to "
|
990 |
-
"get data, then when these settings are changed the plugin cache is cleared "
|
991 |
-
"in order for the plugin to check Facebook for data again using these new "
|
992 |
-
"settings. The plugin will check Facebook for data the next time the page "
|
993 |
-
"that the feed is on is loaded."
|
994 |
-
msgstr ""
|
995 |
-
|
996 |
-
#: custom-facebook-feed-admin.php:763 custom-facebook-feed-admin.php:2480
|
997 |
-
msgid "Having trouble using the plugin? Check out the"
|
998 |
-
msgstr ""
|
999 |
-
|
1000 |
-
#: custom-facebook-feed-admin.php:763 custom-facebook-feed-admin.php:2480
|
1001 |
-
msgid "tab"
|
1002 |
-
msgstr ""
|
1003 |
-
|
1004 |
-
#: custom-facebook-feed-admin.php:774
|
1005 |
-
msgid ""
|
1006 |
-
"Check out our other free plugins for <a href=\"https://wordpress.org/plugins/"
|
1007 |
-
"instagram-feed/\" target=\"_blank\">Instagram</a>, <a href=\"https://"
|
1008 |
-
"wordpress.org/plugins/custom-twitter-feeds/\" target=\"_blank\">Twitter</a>, "
|
1009 |
-
"and <a href=\"https://wordpress.org/plugins/feeds-for-youtube/\" target="
|
1010 |
-
"\"_blank\">YouTube</a>."
|
1011 |
-
msgstr ""
|
1012 |
-
|
1013 |
-
#: custom-facebook-feed-admin.php:777 custom-facebook-feed-admin.php:4096
|
1014 |
-
msgid "Like the plugin? Help spread the word!"
|
1015 |
-
msgstr ""
|
1016 |
-
|
1017 |
-
#: custom-facebook-feed-admin.php:793
|
1018 |
-
msgid "Setup Directions"
|
1019 |
-
msgstr ""
|
1020 |
-
|
1021 |
-
#: custom-facebook-feed-admin.php:794
|
1022 |
-
msgid "A step-by-step guide on how to setup and use the plugin."
|
1023 |
-
msgstr ""
|
1024 |
-
|
1025 |
-
#: custom-facebook-feed-admin.php:798
|
1026 |
-
msgid "FAQs and Docs"
|
1027 |
-
msgstr ""
|
1028 |
-
|
1029 |
-
#: custom-facebook-feed-admin.php:799
|
1030 |
-
msgid ""
|
1031 |
-
"View our expansive library of FAQs and documentation to help solve your "
|
1032 |
-
"problem as quickly as possible."
|
1033 |
-
msgstr ""
|
1034 |
-
|
1035 |
-
#: custom-facebook-feed-admin.php:806
|
1036 |
-
msgid ""
|
1037 |
-
"<a href=\"https://smashballoon.com/category/custom-facebook-feed/faq/?"
|
1038 |
-
"cat=18\" target=\"_blank\">General Questions</a>"
|
1039 |
-
msgstr ""
|
1040 |
-
|
1041 |
-
#: custom-facebook-feed-admin.php:807
|
1042 |
-
msgid ""
|
1043 |
-
"<a href=\"https://smashballoon.com/category/custom-facebook-feed/getting-"
|
1044 |
-
"started/?cat=18\" target=\"_blank\">Getting Started</a>"
|
1045 |
-
msgstr ""
|
1046 |
-
|
1047 |
-
#: custom-facebook-feed-admin.php:808
|
1048 |
-
msgid ""
|
1049 |
-
"<a href=\"https://smashballoon.com/category/custom-facebook-feed/"
|
1050 |
-
"troubleshooting/?cat=18\" target=\"_blank\">Common Issues</a>"
|
1051 |
-
msgstr ""
|
1052 |
-
|
1053 |
-
#: custom-facebook-feed-admin.php:814
|
1054 |
-
msgid ""
|
1055 |
-
"<a href=\"http://smashballoon.com/custom-facebook-feed/docs/free/\" target="
|
1056 |
-
"\"_blank\">Installation and Configuration</a>"
|
1057 |
-
msgstr ""
|
1058 |
-
|
1059 |
-
#: custom-facebook-feed-admin.php:815
|
1060 |
-
msgid ""
|
1061 |
-
"<a href=\"https://smashballoon.com/custom-facebook-feed/docs/shortcodes/\" "
|
1062 |
-
"target=\"_blank\">Shortcode Reference</a>"
|
1063 |
-
msgstr ""
|
1064 |
-
|
1065 |
-
#: custom-facebook-feed-admin.php:816
|
1066 |
-
msgid ""
|
1067 |
-
"<a href=https://smashballoon.com/category/custom-facebook-feed/"
|
1068 |
-
"customizations/snippets/?cat=18\" target=\"_blank\">Custom CSS and "
|
1069 |
-
"JavaScript Snippets</a>"
|
1070 |
-
msgstr ""
|
1071 |
-
|
1072 |
-
#: custom-facebook-feed-admin.php:822
|
1073 |
-
msgid "Request Support"
|
1074 |
-
msgstr ""
|
1075 |
-
|
1076 |
-
#: custom-facebook-feed-admin.php:823
|
1077 |
-
msgid ""
|
1078 |
-
"Still need help? Submit a ticket and one of our support experts will get "
|
1079 |
-
"back to you as soon as possible.<br /><b>Important:</b> Please include your "
|
1080 |
-
"<b>System Info</b> below with all support requests."
|
1081 |
-
msgstr ""
|
1082 |
-
|
1083 |
-
#: custom-facebook-feed-admin.php:829
|
1084 |
-
msgid ""
|
1085 |
-
"System Info <i style=\"color: #666; font-size: 11px; font-weight: "
|
1086 |
-
"normal;\">Click the text below to select all</i>"
|
1087 |
-
msgstr ""
|
1088 |
-
|
1089 |
-
#: custom-facebook-feed-admin.php:1980 custom-facebook-feed-admin.php:1990
|
1090 |
-
#: custom-facebook-feed-admin.php:1999
|
1091 |
-
msgid "General"
|
1092 |
-
msgstr ""
|
1093 |
-
|
1094 |
-
#: custom-facebook-feed-admin.php:1981
|
1095 |
-
msgid "Post Layout"
|
1096 |
-
msgstr ""
|
1097 |
-
|
1098 |
-
#: custom-facebook-feed-admin.php:1982
|
1099 |
-
msgid "Style Posts"
|
1100 |
-
msgstr ""
|
1101 |
-
|
1102 |
-
#: custom-facebook-feed-admin.php:1983
|
1103 |
-
msgid "Misc"
|
1104 |
-
msgstr ""
|
1105 |
-
|
1106 |
-
#: custom-facebook-feed-admin.php:1984 custom-facebook-feed-admin.php:3960
|
1107 |
-
msgid "Custom Text / Translate"
|
1108 |
-
msgstr ""
|
1109 |
-
|
1110 |
-
#: custom-facebook-feed-admin.php:1991 custom-facebook-feed-admin.php:2123
|
1111 |
-
msgid "Header"
|
1112 |
-
msgstr ""
|
1113 |
-
|
1114 |
-
#: custom-facebook-feed-admin.php:1992
|
1115 |
-
msgid "Like Box"
|
1116 |
-
msgstr ""
|
1117 |
-
|
1118 |
-
#: custom-facebook-feed-admin.php:2001
|
1119 |
-
msgid "Feed Width"
|
1120 |
-
msgstr ""
|
1121 |
-
|
1122 |
-
#: custom-facebook-feed-admin.php:2007
|
1123 |
-
msgid "Set to be 100% width on mobile?"
|
1124 |
-
msgstr ""
|
1125 |
-
|
1126 |
-
#: custom-facebook-feed-admin.php:2008
|
1127 |
-
msgid "What does this mean?"
|
1128 |
-
msgstr ""
|
1129 |
-
|
1130 |
-
#: custom-facebook-feed-admin.php:2009
|
1131 |
-
#, php-format
|
1132 |
-
msgid ""
|
1133 |
-
"If you set a width on the feed then this will be used on mobile as well as "
|
1134 |
-
"desktop. Check this setting to set the feed width to be 100% on mobile so "
|
1135 |
-
"that it is responsive."
|
1136 |
-
msgstr ""
|
1137 |
-
|
1138 |
-
#: custom-facebook-feed-admin.php:2014
|
1139 |
-
msgid "Feed Height"
|
1140 |
-
msgstr ""
|
1141 |
-
|
1142 |
-
#: custom-facebook-feed-admin.php:2020
|
1143 |
-
msgid ""
|
1144 |
-
"Use this to set a fixed height on the feed. If the feed exceeds this height "
|
1145 |
-
"then a scroll bar will be used. Leave it empty to set no maximum height."
|
1146 |
-
msgstr ""
|
1147 |
-
|
1148 |
-
#: custom-facebook-feed-admin.php:2023
|
1149 |
-
msgid "Feed Padding"
|
1150 |
-
msgstr ""
|
1151 |
-
|
1152 |
-
#: custom-facebook-feed-admin.php:2029
|
1153 |
-
msgid ""
|
1154 |
-
"This is the amount of padding/spacing that goes around the feed. This is "
|
1155 |
-
"particularly useful if you intend to set a background color on the feed."
|
1156 |
-
msgstr ""
|
1157 |
-
|
1158 |
-
#: custom-facebook-feed-admin.php:2033
|
1159 |
-
msgid "Feed Background Color"
|
1160 |
-
msgstr ""
|
1161 |
-
|
1162 |
-
#: custom-facebook-feed-admin.php:2040
|
1163 |
-
msgid "Add CSS class to feed"
|
1164 |
-
msgstr ""
|
1165 |
-
|
1166 |
-
#: custom-facebook-feed-admin.php:2045
|
1167 |
-
msgid ""
|
1168 |
-
"You can add your own CSS classes to the feed here. To add multiple classes "
|
1169 |
-
"separate each with a space, Eg. classone classtwo classthree"
|
1170 |
-
msgstr ""
|
1171 |
-
|
1172 |
-
#: custom-facebook-feed-admin.php:2085
|
1173 |
-
msgid "Post Types"
|
1174 |
-
msgstr ""
|
1175 |
-
|
1176 |
-
#: custom-facebook-feed-admin.php:2087
|
1177 |
-
msgid "Only show these types of posts:"
|
1178 |
-
msgstr ""
|
1179 |
-
|
1180 |
-
#: custom-facebook-feed-admin.php:2088
|
1181 |
-
msgid "Upgrade to Pro to enable post types, photos, videos and more"
|
1182 |
-
msgstr ""
|
1183 |
-
|
1184 |
-
#: custom-facebook-feed-admin.php:2092
|
1185 |
-
msgid "Statuses"
|
1186 |
-
msgstr ""
|
1187 |
-
|
1188 |
-
#: custom-facebook-feed-admin.php:2096
|
1189 |
-
msgid "Events"
|
1190 |
-
msgstr ""
|
1191 |
-
|
1192 |
-
#: custom-facebook-feed-admin.php:2100
|
1193 |
-
msgid "Photos"
|
1194 |
-
msgstr ""
|
1195 |
-
|
1196 |
-
#: custom-facebook-feed-admin.php:2104
|
1197 |
-
msgid "Videos"
|
1198 |
-
msgstr ""
|
1199 |
-
|
1200 |
-
#: custom-facebook-feed-admin.php:2108
|
1201 |
-
msgid "Links"
|
1202 |
-
msgstr ""
|
1203 |
-
|
1204 |
-
#: custom-facebook-feed-admin.php:2112
|
1205 |
-
msgid "Albums"
|
1206 |
-
msgstr ""
|
1207 |
-
|
1208 |
-
#: custom-facebook-feed-admin.php:2125
|
1209 |
-
msgid "Show Feed Header"
|
1210 |
-
msgstr ""
|
1211 |
-
|
1212 |
-
#: custom-facebook-feed-admin.php:2129
|
1213 |
-
msgid "What is the header?"
|
1214 |
-
msgstr ""
|
1215 |
-
|
1216 |
-
#: custom-facebook-feed-admin.php:2130
|
1217 |
-
msgid ""
|
1218 |
-
"The header allows you to display text and an icon at the top of your feed. "
|
1219 |
-
"Customize the text, style, and layout of the header using the settings below."
|
1220 |
-
msgstr ""
|
1221 |
-
|
1222 |
-
#: custom-facebook-feed-admin.php:2135
|
1223 |
-
msgid "Header Text"
|
1224 |
-
msgstr ""
|
1225 |
-
|
1226 |
-
#: custom-facebook-feed-admin.php:2143 custom-facebook-feed-admin.php:2301
|
1227 |
-
msgid "Display outside the scrollable area"
|
1228 |
-
msgstr ""
|
1229 |
-
|
1230 |
-
#: custom-facebook-feed-admin.php:2146 custom-facebook-feed-admin.php:2285
|
1231 |
-
#: custom-facebook-feed-admin.php:3844 custom-facebook-feed-admin.php:3853
|
1232 |
-
#: custom-facebook-feed-admin.php:3863 custom-facebook-feed-admin.php:3880
|
1233 |
-
#: custom-facebook-feed-admin.php:3904 custom-facebook-feed-admin.php:3935
|
1234 |
-
msgid "Yes"
|
1235 |
-
msgstr ""
|
1236 |
-
|
1237 |
-
#: custom-facebook-feed-admin.php:2148
|
1238 |
-
msgid ""
|
1239 |
-
"This positions the Header outside of the feed container. It is useful if "
|
1240 |
-
"your feed has a vertical scrollbar as it places it outside of the scrollable "
|
1241 |
-
"area and fixes it at the top."
|
1242 |
-
msgstr ""
|
1243 |
-
|
1244 |
-
#: custom-facebook-feed-admin.php:2153 custom-facebook-feed-admin.php:2419
|
1245 |
-
#: custom-facebook-feed-admin.php:2737 custom-facebook-feed-admin.php:3696
|
1246 |
-
msgid "Background Color"
|
1247 |
-
msgstr ""
|
1248 |
-
|
1249 |
-
#: custom-facebook-feed-admin.php:2160
|
1250 |
-
msgid "Padding"
|
1251 |
-
msgstr ""
|
1252 |
-
|
1253 |
-
#: custom-facebook-feed-admin.php:2168 custom-facebook-feed-admin.php:2767
|
1254 |
-
#: custom-facebook-feed-admin.php:2834 custom-facebook-feed-admin.php:2916
|
1255 |
-
#: custom-facebook-feed-admin.php:2983 custom-facebook-feed-admin.php:3367
|
1256 |
-
#: custom-facebook-feed-admin.php:3423 custom-facebook-feed-admin.php:3523
|
1257 |
-
#: custom-facebook-feed-admin.php:3585
|
1258 |
-
msgid "Text Size"
|
1259 |
-
msgstr ""
|
1260 |
-
|
1261 |
-
#: custom-facebook-feed-admin.php:2193 custom-facebook-feed-admin.php:2859
|
1262 |
-
#: custom-facebook-feed-admin.php:2941 custom-facebook-feed-admin.php:3008
|
1263 |
-
#: custom-facebook-feed-admin.php:3392 custom-facebook-feed-admin.php:3448
|
1264 |
-
#: custom-facebook-feed-admin.php:3548 custom-facebook-feed-admin.php:3610
|
1265 |
-
msgid "Text Weight"
|
1266 |
-
msgstr ""
|
1267 |
-
|
1268 |
-
#: custom-facebook-feed-admin.php:2204 custom-facebook-feed-admin.php:2425
|
1269 |
-
#: custom-facebook-feed-admin.php:2792 custom-facebook-feed-admin.php:2870
|
1270 |
-
#: custom-facebook-feed-admin.php:2952 custom-facebook-feed-admin.php:3019
|
1271 |
-
#: custom-facebook-feed-admin.php:3403 custom-facebook-feed-admin.php:3459
|
1272 |
-
#: custom-facebook-feed-admin.php:3559 custom-facebook-feed-admin.php:3621
|
1273 |
-
#: custom-facebook-feed-admin.php:3682
|
1274 |
-
msgid "Text Color"
|
1275 |
-
msgstr ""
|
1276 |
-
|
1277 |
-
#: custom-facebook-feed-admin.php:2211
|
1278 |
-
msgid "Icon Type"
|
1279 |
-
msgstr ""
|
1280 |
-
|
1281 |
-
#: custom-facebook-feed-admin.php:2240
|
1282 |
-
msgid "Icon Color"
|
1283 |
-
msgstr ""
|
1284 |
-
|
1285 |
-
#: custom-facebook-feed-admin.php:2247
|
1286 |
-
msgid "Icon Size"
|
1287 |
-
msgstr ""
|
1288 |
-
|
1289 |
-
#: custom-facebook-feed-admin.php:2278
|
1290 |
-
msgid "Like Box / Page Plugin"
|
1291 |
-
msgstr ""
|
1292 |
-
|
1293 |
-
#: custom-facebook-feed-admin.php:2282
|
1294 |
-
msgid "Show the Like Box"
|
1295 |
-
msgstr ""
|
1296 |
-
|
1297 |
-
#: custom-facebook-feed-admin.php:2286
|
1298 |
-
msgid "What is the Like Box?"
|
1299 |
-
msgstr ""
|
1300 |
-
|
1301 |
-
#: custom-facebook-feed-admin.php:2287
|
1302 |
-
msgid ""
|
1303 |
-
"The Like Box is an official Facebook widget that we include at the bottom or "
|
1304 |
-
"top of the feed. It contains information about your Facebook Page and allows "
|
1305 |
-
"users to 'like' it directly on your site."
|
1306 |
-
msgstr ""
|
1307 |
-
|
1308 |
-
#: custom-facebook-feed-admin.php:2291 custom-facebook-feed-admin.php:2972
|
1309 |
-
msgid "Position"
|
1310 |
-
msgstr ""
|
1311 |
-
|
1312 |
-
#: custom-facebook-feed-admin.php:2295
|
1313 |
-
msgid "Bottom of feed"
|
1314 |
-
msgstr ""
|
1315 |
-
|
1316 |
-
#: custom-facebook-feed-admin.php:2296
|
1317 |
-
msgid "Top of feed"
|
1318 |
-
msgstr ""
|
1319 |
-
|
1320 |
-
#: custom-facebook-feed-admin.php:2306
|
1321 |
-
msgid ""
|
1322 |
-
"This positions the Like Box widget outside of the feed container. It is "
|
1323 |
-
"useful if your feed has a vertical scrollbar as it places it outside of the "
|
1324 |
-
"scrollable area and fixes it at the top or bottom."
|
1325 |
-
msgstr ""
|
1326 |
-
|
1327 |
-
#: custom-facebook-feed-admin.php:2311
|
1328 |
-
msgid "Show faces of fans"
|
1329 |
-
msgstr ""
|
1330 |
-
|
1331 |
-
#: custom-facebook-feed-admin.php:2316
|
1332 |
-
msgid ""
|
1333 |
-
"This will display thumbnail photos within the Like Box of some of the people "
|
1334 |
-
"who like your page."
|
1335 |
-
msgstr ""
|
1336 |
-
|
1337 |
-
#: custom-facebook-feed-admin.php:2320
|
1338 |
-
msgid "Include the Cover Photo"
|
1339 |
-
msgstr ""
|
1340 |
-
|
1341 |
-
#: custom-facebook-feed-admin.php:2327
|
1342 |
-
msgid "Use a small header"
|
1343 |
-
msgstr ""
|
1344 |
-
|
1345 |
-
#: custom-facebook-feed-admin.php:2332
|
1346 |
-
msgid ""
|
1347 |
-
"This will display a shorter version of the Like Box with a slimmer cover "
|
1348 |
-
"photo and less information."
|
1349 |
-
msgstr ""
|
1350 |
-
|
1351 |
-
#: custom-facebook-feed-admin.php:2336
|
1352 |
-
msgid "Hide custom call to action button"
|
1353 |
-
msgstr ""
|
1354 |
-
|
1355 |
-
#: custom-facebook-feed-admin.php:2341
|
1356 |
-
msgid ""
|
1357 |
-
"If you have a custom 'Call To Action' button for your Facebook Page then "
|
1358 |
-
"this will hide it and display the default Like Box button."
|
1359 |
-
msgstr ""
|
1360 |
-
|
1361 |
-
#: custom-facebook-feed-admin.php:2345
|
1362 |
-
msgid "Custom Like Box Width"
|
1363 |
-
msgstr ""
|
1364 |
-
|
1365 |
-
#: custom-facebook-feed-admin.php:2349
|
1366 |
-
msgid "Default: 340, Min: 180, Max: 500"
|
1367 |
-
msgstr ""
|
1368 |
-
|
1369 |
-
#: custom-facebook-feed-admin.php:2359
|
1370 |
-
msgid "\"Load More\" button"
|
1371 |
-
msgstr ""
|
1372 |
-
|
1373 |
-
#: custom-facebook-feed-admin.php:2367
|
1374 |
-
msgid "Show \"Load More\" Button"
|
1375 |
-
msgstr ""
|
1376 |
-
|
1377 |
-
#: custom-facebook-feed-admin.php:2371
|
1378 |
-
msgid ""
|
1379 |
-
"The Load More button is added to the bottom of your feed and allows you to "
|
1380 |
-
"dynamically load more posts into your feed. Use the button below to reveal "
|
1381 |
-
"customization settings for the button."
|
1382 |
-
msgstr ""
|
1383 |
-
|
1384 |
-
#: custom-facebook-feed-admin.php:2375
|
1385 |
-
msgid "Button Background Color"
|
1386 |
-
msgstr ""
|
1387 |
-
|
1388 |
-
#: custom-facebook-feed-admin.php:2381
|
1389 |
-
msgid "Button Hover Color"
|
1390 |
-
msgstr ""
|
1391 |
-
|
1392 |
-
#: custom-facebook-feed-admin.php:2387
|
1393 |
-
msgid "Button Text Color"
|
1394 |
-
msgstr ""
|
1395 |
-
|
1396 |
-
#: custom-facebook-feed-admin.php:2393
|
1397 |
-
msgid "Button Text"
|
1398 |
-
msgstr ""
|
1399 |
-
|
1400 |
-
#: custom-facebook-feed-admin.php:2403
|
1401 |
-
msgid "Lightbox"
|
1402 |
-
msgstr ""
|
1403 |
-
|
1404 |
-
#: custom-facebook-feed-admin.php:2411 custom-facebook-feed-admin.php:3795
|
1405 |
-
msgid "Disable Popup Lightbox"
|
1406 |
-
msgstr ""
|
1407 |
-
|
1408 |
-
#: custom-facebook-feed-admin.php:2415 custom-facebook-feed-admin.php:3799
|
1409 |
-
msgid "Disable"
|
1410 |
-
msgstr ""
|
1411 |
-
|
1412 |
-
#: custom-facebook-feed-admin.php:2431 custom-facebook-feed-admin.php:2877
|
1413 |
-
#: custom-facebook-feed-admin.php:3566 custom-facebook-feed-admin.php:3689
|
1414 |
-
msgid "Link Color"
|
1415 |
-
msgstr ""
|
1416 |
-
|
1417 |
-
#: custom-facebook-feed-admin.php:2437 custom-facebook-feed-admin.php:3729
|
1418 |
-
msgid "Show Comments in Lightbox"
|
1419 |
-
msgstr ""
|
1420 |
-
|
1421 |
-
#: custom-facebook-feed-admin.php:2441 custom-facebook-feed-admin.php:3732
|
1422 |
-
msgid "For timeline posts only"
|
1423 |
-
msgstr ""
|
1424 |
-
|
1425 |
-
#: custom-facebook-feed-admin.php:2449
|
1426 |
-
msgid "Filter Content by String"
|
1427 |
-
msgstr ""
|
1428 |
-
|
1429 |
-
#: custom-facebook-feed-admin.php:2457
|
1430 |
-
msgid "Only show posts containing:"
|
1431 |
-
msgstr ""
|
1432 |
-
|
1433 |
-
#: custom-facebook-feed-admin.php:2462
|
1434 |
-
msgid ""
|
1435 |
-
"You can use this setting to only display posts containing these text "
|
1436 |
-
"strings. Separate multiple strings using commas. If only a few posts, or "
|
1437 |
-
"none at all, are displayed then you may need to increase the plugin's 'Post "
|
1438 |
-
"Limit' settings. See <a href='https://smashballoon.com/filtering-your-"
|
1439 |
-
"facebook-posts/' target='_blank'>this FAQ</a> to learn more about how "
|
1440 |
-
"filtering works."
|
1441 |
-
msgstr ""
|
1442 |
-
|
1443 |
-
#: custom-facebook-feed-admin.php:2466
|
1444 |
-
msgid "Don't show posts containing:"
|
1445 |
-
msgstr ""
|
1446 |
-
|
1447 |
-
#: custom-facebook-feed-admin.php:2470
|
1448 |
-
msgid ""
|
1449 |
-
"You can use this setting to remove any posts containing these text strings. "
|
1450 |
-
"Separate multiple strings using commas."
|
1451 |
-
msgstr ""
|
1452 |
-
|
1453 |
-
#: custom-facebook-feed-admin.php:2501
|
1454 |
-
msgid "Post Layouts"
|
1455 |
-
msgstr ""
|
1456 |
-
|
1457 |
-
#: custom-facebook-feed-admin.php:2502
|
1458 |
-
msgid "Upgrade to Pro to enable layouts"
|
1459 |
-
msgstr ""
|
1460 |
-
|
1461 |
-
#: custom-facebook-feed-admin.php:2508
|
1462 |
-
msgid "Choose a layout from the 3 below."
|
1463 |
-
msgstr ""
|
1464 |
-
|
1465 |
-
#: custom-facebook-feed-admin.php:2512
|
1466 |
-
msgid "Thumbnail"
|
1467 |
-
msgstr ""
|
1468 |
-
|
1469 |
-
#: custom-facebook-feed-admin.php:2517
|
1470 |
-
msgid "Half-width"
|
1471 |
-
msgstr ""
|
1472 |
-
|
1473 |
-
#: custom-facebook-feed-admin.php:2522
|
1474 |
-
msgid "Full-width"
|
1475 |
-
msgstr ""
|
1476 |
-
|
1477 |
-
#: custom-facebook-feed-admin.php:2531 custom-facebook-feed-admin.php:2540
|
1478 |
-
msgid "Photo/Video Position"
|
1479 |
-
msgstr ""
|
1480 |
-
|
1481 |
-
#: custom-facebook-feed-admin.php:2550
|
1482 |
-
msgid "Always use the Full-width layout when feed is narrow?"
|
1483 |
-
msgstr ""
|
1484 |
-
|
1485 |
-
#: custom-facebook-feed-admin.php:2554
|
1486 |
-
msgid ""
|
1487 |
-
"When displaying posts in either a narrow column or on a mobile device the "
|
1488 |
-
"plugin will automatically default to using the 'Full-width' layout as it's "
|
1489 |
-
"better suited to narrow sizes."
|
1490 |
-
msgstr ""
|
1491 |
-
|
1492 |
-
#: custom-facebook-feed-admin.php:2558
|
1493 |
-
msgid "Only show one image per post"
|
1494 |
-
msgstr ""
|
1495 |
-
|
1496 |
-
#: custom-facebook-feed-admin.php:2562
|
1497 |
-
msgid ""
|
1498 |
-
"If a Facebook post contains more than photo then enabling this setting means "
|
1499 |
-
"that only the first photo in the post is displayed."
|
1500 |
-
msgstr ""
|
1501 |
-
|
1502 |
-
#: custom-facebook-feed-admin.php:2574
|
1503 |
-
msgid "Show/Hide"
|
1504 |
-
msgstr ""
|
1505 |
-
|
1506 |
-
#: custom-facebook-feed-admin.php:2578
|
1507 |
-
msgid ""
|
1508 |
-
"Include the following in posts: <i style=\"font-size: 11px;\">(when "
|
1509 |
-
"applicable)</i>"
|
1510 |
-
msgstr ""
|
1511 |
-
|
1512 |
-
#: custom-facebook-feed-admin.php:2587
|
1513 |
-
msgid "Author Name and Avatar"
|
1514 |
-
msgstr ""
|
1515 |
-
|
1516 |
-
#: custom-facebook-feed-admin.php:2588
|
1517 |
-
msgid ""
|
1518 |
-
"The author name and avatar image that's shown at the top of each timeline "
|
1519 |
-
"post"
|
1520 |
-
msgstr ""
|
1521 |
-
|
1522 |
-
#: custom-facebook-feed-admin.php:2595 custom-facebook-feed-admin.php:2808
|
1523 |
-
#: custom-facebook-feed-admin.php:3973
|
1524 |
-
msgid "Post Text"
|
1525 |
-
msgstr ""
|
1526 |
-
|
1527 |
-
#: custom-facebook-feed-admin.php:2596
|
1528 |
-
msgid "The main text of the Facebook post"
|
1529 |
-
msgstr ""
|
1530 |
-
|
1531 |
-
#: custom-facebook-feed-admin.php:2602
|
1532 |
-
msgid "Description Text"
|
1533 |
-
msgstr ""
|
1534 |
-
|
1535 |
-
#: custom-facebook-feed-admin.php:2603
|
1536 |
-
msgid "The description text associated with shared photos, videos, or links"
|
1537 |
-
msgstr ""
|
1538 |
-
|
1539 |
-
#: custom-facebook-feed-admin.php:2609
|
1540 |
-
msgid "Shared Link Box"
|
1541 |
-
msgstr ""
|
1542 |
-
|
1543 |
-
#: custom-facebook-feed-admin.php:2610
|
1544 |
-
msgid ""
|
1545 |
-
"The link info box that's created when a link is shared in a Facebook post"
|
1546 |
-
msgstr ""
|
1547 |
-
|
1548 |
-
#: custom-facebook-feed-admin.php:2616 custom-facebook-feed-admin.php:4033
|
1549 |
-
msgid "Date"
|
1550 |
-
msgstr ""
|
1551 |
-
|
1552 |
-
#: custom-facebook-feed-admin.php:2617
|
1553 |
-
msgid "The date of the post"
|
1554 |
-
msgstr ""
|
1555 |
-
|
1556 |
-
#: custom-facebook-feed-admin.php:2623
|
1557 |
-
msgid "Photos and Videos"
|
1558 |
-
msgstr ""
|
1559 |
-
|
1560 |
-
#: custom-facebook-feed-admin.php:2624
|
1561 |
-
msgid "Any photos or videos in your posts"
|
1562 |
-
msgstr ""
|
1563 |
-
|
1564 |
-
#: custom-facebook-feed-admin.php:2630
|
1565 |
-
msgid "Media link"
|
1566 |
-
msgstr ""
|
1567 |
-
|
1568 |
-
#: custom-facebook-feed-admin.php:2631
|
1569 |
-
msgid ""
|
1570 |
-
"Display an icon and link to Facebook if the post contains either a photo or "
|
1571 |
-
"video"
|
1572 |
-
msgstr ""
|
1573 |
-
|
1574 |
-
#: custom-facebook-feed-admin.php:2637 custom-facebook-feed-admin.php:3349
|
1575 |
-
msgid "Event Title"
|
1576 |
-
msgstr ""
|
1577 |
-
|
1578 |
-
#: custom-facebook-feed-admin.php:2638
|
1579 |
-
msgid "The title of an event"
|
1580 |
-
msgstr ""
|
1581 |
-
|
1582 |
-
#: custom-facebook-feed-admin.php:2644 custom-facebook-feed-admin.php:3519
|
1583 |
-
msgid "Event Details"
|
1584 |
-
msgstr ""
|
1585 |
-
|
1586 |
-
#: custom-facebook-feed-admin.php:2645
|
1587 |
-
msgid "The information associated with an event"
|
1588 |
-
msgstr ""
|
1589 |
-
|
1590 |
-
#: custom-facebook-feed-admin.php:2651
|
1591 |
-
msgid "Like, Shares, and Comments"
|
1592 |
-
msgstr ""
|
1593 |
-
|
1594 |
-
#: custom-facebook-feed-admin.php:2652
|
1595 |
-
msgid "The comments box displayed at the bottom of each timeline post"
|
1596 |
-
msgstr ""
|
1597 |
-
|
1598 |
-
#: custom-facebook-feed-admin.php:2658 custom-facebook-feed-admin.php:3580
|
1599 |
-
#: custom-facebook-feed-admin.php:3986
|
1600 |
-
msgid "Post Action Links"
|
1601 |
-
msgstr ""
|
1602 |
-
|
1603 |
-
#: custom-facebook-feed-admin.php:2659
|
1604 |
-
msgid "The \"View on Facebook\" and \"Share\" links at the bottom of each post"
|
1605 |
-
msgstr ""
|
1606 |
-
|
1607 |
-
#: custom-facebook-feed-admin.php:2691
|
1608 |
-
msgid "Post Item"
|
1609 |
-
msgstr ""
|
1610 |
-
|
1611 |
-
#: custom-facebook-feed-admin.php:2695
|
1612 |
-
msgid "Post Style"
|
1613 |
-
msgstr ""
|
1614 |
-
|
1615 |
-
#: custom-facebook-feed-admin.php:2708
|
1616 |
-
msgid "Regular"
|
1617 |
-
msgstr ""
|
1618 |
-
|
1619 |
-
#: custom-facebook-feed-admin.php:2714
|
1620 |
-
msgid "Boxed"
|
1621 |
-
msgstr ""
|
1622 |
-
|
1623 |
-
#: custom-facebook-feed-admin.php:2722
|
1624 |
-
msgid "Separating Line Color"
|
1625 |
-
msgstr ""
|
1626 |
-
|
1627 |
-
#: custom-facebook-feed-admin.php:2728
|
1628 |
-
msgid "Separating Line Thickness"
|
1629 |
-
msgstr ""
|
1630 |
-
|
1631 |
-
#: custom-facebook-feed-admin.php:2731
|
1632 |
-
msgid "Leave empty to hide"
|
1633 |
-
msgstr ""
|
1634 |
-
|
1635 |
-
#: custom-facebook-feed-admin.php:2743
|
1636 |
-
msgid "Rounded Corner Size"
|
1637 |
-
msgstr ""
|
1638 |
-
|
1639 |
-
#: custom-facebook-feed-admin.php:2749
|
1640 |
-
msgid "Box Shadow"
|
1641 |
-
msgstr ""
|
1642 |
-
|
1643 |
-
#: custom-facebook-feed-admin.php:2752
|
1644 |
-
msgid "Adds a subtle shadow around the post"
|
1645 |
-
msgstr ""
|
1646 |
-
|
1647 |
-
#: custom-facebook-feed-admin.php:2763
|
1648 |
-
msgid "Post Author"
|
1649 |
-
msgstr ""
|
1650 |
-
|
1651 |
-
#: custom-facebook-feed-admin.php:2812
|
1652 |
-
msgid "Maximum Post Text Length"
|
1653 |
-
msgstr ""
|
1654 |
-
|
1655 |
-
#: custom-facebook-feed-admin.php:2815 custom-facebook-feed-admin.php:3335
|
1656 |
-
msgid "Characters"
|
1657 |
-
msgstr ""
|
1658 |
-
|
1659 |
-
#: custom-facebook-feed-admin.php:2815 custom-facebook-feed-admin.php:3335
|
1660 |
-
msgid "Eg. 200"
|
1661 |
-
msgstr ""
|
1662 |
-
|
1663 |
-
#: custom-facebook-feed-admin.php:2817
|
1664 |
-
msgid ""
|
1665 |
-
"If the post text exceeds this length then a 'See More' link will be added. "
|
1666 |
-
"Leave empty to set no maximum length."
|
1667 |
-
msgstr ""
|
1668 |
-
|
1669 |
-
#: custom-facebook-feed-admin.php:2821 custom-facebook-feed-admin.php:3353
|
1670 |
-
msgid "Format"
|
1671 |
-
msgstr ""
|
1672 |
-
|
1673 |
-
#: custom-facebook-feed-admin.php:2884
|
1674 |
-
msgid "Link Text to Facebook Post"
|
1675 |
-
msgstr ""
|
1676 |
-
|
1677 |
-
#: custom-facebook-feed-admin.php:2890
|
1678 |
-
msgid "Link Post Tags"
|
1679 |
-
msgstr ""
|
1680 |
-
|
1681 |
-
#: custom-facebook-feed-admin.php:2894
|
1682 |
-
msgid "What are Post Tags?"
|
1683 |
-
msgstr ""
|
1684 |
-
|
1685 |
-
#: custom-facebook-feed-admin.php:2895
|
1686 |
-
msgid ""
|
1687 |
-
"When you tag another Facebook page or user in your post using the @ symbol "
|
1688 |
-
"it creates a post tag, which is a link to either that Facebook page or user "
|
1689 |
-
"profile."
|
1690 |
-
msgstr ""
|
1691 |
-
|
1692 |
-
#: custom-facebook-feed-admin.php:2900
|
1693 |
-
msgid "Link Hashtags"
|
1694 |
-
msgstr ""
|
1695 |
-
|
1696 |
-
#: custom-facebook-feed-admin.php:2912
|
1697 |
-
msgid "Shared Post Description"
|
1698 |
-
msgstr ""
|
1699 |
-
|
1700 |
-
#: custom-facebook-feed-admin.php:2968
|
1701 |
-
msgid "Post Date"
|
1702 |
-
msgstr ""
|
1703 |
-
|
1704 |
-
#: custom-facebook-feed-admin.php:3027
|
1705 |
-
msgid "Date Formatting"
|
1706 |
-
msgstr ""
|
1707 |
-
|
1708 |
-
#: custom-facebook-feed-admin.php:3032
|
1709 |
-
msgid "2 days ago"
|
1710 |
-
msgstr ""
|
1711 |
-
|
1712 |
-
#: custom-facebook-feed-admin.php:3112
|
1713 |
-
msgid "(GMT+02:00) Helsinki"
|
1714 |
-
msgstr ""
|
1715 |
-
|
1716 |
-
#: custom-facebook-feed-admin.php:3140
|
1717 |
-
msgid "(GMT+10:00) Hobart"
|
1718 |
-
msgstr ""
|
1719 |
-
|
1720 |
-
#: custom-facebook-feed-admin.php:3157
|
1721 |
-
msgid "Custom Format"
|
1722 |
-
msgstr ""
|
1723 |
-
|
1724 |
-
#: custom-facebook-feed-admin.php:3161 custom-facebook-feed-admin.php:3511
|
1725 |
-
msgid "Examples"
|
1726 |
-
msgstr ""
|
1727 |
-
|
1728 |
-
#: custom-facebook-feed-admin.php:3165
|
1729 |
-
msgid "Text Before Date"
|
1730 |
-
msgstr ""
|
1731 |
-
|
1732 |
-
#: custom-facebook-feed-admin.php:3169
|
1733 |
-
msgid ""
|
1734 |
-
"You can add custom text here to display immediately <b>before</b> the date "
|
1735 |
-
"text"
|
1736 |
-
msgstr ""
|
1737 |
-
|
1738 |
-
#: custom-facebook-feed-admin.php:3173
|
1739 |
-
msgid "Text After Date"
|
1740 |
-
msgstr ""
|
1741 |
-
|
1742 |
-
#: custom-facebook-feed-admin.php:3177
|
1743 |
-
msgid ""
|
1744 |
-
"You can add custom text here to display immediately <b>after</b> the date "
|
1745 |
-
"text"
|
1746 |
-
msgstr ""
|
1747 |
-
|
1748 |
-
#: custom-facebook-feed-admin.php:3187
|
1749 |
-
msgid "Shared Link Boxes"
|
1750 |
-
msgstr ""
|
1751 |
-
|
1752 |
-
#: custom-facebook-feed-admin.php:3193
|
1753 |
-
msgid "Link Box Background Color"
|
1754 |
-
msgstr ""
|
1755 |
-
|
1756 |
-
#: custom-facebook-feed-admin.php:3201
|
1757 |
-
msgid "Link Box Border Color"
|
1758 |
-
msgstr ""
|
1759 |
-
|
1760 |
-
#: custom-facebook-feed-admin.php:3209
|
1761 |
-
msgid "Remove Background/Border"
|
1762 |
-
msgstr ""
|
1763 |
-
|
1764 |
-
#: custom-facebook-feed-admin.php:3216
|
1765 |
-
msgid "Link Title Format"
|
1766 |
-
msgstr ""
|
1767 |
-
|
1768 |
-
#: custom-facebook-feed-admin.php:3229
|
1769 |
-
msgid "Link Title Size"
|
1770 |
-
msgstr ""
|
1771 |
-
|
1772 |
-
#: custom-facebook-feed-admin.php:3254
|
1773 |
-
msgid "Link Title Color"
|
1774 |
-
msgstr ""
|
1775 |
-
|
1776 |
-
#: custom-facebook-feed-admin.php:3263
|
1777 |
-
msgid "Link URL Size"
|
1778 |
-
msgstr ""
|
1779 |
-
|
1780 |
-
#: custom-facebook-feed-admin.php:3288
|
1781 |
-
msgid "Link URL Color"
|
1782 |
-
msgstr ""
|
1783 |
-
|
1784 |
-
#: custom-facebook-feed-admin.php:3298
|
1785 |
-
msgid "Link Description Size"
|
1786 |
-
msgstr ""
|
1787 |
-
|
1788 |
-
#: custom-facebook-feed-admin.php:3324
|
1789 |
-
msgid "Link Description Color"
|
1790 |
-
msgstr ""
|
1791 |
-
|
1792 |
-
#: custom-facebook-feed-admin.php:3332
|
1793 |
-
msgid "Maximum Link Description Length"
|
1794 |
-
msgstr ""
|
1795 |
-
|
1796 |
-
#: custom-facebook-feed-admin.php:3337
|
1797 |
-
msgid ""
|
1798 |
-
"If the link description text exceeds this length then it will be truncated "
|
1799 |
-
"with an ellipsis. Leave empty to set no maximum length."
|
1800 |
-
msgstr ""
|
1801 |
-
|
1802 |
-
#: custom-facebook-feed-admin.php:3410
|
1803 |
-
msgid "Link Title to Event on Facebook"
|
1804 |
-
msgstr ""
|
1805 |
-
|
1806 |
-
#: custom-facebook-feed-admin.php:3419
|
1807 |
-
msgid "Event Date"
|
1808 |
-
msgstr ""
|
1809 |
-
|
1810 |
-
#: custom-facebook-feed-admin.php:3466
|
1811 |
-
msgid "Date Position"
|
1812 |
-
msgstr ""
|
1813 |
-
|
1814 |
-
#: custom-facebook-feed-admin.php:3470
|
1815 |
-
msgid "Below event title"
|
1816 |
-
msgstr ""
|
1817 |
-
|
1818 |
-
#: custom-facebook-feed-admin.php:3471
|
1819 |
-
msgid "Above event title"
|
1820 |
-
msgstr ""
|
1821 |
-
|
1822 |
-
#: custom-facebook-feed-admin.php:3476
|
1823 |
-
msgid "Event Date Formatting"
|
1824 |
-
msgstr ""
|
1825 |
-
|
1826 |
-
#: custom-facebook-feed-admin.php:3507
|
1827 |
-
msgid "Custom Event Date Format"
|
1828 |
-
msgstr ""
|
1829 |
-
|
1830 |
-
#: custom-facebook-feed-admin.php:3581
|
1831 |
-
msgid ""
|
1832 |
-
"Post action links refer to the \"View on Facebook\" and \"Share\" links at "
|
1833 |
-
"the bottom of each post"
|
1834 |
-
msgstr ""
|
1835 |
-
|
1836 |
-
#: custom-facebook-feed-admin.php:3628
|
1837 |
-
msgid "\"View on Facebook\" Text"
|
1838 |
-
msgstr ""
|
1839 |
-
|
1840 |
-
#: custom-facebook-feed-admin.php:3636
|
1841 |
-
msgid "\"Share\" Text"
|
1842 |
-
msgstr ""
|
1843 |
-
|
1844 |
-
#: custom-facebook-feed-admin.php:3644
|
1845 |
-
msgid "Show \"View on Facebook\" link"
|
1846 |
-
msgstr ""
|
1847 |
-
|
1848 |
-
#: custom-facebook-feed-admin.php:3652
|
1849 |
-
msgid "Show \"Share\" link"
|
1850 |
-
msgstr ""
|
1851 |
-
|
1852 |
-
#: custom-facebook-feed-admin.php:3664
|
1853 |
-
msgid "Likes, Shares and Comments Box"
|
1854 |
-
msgstr ""
|
1855 |
-
|
1856 |
-
#: custom-facebook-feed-admin.php:3672
|
1857 |
-
msgid "Icon Style"
|
1858 |
-
msgstr ""
|
1859 |
-
|
1860 |
-
#: custom-facebook-feed-admin.php:3676
|
1861 |
-
msgid "Light (for light backgrounds)"
|
1862 |
-
msgstr ""
|
1863 |
-
|
1864 |
-
#: custom-facebook-feed-admin.php:3677
|
1865 |
-
msgid "Dark (for dark backgrounds)"
|
1866 |
-
msgstr ""
|
1867 |
-
|
1868 |
-
#: custom-facebook-feed-admin.php:3703
|
1869 |
-
msgid "Expand Comments Box Initially"
|
1870 |
-
msgstr ""
|
1871 |
-
|
1872 |
-
#: custom-facebook-feed-admin.php:3708
|
1873 |
-
msgid ""
|
1874 |
-
"Checking this box will automatically expand the comments box beneath each "
|
1875 |
-
"post. Unchecking this box will mean that users will need to click the number "
|
1876 |
-
"of comments below each post in order to expand the comments box."
|
1877 |
-
msgstr ""
|
1878 |
-
|
1879 |
-
#: custom-facebook-feed-admin.php:3712
|
1880 |
-
msgid "Number of Comments to Show Initially"
|
1881 |
-
msgstr ""
|
1882 |
-
|
1883 |
-
#: custom-facebook-feed-admin.php:3716
|
1884 |
-
msgid "25 max"
|
1885 |
-
msgstr ""
|
1886 |
-
|
1887 |
-
#: custom-facebook-feed-admin.php:3718
|
1888 |
-
msgid ""
|
1889 |
-
"The number of comments to show initially when the comments box is expanded."
|
1890 |
-
msgstr ""
|
1891 |
-
|
1892 |
-
#: custom-facebook-feed-admin.php:3722
|
1893 |
-
msgid "Hide Comment Avatars"
|
1894 |
-
msgstr ""
|
1895 |
-
|
1896 |
-
#: custom-facebook-feed-admin.php:3761
|
1897 |
-
msgid "Custom CSS"
|
1898 |
-
msgstr ""
|
1899 |
-
|
1900 |
-
#: custom-facebook-feed-admin.php:3766
|
1901 |
-
msgid "Enter your own custom CSS in the box below"
|
1902 |
-
msgstr ""
|
1903 |
-
|
1904 |
-
#: custom-facebook-feed-admin.php:3766 custom-facebook-feed-admin.php:3777
|
1905 |
-
msgid "See some examples"
|
1906 |
-
msgstr ""
|
1907 |
-
|
1908 |
-
#: custom-facebook-feed-admin.php:3772
|
1909 |
-
msgid "Custom JavaScript"
|
1910 |
-
msgstr ""
|
1911 |
-
|
1912 |
-
#: custom-facebook-feed-admin.php:3777
|
1913 |
-
msgid "Enter your own custom JavaScript/jQuery in the box below"
|
1914 |
-
msgstr ""
|
1915 |
-
|
1916 |
-
#: custom-facebook-feed-admin.php:3787
|
1917 |
-
msgid "Media"
|
1918 |
-
msgstr ""
|
1919 |
-
|
1920 |
-
#: custom-facebook-feed-admin.php:3803
|
1921 |
-
msgid "Use full-size shared link images"
|
1922 |
-
msgstr ""
|
1923 |
-
|
1924 |
-
#: custom-facebook-feed-admin.php:3808
|
1925 |
-
msgid ""
|
1926 |
-
"By default the shared link boxes in your posts use the same layout selected "
|
1927 |
-
"on the 'Post Layout' page, however, but you can disable this by unchecking "
|
1928 |
-
"this setting to force all shared links to use the smaller image thumbnails "
|
1929 |
-
"instead."
|
1930 |
-
msgstr ""
|
1931 |
-
|
1932 |
-
#: custom-facebook-feed-admin.php:3812
|
1933 |
-
msgid "Lightbox video player"
|
1934 |
-
msgstr ""
|
1935 |
-
|
1936 |
-
#: custom-facebook-feed-admin.php:3816
|
1937 |
-
msgid "Facebook Video Player"
|
1938 |
-
msgstr ""
|
1939 |
-
|
1940 |
-
#: custom-facebook-feed-admin.php:3817
|
1941 |
-
msgid "Standard HTML5 Video"
|
1942 |
-
msgstr ""
|
1943 |
-
|
1944 |
-
#: custom-facebook-feed-admin.php:3822
|
1945 |
-
msgid "Play video action"
|
1946 |
-
msgstr ""
|
1947 |
-
|
1948 |
-
#: custom-facebook-feed-admin.php:3826
|
1949 |
-
msgid "Play videos directly in the feed"
|
1950 |
-
msgstr ""
|
1951 |
-
|
1952 |
-
#: custom-facebook-feed-admin.php:3828
|
1953 |
-
msgid "Link to the video on Facebook"
|
1954 |
-
msgstr ""
|
1955 |
-
|
1956 |
-
#: custom-facebook-feed-admin.php:3836
|
1957 |
-
msgid "Misc Settings"
|
1958 |
-
msgstr ""
|
1959 |
-
|
1960 |
-
#: custom-facebook-feed-admin.php:3840
|
1961 |
-
msgid "Is your theme loading the feed via Ajax?"
|
1962 |
-
msgstr ""
|
1963 |
-
|
1964 |
-
#: custom-facebook-feed-admin.php:3846
|
1965 |
-
msgid ""
|
1966 |
-
"Some modern WordPress themes use Ajax to load content into the page after it "
|
1967 |
-
"has loaded. If your theme uses Ajax to load the Custom Facebook Feed content "
|
1968 |
-
"into the page then check this box. If you are not sure then please check "
|
1969 |
-
"with the theme author."
|
1970 |
-
msgstr ""
|
1971 |
-
|
1972 |
-
#: custom-facebook-feed-admin.php:3850
|
1973 |
-
msgid "Preserve settings when plugin is removed"
|
1974 |
-
msgstr ""
|
1975 |
-
|
1976 |
-
#: custom-facebook-feed-admin.php:3855
|
1977 |
-
msgid ""
|
1978 |
-
"When removing the plugin your settings are automatically deleted from your "
|
1979 |
-
"database. Checking this box will prevent any settings from being deleted. "
|
1980 |
-
"This means that you can uninstall and reinstall the plugin without losing "
|
1981 |
-
"your settings."
|
1982 |
-
msgstr ""
|
1983 |
-
|
1984 |
-
#: custom-facebook-feed-admin.php:3859
|
1985 |
-
msgid "Display credit link"
|
1986 |
-
msgstr ""
|
1987 |
-
|
1988 |
-
#: custom-facebook-feed-admin.php:3864
|
1989 |
-
msgid "Display a link at the bottom of the feed to help promote the plugin"
|
1990 |
-
msgstr ""
|
1991 |
-
|
1992 |
-
#: custom-facebook-feed-admin.php:3869
|
1993 |
-
msgid "Minify CSS and JavaScript files"
|
1994 |
-
msgstr ""
|
1995 |
-
|
1996 |
-
#: custom-facebook-feed-admin.php:3876
|
1997 |
-
msgid "Is Facebook Page restricted?"
|
1998 |
-
msgstr ""
|
1999 |
-
|
2000 |
-
#: custom-facebook-feed-admin.php:3882
|
2001 |
-
msgid ""
|
2002 |
-
"If you want to display your Facebook feed on your website then ideally your "
|
2003 |
-
"Facebook page should not have any age or location restrictions on it as that "
|
2004 |
-
"restricts the plugin from being able to fully access the content. If it is "
|
2005 |
-
"not possible for you to remove all restrictions then you can enable this "
|
2006 |
-
"setting."
|
2007 |
-
msgstr ""
|
2008 |
-
|
2009 |
-
#: custom-facebook-feed-admin.php:3887
|
2010 |
-
msgid "Icon font source"
|
2011 |
-
msgstr ""
|
2012 |
-
|
2013 |
-
#: custom-facebook-feed-admin.php:3890
|
2014 |
-
msgid "CDN"
|
2015 |
-
msgstr ""
|
2016 |
-
|
2017 |
-
#: custom-facebook-feed-admin.php:3891
|
2018 |
-
msgid "Local copy"
|
2019 |
-
msgstr ""
|
2020 |
-
|
2021 |
-
#: custom-facebook-feed-admin.php:3892
|
2022 |
-
msgid "Don't load"
|
2023 |
-
msgstr ""
|
2024 |
-
|
2025 |
-
#: custom-facebook-feed-admin.php:3899
|
2026 |
-
msgid "Force cache to clear on interval"
|
2027 |
-
msgstr ""
|
2028 |
-
|
2029 |
-
#: custom-facebook-feed-admin.php:3903
|
2030 |
-
msgid " - "
|
2031 |
-
msgstr ""
|
2032 |
-
|
2033 |
-
#: custom-facebook-feed-admin.php:3905
|
2034 |
-
msgid "No"
|
2035 |
-
msgstr ""
|
2036 |
-
|
2037 |
-
#: custom-facebook-feed-admin.php:3909
|
2038 |
-
msgid ""
|
2039 |
-
"If you're experiencing an issue with the plugin not auto-updating then you "
|
2040 |
-
"can set this to 'Yes' to run a scheduled event behind the scenes which "
|
2041 |
-
"forces the plugin cache to clear on a regular basis and retrieve new data "
|
2042 |
-
"from Facebook."
|
2043 |
-
msgstr ""
|
2044 |
-
|
2045 |
-
#: custom-facebook-feed-admin.php:3914
|
2046 |
-
msgid "Request method"
|
2047 |
-
msgstr ""
|
2048 |
-
|
2049 |
-
#: custom-facebook-feed-admin.php:3918
|
2050 |
-
msgid "cURL"
|
2051 |
-
msgstr ""
|
2052 |
-
|
2053 |
-
#: custom-facebook-feed-admin.php:3919
|
2054 |
-
msgid "file_get_contents"
|
2055 |
-
msgstr ""
|
2056 |
-
|
2057 |
-
#: custom-facebook-feed-admin.php:3920
|
2058 |
-
msgid "WP_Http"
|
2059 |
-
msgstr ""
|
2060 |
-
|
2061 |
-
#: custom-facebook-feed-admin.php:3925
|
2062 |
-
msgid "Fix text shortening issue"
|
2063 |
-
msgstr ""
|
2064 |
-
|
2065 |
-
#: custom-facebook-feed-admin.php:3932
|
2066 |
-
msgid "Disable default styles"
|
2067 |
-
msgstr ""
|
2068 |
-
|
2069 |
-
#: custom-facebook-feed-admin.php:3937
|
2070 |
-
msgid ""
|
2071 |
-
"The plugin includes some basic text and link styles which can be disabled by "
|
2072 |
-
"enabling this setting. Note that the styles used for the layout of the posts "
|
2073 |
-
"will still be applied."
|
2074 |
-
msgstr ""
|
2075 |
-
|
2076 |
-
#: custom-facebook-feed-admin.php:3961
|
2077 |
-
msgid ""
|
2078 |
-
"Enter custom text for the words below, or translate it into the language you "
|
2079 |
-
"would like to use."
|
2080 |
-
msgstr ""
|
2081 |
-
|
2082 |
-
#: custom-facebook-feed-admin.php:3967
|
2083 |
-
msgid "Original Text"
|
2084 |
-
msgstr ""
|
2085 |
-
|
2086 |
-
#: custom-facebook-feed-admin.php:3968
|
2087 |
-
msgid "Custom Text / Translation"
|
2088 |
-
msgstr ""
|
2089 |
-
|
2090 |
-
#: custom-facebook-feed-admin.php:3969
|
2091 |
-
msgid "Context"
|
2092 |
-
msgstr ""
|
2093 |
-
|
2094 |
-
#: custom-facebook-feed-admin.php:3975
|
2095 |
-
msgid "See More"
|
2096 |
-
msgstr ""
|
2097 |
-
|
2098 |
-
#: custom-facebook-feed-admin.php:3977 custom-facebook-feed-admin.php:3983
|
2099 |
-
msgid "Used when truncating the post text"
|
2100 |
-
msgstr ""
|
2101 |
-
|
2102 |
-
#: custom-facebook-feed-admin.php:3981
|
2103 |
-
msgid "See Less"
|
2104 |
-
msgstr ""
|
2105 |
-
|
2106 |
-
#: custom-facebook-feed-admin.php:3988
|
2107 |
-
msgid "View on Facebook"
|
2108 |
-
msgstr ""
|
2109 |
-
|
2110 |
-
#: custom-facebook-feed-admin.php:3990
|
2111 |
-
msgid "Used for the link to the post on Facebook"
|
2112 |
-
msgstr ""
|
2113 |
-
|
2114 |
-
#: custom-facebook-feed-admin.php:3993
|
2115 |
-
msgid "Share"
|
2116 |
-
msgstr ""
|
2117 |
-
|
2118 |
-
#: custom-facebook-feed-admin.php:3995
|
2119 |
-
msgid "Used for sharing the Facebook post via Social Media"
|
2120 |
-
msgstr ""
|
2121 |
-
|
2122 |
-
#: custom-facebook-feed-admin.php:3999
|
2123 |
-
msgid "photos"
|
2124 |
-
msgstr ""
|
2125 |
-
|
2126 |
-
#: custom-facebook-feed-admin.php:4001
|
2127 |
-
msgid "Added to the end of an album name. Eg. (6 photos)"
|
2128 |
-
msgstr ""
|
2129 |
-
|
2130 |
-
#: custom-facebook-feed-admin.php:4004
|
2131 |
-
msgid "Media Links"
|
2132 |
-
msgstr ""
|
2133 |
-
|
2134 |
-
#: custom-facebook-feed-admin.php:4006
|
2135 |
-
msgid "Photo"
|
2136 |
-
msgstr ""
|
2137 |
-
|
2138 |
-
#: custom-facebook-feed-admin.php:4008
|
2139 |
-
msgid "Used to link to photos on Facebook"
|
2140 |
-
msgstr ""
|
2141 |
-
|
2142 |
-
#: custom-facebook-feed-admin.php:4011
|
2143 |
-
msgid "Video"
|
2144 |
-
msgstr ""
|
2145 |
-
|
2146 |
-
#: custom-facebook-feed-admin.php:4013
|
2147 |
-
msgid "Used to link to videos on Facebook"
|
2148 |
-
msgstr ""
|
2149 |
-
|
2150 |
-
#: custom-facebook-feed-admin.php:4016
|
2151 |
-
msgid "Call-to-action Buttons"
|
2152 |
-
msgstr ""
|
2153 |
-
|
2154 |
-
#: custom-facebook-feed-admin.php:4018
|
2155 |
-
msgid "Learn More"
|
2156 |
-
msgstr ""
|
2157 |
-
|
2158 |
-
#: custom-facebook-feed-admin.php:4020
|
2159 |
-
msgid "Used for the 'Learn More' button"
|
2160 |
-
msgstr ""
|
2161 |
-
|
2162 |
-
#: custom-facebook-feed-admin.php:4023
|
2163 |
-
msgid "Shop Now"
|
2164 |
-
msgstr ""
|
2165 |
-
|
2166 |
-
#: custom-facebook-feed-admin.php:4025
|
2167 |
-
msgid "Used for the 'Shop Now' button"
|
2168 |
-
msgstr ""
|
2169 |
-
|
2170 |
-
#: custom-facebook-feed-admin.php:4028
|
2171 |
-
msgid "Message Page"
|
2172 |
-
msgstr ""
|
2173 |
-
|
2174 |
-
#: custom-facebook-feed-admin.php:4030
|
2175 |
-
msgid "Used for the 'Message Page' button"
|
2176 |
-
msgstr ""
|
2177 |
-
|
2178 |
-
#: custom-facebook-feed-admin.php:4035
|
2179 |
-
msgid "\"Posted _ hours ago\" text"
|
2180 |
-
msgstr ""
|
2181 |
-
|
2182 |
-
#: custom-facebook-feed-admin.php:4038
|
2183 |
-
msgid "second"
|
2184 |
-
msgstr ""
|
2185 |
-
|
2186 |
-
#: custom-facebook-feed-admin.php:4041
|
2187 |
-
msgid "seconds"
|
2188 |
-
msgstr ""
|
2189 |
-
|
2190 |
-
#: custom-facebook-feed-admin.php:4044
|
2191 |
-
msgid "minute"
|
2192 |
-
msgstr ""
|
2193 |
-
|
2194 |
-
#: custom-facebook-feed-admin.php:4047
|
2195 |
-
msgid "minutes"
|
2196 |
-
msgstr ""
|
2197 |
-
|
2198 |
-
#: custom-facebook-feed-admin.php:4050
|
2199 |
-
msgid "hour"
|
2200 |
-
msgstr ""
|
2201 |
-
|
2202 |
-
#: custom-facebook-feed-admin.php:4053
|
2203 |
-
msgid "hours"
|
2204 |
-
msgstr ""
|
2205 |
-
|
2206 |
-
#: custom-facebook-feed-admin.php:4056
|
2207 |
-
msgid "day"
|
2208 |
-
msgstr ""
|
2209 |
-
|
2210 |
-
#: custom-facebook-feed-admin.php:4059
|
2211 |
-
msgid "days"
|
2212 |
-
msgstr ""
|
2213 |
-
|
2214 |
-
#: custom-facebook-feed-admin.php:4062
|
2215 |
-
msgid "week"
|
2216 |
-
msgstr ""
|
2217 |
-
|
2218 |
-
#: custom-facebook-feed-admin.php:4065
|
2219 |
-
msgid "weeks"
|
2220 |
-
msgstr ""
|
2221 |
-
|
2222 |
-
#: custom-facebook-feed-admin.php:4068
|
2223 |
-
msgid "month"
|
2224 |
-
msgstr ""
|
2225 |
-
|
2226 |
-
#: custom-facebook-feed-admin.php:4071
|
2227 |
-
msgid "months"
|
2228 |
-
msgstr ""
|
2229 |
-
|
2230 |
-
#: custom-facebook-feed-admin.php:4074
|
2231 |
-
msgid "year"
|
2232 |
-
msgstr ""
|
2233 |
-
|
2234 |
-
#: custom-facebook-feed-admin.php:4077
|
2235 |
-
msgid "years"
|
2236 |
-
msgstr ""
|
2237 |
-
|
2238 |
-
#: custom-facebook-feed-admin.php:4080
|
2239 |
-
msgid "ago"
|
2240 |
-
msgstr ""
|
2241 |
-
|
2242 |
-
#: custom-facebook-feed-admin.php:4083
|
2243 |
-
msgid "Used to translate the \"__ days ago\" date text"
|
2244 |
-
msgstr ""
|
2245 |
-
|
2246 |
-
#: custom-facebook-feed-admin.php:4339
|
2247 |
-
msgid ""
|
2248 |
-
"PS. We currently have a <a href=\"https://smashballoon.com/custom-facebook-"
|
2249 |
-
"feed/?utm_source=plugin-free&utm_campaign=cff&discount="
|
2250 |
-
msgstr ""
|
2251 |
-
|
2252 |
-
#: custom-facebook-feed-admin.php:4357
|
2253 |
-
msgid ""
|
2254 |
-
"It's great to see that you've been using the <strong style='font-weight: "
|
2255 |
-
"700;'>Smash Balloon Custom Facebook Feed</strong> plugin for a while now. "
|
2256 |
-
"Hopefully you like it! If so, would you consider leaving a positive review? "
|
2257 |
-
"It really helps support the plugin and helps others to discover it too!"
|
2258 |
-
msgstr ""
|
2259 |
-
|
2260 |
-
#: custom-facebook-feed-admin.php:4361
|
2261 |
-
msgid "Sure, I'd love to!"
|
2262 |
-
msgstr ""
|
2263 |
-
|
2264 |
-
#: custom-facebook-feed-admin.php:4363
|
2265 |
-
msgid "No thanks"
|
2266 |
-
msgstr ""
|
2267 |
-
|
2268 |
-
#: custom-facebook-feed-admin.php:4365
|
2269 |
-
msgid "I've already given a review"
|
2270 |
-
msgstr ""
|
2271 |
-
|
2272 |
-
#: custom-facebook-feed-admin.php:4367
|
2273 |
-
msgid "Ask Me Later"
|
2274 |
-
msgstr ""
|
2275 |
-
|
2276 |
-
#: custom-facebook-feed-admin.php:4384
|
2277 |
-
#, php-format
|
2278 |
-
msgid ""
|
2279 |
-
"<b style=\"font-weight: 700;\">Exclusive offer!</b> We don't run promotions "
|
2280 |
-
"very often, but for a limited time we're offering <b style=\"font-weight: "
|
2281 |
-
"700;\">20% off</b> our Pro version to all users of our free Smash Balloon "
|
2282 |
-
"Custom Facebook Feed plugin."
|
2283 |
-
msgstr ""
|
2284 |
-
|
2285 |
-
#: custom-facebook-feed-admin.php:4386 custom-facebook-feed-admin.php:4404
|
2286 |
-
msgid "Get this offer"
|
2287 |
-
msgstr ""
|
2288 |
-
|
2289 |
-
#: custom-facebook-feed-admin.php:4387 custom-facebook-feed-admin.php:4405
|
2290 |
-
msgid "I'm not interested"
|
2291 |
-
msgstr ""
|
2292 |
-
|
2293 |
-
#: custom-facebook-feed-admin.php:4402
|
2294 |
-
#, php-format
|
2295 |
-
msgid ""
|
2296 |
-
"<b style=\"font-weight: 700;\">Black Friday/Cyber Monday Deal!</b> Thank you "
|
2297 |
-
"for using the free Smash Balloon Custom Facebook Feed plugin. For a limited "
|
2298 |
-
"time, we're offering <b style=\"font-weight: 700;\">20% off</b> the Pro "
|
2299 |
-
"version for all of our users."
|
2300 |
-
msgstr ""
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: 2020-03-26 13:28-0500\n"
|
5 |
+
"PO-Revision-Date: 2020-03-26 13:29-0500\n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: \n"
|
8 |
+
"Language: en_US\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 2.3\n"
|
13 |
+
"X-Poedit-Basepath: ..\n"
|
14 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
15 |
+
"X-Poedit-KeywordsList: __;_e;esc_html_e;esc_attr_e\n"
|
16 |
+
"X-Poedit-SearchPath-0: .\n"
|
17 |
+
|
18 |
+
#: custom-facebook-feed-admin.php:113 custom-facebook-feed-admin.php:1943
|
19 |
+
msgid "Settings saved."
|
20 |
+
msgstr ""
|
21 |
+
|
22 |
+
#: custom-facebook-feed-admin.php:126 custom-facebook-feed-admin.php:1954
|
23 |
+
msgid ""
|
24 |
+
"You're using Custom Facebook Feed Lite. To unlock more features consider <a "
|
25 |
+
"href=\"https://smashballoon.com/custom-facebook-feed/?"
|
26 |
+
"utm_source=WordPress&utm_campaign=facebookliteplugin&utm_medium=notice-bar\" "
|
27 |
+
"target=\"_blank\" rel=\"noopener noreferrer\">upgrading to Pro</a>."
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
#: custom-facebook-feed-admin.php:127 custom-facebook-feed-admin.php:1955
|
31 |
+
msgid "Dismiss this message."
|
32 |
+
msgstr ""
|
33 |
+
|
34 |
+
#: custom-facebook-feed-admin.php:133 custom-facebook-feed-admin.php:1962
|
35 |
+
#: custom-facebook-feed-admin.php:4355
|
36 |
+
msgid "Custom Facebook Feed"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: custom-facebook-feed-admin.php:140 custom-facebook-feed-admin.php:152
|
40 |
+
#: custom-facebook-feed-admin.php:1974
|
41 |
+
msgid "Configuration"
|
42 |
+
msgstr ""
|
43 |
+
|
44 |
+
#: custom-facebook-feed-admin.php:141 custom-facebook-feed-admin.php:1975
|
45 |
+
msgid "Customize"
|
46 |
+
msgstr ""
|
47 |
+
|
48 |
+
#: custom-facebook-feed-admin.php:142 custom-facebook-feed-admin.php:763
|
49 |
+
#: custom-facebook-feed-admin.php:1976 custom-facebook-feed-admin.php:2480
|
50 |
+
msgid "Support"
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#: custom-facebook-feed-admin.php:178 custom-facebook-feed-admin.php:180
|
54 |
+
msgid "Continue"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: custom-facebook-feed-admin.php:190
|
58 |
+
msgid "Log in and get my Access Token"
|
59 |
+
msgstr ""
|
60 |
+
|
61 |
+
#: custom-facebook-feed-admin.php:363
|
62 |
+
msgid "Show Available Groups"
|
63 |
+
msgstr ""
|
64 |
+
|
65 |
+
#: custom-facebook-feed-admin.php:363
|
66 |
+
msgid "Show Available Pages"
|
67 |
+
msgstr ""
|
68 |
+
|
69 |
+
#: custom-facebook-feed-admin.php:375
|
70 |
+
msgid ""
|
71 |
+
"Facebook Page ID<br /><i style=\"font-weight: normal; font-size: 12px;\">ID "
|
72 |
+
"of your Facebook Page or Group</i>"
|
73 |
+
msgstr ""
|
74 |
+
|
75 |
+
#: custom-facebook-feed-admin.php:380
|
76 |
+
msgid "What's my Page ID?"
|
77 |
+
msgstr ""
|
78 |
+
|
79 |
+
#: custom-facebook-feed-admin.php:384
|
80 |
+
msgid ""
|
81 |
+
"<b>Facebook Page</b><br />\r\n"
|
82 |
+
" You can find the ID of your Facebook "
|
83 |
+
"<b>Page</b> from the URL. In each URL format, the ID is highlighted below:"
|
84 |
+
"<br /><br />\r\n"
|
85 |
+
" URL Format 1: <code>https://www.facebook."
|
86 |
+
"com/<span class=\"cff-highlight\">your_page_name</span></code>\r\n"
|
87 |
+
" <br />\r\n"
|
88 |
+
" URL Format 2: <code>https://www.facebook."
|
89 |
+
"com/your_page_name-<span class=\"cff-highlight\">1234567890</span></code>\r\n"
|
90 |
+
" <br />\r\n"
|
91 |
+
" URL Format 3: <code>https://www.facebook."
|
92 |
+
"com/pages/your_page_name/<span class=\"cff-highlight\">1234567890</span></"
|
93 |
+
"code>\r\n"
|
94 |
+
" "
|
95 |
+
msgstr ""
|
96 |
+
|
97 |
+
#: custom-facebook-feed-admin.php:393
|
98 |
+
msgid ""
|
99 |
+
"<b>Facebook Group</b><br />You can find the ID of your Facebook <b>Group</b> "
|
100 |
+
"from the URL, like so: <code>https://www.facebook.com/groups/<span class="
|
101 |
+
"\"cff-highlight\">1234567890</span></code>"
|
102 |
+
msgstr ""
|
103 |
+
|
104 |
+
#: custom-facebook-feed-admin.php:417
|
105 |
+
msgid "Facebook Access Token"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
#: custom-facebook-feed-admin.php:417
|
109 |
+
msgid "Required"
|
110 |
+
msgstr ""
|
111 |
+
|
112 |
+
#: custom-facebook-feed-admin.php:419 custom-facebook-feed-admin.php:3580
|
113 |
+
msgid "What is this?"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: custom-facebook-feed-admin.php:420
|
117 |
+
msgid ""
|
118 |
+
"In order to connect to Facebook and get a feed, you need to use an Access "
|
119 |
+
"Token. To get one, simply use the blue button above to log into your "
|
120 |
+
"Facebook account. You will then receive a token that will be used to connect "
|
121 |
+
"to Facebook's API. If you already have an Access Token then you can enter it "
|
122 |
+
"here."
|
123 |
+
msgstr ""
|
124 |
+
|
125 |
+
#: custom-facebook-feed-admin.php:423
|
126 |
+
msgid ""
|
127 |
+
"<p>This doesn't appear to be an Access Token. Please be sure that you didn't "
|
128 |
+
"enter your App Secret instead of your Access Token.<br />Your App ID and App "
|
129 |
+
"Secret are used to obtain your Access Token; simply paste them into the "
|
130 |
+
"fields in the last step of the <a href='https://smashballoon.com/custom-"
|
131 |
+
"facebook-feed/access-token/' target='_blank'>Access Token instructions</a> "
|
132 |
+
"and click '<b>Get my Access Token</b>'.</p>"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#: custom-facebook-feed-admin.php:435
|
136 |
+
msgid "Is it a Facebook page or group?"
|
137 |
+
msgstr ""
|
138 |
+
|
139 |
+
#: custom-facebook-feed-admin.php:437
|
140 |
+
msgid "- Select one -"
|
141 |
+
msgstr ""
|
142 |
+
|
143 |
+
#: custom-facebook-feed-admin.php:438 custom-facebook-feed-admin.php:446
|
144 |
+
#: custom-facebook-feed-admin.php:453 custom-facebook-feed-admin.php:456
|
145 |
+
#: custom-facebook-feed-admin.php:463 custom-facebook-feed-admin.php:499
|
146 |
+
msgid "Page"
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
#: custom-facebook-feed-admin.php:439 custom-facebook-feed-admin.php:446
|
150 |
+
#: custom-facebook-feed-admin.php:453 custom-facebook-feed-admin.php:456
|
151 |
+
#: custom-facebook-feed-admin.php:463 custom-facebook-feed-admin.php:500
|
152 |
+
msgid "Group"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: custom-facebook-feed-admin.php:446
|
156 |
+
msgid "Name"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
#: custom-facebook-feed-admin.php:446
|
160 |
+
msgid "(optional)"
|
161 |
+
msgstr ""
|
162 |
+
|
163 |
+
#: custom-facebook-feed-admin.php:449
|
164 |
+
msgid "This is just for labeling the account here on this settings page"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: custom-facebook-feed-admin.php:453
|
168 |
+
msgid "ID"
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: custom-facebook-feed-admin.php:456
|
172 |
+
msgid "The ID of the Facebook"
|
173 |
+
msgstr ""
|
174 |
+
|
175 |
+
#: custom-facebook-feed-admin.php:456
|
176 |
+
msgid "you want to add."
|
177 |
+
msgstr ""
|
178 |
+
|
179 |
+
#: custom-facebook-feed-admin.php:456
|
180 |
+
msgid "How do I find my Page ID?"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: custom-facebook-feed-admin.php:460
|
184 |
+
msgid "Access Token"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: custom-facebook-feed-admin.php:463
|
188 |
+
msgid "The Access Token of the Facebook"
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: custom-facebook-feed-admin.php:463
|
192 |
+
msgid "you want to add"
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: custom-facebook-feed-admin.php:492 custom-facebook-feed-admin.php:4158
|
196 |
+
msgid "Settings"
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: custom-facebook-feed-admin.php:495
|
200 |
+
msgid "Is it a page or group?"
|
201 |
+
msgstr ""
|
202 |
+
|
203 |
+
#: custom-facebook-feed-admin.php:501
|
204 |
+
msgid "Profile"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
#: custom-facebook-feed-admin.php:504
|
208 |
+
msgid ""
|
209 |
+
"<p>Due to Facebook's privacy policy you're not able to display posts from a "
|
210 |
+
"personal profile, only from a public Facebook Page.</p><p>If you're using a "
|
211 |
+
"profile to represent a business, organization, product, public figure or the "
|
212 |
+
"like, then Facebook recommends <a href='http://www.facebook.com/"
|
213 |
+
"help/175644189234902/' target='_blank'>converting your profile to a page</"
|
214 |
+
"a>. There are many advantages to using pages over profiles, and once you've "
|
215 |
+
"converted then the plugin will be able to successfully retrieve and display "
|
216 |
+
"all of your posts.</p>"
|
217 |
+
msgstr ""
|
218 |
+
|
219 |
+
#: custom-facebook-feed-admin.php:510
|
220 |
+
msgid "Show posts on my page by:"
|
221 |
+
msgstr ""
|
222 |
+
|
223 |
+
#: custom-facebook-feed-admin.php:514
|
224 |
+
msgid "Only the page owner (me)"
|
225 |
+
msgstr ""
|
226 |
+
|
227 |
+
#: custom-facebook-feed-admin.php:515
|
228 |
+
msgid "Page owner + other people"
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
#: custom-facebook-feed-admin.php:516
|
232 |
+
msgid "Only other people"
|
233 |
+
msgstr ""
|
234 |
+
|
235 |
+
#: custom-facebook-feed-admin.php:522
|
236 |
+
msgid "Number of posts to display"
|
237 |
+
msgstr ""
|
238 |
+
|
239 |
+
#: custom-facebook-feed-admin.php:530
|
240 |
+
msgid "Facebook API post limit"
|
241 |
+
msgstr ""
|
242 |
+
|
243 |
+
#: custom-facebook-feed-admin.php:534 custom-facebook-feed-admin.php:544
|
244 |
+
#: custom-facebook-feed-admin.php:3917
|
245 |
+
msgid "Auto"
|
246 |
+
msgstr ""
|
247 |
+
|
248 |
+
#: custom-facebook-feed-admin.php:535 custom-facebook-feed-admin.php:547
|
249 |
+
msgid "Manual"
|
250 |
+
msgstr ""
|
251 |
+
|
252 |
+
#: custom-facebook-feed-admin.php:542
|
253 |
+
msgid ""
|
254 |
+
"The post 'limit' is the number of posts retrieved from the Facebook API. "
|
255 |
+
"Most users won't need to manually adjust this setting as by default the "
|
256 |
+
"plugin automatically retrieves a few more posts from the Facebook API than "
|
257 |
+
"you need, as some posts may be filtered out."
|
258 |
+
msgstr ""
|
259 |
+
|
260 |
+
#: custom-facebook-feed-admin.php:544
|
261 |
+
msgid "Recommended"
|
262 |
+
msgstr ""
|
263 |
+
|
264 |
+
#: custom-facebook-feed-admin.php:545
|
265 |
+
msgid ""
|
266 |
+
"Allow the plugin to automatically decide how many posts to retrieve from "
|
267 |
+
"Facebook's API."
|
268 |
+
msgstr ""
|
269 |
+
|
270 |
+
#: custom-facebook-feed-admin.php:548
|
271 |
+
msgid ""
|
272 |
+
"Manually set how many posts to retrieve from Facebook's API.<br /><b>Note:</"
|
273 |
+
"b> If you choose to retrieve a high number of posts then it will take longer "
|
274 |
+
"for Facebook to return the posts when the plugin checks for new ones."
|
275 |
+
msgstr ""
|
276 |
+
|
277 |
+
#: custom-facebook-feed-admin.php:552
|
278 |
+
msgid "Check for new posts every"
|
279 |
+
msgstr ""
|
280 |
+
|
281 |
+
#: custom-facebook-feed-admin.php:556
|
282 |
+
msgid "Minutes"
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
#: custom-facebook-feed-admin.php:557
|
286 |
+
msgid "Hours"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
+
#: custom-facebook-feed-admin.php:558
|
290 |
+
msgid "Days"
|
291 |
+
msgstr ""
|
292 |
+
|
293 |
+
#: custom-facebook-feed-admin.php:561
|
294 |
+
msgid ""
|
295 |
+
"Your Facebook posts and comments data is temporarily cached by the plugin in "
|
296 |
+
"your WordPress database. You can choose how long this data should be cached "
|
297 |
+
"for. If you set the time to 60 minutes then the plugin will clear the cached "
|
298 |
+
"data after that length of time, and the next time the page is viewed it will "
|
299 |
+
"check for new data."
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
#: custom-facebook-feed-admin.php:566
|
303 |
+
msgid "Localization"
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
+
#: custom-facebook-feed-admin.php:570
|
307 |
+
msgid "Afrikaans"
|
308 |
+
msgstr ""
|
309 |
+
|
310 |
+
#: custom-facebook-feed-admin.php:571
|
311 |
+
msgid "Arabic"
|
312 |
+
msgstr ""
|
313 |
+
|
314 |
+
#: custom-facebook-feed-admin.php:572
|
315 |
+
msgid "Azerbaijani"
|
316 |
+
msgstr ""
|
317 |
+
|
318 |
+
#: custom-facebook-feed-admin.php:573
|
319 |
+
msgid "Belarusian"
|
320 |
+
msgstr ""
|
321 |
+
|
322 |
+
#: custom-facebook-feed-admin.php:574
|
323 |
+
msgid "Bulgarian"
|
324 |
+
msgstr ""
|
325 |
+
|
326 |
+
#: custom-facebook-feed-admin.php:575
|
327 |
+
msgid "Bengali"
|
328 |
+
msgstr ""
|
329 |
+
|
330 |
+
#: custom-facebook-feed-admin.php:576
|
331 |
+
msgid "Bosnian"
|
332 |
+
msgstr ""
|
333 |
+
|
334 |
+
#: custom-facebook-feed-admin.php:577
|
335 |
+
msgid "Catalan"
|
336 |
+
msgstr ""
|
337 |
+
|
338 |
+
#: custom-facebook-feed-admin.php:578
|
339 |
+
msgid "Czech"
|
340 |
+
msgstr ""
|
341 |
+
|
342 |
+
#: custom-facebook-feed-admin.php:579
|
343 |
+
msgid "Welsh"
|
344 |
+
msgstr ""
|
345 |
+
|
346 |
+
#: custom-facebook-feed-admin.php:580
|
347 |
+
msgid "Danish"
|
348 |
+
msgstr ""
|
349 |
+
|
350 |
+
#: custom-facebook-feed-admin.php:581
|
351 |
+
msgid "German"
|
352 |
+
msgstr ""
|
353 |
+
|
354 |
+
#: custom-facebook-feed-admin.php:582
|
355 |
+
msgid "Greek"
|
356 |
+
msgstr ""
|
357 |
+
|
358 |
+
#: custom-facebook-feed-admin.php:583
|
359 |
+
msgid "English (UK)"
|
360 |
+
msgstr ""
|
361 |
+
|
362 |
+
#: custom-facebook-feed-admin.php:584
|
363 |
+
msgid "English (Pirate)"
|
364 |
+
msgstr ""
|
365 |
+
|
366 |
+
#: custom-facebook-feed-admin.php:585
|
367 |
+
msgid "English (Upside Down)"
|
368 |
+
msgstr ""
|
369 |
+
|
370 |
+
#: custom-facebook-feed-admin.php:586
|
371 |
+
msgid "English (US)"
|
372 |
+
msgstr ""
|
373 |
+
|
374 |
+
#: custom-facebook-feed-admin.php:587
|
375 |
+
msgid "Esperanto"
|
376 |
+
msgstr ""
|
377 |
+
|
378 |
+
#: custom-facebook-feed-admin.php:588
|
379 |
+
msgid "Spanish (Spain)"
|
380 |
+
msgstr ""
|
381 |
+
|
382 |
+
#: custom-facebook-feed-admin.php:589
|
383 |
+
msgid "Spanish"
|
384 |
+
msgstr ""
|
385 |
+
|
386 |
+
#: custom-facebook-feed-admin.php:590
|
387 |
+
msgid "Estonian"
|
388 |
+
msgstr ""
|
389 |
+
|
390 |
+
#: custom-facebook-feed-admin.php:591
|
391 |
+
msgid "Basque"
|
392 |
+
msgstr ""
|
393 |
+
|
394 |
+
#: custom-facebook-feed-admin.php:592
|
395 |
+
msgid "Persian"
|
396 |
+
msgstr ""
|
397 |
+
|
398 |
+
#: custom-facebook-feed-admin.php:593
|
399 |
+
msgid "Leet Speak"
|
400 |
+
msgstr ""
|
401 |
+
|
402 |
+
#: custom-facebook-feed-admin.php:594
|
403 |
+
msgid "Finnish"
|
404 |
+
msgstr ""
|
405 |
+
|
406 |
+
#: custom-facebook-feed-admin.php:595
|
407 |
+
msgid "Faroese"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: custom-facebook-feed-admin.php:596
|
411 |
+
msgid "French (Canada)"
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: custom-facebook-feed-admin.php:597
|
415 |
+
msgid "French (France)"
|
416 |
+
msgstr ""
|
417 |
+
|
418 |
+
#: custom-facebook-feed-admin.php:598
|
419 |
+
msgid "Frisian"
|
420 |
+
msgstr ""
|
421 |
+
|
422 |
+
#: custom-facebook-feed-admin.php:599
|
423 |
+
msgid "Irish"
|
424 |
+
msgstr ""
|
425 |
+
|
426 |
+
#: custom-facebook-feed-admin.php:600
|
427 |
+
msgid "Galician"
|
428 |
+
msgstr ""
|
429 |
+
|
430 |
+
#: custom-facebook-feed-admin.php:601
|
431 |
+
msgid "Hebrew"
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: custom-facebook-feed-admin.php:602
|
435 |
+
msgid "Hindi"
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: custom-facebook-feed-admin.php:603
|
439 |
+
msgid "Croatian"
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: custom-facebook-feed-admin.php:604
|
443 |
+
msgid "Hungarian"
|
444 |
+
msgstr ""
|
445 |
+
|
446 |
+
#: custom-facebook-feed-admin.php:605
|
447 |
+
msgid "Armenian"
|
448 |
+
msgstr ""
|
449 |
+
|
450 |
+
#: custom-facebook-feed-admin.php:606
|
451 |
+
msgid "Indonesian"
|
452 |
+
msgstr ""
|
453 |
+
|
454 |
+
#: custom-facebook-feed-admin.php:607
|
455 |
+
msgid "Icelandic"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: custom-facebook-feed-admin.php:608
|
459 |
+
msgid "Italian"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: custom-facebook-feed-admin.php:609
|
463 |
+
msgid "Japanese"
|
464 |
+
msgstr ""
|
465 |
+
|
466 |
+
#: custom-facebook-feed-admin.php:610
|
467 |
+
msgid "Georgian"
|
468 |
+
msgstr ""
|
469 |
+
|
470 |
+
#: custom-facebook-feed-admin.php:611
|
471 |
+
msgid "Khmer"
|
472 |
+
msgstr ""
|
473 |
+
|
474 |
+
#: custom-facebook-feed-admin.php:612
|
475 |
+
msgid "Korean"
|
476 |
+
msgstr ""
|
477 |
+
|
478 |
+
#: custom-facebook-feed-admin.php:613
|
479 |
+
msgid "Kurdish"
|
480 |
+
msgstr ""
|
481 |
+
|
482 |
+
#: custom-facebook-feed-admin.php:614
|
483 |
+
msgid "Latin"
|
484 |
+
msgstr ""
|
485 |
+
|
486 |
+
#: custom-facebook-feed-admin.php:615
|
487 |
+
msgid "Lithuanian"
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: custom-facebook-feed-admin.php:616
|
491 |
+
msgid "Latvian"
|
492 |
+
msgstr ""
|
493 |
+
|
494 |
+
#: custom-facebook-feed-admin.php:617
|
495 |
+
msgid "Macedonian"
|
496 |
+
msgstr ""
|
497 |
+
|
498 |
+
#: custom-facebook-feed-admin.php:618
|
499 |
+
msgid "Malayalam"
|
500 |
+
msgstr ""
|
501 |
+
|
502 |
+
#: custom-facebook-feed-admin.php:619
|
503 |
+
msgid "Malay"
|
504 |
+
msgstr ""
|
505 |
+
|
506 |
+
#: custom-facebook-feed-admin.php:620
|
507 |
+
msgid "Norwegian (bokmal)"
|
508 |
+
msgstr ""
|
509 |
+
|
510 |
+
#: custom-facebook-feed-admin.php:621
|
511 |
+
msgid "Nepali"
|
512 |
+
msgstr ""
|
513 |
+
|
514 |
+
#: custom-facebook-feed-admin.php:622
|
515 |
+
msgid "Dutch"
|
516 |
+
msgstr ""
|
517 |
+
|
518 |
+
#: custom-facebook-feed-admin.php:623
|
519 |
+
msgid "Norwegian (nynorsk)"
|
520 |
+
msgstr ""
|
521 |
+
|
522 |
+
#: custom-facebook-feed-admin.php:624
|
523 |
+
msgid "Punjabi"
|
524 |
+
msgstr ""
|
525 |
+
|
526 |
+
#: custom-facebook-feed-admin.php:625
|
527 |
+
msgid "Polish"
|
528 |
+
msgstr ""
|
529 |
+
|
530 |
+
#: custom-facebook-feed-admin.php:626
|
531 |
+
msgid "Pashto"
|
532 |
+
msgstr ""
|
533 |
+
|
534 |
+
#: custom-facebook-feed-admin.php:627
|
535 |
+
msgid "Portuguese (Brazil)"
|
536 |
+
msgstr ""
|
537 |
+
|
538 |
+
#: custom-facebook-feed-admin.php:628
|
539 |
+
msgid "Portuguese (Portugal)"
|
540 |
+
msgstr ""
|
541 |
+
|
542 |
+
#: custom-facebook-feed-admin.php:629
|
543 |
+
msgid "Romanian"
|
544 |
+
msgstr ""
|
545 |
+
|
546 |
+
#: custom-facebook-feed-admin.php:630
|
547 |
+
msgid "Russian"
|
548 |
+
msgstr ""
|
549 |
+
|
550 |
+
#: custom-facebook-feed-admin.php:631
|
551 |
+
msgid "Slovak"
|
552 |
+
msgstr ""
|
553 |
+
|
554 |
+
#: custom-facebook-feed-admin.php:632
|
555 |
+
msgid "Slovenian"
|
556 |
+
msgstr ""
|
557 |
+
|
558 |
+
#: custom-facebook-feed-admin.php:633
|
559 |
+
msgid "Albanian"
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: custom-facebook-feed-admin.php:634
|
563 |
+
msgid "Serbian"
|
564 |
+
msgstr ""
|
565 |
+
|
566 |
+
#: custom-facebook-feed-admin.php:635
|
567 |
+
msgid "Swedish"
|
568 |
+
msgstr ""
|
569 |
+
|
570 |
+
#: custom-facebook-feed-admin.php:636
|
571 |
+
msgid "Swahili"
|
572 |
+
msgstr ""
|
573 |
+
|
574 |
+
#: custom-facebook-feed-admin.php:637
|
575 |
+
msgid "Tamil"
|
576 |
+
msgstr ""
|
577 |
+
|
578 |
+
#: custom-facebook-feed-admin.php:638
|
579 |
+
msgid "Telugu"
|
580 |
+
msgstr ""
|
581 |
+
|
582 |
+
#: custom-facebook-feed-admin.php:639
|
583 |
+
msgid "Thai"
|
584 |
+
msgstr ""
|
585 |
+
|
586 |
+
#: custom-facebook-feed-admin.php:640
|
587 |
+
msgid "Filipino"
|
588 |
+
msgstr ""
|
589 |
+
|
590 |
+
#: custom-facebook-feed-admin.php:641
|
591 |
+
msgid "Turkish"
|
592 |
+
msgstr ""
|
593 |
+
|
594 |
+
#: custom-facebook-feed-admin.php:642
|
595 |
+
msgid "Ukrainian"
|
596 |
+
msgstr ""
|
597 |
+
|
598 |
+
#: custom-facebook-feed-admin.php:643
|
599 |
+
msgid "Vietnamese"
|
600 |
+
msgstr ""
|
601 |
+
|
602 |
+
#: custom-facebook-feed-admin.php:644
|
603 |
+
msgid "Simplified Chinese (China)"
|
604 |
+
msgstr ""
|
605 |
+
|
606 |
+
#: custom-facebook-feed-admin.php:645
|
607 |
+
msgid "Traditional Chinese (Hong Kong)"
|
608 |
+
msgstr ""
|
609 |
+
|
610 |
+
#: custom-facebook-feed-admin.php:646
|
611 |
+
msgid "Traditional Chinese (Taiwan)"
|
612 |
+
msgstr ""
|
613 |
+
|
614 |
+
#: custom-facebook-feed-admin.php:649
|
615 |
+
msgid ""
|
616 |
+
"This translates some of the text sent by Facebook, specifically, the "
|
617 |
+
"descriptive post text (eg: Smash Balloon shared a link) and the text in the "
|
618 |
+
"'Like Box' widget. To find out how to translate the other text in the plugin "
|
619 |
+
"see <a href='https://smashballoon.com/cff-how-does-the-plugin-handle-text-"
|
620 |
+
"and-language-translation/' target='_blank'>this FAQ</a>."
|
621 |
+
msgstr ""
|
622 |
+
|
623 |
+
#: custom-facebook-feed-admin.php:654 custom-facebook-feed-admin.php:3056
|
624 |
+
msgid "Timezone"
|
625 |
+
msgstr ""
|
626 |
+
|
627 |
+
#: custom-facebook-feed-admin.php:659 custom-facebook-feed-admin.php:3061
|
628 |
+
msgid "(GMT-11:00) Midway Island, Samoa"
|
629 |
+
msgstr ""
|
630 |
+
|
631 |
+
#: custom-facebook-feed-admin.php:660 custom-facebook-feed-admin.php:3062
|
632 |
+
msgid "(GMT-10:00) Hawaii-Aleutian"
|
633 |
+
msgstr ""
|
634 |
+
|
635 |
+
#: custom-facebook-feed-admin.php:661 custom-facebook-feed-admin.php:3063
|
636 |
+
msgid "(GMT-10:00) Hawaii"
|
637 |
+
msgstr ""
|
638 |
+
|
639 |
+
#: custom-facebook-feed-admin.php:662 custom-facebook-feed-admin.php:3064
|
640 |
+
msgid "(GMT-09:30) Marquesas Islands"
|
641 |
+
msgstr ""
|
642 |
+
|
643 |
+
#: custom-facebook-feed-admin.php:663 custom-facebook-feed-admin.php:3065
|
644 |
+
msgid "(GMT-09:00) Gambier Islands"
|
645 |
+
msgstr ""
|
646 |
+
|
647 |
+
#: custom-facebook-feed-admin.php:664 custom-facebook-feed-admin.php:3066
|
648 |
+
msgid "(GMT-09:00) Alaska"
|
649 |
+
msgstr ""
|
650 |
+
|
651 |
+
#: custom-facebook-feed-admin.php:665 custom-facebook-feed-admin.php:3067
|
652 |
+
msgid "(GMT-08:00) Tijuana, Baja California"
|
653 |
+
msgstr ""
|
654 |
+
|
655 |
+
#: custom-facebook-feed-admin.php:666 custom-facebook-feed-admin.php:3068
|
656 |
+
msgid "(GMT-08:00) Pitcairn Islands"
|
657 |
+
msgstr ""
|
658 |
+
|
659 |
+
#: custom-facebook-feed-admin.php:667 custom-facebook-feed-admin.php:3069
|
660 |
+
msgid "(GMT-08:00) Pacific Time (US & Canada)"
|
661 |
+
msgstr ""
|
662 |
+
|
663 |
+
#: custom-facebook-feed-admin.php:668 custom-facebook-feed-admin.php:3070
|
664 |
+
msgid "(GMT-07:00) Mountain Time (US & Canada)"
|
665 |
+
msgstr ""
|
666 |
+
|
667 |
+
#: custom-facebook-feed-admin.php:669 custom-facebook-feed-admin.php:3071
|
668 |
+
msgid "(GMT-07:00) Chihuahua, La Paz, Mazatlan"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: custom-facebook-feed-admin.php:670 custom-facebook-feed-admin.php:3072
|
672 |
+
msgid "(GMT-07:00) Arizona"
|
673 |
+
msgstr ""
|
674 |
+
|
675 |
+
#: custom-facebook-feed-admin.php:671 custom-facebook-feed-admin.php:3073
|
676 |
+
msgid "(GMT-06:00) Saskatchewan, Central America"
|
677 |
+
msgstr ""
|
678 |
+
|
679 |
+
#: custom-facebook-feed-admin.php:672 custom-facebook-feed-admin.php:3074
|
680 |
+
msgid "(GMT-06:00) Guadalajara, Mexico City, Monterrey"
|
681 |
+
msgstr ""
|
682 |
+
|
683 |
+
#: custom-facebook-feed-admin.php:673 custom-facebook-feed-admin.php:3075
|
684 |
+
msgid "(GMT-06:00) Easter Island"
|
685 |
+
msgstr ""
|
686 |
+
|
687 |
+
#: custom-facebook-feed-admin.php:674 custom-facebook-feed-admin.php:3076
|
688 |
+
msgid "(GMT-06:00) Central Time (US & Canada)"
|
689 |
+
msgstr ""
|
690 |
+
|
691 |
+
#: custom-facebook-feed-admin.php:675 custom-facebook-feed-admin.php:3077
|
692 |
+
msgid "(GMT-05:00) Eastern Time (US & Canada)"
|
693 |
+
msgstr ""
|
694 |
+
|
695 |
+
#: custom-facebook-feed-admin.php:676 custom-facebook-feed-admin.php:3078
|
696 |
+
msgid "(GMT-05:00) Cuba"
|
697 |
+
msgstr ""
|
698 |
+
|
699 |
+
#: custom-facebook-feed-admin.php:677 custom-facebook-feed-admin.php:3079
|
700 |
+
msgid "(GMT-05:00) Bogota, Lima, Quito, Rio Branco"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: custom-facebook-feed-admin.php:678 custom-facebook-feed-admin.php:3080
|
704 |
+
msgid "(GMT-04:30) Caracas"
|
705 |
+
msgstr ""
|
706 |
+
|
707 |
+
#: custom-facebook-feed-admin.php:679 custom-facebook-feed-admin.php:3081
|
708 |
+
msgid "(GMT-04:00) Santiago"
|
709 |
+
msgstr ""
|
710 |
+
|
711 |
+
#: custom-facebook-feed-admin.php:680 custom-facebook-feed-admin.php:3082
|
712 |
+
msgid "(GMT-04:00) La Paz"
|
713 |
+
msgstr ""
|
714 |
+
|
715 |
+
#: custom-facebook-feed-admin.php:681 custom-facebook-feed-admin.php:3083
|
716 |
+
msgid "(GMT-04:00) Faukland Islands"
|
717 |
+
msgstr ""
|
718 |
+
|
719 |
+
#: custom-facebook-feed-admin.php:682 custom-facebook-feed-admin.php:3084
|
720 |
+
msgid "(GMT-04:00) Brazil"
|
721 |
+
msgstr ""
|
722 |
+
|
723 |
+
#: custom-facebook-feed-admin.php:683 custom-facebook-feed-admin.php:3085
|
724 |
+
msgid "(GMT-04:00) Atlantic Time (Goose Bay)"
|
725 |
+
msgstr ""
|
726 |
+
|
727 |
+
#: custom-facebook-feed-admin.php:684 custom-facebook-feed-admin.php:3086
|
728 |
+
msgid "(GMT-04:00) Atlantic Time (Canada)"
|
729 |
+
msgstr ""
|
730 |
+
|
731 |
+
#: custom-facebook-feed-admin.php:685 custom-facebook-feed-admin.php:3087
|
732 |
+
msgid "(GMT-03:30) Newfoundland"
|
733 |
+
msgstr ""
|
734 |
+
|
735 |
+
#: custom-facebook-feed-admin.php:686 custom-facebook-feed-admin.php:3088
|
736 |
+
msgid "(GMT-03:00) UTC-3"
|
737 |
+
msgstr ""
|
738 |
+
|
739 |
+
#: custom-facebook-feed-admin.php:687 custom-facebook-feed-admin.php:3089
|
740 |
+
msgid "(GMT-03:00) Montevideo"
|
741 |
+
msgstr ""
|
742 |
+
|
743 |
+
#: custom-facebook-feed-admin.php:688 custom-facebook-feed-admin.php:3090
|
744 |
+
msgid "(GMT-03:00) Miquelon, St. Pierre"
|
745 |
+
msgstr ""
|
746 |
+
|
747 |
+
#: custom-facebook-feed-admin.php:689 custom-facebook-feed-admin.php:3091
|
748 |
+
msgid "(GMT-03:00) Greenland"
|
749 |
+
msgstr ""
|
750 |
+
|
751 |
+
#: custom-facebook-feed-admin.php:690 custom-facebook-feed-admin.php:3092
|
752 |
+
msgid "(GMT-03:00) Buenos Aires"
|
753 |
+
msgstr ""
|
754 |
+
|
755 |
+
#: custom-facebook-feed-admin.php:691 custom-facebook-feed-admin.php:3093
|
756 |
+
msgid "(GMT-03:00) Brasilia"
|
757 |
+
msgstr ""
|
758 |
+
|
759 |
+
#: custom-facebook-feed-admin.php:692 custom-facebook-feed-admin.php:3094
|
760 |
+
msgid "(GMT-02:00) Mid-Atlantic"
|
761 |
+
msgstr ""
|
762 |
+
|
763 |
+
#: custom-facebook-feed-admin.php:693 custom-facebook-feed-admin.php:3095
|
764 |
+
msgid "(GMT-01:00) Cape Verde Is."
|
765 |
+
msgstr ""
|
766 |
+
|
767 |
+
#: custom-facebook-feed-admin.php:694 custom-facebook-feed-admin.php:3096
|
768 |
+
msgid "(GMT-01:00) Azores"
|
769 |
+
msgstr ""
|
770 |
+
|
771 |
+
#: custom-facebook-feed-admin.php:695 custom-facebook-feed-admin.php:3097
|
772 |
+
msgid "(GMT) Greenwich Mean Time : Belfast"
|
773 |
+
msgstr ""
|
774 |
+
|
775 |
+
#: custom-facebook-feed-admin.php:696 custom-facebook-feed-admin.php:3098
|
776 |
+
msgid "(GMT) Greenwich Mean Time : Dublin"
|
777 |
+
msgstr ""
|
778 |
+
|
779 |
+
#: custom-facebook-feed-admin.php:697 custom-facebook-feed-admin.php:3099
|
780 |
+
msgid "(GMT) Greenwich Mean Time : Lisbon"
|
781 |
+
msgstr ""
|
782 |
+
|
783 |
+
#: custom-facebook-feed-admin.php:698 custom-facebook-feed-admin.php:3100
|
784 |
+
msgid "(GMT) Greenwich Mean Time : London"
|
785 |
+
msgstr ""
|
786 |
+
|
787 |
+
#: custom-facebook-feed-admin.php:699 custom-facebook-feed-admin.php:3101
|
788 |
+
msgid "(GMT) Monrovia, Reykjavik"
|
789 |
+
msgstr ""
|
790 |
+
|
791 |
+
#: custom-facebook-feed-admin.php:700 custom-facebook-feed-admin.php:3102
|
792 |
+
msgid "(GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna"
|
793 |
+
msgstr ""
|
794 |
+
|
795 |
+
#: custom-facebook-feed-admin.php:701 custom-facebook-feed-admin.php:3103
|
796 |
+
msgid "(GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague"
|
797 |
+
msgstr ""
|
798 |
+
|
799 |
+
#: custom-facebook-feed-admin.php:702 custom-facebook-feed-admin.php:3104
|
800 |
+
msgid "(GMT+01:00) Brussels, Copenhagen, Madrid, Paris"
|
801 |
+
msgstr ""
|
802 |
+
|
803 |
+
#: custom-facebook-feed-admin.php:703 custom-facebook-feed-admin.php:3105
|
804 |
+
msgid "(GMT+01:00) West Central Africa"
|
805 |
+
msgstr ""
|
806 |
+
|
807 |
+
#: custom-facebook-feed-admin.php:704 custom-facebook-feed-admin.php:3106
|
808 |
+
msgid "(GMT+01:00) Windhoek"
|
809 |
+
msgstr ""
|
810 |
+
|
811 |
+
#: custom-facebook-feed-admin.php:705 custom-facebook-feed-admin.php:3107
|
812 |
+
msgid "(GMT+02:00) Beirut"
|
813 |
+
msgstr ""
|
814 |
+
|
815 |
+
#: custom-facebook-feed-admin.php:706 custom-facebook-feed-admin.php:3108
|
816 |
+
msgid "(GMT+02:00) Cairo"
|
817 |
+
msgstr ""
|
818 |
+
|
819 |
+
#: custom-facebook-feed-admin.php:707 custom-facebook-feed-admin.php:3109
|
820 |
+
msgid "(GMT+02:00) Gaza"
|
821 |
+
msgstr ""
|
822 |
+
|
823 |
+
#: custom-facebook-feed-admin.php:708 custom-facebook-feed-admin.php:3110
|
824 |
+
msgid "(GMT+02:00) Harare, Pretoria"
|
825 |
+
msgstr ""
|
826 |
+
|
827 |
+
#: custom-facebook-feed-admin.php:709 custom-facebook-feed-admin.php:3111
|
828 |
+
msgid "(GMT+02:00) Jerusalem"
|
829 |
+
msgstr ""
|
830 |
+
|
831 |
+
#: custom-facebook-feed-admin.php:710 custom-facebook-feed-admin.php:3113
|
832 |
+
msgid "(GMT+02:00) Minsk"
|
833 |
+
msgstr ""
|
834 |
+
|
835 |
+
#: custom-facebook-feed-admin.php:711 custom-facebook-feed-admin.php:3114
|
836 |
+
msgid "(GMT+02:00) Syria"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: custom-facebook-feed-admin.php:712 custom-facebook-feed-admin.php:3115
|
840 |
+
msgid "(GMT+03:00) Moscow, St. Petersburg, Volgograd"
|
841 |
+
msgstr ""
|
842 |
+
|
843 |
+
#: custom-facebook-feed-admin.php:713 custom-facebook-feed-admin.php:3116
|
844 |
+
msgid "(GMT+03:00) Nairobi"
|
845 |
+
msgstr ""
|
846 |
+
|
847 |
+
#: custom-facebook-feed-admin.php:714 custom-facebook-feed-admin.php:3117
|
848 |
+
msgid "(GMT+03:30) Tehran"
|
849 |
+
msgstr ""
|
850 |
+
|
851 |
+
#: custom-facebook-feed-admin.php:715 custom-facebook-feed-admin.php:3118
|
852 |
+
msgid "(GMT+04:00) Abu Dhabi, Muscat"
|
853 |
+
msgstr ""
|
854 |
+
|
855 |
+
#: custom-facebook-feed-admin.php:716 custom-facebook-feed-admin.php:3119
|
856 |
+
msgid "(GMT+04:00) Yerevan"
|
857 |
+
msgstr ""
|
858 |
+
|
859 |
+
#: custom-facebook-feed-admin.php:717 custom-facebook-feed-admin.php:3120
|
860 |
+
msgid "(GMT+04:30) Kabul"
|
861 |
+
msgstr ""
|
862 |
+
|
863 |
+
#: custom-facebook-feed-admin.php:718 custom-facebook-feed-admin.php:3121
|
864 |
+
msgid "(GMT+05:00) Ekaterinburg"
|
865 |
+
msgstr ""
|
866 |
+
|
867 |
+
#: custom-facebook-feed-admin.php:719 custom-facebook-feed-admin.php:3122
|
868 |
+
msgid "(GMT+05:00) Tashkent"
|
869 |
+
msgstr ""
|
870 |
+
|
871 |
+
#: custom-facebook-feed-admin.php:720 custom-facebook-feed-admin.php:3123
|
872 |
+
msgid "(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi"
|
873 |
+
msgstr ""
|
874 |
+
|
875 |
+
#: custom-facebook-feed-admin.php:721 custom-facebook-feed-admin.php:3124
|
876 |
+
msgid "(GMT+05:45) Kathmandu"
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: custom-facebook-feed-admin.php:722 custom-facebook-feed-admin.php:3125
|
880 |
+
msgid "(GMT+06:00) Astana, Dhaka"
|
881 |
+
msgstr ""
|
882 |
+
|
883 |
+
#: custom-facebook-feed-admin.php:723 custom-facebook-feed-admin.php:3126
|
884 |
+
msgid "(GMT+06:00) Novosibirsk"
|
885 |
+
msgstr ""
|
886 |
+
|
887 |
+
#: custom-facebook-feed-admin.php:724 custom-facebook-feed-admin.php:3127
|
888 |
+
msgid "(GMT+06:30) Yangon (Rangoon)"
|
889 |
+
msgstr ""
|
890 |
+
|
891 |
+
#: custom-facebook-feed-admin.php:725 custom-facebook-feed-admin.php:3128
|
892 |
+
msgid "(GMT+07:00) Bangkok, Hanoi, Jakarta"
|
893 |
+
msgstr ""
|
894 |
+
|
895 |
+
#: custom-facebook-feed-admin.php:726 custom-facebook-feed-admin.php:3129
|
896 |
+
msgid "(GMT+07:00) Krasnoyarsk"
|
897 |
+
msgstr ""
|
898 |
+
|
899 |
+
#: custom-facebook-feed-admin.php:727 custom-facebook-feed-admin.php:3130
|
900 |
+
msgid "(GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi"
|
901 |
+
msgstr ""
|
902 |
+
|
903 |
+
#: custom-facebook-feed-admin.php:728 custom-facebook-feed-admin.php:3131
|
904 |
+
msgid "(GMT+08:00) Irkutsk, Ulaan Bataar"
|
905 |
+
msgstr ""
|
906 |
+
|
907 |
+
#: custom-facebook-feed-admin.php:729 custom-facebook-feed-admin.php:3132
|
908 |
+
msgid "(GMT+08:00) Perth"
|
909 |
+
msgstr ""
|
910 |
+
|
911 |
+
#: custom-facebook-feed-admin.php:730 custom-facebook-feed-admin.php:3133
|
912 |
+
msgid "(GMT+08:45) Eucla"
|
913 |
+
msgstr ""
|
914 |
+
|
915 |
+
#: custom-facebook-feed-admin.php:731 custom-facebook-feed-admin.php:3134
|
916 |
+
msgid "(GMT+09:00) Osaka, Sapporo, Tokyo"
|
917 |
+
msgstr ""
|
918 |
+
|
919 |
+
#: custom-facebook-feed-admin.php:732 custom-facebook-feed-admin.php:3135
|
920 |
+
msgid "(GMT+09:00) Seoul"
|
921 |
+
msgstr ""
|
922 |
+
|
923 |
+
#: custom-facebook-feed-admin.php:733 custom-facebook-feed-admin.php:3136
|
924 |
+
msgid "(GMT+09:00) Yakutsk"
|
925 |
+
msgstr ""
|
926 |
+
|
927 |
+
#: custom-facebook-feed-admin.php:734 custom-facebook-feed-admin.php:3137
|
928 |
+
msgid "(GMT+09:30) Adelaide"
|
929 |
+
msgstr ""
|
930 |
+
|
931 |
+
#: custom-facebook-feed-admin.php:735 custom-facebook-feed-admin.php:3138
|
932 |
+
msgid "(GMT+09:30) Darwin"
|
933 |
+
msgstr ""
|
934 |
+
|
935 |
+
#: custom-facebook-feed-admin.php:736 custom-facebook-feed-admin.php:3139
|
936 |
+
msgid "(GMT+10:00) Brisbane"
|
937 |
+
msgstr ""
|
938 |
+
|
939 |
+
#: custom-facebook-feed-admin.php:737
|
940 |
+
msgid "(GMT+10:00) Sydney"
|
941 |
+
msgstr ""
|
942 |
+
|
943 |
+
#: custom-facebook-feed-admin.php:738 custom-facebook-feed-admin.php:3141
|
944 |
+
msgid "(GMT+10:00) Vladivostok"
|
945 |
+
msgstr ""
|
946 |
+
|
947 |
+
#: custom-facebook-feed-admin.php:739 custom-facebook-feed-admin.php:3142
|
948 |
+
msgid "(GMT+10:30) Lord Howe Island"
|
949 |
+
msgstr ""
|
950 |
+
|
951 |
+
#: custom-facebook-feed-admin.php:740 custom-facebook-feed-admin.php:3143
|
952 |
+
msgid "(GMT+11:00) Solomon Is., New Caledonia"
|
953 |
+
msgstr ""
|
954 |
+
|
955 |
+
#: custom-facebook-feed-admin.php:741 custom-facebook-feed-admin.php:3144
|
956 |
+
msgid "(GMT+11:00) Magadan"
|
957 |
+
msgstr ""
|
958 |
+
|
959 |
+
#: custom-facebook-feed-admin.php:742 custom-facebook-feed-admin.php:3145
|
960 |
+
msgid "(GMT+11:30) Norfolk Island"
|
961 |
+
msgstr ""
|
962 |
+
|
963 |
+
#: custom-facebook-feed-admin.php:743 custom-facebook-feed-admin.php:3146
|
964 |
+
msgid "(GMT+12:00) Anadyr, Kamchatka"
|
965 |
+
msgstr ""
|
966 |
+
|
967 |
+
#: custom-facebook-feed-admin.php:744 custom-facebook-feed-admin.php:3147
|
968 |
+
msgid "(GMT+12:00) Auckland, Wellington"
|
969 |
+
msgstr ""
|
970 |
+
|
971 |
+
#: custom-facebook-feed-admin.php:745 custom-facebook-feed-admin.php:3148
|
972 |
+
msgid "(GMT+12:00) Fiji, Kamchatka, Marshall Is."
|
973 |
+
msgstr ""
|
974 |
+
|
975 |
+
#: custom-facebook-feed-admin.php:746 custom-facebook-feed-admin.php:3149
|
976 |
+
msgid "(GMT+12:45) Chatham Islands"
|
977 |
+
msgstr ""
|
978 |
+
|
979 |
+
#: custom-facebook-feed-admin.php:747 custom-facebook-feed-admin.php:3150
|
980 |
+
msgid "(GMT+13:00) Nuku'alofa"
|
981 |
+
msgstr ""
|
982 |
+
|
983 |
+
#: custom-facebook-feed-admin.php:748 custom-facebook-feed-admin.php:3151
|
984 |
+
msgid "(GMT+14:00) Kiritimati"
|
985 |
+
msgstr ""
|
986 |
+
|
987 |
+
#: custom-facebook-feed-admin.php:760
|
988 |
+
msgid ""
|
989 |
+
"As the settings on this page directly affect the request made to Facebook to "
|
990 |
+
"get data, then when these settings are changed the plugin cache is cleared "
|
991 |
+
"in order for the plugin to check Facebook for data again using these new "
|
992 |
+
"settings. The plugin will check Facebook for data the next time the page "
|
993 |
+
"that the feed is on is loaded."
|
994 |
+
msgstr ""
|
995 |
+
|
996 |
+
#: custom-facebook-feed-admin.php:763 custom-facebook-feed-admin.php:2480
|
997 |
+
msgid "Having trouble using the plugin? Check out the"
|
998 |
+
msgstr ""
|
999 |
+
|
1000 |
+
#: custom-facebook-feed-admin.php:763 custom-facebook-feed-admin.php:2480
|
1001 |
+
msgid "tab"
|
1002 |
+
msgstr ""
|
1003 |
+
|
1004 |
+
#: custom-facebook-feed-admin.php:774
|
1005 |
+
msgid ""
|
1006 |
+
"Check out our other free plugins for <a href=\"https://wordpress.org/plugins/"
|
1007 |
+
"instagram-feed/\" target=\"_blank\">Instagram</a>, <a href=\"https://"
|
1008 |
+
"wordpress.org/plugins/custom-twitter-feeds/\" target=\"_blank\">Twitter</a>, "
|
1009 |
+
"and <a href=\"https://wordpress.org/plugins/feeds-for-youtube/\" target="
|
1010 |
+
"\"_blank\">YouTube</a>."
|
1011 |
+
msgstr ""
|
1012 |
+
|
1013 |
+
#: custom-facebook-feed-admin.php:777 custom-facebook-feed-admin.php:4096
|
1014 |
+
msgid "Like the plugin? Help spread the word!"
|
1015 |
+
msgstr ""
|
1016 |
+
|
1017 |
+
#: custom-facebook-feed-admin.php:793
|
1018 |
+
msgid "Setup Directions"
|
1019 |
+
msgstr ""
|
1020 |
+
|
1021 |
+
#: custom-facebook-feed-admin.php:794
|
1022 |
+
msgid "A step-by-step guide on how to setup and use the plugin."
|
1023 |
+
msgstr ""
|
1024 |
+
|
1025 |
+
#: custom-facebook-feed-admin.php:798
|
1026 |
+
msgid "FAQs and Docs"
|
1027 |
+
msgstr ""
|
1028 |
+
|
1029 |
+
#: custom-facebook-feed-admin.php:799
|
1030 |
+
msgid ""
|
1031 |
+
"View our expansive library of FAQs and documentation to help solve your "
|
1032 |
+
"problem as quickly as possible."
|
1033 |
+
msgstr ""
|
1034 |
+
|
1035 |
+
#: custom-facebook-feed-admin.php:806
|
1036 |
+
msgid ""
|
1037 |
+
"<a href=\"https://smashballoon.com/category/custom-facebook-feed/faq/?"
|
1038 |
+
"cat=18\" target=\"_blank\">General Questions</a>"
|
1039 |
+
msgstr ""
|
1040 |
+
|
1041 |
+
#: custom-facebook-feed-admin.php:807
|
1042 |
+
msgid ""
|
1043 |
+
"<a href=\"https://smashballoon.com/category/custom-facebook-feed/getting-"
|
1044 |
+
"started/?cat=18\" target=\"_blank\">Getting Started</a>"
|
1045 |
+
msgstr ""
|
1046 |
+
|
1047 |
+
#: custom-facebook-feed-admin.php:808
|
1048 |
+
msgid ""
|
1049 |
+
"<a href=\"https://smashballoon.com/category/custom-facebook-feed/"
|
1050 |
+
"troubleshooting/?cat=18\" target=\"_blank\">Common Issues</a>"
|
1051 |
+
msgstr ""
|
1052 |
+
|
1053 |
+
#: custom-facebook-feed-admin.php:814
|
1054 |
+
msgid ""
|
1055 |
+
"<a href=\"http://smashballoon.com/custom-facebook-feed/docs/free/\" target="
|
1056 |
+
"\"_blank\">Installation and Configuration</a>"
|
1057 |
+
msgstr ""
|
1058 |
+
|
1059 |
+
#: custom-facebook-feed-admin.php:815
|
1060 |
+
msgid ""
|
1061 |
+
"<a href=\"https://smashballoon.com/custom-facebook-feed/docs/shortcodes/\" "
|
1062 |
+
"target=\"_blank\">Shortcode Reference</a>"
|
1063 |
+
msgstr ""
|
1064 |
+
|
1065 |
+
#: custom-facebook-feed-admin.php:816
|
1066 |
+
msgid ""
|
1067 |
+
"<a href=https://smashballoon.com/category/custom-facebook-feed/"
|
1068 |
+
"customizations/snippets/?cat=18\" target=\"_blank\">Custom CSS and "
|
1069 |
+
"JavaScript Snippets</a>"
|
1070 |
+
msgstr ""
|
1071 |
+
|
1072 |
+
#: custom-facebook-feed-admin.php:822
|
1073 |
+
msgid "Request Support"
|
1074 |
+
msgstr ""
|
1075 |
+
|
1076 |
+
#: custom-facebook-feed-admin.php:823
|
1077 |
+
msgid ""
|
1078 |
+
"Still need help? Submit a ticket and one of our support experts will get "
|
1079 |
+
"back to you as soon as possible.<br /><b>Important:</b> Please include your "
|
1080 |
+
"<b>System Info</b> below with all support requests."
|
1081 |
+
msgstr ""
|
1082 |
+
|
1083 |
+
#: custom-facebook-feed-admin.php:829
|
1084 |
+
msgid ""
|
1085 |
+
"System Info <i style=\"color: #666; font-size: 11px; font-weight: "
|
1086 |
+
"normal;\">Click the text below to select all</i>"
|
1087 |
+
msgstr ""
|
1088 |
+
|
1089 |
+
#: custom-facebook-feed-admin.php:1980 custom-facebook-feed-admin.php:1990
|
1090 |
+
#: custom-facebook-feed-admin.php:1999
|
1091 |
+
msgid "General"
|
1092 |
+
msgstr ""
|
1093 |
+
|
1094 |
+
#: custom-facebook-feed-admin.php:1981
|
1095 |
+
msgid "Post Layout"
|
1096 |
+
msgstr ""
|
1097 |
+
|
1098 |
+
#: custom-facebook-feed-admin.php:1982
|
1099 |
+
msgid "Style Posts"
|
1100 |
+
msgstr ""
|
1101 |
+
|
1102 |
+
#: custom-facebook-feed-admin.php:1983
|
1103 |
+
msgid "Misc"
|
1104 |
+
msgstr ""
|
1105 |
+
|
1106 |
+
#: custom-facebook-feed-admin.php:1984 custom-facebook-feed-admin.php:3960
|
1107 |
+
msgid "Custom Text / Translate"
|
1108 |
+
msgstr ""
|
1109 |
+
|
1110 |
+
#: custom-facebook-feed-admin.php:1991 custom-facebook-feed-admin.php:2123
|
1111 |
+
msgid "Header"
|
1112 |
+
msgstr ""
|
1113 |
+
|
1114 |
+
#: custom-facebook-feed-admin.php:1992
|
1115 |
+
msgid "Like Box"
|
1116 |
+
msgstr ""
|
1117 |
+
|
1118 |
+
#: custom-facebook-feed-admin.php:2001
|
1119 |
+
msgid "Feed Width"
|
1120 |
+
msgstr ""
|
1121 |
+
|
1122 |
+
#: custom-facebook-feed-admin.php:2007
|
1123 |
+
msgid "Set to be 100% width on mobile?"
|
1124 |
+
msgstr ""
|
1125 |
+
|
1126 |
+
#: custom-facebook-feed-admin.php:2008
|
1127 |
+
msgid "What does this mean?"
|
1128 |
+
msgstr ""
|
1129 |
+
|
1130 |
+
#: custom-facebook-feed-admin.php:2009
|
1131 |
+
#, php-format
|
1132 |
+
msgid ""
|
1133 |
+
"If you set a width on the feed then this will be used on mobile as well as "
|
1134 |
+
"desktop. Check this setting to set the feed width to be 100% on mobile so "
|
1135 |
+
"that it is responsive."
|
1136 |
+
msgstr ""
|
1137 |
+
|
1138 |
+
#: custom-facebook-feed-admin.php:2014
|
1139 |
+
msgid "Feed Height"
|
1140 |
+
msgstr ""
|
1141 |
+
|
1142 |
+
#: custom-facebook-feed-admin.php:2020
|
1143 |
+
msgid ""
|
1144 |
+
"Use this to set a fixed height on the feed. If the feed exceeds this height "
|
1145 |
+
"then a scroll bar will be used. Leave it empty to set no maximum height."
|
1146 |
+
msgstr ""
|
1147 |
+
|
1148 |
+
#: custom-facebook-feed-admin.php:2023
|
1149 |
+
msgid "Feed Padding"
|
1150 |
+
msgstr ""
|
1151 |
+
|
1152 |
+
#: custom-facebook-feed-admin.php:2029
|
1153 |
+
msgid ""
|
1154 |
+
"This is the amount of padding/spacing that goes around the feed. This is "
|
1155 |
+
"particularly useful if you intend to set a background color on the feed."
|
1156 |
+
msgstr ""
|
1157 |
+
|
1158 |
+
#: custom-facebook-feed-admin.php:2033
|
1159 |
+
msgid "Feed Background Color"
|
1160 |
+
msgstr ""
|
1161 |
+
|
1162 |
+
#: custom-facebook-feed-admin.php:2040
|
1163 |
+
msgid "Add CSS class to feed"
|
1164 |
+
msgstr ""
|
1165 |
+
|
1166 |
+
#: custom-facebook-feed-admin.php:2045
|
1167 |
+
msgid ""
|
1168 |
+
"You can add your own CSS classes to the feed here. To add multiple classes "
|
1169 |
+
"separate each with a space, Eg. classone classtwo classthree"
|
1170 |
+
msgstr ""
|
1171 |
+
|
1172 |
+
#: custom-facebook-feed-admin.php:2085
|
1173 |
+
msgid "Post Types"
|
1174 |
+
msgstr ""
|
1175 |
+
|
1176 |
+
#: custom-facebook-feed-admin.php:2087
|
1177 |
+
msgid "Only show these types of posts:"
|
1178 |
+
msgstr ""
|
1179 |
+
|
1180 |
+
#: custom-facebook-feed-admin.php:2088
|
1181 |
+
msgid "Upgrade to Pro to enable post types, photos, videos and more"
|
1182 |
+
msgstr ""
|
1183 |
+
|
1184 |
+
#: custom-facebook-feed-admin.php:2092
|
1185 |
+
msgid "Statuses"
|
1186 |
+
msgstr ""
|
1187 |
+
|
1188 |
+
#: custom-facebook-feed-admin.php:2096
|
1189 |
+
msgid "Events"
|
1190 |
+
msgstr ""
|
1191 |
+
|
1192 |
+
#: custom-facebook-feed-admin.php:2100
|
1193 |
+
msgid "Photos"
|
1194 |
+
msgstr ""
|
1195 |
+
|
1196 |
+
#: custom-facebook-feed-admin.php:2104
|
1197 |
+
msgid "Videos"
|
1198 |
+
msgstr ""
|
1199 |
+
|
1200 |
+
#: custom-facebook-feed-admin.php:2108
|
1201 |
+
msgid "Links"
|
1202 |
+
msgstr ""
|
1203 |
+
|
1204 |
+
#: custom-facebook-feed-admin.php:2112
|
1205 |
+
msgid "Albums"
|
1206 |
+
msgstr ""
|
1207 |
+
|
1208 |
+
#: custom-facebook-feed-admin.php:2125
|
1209 |
+
msgid "Show Feed Header"
|
1210 |
+
msgstr ""
|
1211 |
+
|
1212 |
+
#: custom-facebook-feed-admin.php:2129
|
1213 |
+
msgid "What is the header?"
|
1214 |
+
msgstr ""
|
1215 |
+
|
1216 |
+
#: custom-facebook-feed-admin.php:2130
|
1217 |
+
msgid ""
|
1218 |
+
"The header allows you to display text and an icon at the top of your feed. "
|
1219 |
+
"Customize the text, style, and layout of the header using the settings below."
|
1220 |
+
msgstr ""
|
1221 |
+
|
1222 |
+
#: custom-facebook-feed-admin.php:2135
|
1223 |
+
msgid "Header Text"
|
1224 |
+
msgstr ""
|
1225 |
+
|
1226 |
+
#: custom-facebook-feed-admin.php:2143 custom-facebook-feed-admin.php:2301
|
1227 |
+
msgid "Display outside the scrollable area"
|
1228 |
+
msgstr ""
|
1229 |
+
|
1230 |
+
#: custom-facebook-feed-admin.php:2146 custom-facebook-feed-admin.php:2285
|
1231 |
+
#: custom-facebook-feed-admin.php:3844 custom-facebook-feed-admin.php:3853
|
1232 |
+
#: custom-facebook-feed-admin.php:3863 custom-facebook-feed-admin.php:3880
|
1233 |
+
#: custom-facebook-feed-admin.php:3904 custom-facebook-feed-admin.php:3935
|
1234 |
+
msgid "Yes"
|
1235 |
+
msgstr ""
|
1236 |
+
|
1237 |
+
#: custom-facebook-feed-admin.php:2148
|
1238 |
+
msgid ""
|
1239 |
+
"This positions the Header outside of the feed container. It is useful if "
|
1240 |
+
"your feed has a vertical scrollbar as it places it outside of the scrollable "
|
1241 |
+
"area and fixes it at the top."
|
1242 |
+
msgstr ""
|
1243 |
+
|
1244 |
+
#: custom-facebook-feed-admin.php:2153 custom-facebook-feed-admin.php:2419
|
1245 |
+
#: custom-facebook-feed-admin.php:2737 custom-facebook-feed-admin.php:3696
|
1246 |
+
msgid "Background Color"
|
1247 |
+
msgstr ""
|
1248 |
+
|
1249 |
+
#: custom-facebook-feed-admin.php:2160
|
1250 |
+
msgid "Padding"
|
1251 |
+
msgstr ""
|
1252 |
+
|
1253 |
+
#: custom-facebook-feed-admin.php:2168 custom-facebook-feed-admin.php:2767
|
1254 |
+
#: custom-facebook-feed-admin.php:2834 custom-facebook-feed-admin.php:2916
|
1255 |
+
#: custom-facebook-feed-admin.php:2983 custom-facebook-feed-admin.php:3367
|
1256 |
+
#: custom-facebook-feed-admin.php:3423 custom-facebook-feed-admin.php:3523
|
1257 |
+
#: custom-facebook-feed-admin.php:3585
|
1258 |
+
msgid "Text Size"
|
1259 |
+
msgstr ""
|
1260 |
+
|
1261 |
+
#: custom-facebook-feed-admin.php:2193 custom-facebook-feed-admin.php:2859
|
1262 |
+
#: custom-facebook-feed-admin.php:2941 custom-facebook-feed-admin.php:3008
|
1263 |
+
#: custom-facebook-feed-admin.php:3392 custom-facebook-feed-admin.php:3448
|
1264 |
+
#: custom-facebook-feed-admin.php:3548 custom-facebook-feed-admin.php:3610
|
1265 |
+
msgid "Text Weight"
|
1266 |
+
msgstr ""
|
1267 |
+
|
1268 |
+
#: custom-facebook-feed-admin.php:2204 custom-facebook-feed-admin.php:2425
|
1269 |
+
#: custom-facebook-feed-admin.php:2792 custom-facebook-feed-admin.php:2870
|
1270 |
+
#: custom-facebook-feed-admin.php:2952 custom-facebook-feed-admin.php:3019
|
1271 |
+
#: custom-facebook-feed-admin.php:3403 custom-facebook-feed-admin.php:3459
|
1272 |
+
#: custom-facebook-feed-admin.php:3559 custom-facebook-feed-admin.php:3621
|
1273 |
+
#: custom-facebook-feed-admin.php:3682
|
1274 |
+
msgid "Text Color"
|
1275 |
+
msgstr ""
|
1276 |
+
|
1277 |
+
#: custom-facebook-feed-admin.php:2211
|
1278 |
+
msgid "Icon Type"
|
1279 |
+
msgstr ""
|
1280 |
+
|
1281 |
+
#: custom-facebook-feed-admin.php:2240
|
1282 |
+
msgid "Icon Color"
|
1283 |
+
msgstr ""
|
1284 |
+
|
1285 |
+
#: custom-facebook-feed-admin.php:2247
|
1286 |
+
msgid "Icon Size"
|
1287 |
+
msgstr ""
|
1288 |
+
|
1289 |
+
#: custom-facebook-feed-admin.php:2278
|
1290 |
+
msgid "Like Box / Page Plugin"
|
1291 |
+
msgstr ""
|
1292 |
+
|
1293 |
+
#: custom-facebook-feed-admin.php:2282
|
1294 |
+
msgid "Show the Like Box"
|
1295 |
+
msgstr ""
|
1296 |
+
|
1297 |
+
#: custom-facebook-feed-admin.php:2286
|
1298 |
+
msgid "What is the Like Box?"
|
1299 |
+
msgstr ""
|
1300 |
+
|
1301 |
+
#: custom-facebook-feed-admin.php:2287
|
1302 |
+
msgid ""
|
1303 |
+
"The Like Box is an official Facebook widget that we include at the bottom or "
|
1304 |
+
"top of the feed. It contains information about your Facebook Page and allows "
|
1305 |
+
"users to 'like' it directly on your site."
|
1306 |
+
msgstr ""
|
1307 |
+
|
1308 |
+
#: custom-facebook-feed-admin.php:2291 custom-facebook-feed-admin.php:2972
|
1309 |
+
msgid "Position"
|
1310 |
+
msgstr ""
|
1311 |
+
|
1312 |
+
#: custom-facebook-feed-admin.php:2295
|
1313 |
+
msgid "Bottom of feed"
|
1314 |
+
msgstr ""
|
1315 |
+
|
1316 |
+
#: custom-facebook-feed-admin.php:2296
|
1317 |
+
msgid "Top of feed"
|
1318 |
+
msgstr ""
|
1319 |
+
|
1320 |
+
#: custom-facebook-feed-admin.php:2306
|
1321 |
+
msgid ""
|
1322 |
+
"This positions the Like Box widget outside of the feed container. It is "
|
1323 |
+
"useful if your feed has a vertical scrollbar as it places it outside of the "
|
1324 |
+
"scrollable area and fixes it at the top or bottom."
|
1325 |
+
msgstr ""
|
1326 |
+
|
1327 |
+
#: custom-facebook-feed-admin.php:2311
|
1328 |
+
msgid "Show faces of fans"
|
1329 |
+
msgstr ""
|
1330 |
+
|
1331 |
+
#: custom-facebook-feed-admin.php:2316
|
1332 |
+
msgid ""
|
1333 |
+
"This will display thumbnail photos within the Like Box of some of the people "
|
1334 |
+
"who like your page."
|
1335 |
+
msgstr ""
|
1336 |
+
|
1337 |
+
#: custom-facebook-feed-admin.php:2320
|
1338 |
+
msgid "Include the Cover Photo"
|
1339 |
+
msgstr ""
|
1340 |
+
|
1341 |
+
#: custom-facebook-feed-admin.php:2327
|
1342 |
+
msgid "Use a small header"
|
1343 |
+
msgstr ""
|
1344 |
+
|
1345 |
+
#: custom-facebook-feed-admin.php:2332
|
1346 |
+
msgid ""
|
1347 |
+
"This will display a shorter version of the Like Box with a slimmer cover "
|
1348 |
+
"photo and less information."
|
1349 |
+
msgstr ""
|
1350 |
+
|
1351 |
+
#: custom-facebook-feed-admin.php:2336
|
1352 |
+
msgid "Hide custom call to action button"
|
1353 |
+
msgstr ""
|
1354 |
+
|
1355 |
+
#: custom-facebook-feed-admin.php:2341
|
1356 |
+
msgid ""
|
1357 |
+
"If you have a custom 'Call To Action' button for your Facebook Page then "
|
1358 |
+
"this will hide it and display the default Like Box button."
|
1359 |
+
msgstr ""
|
1360 |
+
|
1361 |
+
#: custom-facebook-feed-admin.php:2345
|
1362 |
+
msgid "Custom Like Box Width"
|
1363 |
+
msgstr ""
|
1364 |
+
|
1365 |
+
#: custom-facebook-feed-admin.php:2349
|
1366 |
+
msgid "Default: 340, Min: 180, Max: 500"
|
1367 |
+
msgstr ""
|
1368 |
+
|
1369 |
+
#: custom-facebook-feed-admin.php:2359
|
1370 |
+
msgid "\"Load More\" button"
|
1371 |
+
msgstr ""
|
1372 |
+
|
1373 |
+
#: custom-facebook-feed-admin.php:2367
|
1374 |
+
msgid "Show \"Load More\" Button"
|
1375 |
+
msgstr ""
|
1376 |
+
|
1377 |
+
#: custom-facebook-feed-admin.php:2371
|
1378 |
+
msgid ""
|
1379 |
+
"The Load More button is added to the bottom of your feed and allows you to "
|
1380 |
+
"dynamically load more posts into your feed. Use the button below to reveal "
|
1381 |
+
"customization settings for the button."
|
1382 |
+
msgstr ""
|
1383 |
+
|
1384 |
+
#: custom-facebook-feed-admin.php:2375
|
1385 |
+
msgid "Button Background Color"
|
1386 |
+
msgstr ""
|
1387 |
+
|
1388 |
+
#: custom-facebook-feed-admin.php:2381
|
1389 |
+
msgid "Button Hover Color"
|
1390 |
+
msgstr ""
|
1391 |
+
|
1392 |
+
#: custom-facebook-feed-admin.php:2387
|
1393 |
+
msgid "Button Text Color"
|
1394 |
+
msgstr ""
|
1395 |
+
|
1396 |
+
#: custom-facebook-feed-admin.php:2393
|
1397 |
+
msgid "Button Text"
|
1398 |
+
msgstr ""
|
1399 |
+
|
1400 |
+
#: custom-facebook-feed-admin.php:2403
|
1401 |
+
msgid "Lightbox"
|
1402 |
+
msgstr ""
|
1403 |
+
|
1404 |
+
#: custom-facebook-feed-admin.php:2411 custom-facebook-feed-admin.php:3795
|
1405 |
+
msgid "Disable Popup Lightbox"
|
1406 |
+
msgstr ""
|
1407 |
+
|
1408 |
+
#: custom-facebook-feed-admin.php:2415 custom-facebook-feed-admin.php:3799
|
1409 |
+
msgid "Disable"
|
1410 |
+
msgstr ""
|
1411 |
+
|
1412 |
+
#: custom-facebook-feed-admin.php:2431 custom-facebook-feed-admin.php:2877
|
1413 |
+
#: custom-facebook-feed-admin.php:3566 custom-facebook-feed-admin.php:3689
|
1414 |
+
msgid "Link Color"
|
1415 |
+
msgstr ""
|
1416 |
+
|
1417 |
+
#: custom-facebook-feed-admin.php:2437 custom-facebook-feed-admin.php:3729
|
1418 |
+
msgid "Show Comments in Lightbox"
|
1419 |
+
msgstr ""
|
1420 |
+
|
1421 |
+
#: custom-facebook-feed-admin.php:2441 custom-facebook-feed-admin.php:3732
|
1422 |
+
msgid "For timeline posts only"
|
1423 |
+
msgstr ""
|
1424 |
+
|
1425 |
+
#: custom-facebook-feed-admin.php:2449
|
1426 |
+
msgid "Filter Content by String"
|
1427 |
+
msgstr ""
|
1428 |
+
|
1429 |
+
#: custom-facebook-feed-admin.php:2457
|
1430 |
+
msgid "Only show posts containing:"
|
1431 |
+
msgstr ""
|
1432 |
+
|
1433 |
+
#: custom-facebook-feed-admin.php:2462
|
1434 |
+
msgid ""
|
1435 |
+
"You can use this setting to only display posts containing these text "
|
1436 |
+
"strings. Separate multiple strings using commas. If only a few posts, or "
|
1437 |
+
"none at all, are displayed then you may need to increase the plugin's 'Post "
|
1438 |
+
"Limit' settings. See <a href='https://smashballoon.com/filtering-your-"
|
1439 |
+
"facebook-posts/' target='_blank'>this FAQ</a> to learn more about how "
|
1440 |
+
"filtering works."
|
1441 |
+
msgstr ""
|
1442 |
+
|
1443 |
+
#: custom-facebook-feed-admin.php:2466
|
1444 |
+
msgid "Don't show posts containing:"
|
1445 |
+
msgstr ""
|
1446 |
+
|
1447 |
+
#: custom-facebook-feed-admin.php:2470
|
1448 |
+
msgid ""
|
1449 |
+
"You can use this setting to remove any posts containing these text strings. "
|
1450 |
+
"Separate multiple strings using commas."
|
1451 |
+
msgstr ""
|
1452 |
+
|
1453 |
+
#: custom-facebook-feed-admin.php:2501
|
1454 |
+
msgid "Post Layouts"
|
1455 |
+
msgstr ""
|
1456 |
+
|
1457 |
+
#: custom-facebook-feed-admin.php:2502
|
1458 |
+
msgid "Upgrade to Pro to enable layouts"
|
1459 |
+
msgstr ""
|
1460 |
+
|
1461 |
+
#: custom-facebook-feed-admin.php:2508
|
1462 |
+
msgid "Choose a layout from the 3 below."
|
1463 |
+
msgstr ""
|
1464 |
+
|
1465 |
+
#: custom-facebook-feed-admin.php:2512
|
1466 |
+
msgid "Thumbnail"
|
1467 |
+
msgstr ""
|
1468 |
+
|
1469 |
+
#: custom-facebook-feed-admin.php:2517
|
1470 |
+
msgid "Half-width"
|
1471 |
+
msgstr ""
|
1472 |
+
|
1473 |
+
#: custom-facebook-feed-admin.php:2522
|
1474 |
+
msgid "Full-width"
|
1475 |
+
msgstr ""
|
1476 |
+
|
1477 |
+
#: custom-facebook-feed-admin.php:2531 custom-facebook-feed-admin.php:2540
|
1478 |
+
msgid "Photo/Video Position"
|
1479 |
+
msgstr ""
|
1480 |
+
|
1481 |
+
#: custom-facebook-feed-admin.php:2550
|
1482 |
+
msgid "Always use the Full-width layout when feed is narrow?"
|
1483 |
+
msgstr ""
|
1484 |
+
|
1485 |
+
#: custom-facebook-feed-admin.php:2554
|
1486 |
+
msgid ""
|
1487 |
+
"When displaying posts in either a narrow column or on a mobile device the "
|
1488 |
+
"plugin will automatically default to using the 'Full-width' layout as it's "
|
1489 |
+
"better suited to narrow sizes."
|
1490 |
+
msgstr ""
|
1491 |
+
|
1492 |
+
#: custom-facebook-feed-admin.php:2558
|
1493 |
+
msgid "Only show one image per post"
|
1494 |
+
msgstr ""
|
1495 |
+
|
1496 |
+
#: custom-facebook-feed-admin.php:2562
|
1497 |
+
msgid ""
|
1498 |
+
"If a Facebook post contains more than photo then enabling this setting means "
|
1499 |
+
"that only the first photo in the post is displayed."
|
1500 |
+
msgstr ""
|
1501 |
+
|
1502 |
+
#: custom-facebook-feed-admin.php:2574
|
1503 |
+
msgid "Show/Hide"
|
1504 |
+
msgstr ""
|
1505 |
+
|
1506 |
+
#: custom-facebook-feed-admin.php:2578
|
1507 |
+
msgid ""
|
1508 |
+
"Include the following in posts: <i style=\"font-size: 11px;\">(when "
|
1509 |
+
"applicable)</i>"
|
1510 |
+
msgstr ""
|
1511 |
+
|
1512 |
+
#: custom-facebook-feed-admin.php:2587
|
1513 |
+
msgid "Author Name and Avatar"
|
1514 |
+
msgstr ""
|
1515 |
+
|
1516 |
+
#: custom-facebook-feed-admin.php:2588
|
1517 |
+
msgid ""
|
1518 |
+
"The author name and avatar image that's shown at the top of each timeline "
|
1519 |
+
"post"
|
1520 |
+
msgstr ""
|
1521 |
+
|
1522 |
+
#: custom-facebook-feed-admin.php:2595 custom-facebook-feed-admin.php:2808
|
1523 |
+
#: custom-facebook-feed-admin.php:3973
|
1524 |
+
msgid "Post Text"
|
1525 |
+
msgstr ""
|
1526 |
+
|
1527 |
+
#: custom-facebook-feed-admin.php:2596
|
1528 |
+
msgid "The main text of the Facebook post"
|
1529 |
+
msgstr ""
|
1530 |
+
|
1531 |
+
#: custom-facebook-feed-admin.php:2602
|
1532 |
+
msgid "Description Text"
|
1533 |
+
msgstr ""
|
1534 |
+
|
1535 |
+
#: custom-facebook-feed-admin.php:2603
|
1536 |
+
msgid "The description text associated with shared photos, videos, or links"
|
1537 |
+
msgstr ""
|
1538 |
+
|
1539 |
+
#: custom-facebook-feed-admin.php:2609
|
1540 |
+
msgid "Shared Link Box"
|
1541 |
+
msgstr ""
|
1542 |
+
|
1543 |
+
#: custom-facebook-feed-admin.php:2610
|
1544 |
+
msgid ""
|
1545 |
+
"The link info box that's created when a link is shared in a Facebook post"
|
1546 |
+
msgstr ""
|
1547 |
+
|
1548 |
+
#: custom-facebook-feed-admin.php:2616 custom-facebook-feed-admin.php:4033
|
1549 |
+
msgid "Date"
|
1550 |
+
msgstr ""
|
1551 |
+
|
1552 |
+
#: custom-facebook-feed-admin.php:2617
|
1553 |
+
msgid "The date of the post"
|
1554 |
+
msgstr ""
|
1555 |
+
|
1556 |
+
#: custom-facebook-feed-admin.php:2623
|
1557 |
+
msgid "Photos and Videos"
|
1558 |
+
msgstr ""
|
1559 |
+
|
1560 |
+
#: custom-facebook-feed-admin.php:2624
|
1561 |
+
msgid "Any photos or videos in your posts"
|
1562 |
+
msgstr ""
|
1563 |
+
|
1564 |
+
#: custom-facebook-feed-admin.php:2630
|
1565 |
+
msgid "Media link"
|
1566 |
+
msgstr ""
|
1567 |
+
|
1568 |
+
#: custom-facebook-feed-admin.php:2631
|
1569 |
+
msgid ""
|
1570 |
+
"Display an icon and link to Facebook if the post contains either a photo or "
|
1571 |
+
"video"
|
1572 |
+
msgstr ""
|
1573 |
+
|
1574 |
+
#: custom-facebook-feed-admin.php:2637 custom-facebook-feed-admin.php:3349
|
1575 |
+
msgid "Event Title"
|
1576 |
+
msgstr ""
|
1577 |
+
|
1578 |
+
#: custom-facebook-feed-admin.php:2638
|
1579 |
+
msgid "The title of an event"
|
1580 |
+
msgstr ""
|
1581 |
+
|
1582 |
+
#: custom-facebook-feed-admin.php:2644 custom-facebook-feed-admin.php:3519
|
1583 |
+
msgid "Event Details"
|
1584 |
+
msgstr ""
|
1585 |
+
|
1586 |
+
#: custom-facebook-feed-admin.php:2645
|
1587 |
+
msgid "The information associated with an event"
|
1588 |
+
msgstr ""
|
1589 |
+
|
1590 |
+
#: custom-facebook-feed-admin.php:2651
|
1591 |
+
msgid "Like, Shares, and Comments"
|
1592 |
+
msgstr ""
|
1593 |
+
|
1594 |
+
#: custom-facebook-feed-admin.php:2652
|
1595 |
+
msgid "The comments box displayed at the bottom of each timeline post"
|
1596 |
+
msgstr ""
|
1597 |
+
|
1598 |
+
#: custom-facebook-feed-admin.php:2658 custom-facebook-feed-admin.php:3580
|
1599 |
+
#: custom-facebook-feed-admin.php:3986
|
1600 |
+
msgid "Post Action Links"
|
1601 |
+
msgstr ""
|
1602 |
+
|
1603 |
+
#: custom-facebook-feed-admin.php:2659
|
1604 |
+
msgid "The \"View on Facebook\" and \"Share\" links at the bottom of each post"
|
1605 |
+
msgstr ""
|
1606 |
+
|
1607 |
+
#: custom-facebook-feed-admin.php:2691
|
1608 |
+
msgid "Post Item"
|
1609 |
+
msgstr ""
|
1610 |
+
|
1611 |
+
#: custom-facebook-feed-admin.php:2695
|
1612 |
+
msgid "Post Style"
|
1613 |
+
msgstr ""
|
1614 |
+
|
1615 |
+
#: custom-facebook-feed-admin.php:2708
|
1616 |
+
msgid "Regular"
|
1617 |
+
msgstr ""
|
1618 |
+
|
1619 |
+
#: custom-facebook-feed-admin.php:2714
|
1620 |
+
msgid "Boxed"
|
1621 |
+
msgstr ""
|
1622 |
+
|
1623 |
+
#: custom-facebook-feed-admin.php:2722
|
1624 |
+
msgid "Separating Line Color"
|
1625 |
+
msgstr ""
|
1626 |
+
|
1627 |
+
#: custom-facebook-feed-admin.php:2728
|
1628 |
+
msgid "Separating Line Thickness"
|
1629 |
+
msgstr ""
|
1630 |
+
|
1631 |
+
#: custom-facebook-feed-admin.php:2731
|
1632 |
+
msgid "Leave empty to hide"
|
1633 |
+
msgstr ""
|
1634 |
+
|
1635 |
+
#: custom-facebook-feed-admin.php:2743
|
1636 |
+
msgid "Rounded Corner Size"
|
1637 |
+
msgstr ""
|
1638 |
+
|
1639 |
+
#: custom-facebook-feed-admin.php:2749
|
1640 |
+
msgid "Box Shadow"
|
1641 |
+
msgstr ""
|
1642 |
+
|
1643 |
+
#: custom-facebook-feed-admin.php:2752
|
1644 |
+
msgid "Adds a subtle shadow around the post"
|
1645 |
+
msgstr ""
|
1646 |
+
|
1647 |
+
#: custom-facebook-feed-admin.php:2763
|
1648 |
+
msgid "Post Author"
|
1649 |
+
msgstr ""
|
1650 |
+
|
1651 |
+
#: custom-facebook-feed-admin.php:2812
|
1652 |
+
msgid "Maximum Post Text Length"
|
1653 |
+
msgstr ""
|
1654 |
+
|
1655 |
+
#: custom-facebook-feed-admin.php:2815 custom-facebook-feed-admin.php:3335
|
1656 |
+
msgid "Characters"
|
1657 |
+
msgstr ""
|
1658 |
+
|
1659 |
+
#: custom-facebook-feed-admin.php:2815 custom-facebook-feed-admin.php:3335
|
1660 |
+
msgid "Eg. 200"
|
1661 |
+
msgstr ""
|
1662 |
+
|
1663 |
+
#: custom-facebook-feed-admin.php:2817
|
1664 |
+
msgid ""
|
1665 |
+
"If the post text exceeds this length then a 'See More' link will be added. "
|
1666 |
+
"Leave empty to set no maximum length."
|
1667 |
+
msgstr ""
|
1668 |
+
|
1669 |
+
#: custom-facebook-feed-admin.php:2821 custom-facebook-feed-admin.php:3353
|
1670 |
+
msgid "Format"
|
1671 |
+
msgstr ""
|
1672 |
+
|
1673 |
+
#: custom-facebook-feed-admin.php:2884
|
1674 |
+
msgid "Link Text to Facebook Post"
|
1675 |
+
msgstr ""
|
1676 |
+
|
1677 |
+
#: custom-facebook-feed-admin.php:2890
|
1678 |
+
msgid "Link Post Tags"
|
1679 |
+
msgstr ""
|
1680 |
+
|
1681 |
+
#: custom-facebook-feed-admin.php:2894
|
1682 |
+
msgid "What are Post Tags?"
|
1683 |
+
msgstr ""
|
1684 |
+
|
1685 |
+
#: custom-facebook-feed-admin.php:2895
|
1686 |
+
msgid ""
|
1687 |
+
"When you tag another Facebook page or user in your post using the @ symbol "
|
1688 |
+
"it creates a post tag, which is a link to either that Facebook page or user "
|
1689 |
+
"profile."
|
1690 |
+
msgstr ""
|
1691 |
+
|
1692 |
+
#: custom-facebook-feed-admin.php:2900
|
1693 |
+
msgid "Link Hashtags"
|
1694 |
+
msgstr ""
|
1695 |
+
|
1696 |
+
#: custom-facebook-feed-admin.php:2912
|
1697 |
+
msgid "Shared Post Description"
|
1698 |
+
msgstr ""
|
1699 |
+
|
1700 |
+
#: custom-facebook-feed-admin.php:2968
|
1701 |
+
msgid "Post Date"
|
1702 |
+
msgstr ""
|
1703 |
+
|
1704 |
+
#: custom-facebook-feed-admin.php:3027
|
1705 |
+
msgid "Date Formatting"
|
1706 |
+
msgstr ""
|
1707 |
+
|
1708 |
+
#: custom-facebook-feed-admin.php:3032
|
1709 |
+
msgid "2 days ago"
|
1710 |
+
msgstr ""
|
1711 |
+
|
1712 |
+
#: custom-facebook-feed-admin.php:3112
|
1713 |
+
msgid "(GMT+02:00) Helsinki"
|
1714 |
+
msgstr ""
|
1715 |
+
|
1716 |
+
#: custom-facebook-feed-admin.php:3140
|
1717 |
+
msgid "(GMT+10:00) Hobart"
|
1718 |
+
msgstr ""
|
1719 |
+
|
1720 |
+
#: custom-facebook-feed-admin.php:3157
|
1721 |
+
msgid "Custom Format"
|
1722 |
+
msgstr ""
|
1723 |
+
|
1724 |
+
#: custom-facebook-feed-admin.php:3161 custom-facebook-feed-admin.php:3511
|
1725 |
+
msgid "Examples"
|
1726 |
+
msgstr ""
|
1727 |
+
|
1728 |
+
#: custom-facebook-feed-admin.php:3165
|
1729 |
+
msgid "Text Before Date"
|
1730 |
+
msgstr ""
|
1731 |
+
|
1732 |
+
#: custom-facebook-feed-admin.php:3169
|
1733 |
+
msgid ""
|
1734 |
+
"You can add custom text here to display immediately <b>before</b> the date "
|
1735 |
+
"text"
|
1736 |
+
msgstr ""
|
1737 |
+
|
1738 |
+
#: custom-facebook-feed-admin.php:3173
|
1739 |
+
msgid "Text After Date"
|
1740 |
+
msgstr ""
|
1741 |
+
|
1742 |
+
#: custom-facebook-feed-admin.php:3177
|
1743 |
+
msgid ""
|
1744 |
+
"You can add custom text here to display immediately <b>after</b> the date "
|
1745 |
+
"text"
|
1746 |
+
msgstr ""
|
1747 |
+
|
1748 |
+
#: custom-facebook-feed-admin.php:3187
|
1749 |
+
msgid "Shared Link Boxes"
|
1750 |
+
msgstr ""
|
1751 |
+
|
1752 |
+
#: custom-facebook-feed-admin.php:3193
|
1753 |
+
msgid "Link Box Background Color"
|
1754 |
+
msgstr ""
|
1755 |
+
|
1756 |
+
#: custom-facebook-feed-admin.php:3201
|
1757 |
+
msgid "Link Box Border Color"
|
1758 |
+
msgstr ""
|
1759 |
+
|
1760 |
+
#: custom-facebook-feed-admin.php:3209
|
1761 |
+
msgid "Remove Background/Border"
|
1762 |
+
msgstr ""
|
1763 |
+
|
1764 |
+
#: custom-facebook-feed-admin.php:3216
|
1765 |
+
msgid "Link Title Format"
|
1766 |
+
msgstr ""
|
1767 |
+
|
1768 |
+
#: custom-facebook-feed-admin.php:3229
|
1769 |
+
msgid "Link Title Size"
|
1770 |
+
msgstr ""
|
1771 |
+
|
1772 |
+
#: custom-facebook-feed-admin.php:3254
|
1773 |
+
msgid "Link Title Color"
|
1774 |
+
msgstr ""
|
1775 |
+
|
1776 |
+
#: custom-facebook-feed-admin.php:3263
|
1777 |
+
msgid "Link URL Size"
|
1778 |
+
msgstr ""
|
1779 |
+
|
1780 |
+
#: custom-facebook-feed-admin.php:3288
|
1781 |
+
msgid "Link URL Color"
|
1782 |
+
msgstr ""
|
1783 |
+
|
1784 |
+
#: custom-facebook-feed-admin.php:3298
|
1785 |
+
msgid "Link Description Size"
|
1786 |
+
msgstr ""
|
1787 |
+
|
1788 |
+
#: custom-facebook-feed-admin.php:3324
|
1789 |
+
msgid "Link Description Color"
|
1790 |
+
msgstr ""
|
1791 |
+
|
1792 |
+
#: custom-facebook-feed-admin.php:3332
|
1793 |
+
msgid "Maximum Link Description Length"
|
1794 |
+
msgstr ""
|
1795 |
+
|
1796 |
+
#: custom-facebook-feed-admin.php:3337
|
1797 |
+
msgid ""
|
1798 |
+
"If the link description text exceeds this length then it will be truncated "
|
1799 |
+
"with an ellipsis. Leave empty to set no maximum length."
|
1800 |
+
msgstr ""
|
1801 |
+
|
1802 |
+
#: custom-facebook-feed-admin.php:3410
|
1803 |
+
msgid "Link Title to Event on Facebook"
|
1804 |
+
msgstr ""
|
1805 |
+
|
1806 |
+
#: custom-facebook-feed-admin.php:3419
|
1807 |
+
msgid "Event Date"
|
1808 |
+
msgstr ""
|
1809 |
+
|
1810 |
+
#: custom-facebook-feed-admin.php:3466
|
1811 |
+
msgid "Date Position"
|
1812 |
+
msgstr ""
|
1813 |
+
|
1814 |
+
#: custom-facebook-feed-admin.php:3470
|
1815 |
+
msgid "Below event title"
|
1816 |
+
msgstr ""
|
1817 |
+
|
1818 |
+
#: custom-facebook-feed-admin.php:3471
|
1819 |
+
msgid "Above event title"
|
1820 |
+
msgstr ""
|
1821 |
+
|
1822 |
+
#: custom-facebook-feed-admin.php:3476
|
1823 |
+
msgid "Event Date Formatting"
|
1824 |
+
msgstr ""
|
1825 |
+
|
1826 |
+
#: custom-facebook-feed-admin.php:3507
|
1827 |
+
msgid "Custom Event Date Format"
|
1828 |
+
msgstr ""
|
1829 |
+
|
1830 |
+
#: custom-facebook-feed-admin.php:3581
|
1831 |
+
msgid ""
|
1832 |
+
"Post action links refer to the \"View on Facebook\" and \"Share\" links at "
|
1833 |
+
"the bottom of each post"
|
1834 |
+
msgstr ""
|
1835 |
+
|
1836 |
+
#: custom-facebook-feed-admin.php:3628
|
1837 |
+
msgid "\"View on Facebook\" Text"
|
1838 |
+
msgstr ""
|
1839 |
+
|
1840 |
+
#: custom-facebook-feed-admin.php:3636
|
1841 |
+
msgid "\"Share\" Text"
|
1842 |
+
msgstr ""
|
1843 |
+
|
1844 |
+
#: custom-facebook-feed-admin.php:3644
|
1845 |
+
msgid "Show \"View on Facebook\" link"
|
1846 |
+
msgstr ""
|
1847 |
+
|
1848 |
+
#: custom-facebook-feed-admin.php:3652
|
1849 |
+
msgid "Show \"Share\" link"
|
1850 |
+
msgstr ""
|
1851 |
+
|
1852 |
+
#: custom-facebook-feed-admin.php:3664
|
1853 |
+
msgid "Likes, Shares and Comments Box"
|
1854 |
+
msgstr ""
|
1855 |
+
|
1856 |
+
#: custom-facebook-feed-admin.php:3672
|
1857 |
+
msgid "Icon Style"
|
1858 |
+
msgstr ""
|
1859 |
+
|
1860 |
+
#: custom-facebook-feed-admin.php:3676
|
1861 |
+
msgid "Light (for light backgrounds)"
|
1862 |
+
msgstr ""
|
1863 |
+
|
1864 |
+
#: custom-facebook-feed-admin.php:3677
|
1865 |
+
msgid "Dark (for dark backgrounds)"
|
1866 |
+
msgstr ""
|
1867 |
+
|
1868 |
+
#: custom-facebook-feed-admin.php:3703
|
1869 |
+
msgid "Expand Comments Box Initially"
|
1870 |
+
msgstr ""
|
1871 |
+
|
1872 |
+
#: custom-facebook-feed-admin.php:3708
|
1873 |
+
msgid ""
|
1874 |
+
"Checking this box will automatically expand the comments box beneath each "
|
1875 |
+
"post. Unchecking this box will mean that users will need to click the number "
|
1876 |
+
"of comments below each post in order to expand the comments box."
|
1877 |
+
msgstr ""
|
1878 |
+
|
1879 |
+
#: custom-facebook-feed-admin.php:3712
|
1880 |
+
msgid "Number of Comments to Show Initially"
|
1881 |
+
msgstr ""
|
1882 |
+
|
1883 |
+
#: custom-facebook-feed-admin.php:3716
|
1884 |
+
msgid "25 max"
|
1885 |
+
msgstr ""
|
1886 |
+
|
1887 |
+
#: custom-facebook-feed-admin.php:3718
|
1888 |
+
msgid ""
|
1889 |
+
"The number of comments to show initially when the comments box is expanded."
|
1890 |
+
msgstr ""
|
1891 |
+
|
1892 |
+
#: custom-facebook-feed-admin.php:3722
|
1893 |
+
msgid "Hide Comment Avatars"
|
1894 |
+
msgstr ""
|
1895 |
+
|
1896 |
+
#: custom-facebook-feed-admin.php:3761
|
1897 |
+
msgid "Custom CSS"
|
1898 |
+
msgstr ""
|
1899 |
+
|
1900 |
+
#: custom-facebook-feed-admin.php:3766
|
1901 |
+
msgid "Enter your own custom CSS in the box below"
|
1902 |
+
msgstr ""
|
1903 |
+
|
1904 |
+
#: custom-facebook-feed-admin.php:3766 custom-facebook-feed-admin.php:3777
|
1905 |
+
msgid "See some examples"
|
1906 |
+
msgstr ""
|
1907 |
+
|
1908 |
+
#: custom-facebook-feed-admin.php:3772
|
1909 |
+
msgid "Custom JavaScript"
|
1910 |
+
msgstr ""
|
1911 |
+
|
1912 |
+
#: custom-facebook-feed-admin.php:3777
|
1913 |
+
msgid "Enter your own custom JavaScript/jQuery in the box below"
|
1914 |
+
msgstr ""
|
1915 |
+
|
1916 |
+
#: custom-facebook-feed-admin.php:3787
|
1917 |
+
msgid "Media"
|
1918 |
+
msgstr ""
|
1919 |
+
|
1920 |
+
#: custom-facebook-feed-admin.php:3803
|
1921 |
+
msgid "Use full-size shared link images"
|
1922 |
+
msgstr ""
|
1923 |
+
|
1924 |
+
#: custom-facebook-feed-admin.php:3808
|
1925 |
+
msgid ""
|
1926 |
+
"By default the shared link boxes in your posts use the same layout selected "
|
1927 |
+
"on the 'Post Layout' page, however, but you can disable this by unchecking "
|
1928 |
+
"this setting to force all shared links to use the smaller image thumbnails "
|
1929 |
+
"instead."
|
1930 |
+
msgstr ""
|
1931 |
+
|
1932 |
+
#: custom-facebook-feed-admin.php:3812
|
1933 |
+
msgid "Lightbox video player"
|
1934 |
+
msgstr ""
|
1935 |
+
|
1936 |
+
#: custom-facebook-feed-admin.php:3816
|
1937 |
+
msgid "Facebook Video Player"
|
1938 |
+
msgstr ""
|
1939 |
+
|
1940 |
+
#: custom-facebook-feed-admin.php:3817
|
1941 |
+
msgid "Standard HTML5 Video"
|
1942 |
+
msgstr ""
|
1943 |
+
|
1944 |
+
#: custom-facebook-feed-admin.php:3822
|
1945 |
+
msgid "Play video action"
|
1946 |
+
msgstr ""
|
1947 |
+
|
1948 |
+
#: custom-facebook-feed-admin.php:3826
|
1949 |
+
msgid "Play videos directly in the feed"
|
1950 |
+
msgstr ""
|
1951 |
+
|
1952 |
+
#: custom-facebook-feed-admin.php:3828
|
1953 |
+
msgid "Link to the video on Facebook"
|
1954 |
+
msgstr ""
|
1955 |
+
|
1956 |
+
#: custom-facebook-feed-admin.php:3836
|
1957 |
+
msgid "Misc Settings"
|
1958 |
+
msgstr ""
|
1959 |
+
|
1960 |
+
#: custom-facebook-feed-admin.php:3840
|
1961 |
+
msgid "Is your theme loading the feed via Ajax?"
|
1962 |
+
msgstr ""
|
1963 |
+
|
1964 |
+
#: custom-facebook-feed-admin.php:3846
|
1965 |
+
msgid ""
|
1966 |
+
"Some modern WordPress themes use Ajax to load content into the page after it "
|
1967 |
+
"has loaded. If your theme uses Ajax to load the Custom Facebook Feed content "
|
1968 |
+
"into the page then check this box. If you are not sure then please check "
|
1969 |
+
"with the theme author."
|
1970 |
+
msgstr ""
|
1971 |
+
|
1972 |
+
#: custom-facebook-feed-admin.php:3850
|
1973 |
+
msgid "Preserve settings when plugin is removed"
|
1974 |
+
msgstr ""
|
1975 |
+
|
1976 |
+
#: custom-facebook-feed-admin.php:3855
|
1977 |
+
msgid ""
|
1978 |
+
"When removing the plugin your settings are automatically deleted from your "
|
1979 |
+
"database. Checking this box will prevent any settings from being deleted. "
|
1980 |
+
"This means that you can uninstall and reinstall the plugin without losing "
|
1981 |
+
"your settings."
|
1982 |
+
msgstr ""
|
1983 |
+
|
1984 |
+
#: custom-facebook-feed-admin.php:3859
|
1985 |
+
msgid "Display credit link"
|
1986 |
+
msgstr ""
|
1987 |
+
|
1988 |
+
#: custom-facebook-feed-admin.php:3864
|
1989 |
+
msgid "Display a link at the bottom of the feed to help promote the plugin"
|
1990 |
+
msgstr ""
|
1991 |
+
|
1992 |
+
#: custom-facebook-feed-admin.php:3869
|
1993 |
+
msgid "Minify CSS and JavaScript files"
|
1994 |
+
msgstr ""
|
1995 |
+
|
1996 |
+
#: custom-facebook-feed-admin.php:3876
|
1997 |
+
msgid "Is Facebook Page restricted?"
|
1998 |
+
msgstr ""
|
1999 |
+
|
2000 |
+
#: custom-facebook-feed-admin.php:3882
|
2001 |
+
msgid ""
|
2002 |
+
"If you want to display your Facebook feed on your website then ideally your "
|
2003 |
+
"Facebook page should not have any age or location restrictions on it as that "
|
2004 |
+
"restricts the plugin from being able to fully access the content. If it is "
|
2005 |
+
"not possible for you to remove all restrictions then you can enable this "
|
2006 |
+
"setting."
|
2007 |
+
msgstr ""
|
2008 |
+
|
2009 |
+
#: custom-facebook-feed-admin.php:3887
|
2010 |
+
msgid "Icon font source"
|
2011 |
+
msgstr ""
|
2012 |
+
|
2013 |
+
#: custom-facebook-feed-admin.php:3890
|
2014 |
+
msgid "CDN"
|
2015 |
+
msgstr ""
|
2016 |
+
|
2017 |
+
#: custom-facebook-feed-admin.php:3891
|
2018 |
+
msgid "Local copy"
|
2019 |
+
msgstr ""
|
2020 |
+
|
2021 |
+
#: custom-facebook-feed-admin.php:3892
|
2022 |
+
msgid "Don't load"
|
2023 |
+
msgstr ""
|
2024 |
+
|
2025 |
+
#: custom-facebook-feed-admin.php:3899
|
2026 |
+
msgid "Force cache to clear on interval"
|
2027 |
+
msgstr ""
|
2028 |
+
|
2029 |
+
#: custom-facebook-feed-admin.php:3903
|
2030 |
+
msgid " - "
|
2031 |
+
msgstr ""
|
2032 |
+
|
2033 |
+
#: custom-facebook-feed-admin.php:3905
|
2034 |
+
msgid "No"
|
2035 |
+
msgstr ""
|
2036 |
+
|
2037 |
+
#: custom-facebook-feed-admin.php:3909
|
2038 |
+
msgid ""
|
2039 |
+
"If you're experiencing an issue with the plugin not auto-updating then you "
|
2040 |
+
"can set this to 'Yes' to run a scheduled event behind the scenes which "
|
2041 |
+
"forces the plugin cache to clear on a regular basis and retrieve new data "
|
2042 |
+
"from Facebook."
|
2043 |
+
msgstr ""
|
2044 |
+
|
2045 |
+
#: custom-facebook-feed-admin.php:3914
|
2046 |
+
msgid "Request method"
|
2047 |
+
msgstr ""
|
2048 |
+
|
2049 |
+
#: custom-facebook-feed-admin.php:3918
|
2050 |
+
msgid "cURL"
|
2051 |
+
msgstr ""
|
2052 |
+
|
2053 |
+
#: custom-facebook-feed-admin.php:3919
|
2054 |
+
msgid "file_get_contents"
|
2055 |
+
msgstr ""
|
2056 |
+
|
2057 |
+
#: custom-facebook-feed-admin.php:3920
|
2058 |
+
msgid "WP_Http"
|
2059 |
+
msgstr ""
|
2060 |
+
|
2061 |
+
#: custom-facebook-feed-admin.php:3925
|
2062 |
+
msgid "Fix text shortening issue"
|
2063 |
+
msgstr ""
|
2064 |
+
|
2065 |
+
#: custom-facebook-feed-admin.php:3932
|
2066 |
+
msgid "Disable default styles"
|
2067 |
+
msgstr ""
|
2068 |
+
|
2069 |
+
#: custom-facebook-feed-admin.php:3937
|
2070 |
+
msgid ""
|
2071 |
+
"The plugin includes some basic text and link styles which can be disabled by "
|
2072 |
+
"enabling this setting. Note that the styles used for the layout of the posts "
|
2073 |
+
"will still be applied."
|
2074 |
+
msgstr ""
|
2075 |
+
|
2076 |
+
#: custom-facebook-feed-admin.php:3961
|
2077 |
+
msgid ""
|
2078 |
+
"Enter custom text for the words below, or translate it into the language you "
|
2079 |
+
"would like to use."
|
2080 |
+
msgstr ""
|
2081 |
+
|
2082 |
+
#: custom-facebook-feed-admin.php:3967
|
2083 |
+
msgid "Original Text"
|
2084 |
+
msgstr ""
|
2085 |
+
|
2086 |
+
#: custom-facebook-feed-admin.php:3968
|
2087 |
+
msgid "Custom Text / Translation"
|
2088 |
+
msgstr ""
|
2089 |
+
|
2090 |
+
#: custom-facebook-feed-admin.php:3969
|
2091 |
+
msgid "Context"
|
2092 |
+
msgstr ""
|
2093 |
+
|
2094 |
+
#: custom-facebook-feed-admin.php:3975
|
2095 |
+
msgid "See More"
|
2096 |
+
msgstr ""
|
2097 |
+
|
2098 |
+
#: custom-facebook-feed-admin.php:3977 custom-facebook-feed-admin.php:3983
|
2099 |
+
msgid "Used when truncating the post text"
|
2100 |
+
msgstr ""
|
2101 |
+
|
2102 |
+
#: custom-facebook-feed-admin.php:3981
|
2103 |
+
msgid "See Less"
|
2104 |
+
msgstr ""
|
2105 |
+
|
2106 |
+
#: custom-facebook-feed-admin.php:3988
|
2107 |
+
msgid "View on Facebook"
|
2108 |
+
msgstr ""
|
2109 |
+
|
2110 |
+
#: custom-facebook-feed-admin.php:3990
|
2111 |
+
msgid "Used for the link to the post on Facebook"
|
2112 |
+
msgstr ""
|
2113 |
+
|
2114 |
+
#: custom-facebook-feed-admin.php:3993
|
2115 |
+
msgid "Share"
|
2116 |
+
msgstr ""
|
2117 |
+
|
2118 |
+
#: custom-facebook-feed-admin.php:3995
|
2119 |
+
msgid "Used for sharing the Facebook post via Social Media"
|
2120 |
+
msgstr ""
|
2121 |
+
|
2122 |
+
#: custom-facebook-feed-admin.php:3999
|
2123 |
+
msgid "photos"
|
2124 |
+
msgstr ""
|
2125 |
+
|
2126 |
+
#: custom-facebook-feed-admin.php:4001
|
2127 |
+
msgid "Added to the end of an album name. Eg. (6 photos)"
|
2128 |
+
msgstr ""
|
2129 |
+
|
2130 |
+
#: custom-facebook-feed-admin.php:4004
|
2131 |
+
msgid "Media Links"
|
2132 |
+
msgstr ""
|
2133 |
+
|
2134 |
+
#: custom-facebook-feed-admin.php:4006
|
2135 |
+
msgid "Photo"
|
2136 |
+
msgstr ""
|
2137 |
+
|
2138 |
+
#: custom-facebook-feed-admin.php:4008
|
2139 |
+
msgid "Used to link to photos on Facebook"
|
2140 |
+
msgstr ""
|
2141 |
+
|
2142 |
+
#: custom-facebook-feed-admin.php:4011
|
2143 |
+
msgid "Video"
|
2144 |
+
msgstr ""
|
2145 |
+
|
2146 |
+
#: custom-facebook-feed-admin.php:4013
|
2147 |
+
msgid "Used to link to videos on Facebook"
|
2148 |
+
msgstr ""
|
2149 |
+
|
2150 |
+
#: custom-facebook-feed-admin.php:4016
|
2151 |
+
msgid "Call-to-action Buttons"
|
2152 |
+
msgstr ""
|
2153 |
+
|
2154 |
+
#: custom-facebook-feed-admin.php:4018
|
2155 |
+
msgid "Learn More"
|
2156 |
+
msgstr ""
|
2157 |
+
|
2158 |
+
#: custom-facebook-feed-admin.php:4020
|
2159 |
+
msgid "Used for the 'Learn More' button"
|
2160 |
+
msgstr ""
|
2161 |
+
|
2162 |
+
#: custom-facebook-feed-admin.php:4023
|
2163 |
+
msgid "Shop Now"
|
2164 |
+
msgstr ""
|
2165 |
+
|
2166 |
+
#: custom-facebook-feed-admin.php:4025
|
2167 |
+
msgid "Used for the 'Shop Now' button"
|
2168 |
+
msgstr ""
|
2169 |
+
|
2170 |
+
#: custom-facebook-feed-admin.php:4028
|
2171 |
+
msgid "Message Page"
|
2172 |
+
msgstr ""
|
2173 |
+
|
2174 |
+
#: custom-facebook-feed-admin.php:4030
|
2175 |
+
msgid "Used for the 'Message Page' button"
|
2176 |
+
msgstr ""
|
2177 |
+
|
2178 |
+
#: custom-facebook-feed-admin.php:4035
|
2179 |
+
msgid "\"Posted _ hours ago\" text"
|
2180 |
+
msgstr ""
|
2181 |
+
|
2182 |
+
#: custom-facebook-feed-admin.php:4038
|
2183 |
+
msgid "second"
|
2184 |
+
msgstr ""
|
2185 |
+
|
2186 |
+
#: custom-facebook-feed-admin.php:4041
|
2187 |
+
msgid "seconds"
|
2188 |
+
msgstr ""
|
2189 |
+
|
2190 |
+
#: custom-facebook-feed-admin.php:4044
|
2191 |
+
msgid "minute"
|
2192 |
+
msgstr ""
|
2193 |
+
|
2194 |
+
#: custom-facebook-feed-admin.php:4047
|
2195 |
+
msgid "minutes"
|
2196 |
+
msgstr ""
|
2197 |
+
|
2198 |
+
#: custom-facebook-feed-admin.php:4050
|
2199 |
+
msgid "hour"
|
2200 |
+
msgstr ""
|
2201 |
+
|
2202 |
+
#: custom-facebook-feed-admin.php:4053
|
2203 |
+
msgid "hours"
|
2204 |
+
msgstr ""
|
2205 |
+
|
2206 |
+
#: custom-facebook-feed-admin.php:4056
|
2207 |
+
msgid "day"
|
2208 |
+
msgstr ""
|
2209 |
+
|
2210 |
+
#: custom-facebook-feed-admin.php:4059
|
2211 |
+
msgid "days"
|
2212 |
+
msgstr ""
|
2213 |
+
|
2214 |
+
#: custom-facebook-feed-admin.php:4062
|
2215 |
+
msgid "week"
|
2216 |
+
msgstr ""
|
2217 |
+
|
2218 |
+
#: custom-facebook-feed-admin.php:4065
|
2219 |
+
msgid "weeks"
|
2220 |
+
msgstr ""
|
2221 |
+
|
2222 |
+
#: custom-facebook-feed-admin.php:4068
|
2223 |
+
msgid "month"
|
2224 |
+
msgstr ""
|
2225 |
+
|
2226 |
+
#: custom-facebook-feed-admin.php:4071
|
2227 |
+
msgid "months"
|
2228 |
+
msgstr ""
|
2229 |
+
|
2230 |
+
#: custom-facebook-feed-admin.php:4074
|
2231 |
+
msgid "year"
|
2232 |
+
msgstr ""
|
2233 |
+
|
2234 |
+
#: custom-facebook-feed-admin.php:4077
|
2235 |
+
msgid "years"
|
2236 |
+
msgstr ""
|
2237 |
+
|
2238 |
+
#: custom-facebook-feed-admin.php:4080
|
2239 |
+
msgid "ago"
|
2240 |
+
msgstr ""
|
2241 |
+
|
2242 |
+
#: custom-facebook-feed-admin.php:4083
|
2243 |
+
msgid "Used to translate the \"__ days ago\" date text"
|
2244 |
+
msgstr ""
|
2245 |
+
|
2246 |
+
#: custom-facebook-feed-admin.php:4339
|
2247 |
+
msgid ""
|
2248 |
+
"PS. We currently have a <a href=\"https://smashballoon.com/custom-facebook-"
|
2249 |
+
"feed/?utm_source=plugin-free&utm_campaign=cff&discount="
|
2250 |
+
msgstr ""
|
2251 |
+
|
2252 |
+
#: custom-facebook-feed-admin.php:4357
|
2253 |
+
msgid ""
|
2254 |
+
"It's great to see that you've been using the <strong style='font-weight: "
|
2255 |
+
"700;'>Smash Balloon Custom Facebook Feed</strong> plugin for a while now. "
|
2256 |
+
"Hopefully you like it! If so, would you consider leaving a positive review? "
|
2257 |
+
"It really helps support the plugin and helps others to discover it too!"
|
2258 |
+
msgstr ""
|
2259 |
+
|
2260 |
+
#: custom-facebook-feed-admin.php:4361
|
2261 |
+
msgid "Sure, I'd love to!"
|
2262 |
+
msgstr ""
|
2263 |
+
|
2264 |
+
#: custom-facebook-feed-admin.php:4363
|
2265 |
+
msgid "No thanks"
|
2266 |
+
msgstr ""
|
2267 |
+
|
2268 |
+
#: custom-facebook-feed-admin.php:4365
|
2269 |
+
msgid "I've already given a review"
|
2270 |
+
msgstr ""
|
2271 |
+
|
2272 |
+
#: custom-facebook-feed-admin.php:4367
|
2273 |
+
msgid "Ask Me Later"
|
2274 |
+
msgstr ""
|
2275 |
+
|
2276 |
+
#: custom-facebook-feed-admin.php:4384
|
2277 |
+
#, php-format
|
2278 |
+
msgid ""
|
2279 |
+
"<b style=\"font-weight: 700;\">Exclusive offer!</b> We don't run promotions "
|
2280 |
+
"very often, but for a limited time we're offering <b style=\"font-weight: "
|
2281 |
+
"700;\">20% off</b> our Pro version to all users of our free Smash Balloon "
|
2282 |
+
"Custom Facebook Feed plugin."
|
2283 |
+
msgstr ""
|
2284 |
+
|
2285 |
+
#: custom-facebook-feed-admin.php:4386 custom-facebook-feed-admin.php:4404
|
2286 |
+
msgid "Get this offer"
|
2287 |
+
msgstr ""
|
2288 |
+
|
2289 |
+
#: custom-facebook-feed-admin.php:4387 custom-facebook-feed-admin.php:4405
|
2290 |
+
msgid "I'm not interested"
|
2291 |
+
msgstr ""
|
2292 |
+
|
2293 |
+
#: custom-facebook-feed-admin.php:4402
|
2294 |
+
#, php-format
|
2295 |
+
msgid ""
|
2296 |
+
"<b style=\"font-weight: 700;\">Black Friday/Cyber Monday Deal!</b> Thank you "
|
2297 |
+
"for using the free Smash Balloon Custom Facebook Feed plugin. For a limited "
|
2298 |
+
"time, we're offering <b style=\"font-weight: 700;\">20% off</b> the Pro "
|
2299 |
+
"version for all of our users."
|
2300 |
+
msgstr ""
|