Blog2Social: Social Media Auto Post & Scheduler - Version 5.8.1

Version Description

Usability Optimization

Download this release

Release Info

Developer Blog2Social
Plugin Icon 128x128 Blog2Social: Social Media Auto Post & Scheduler
Version 5.8.1
Comparing to
See all releases

Code changes from version 5.8.0 to 5.8.1

blog2social.php CHANGED
@@ -7,12 +7,12 @@
7
  * Author: Blog2Social, Adenion
8
  * Text Domain: blog2social
9
  * Domain Path: /languages
10
- * Version: 5.8.0
11
  * Author URI: https://www.blog2social.com
12
  * License: GPL2+
13
  */
14
 
15
- define('B2S_PLUGIN_VERSION', '580');
16
  define('B2S_PLUGIN_LANGUAGE', serialize(array('de_DE', 'en_US')));
17
  define('B2S_PLUGIN_DIR', plugin_dir_path(__FILE__));
18
  define('B2S_PLUGIN_URL', plugin_dir_url(__FILE__));
7
  * Author: Blog2Social, Adenion
8
  * Text Domain: blog2social
9
  * Domain Path: /languages
10
+ * Version: 5.8.1
11
  * Author URI: https://www.blog2social.com
12
  * License: GPL2+
13
  */
14
 
15
+ define('B2S_PLUGIN_VERSION', '581');
16
  define('B2S_PLUGIN_LANGUAGE', serialize(array('de_DE', 'en_US')));
17
  define('B2S_PLUGIN_DIR', plugin_dir_path(__FILE__));
18
  define('B2S_PLUGIN_URL', plugin_dir_url(__FILE__));
includes/Loader.php CHANGED
@@ -56,7 +56,7 @@ class B2S_Loader {
56
  12 => array(0 => array('short_text' => array('active' => 0, 'range_min' => 240, 'range_max' => 400, 'excerpt_range_min' => 240, 'excerpt_range_max' => 400, 'limit' => 2000), 'content' => '{CONTENT}', 'format' => 1)),
57
  19 => array(0 => array('short_text' => array('active' => 0, 'range_min' => 239, 'range_max' => 320, 'excerpt_range_min' => 239, 'excerpt_range_max' => 320, 'limit' => 420), 'content' => '{CONTENT}', 'format' => 0))
58
  )));
59
- define('B2S_PLUGIN_SYSTEMREQUIREMENT_WORDPRESSVERSION', '4.4.2');
60
  define('B2S_PLUGIN_SYSTEMREQUIREMENT_PHPVERSION', '5.5.3');
61
  define('B2S_PLUGIN_SYSTEMREQUIREMENT_MYSQLVERSION', '5.5.3');
62
  define('B2S_PLUGIN_SYSTEMREQUIREMENT_DATABASERIGHTS', true);
@@ -108,6 +108,7 @@ class B2S_Loader {
108
  add_action('add_meta_boxes', array($this, 'b2s_load_post_box'));
109
  add_action('save_post', array($this, 'b2s_save_post_box'), 1, 3);
110
  add_action('trash_post', array($this, 'b2s_delete_sched_post'), 10);
 
111
 
112
  add_action('admin_footer', array($this, 'plugin_deactivate_add_modal'));
113
  add_filter('plugin_action_links_' . B2S_PLUGIN_BASENAME, array($this, 'override_plugin_action_links'));
@@ -1346,7 +1347,7 @@ class B2S_Loader {
1346
  public function initCaps() {
1347
  global $wp_roles;
1348
  if (!class_exists('WP_Roles')) {
1349
- return;
1350
  }
1351
  if (!isset($wp_roles)) {
1352
  $wp_roles = new WP_Roles(); // @codingStandardsIgnoreLine
@@ -1360,7 +1361,6 @@ class B2S_Loader {
1360
  }
1361
 
1362
  public function activatePlugin() {
1363
- $this->initCaps();
1364
  require_once(B2S_PLUGIN_DIR . 'includes/Tools.php');
1365
  require_once (B2S_PLUGIN_DIR . 'includes/System.php');
1366
  require_once(B2S_PLUGIN_DIR . 'includes/Options.php');
@@ -1589,6 +1589,8 @@ class B2S_Loader {
1589
  $options->_setOption('og_active', 1);
1590
  $options->_setOption('card_active', 1);
1591
  }
 
 
1592
  }
1593
 
1594
  public function deactivatePlugin($allBlogs) {
56
  12 => array(0 => array('short_text' => array('active' => 0, 'range_min' => 240, 'range_max' => 400, 'excerpt_range_min' => 240, 'excerpt_range_max' => 400, 'limit' => 2000), 'content' => '{CONTENT}', 'format' => 1)),
57
  19 => array(0 => array('short_text' => array('active' => 0, 'range_min' => 239, 'range_max' => 320, 'excerpt_range_min' => 239, 'excerpt_range_max' => 320, 'limit' => 420), 'content' => '{CONTENT}', 'format' => 0))
58
  )));
59
+ define('B2S_PLUGIN_SYSTEMREQUIREMENT_WORDPRESSVERSION', '4.3.0');
60
  define('B2S_PLUGIN_SYSTEMREQUIREMENT_PHPVERSION', '5.5.3');
61
  define('B2S_PLUGIN_SYSTEMREQUIREMENT_MYSQLVERSION', '5.5.3');
62
  define('B2S_PLUGIN_SYSTEMREQUIREMENT_DATABASERIGHTS', true);
108
  add_action('add_meta_boxes', array($this, 'b2s_load_post_box'));
109
  add_action('save_post', array($this, 'b2s_save_post_box'), 1, 3);
110
  add_action('trash_post', array($this, 'b2s_delete_sched_post'), 10);
111
+ add_action('wp_trash_post', array($this, 'b2s_delete_sched_post'), 10);
112
 
113
  add_action('admin_footer', array($this, 'plugin_deactivate_add_modal'));
114
  add_filter('plugin_action_links_' . B2S_PLUGIN_BASENAME, array($this, 'override_plugin_action_links'));
1347
  public function initCaps() {
1348
  global $wp_roles;
1349
  if (!class_exists('WP_Roles')) {
1350
+ wp_die(esc_html__('Blog2Social needs Wordpress Version 4.3.0 or higher.', 'blog2social') . ' ' . sprintf(__('<a href="%s" target="_blank">Please find more Information and help in our FAQ</a>', 'blog2social'), esc_url(B2S_Tools::getSupportLink('system'))) . ' ' . esc_html__('or', 'blog2social') . ' <a href="' . esc_url(admin_url("/plugins.php", "http")) . '/">' . esc_html__('back to install plugins', 'blog2social') . '</a>');
1351
  }
1352
  if (!isset($wp_roles)) {
1353
  $wp_roles = new WP_Roles(); // @codingStandardsIgnoreLine
1361
  }
1362
 
1363
  public function activatePlugin() {
 
1364
  require_once(B2S_PLUGIN_DIR . 'includes/Tools.php');
1365
  require_once (B2S_PLUGIN_DIR . 'includes/System.php');
1366
  require_once(B2S_PLUGIN_DIR . 'includes/Options.php');
1589
  $options->_setOption('og_active', 1);
1590
  $options->_setOption('card_active', 1);
1591
  }
1592
+ //init roles & capabilities
1593
+ $this->initCaps();
1594
  }
1595
 
1596
  public function deactivatePlugin($allBlogs) {
includes/Util.php CHANGED
@@ -405,7 +405,7 @@ class B2S_Util {
405
  }
406
 
407
  public static function getExcerpt($text, $count = 400, $max = false, $add = false) {
408
- //Bug: Converting json + PHP Extension
409
  if (function_exists('mb_strlen') && function_exists('mb_substr') && function_exists('mb_stripos')) {
410
  if (mb_strlen($text, 'UTF-8') < $count) {
411
  return trim($text);
@@ -414,12 +414,12 @@ class B2S_Util {
414
  $min = (int) $count / 2;
415
  $cleanTruncateWord = true;
416
  $max = ($max !== false) ? ($max - $min) : ($min - 1);
417
-
418
  if (mb_strlen($text, 'UTF-8') < $max) {
419
  return trim($text);
420
  }
421
 
422
- $sub = mb_substr($text, $min, $max, 'UTF-8');
 
423
  for ($i = 0; $i < count($stops); $i++) {
424
  if (count($subArray = explode($stops[$i], $sub)) > 1) {
425
  $cleanTruncateWord = false;
@@ -427,7 +427,7 @@ class B2S_Util {
427
  $subArray[count($subArray) - 1] = ' ';
428
  }
429
  if (mb_stripos($subArray[count($subArray) - 1], $stops[$i]) === false) { //delete last explode if no stops set
430
- $subArray[count($subArray) - 1] = ' ';
431
  }
432
  $sub = implode($stops[$i], $subArray);
433
  $add = false;
@@ -441,10 +441,10 @@ class B2S_Util {
441
  $sub = trim(mb_substr($sub, 0, $lastIndex));
442
  }
443
  }
444
-
445
  $text = trim(mb_substr($text, 0, $min, 'UTF-8') . $sub);
446
  return ($add) ? $text . "..." : $text;
447
  }
 
448
  return trim($text);
449
  }
450
 
405
  }
406
 
407
  public static function getExcerpt($text, $count = 400, $max = false, $add = false) {
408
+ //Bug: Converting json + PHP Extension
409
  if (function_exists('mb_strlen') && function_exists('mb_substr') && function_exists('mb_stripos')) {
410
  if (mb_strlen($text, 'UTF-8') < $count) {
411
  return trim($text);
414
  $min = (int) $count / 2;
415
  $cleanTruncateWord = true;
416
  $max = ($max !== false) ? ($max - $min) : ($min - 1);
 
417
  if (mb_strlen($text, 'UTF-8') < $max) {
418
  return trim($text);
419
  }
420
 
421
+ $sub = mb_substr($text, $min, mb_strripos(mb_substr($text, $min, $max, 'UTF-8'), ' '), 'UTF-8');
422
+
423
  for ($i = 0; $i < count($stops); $i++) {
424
  if (count($subArray = explode($stops[$i], $sub)) > 1) {
425
  $cleanTruncateWord = false;
427
  $subArray[count($subArray) - 1] = ' ';
428
  }
429
  if (mb_stripos($subArray[count($subArray) - 1], $stops[$i]) === false) { //delete last explode if no stops set
430
+ $subArray[count($subArray) - 1] = mb_substr($subArray[count($subArray) - 1], 0, mb_stripos($subArray[count($subArray) - 1], ' '));
431
  }
432
  $sub = implode($stops[$i], $subArray);
433
  $add = false;
441
  $sub = trim(mb_substr($sub, 0, $lastIndex));
442
  }
443
  }
 
444
  $text = trim(mb_substr($text, 0, $min, 'UTF-8') . $sub);
445
  return ($add) ? $text . "..." : $text;
446
  }
447
+
448
  return trim($text);
449
  }
450
 
readme.txt CHANGED
@@ -3,9 +3,9 @@ Contributors: Blog2Social, pr-gateway
3
  Requires PHP: 5.5.3
4
  Tags: auto post, auto publish, social media scheduling, social media calendar, social media automation, social media share, auto-publish, scheduling, social media post, social url share, social network share, share tweet, share links, share this, sharethis, social tools, admin, api, auto share to, autopost, auto-Posting, auto-schedule, auto-schedule social media posts, automatic social sharing plugin, blog marketing, blog2social, blogger, buffer, crossposting, cross-promotion, cross-promoting, bloglovin, bloglovin auto post, facebook, facebook auto post, facebook pages, google auto post, google plus, google plus pages, instagram, instagram auto post, jetpack, jetpack sharing, linkedin, linkedin auto post, medium, medium auto post, multiposting, path, pinterest, re-post, scheduling, scheduling plugin, social media, social media auto publish, social media automation, social media button, social media manager, social media plugin, social media post, social media publishing, social media share, social media scheduling tool, social media sharing, social media tool, social network auto publish, social network icon, social network widget, socialmedia, timing, torial, torial auto post, tumblr, twitter, twitter auto post, xing, xing auto post, xing groups, xing gruppen, xing personal profiles, xing company profiles, xing business pages, xing pages, xing seiten, auto post scheduler, repost, social media management, facebook fan page auto post, facebook profile auto post, social auto post, social autoposting, flickr, flickr auto posting, linkedin, linkedin auto posting, linkedin profile, facebook group, facebook gruppen, reddit, reddit auto posting, reddit auto post, social media calendar, editorial calendar, calendar plugin, Social Media Automatisierung, Social Media Management, Kalender, Planungs Kalender, Social Media Kalender, Content Marketing
5
  Donate link: https://paypal.me/adenion
6
- Requires at least: 4.2.2
7
  Tested up to: 5.2.3
8
- Stable tag: 5.8.0
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -20,7 +20,9 @@ _Compatible with WooCommerce, Gutenberg Editor, Hummingbird & Bitly._
20
 
21
  * Version 5.8: Wordpress Multisite compatible
22
 
23
- **Blog2Social Free is free.** Download Blog2Social today to make your social media marketing for your WordPress site or blog easier than ever. [See what's included in the free version](https://wordpress.org/plugins/blog2social/#faq "FAQ") Or, benefit from all advanced features for sharing and scheduling your content on social media by upgrading to **Blog2Social Premium.** [Start your free 30-day-Premium-trial](https://www.blog2social.com/en/plugin/wordpress/premium-trial/ "Test Blog2Social Premium for free")
 
 
24
 
25
  = Supported Networks = for cross-posting and auto posting
26
  * **Facebook** - Post to your profile, page (Free), and in groups (Premium)
@@ -115,11 +117,11 @@ The Blog2Social Plugin is available in the following language versions
115
  * Thanks to [Juanma](https://wpnovatos.com/ "Juanma") for translating this plugin into Spanish
116
 
117
  == Installation ==
118
- 1. Go to the Admin Panel of your Wordpress dashboard
119
 
120
- 2. Select "Plugin" -> "Add New" in the left hand side menu
121
 
122
- 3. Enter "Blog2Social" in the "Search Plugins" text field.
123
 
124
  4. Click "Install Now" on the Blog2Social banner
125
 
@@ -129,12 +131,18 @@ The Blog2Social Plugin is available in the following language versions
129
 
130
  7. "Blog2Social" appears in the left hand side menu
131
 
 
 
 
 
 
 
132
 
133
  == Frequently Asked Questions ==
134
 
135
  = Is Blog2Social free? =
136
 
137
- Yes, Blog2Social is completely free to cross-post your blog posts on your social media profiles. For more advanced features and options you can upgrade to Blog2Social Premium whenever needed.
138
 
139
  = What can I do with the free version? =
140
 
@@ -193,6 +201,8 @@ To get started with the basics of Blog2Social and maybe find some useful tips an
193
  7. Keep track of your shared posts and scheduling plan with the Social Media Calendar.
194
 
195
  == Changelog ==
 
 
196
  = 5.8.0 =
197
  Wordpress Multisite compatible
198
  = 5.7.2 =
@@ -281,6 +291,8 @@ Usabilitiy and Performance Optimization. Select link format or image format indi
281
  Usabilitiy and Performance Optimization. NEW: Select individual images per post. Select link format or image format for your posts. Select your own time zone for scheduling posts. Emoji support.
282
 
283
  == Upgrade Notice ==
 
 
284
  = 5.8.0 =
285
  Wordpress Multisite compatible
286
  = 5.7.2 =
3
  Requires PHP: 5.5.3
4
  Tags: auto post, auto publish, social media scheduling, social media calendar, social media automation, social media share, auto-publish, scheduling, social media post, social url share, social network share, share tweet, share links, share this, sharethis, social tools, admin, api, auto share to, autopost, auto-Posting, auto-schedule, auto-schedule social media posts, automatic social sharing plugin, blog marketing, blog2social, blogger, buffer, crossposting, cross-promotion, cross-promoting, bloglovin, bloglovin auto post, facebook, facebook auto post, facebook pages, google auto post, google plus, google plus pages, instagram, instagram auto post, jetpack, jetpack sharing, linkedin, linkedin auto post, medium, medium auto post, multiposting, path, pinterest, re-post, scheduling, scheduling plugin, social media, social media auto publish, social media automation, social media button, social media manager, social media plugin, social media post, social media publishing, social media share, social media scheduling tool, social media sharing, social media tool, social network auto publish, social network icon, social network widget, socialmedia, timing, torial, torial auto post, tumblr, twitter, twitter auto post, xing, xing auto post, xing groups, xing gruppen, xing personal profiles, xing company profiles, xing business pages, xing pages, xing seiten, auto post scheduler, repost, social media management, facebook fan page auto post, facebook profile auto post, social auto post, social autoposting, flickr, flickr auto posting, linkedin, linkedin auto posting, linkedin profile, facebook group, facebook gruppen, reddit, reddit auto posting, reddit auto post, social media calendar, editorial calendar, calendar plugin, Social Media Automatisierung, Social Media Management, Kalender, Planungs Kalender, Social Media Kalender, Content Marketing
5
  Donate link: https://paypal.me/adenion
6
+ Requires at least: 4.3.0
7
  Tested up to: 5.2.3
8
+ Stable tag: 5.8.1
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
20
 
21
  * Version 5.8: Wordpress Multisite compatible
22
 
23
+ Download Blog2Social today to make your social media marketing for your WordPress site or blog easier than ever. Blog2Social is a freemium plugin, with a free comprehensive basic version and premium plans offering more advanced features. To ensure compliance with the high quality standards of the new networks’ API rules and community guidelines, some functions of the auto-poster are premium features and not part of the free version.
24
+ The Blog2Social free version offers you a wide range of features. ([See what’s included in the free version](https://wordpress.org/plugins/blog2social/#faq "Blog2Social Free Features")).
25
+ To benefit from all the advanced features for automatic sharing and scheduling your content on social media you can [start your free 30-day trial for Blog2SocialPremium Pro- today and upgrade any time.](https://www.blog2social.com/en/plugin/wordpress/premium-trial/ "Free Blog2Social Premium Trial")
26
 
27
  = Supported Networks = for cross-posting and auto posting
28
  * **Facebook** - Post to your profile, page (Free), and in groups (Premium)
117
  * Thanks to [Juanma](https://wpnovatos.com/ "Juanma") for translating this plugin into Spanish
118
 
119
  == Installation ==
120
+ 1. Go to the Admin Panel of your WordPress dashboard
121
 
122
+ 2. Select Plugin -> Add New in the left hand side menu
123
 
124
+ 3. Enter "Blog2Social" in the "Search Plugins" text field
125
 
126
  4. Click "Install Now" on the Blog2Social banner
127
 
131
 
132
  7. "Blog2Social" appears in the left hand side menu
133
 
134
+ **How to get started with Blog2Social?**
135
+ Blog2Social is easy to use. [The step-by-step guide](https://www.blog2social.com/en/blog/smart-social-media-automation-step-by-step-guide-blog2social/ "Blog2Social Guide") will lead you step-by-step through the installation of Blog2Social and everything you need to know to get started.
136
+
137
+ **Unlock the full potential of Social Media Automation and start your free 30-day Premium trial**
138
+ To take your social media marketing to the next level with more advanced sharing and scheduling options for auto-posting and cross-promoting your content [you can upgrade to Premium any time.](https://www.blog2social.com/en/pricing/ "Upgrade to Blog2Social Premium")
139
+ [Check out Blog2Social Premium Pro with all awesome features](https://www.blog2social.com/en/plugin/wordpress/premium-trial/ "Blog2Social Free Premium Trial") for scheduling and sharing (e.g. auto-posting, best-time scheduling, social media calendar) 30-days for free. The trial is free of charge, without any obligations, no automatic subscription. All basic features of the Free Version are free forever.
140
 
141
  == Frequently Asked Questions ==
142
 
143
  = Is Blog2Social free? =
144
 
145
+ Blog2Social is a freemium plugin with a free comprehensive basic version and premium plans offering more advanced features. With Blog2Social free you can cross-post your website content and blog posts on your social media profiles. You can post to all or selected social media networks at once or you can individually tailor your social media posts before posting. [See what’s included in the free version.](https://wordpress.org/plugins/blog2social/#faq "Blog2Social Free Features") For more advanced features and options you can [test Blog2Social Premium for free and without any obligations](https://www.blog2social.com/en/plugin/wordpress/premium-trial/ "Blog2Social Free Premium Trial") and upgrade whenever needed.
146
 
147
  = What can I do with the free version? =
148
 
201
  7. Keep track of your shared posts and scheduling plan with the Social Media Calendar.
202
 
203
  == Changelog ==
204
+ = 5.8.1 =
205
+ Usability Optimization
206
  = 5.8.0 =
207
  Wordpress Multisite compatible
208
  = 5.7.2 =
291
  Usabilitiy and Performance Optimization. NEW: Select individual images per post. Select link format or image format for your posts. Select your own time zone for scheduling posts. Emoji support.
292
 
293
  == Upgrade Notice ==
294
+ = 5.8.1 =
295
+ Usability Optimization
296
  = 5.8.0 =
297
  Wordpress Multisite compatible
298
  = 5.7.2 =
views/b2s/post.notice.php CHANGED
@@ -42,7 +42,7 @@ $b2sShowByDate = isset($_GET['b2sShowByDate']) ? (preg_match("#^[0-9\-.\]]+$#",
42
  <br>
43
  <div class="b2s-loader-impulse b2s-loader-impulse-md"></div>
44
  <div class="clearfix"></div>
45
- <div class="text-center b2s-loader-text"><?php esc_attr("Loading...", "blog2social"); ?></div>
46
  </div>
47
  <div class="row b2s-sort-result-area">
48
  <div class="col-md-12">
42
  <br>
43
  <div class="b2s-loader-impulse b2s-loader-impulse-md"></div>
44
  <div class="clearfix"></div>
45
+ <div class="text-center b2s-loader-text"><?php esc_html_e("Loading...", "blog2social"); ?></div>
46
  </div>
47
  <div class="row b2s-sort-result-area">
48
  <div class="col-md-12">