Revive Old Posts – Auto Post to Social Media - Version 8.0.7

Version Description

  • 2018-05-10
Download this release

Release Info

Developer codeinwp
Plugin Icon 128x128 Revive Old Posts – Auto Post to Social Media
Version 8.0.7
Comparing to
See all releases

Code changes from version 8.0.6 to 8.0.7

CHANGELOG.md CHANGED
@@ -1,4 +1,11 @@
1
 
 
 
 
 
 
 
 
2
  ### v8.0.6 - 2018-05-08
3
  **Changes:**
4
  * Fix hashtags issue when using post content as a source.
1
 
2
+ ### v8.0.7 - 2018-05-10
3
+ **Changes:**
4
+ * Fix status migration issue from v7.
5
+ * Fix compatibility with the PRO version for the linkedin sharing on company pages.
6
+ * Fix compatibility with the PRO version for the thumblr sharing issues.
7
+ * Fix small typos in the plugin settings.
8
+
9
  ### v8.0.6 - 2018-05-08
10
  **Changes:**
11
  * Fix hashtags issue when using post content as a source.
includes/admin/abstract/class-rop-services-abstract.php CHANGED
@@ -34,13 +34,14 @@ abstract class Rop_Services_Abstract {
34
  * @var array Default account values.
35
  */
36
  public $user_default = array(
37
- 'account' => '',
38
- 'user' => '',
39
- 'created' => 0,
40
- 'id' => 0,
41
- 'active' => true,
42
- 'img' => '',
43
- 'service' => '',
 
44
  );
45
  /**
46
  * Stores the service details.
@@ -216,7 +217,7 @@ abstract class Rop_Services_Abstract {
216
  * @access public
217
  *
218
  * @param array $post_details The post details to be published by the service.
219
- * @param array $args Optional arguments needed by the method.
220
  *
221
  * @return mixed
222
  */
@@ -333,7 +334,7 @@ abstract class Rop_Services_Abstract {
333
  * Utility method to check array if has certain keys set and not empty.
334
  *
335
  * @param array $array Array to check.
336
- * @param array $list List of keys to check.
337
  *
338
  * @return bool Valid or not.
339
  */
@@ -366,9 +367,9 @@ abstract class Rop_Services_Abstract {
366
  * @since 8.0.0
367
  * @access public
368
  *
369
- * @param string $path The path for the endpoint.
370
  * @param string $callback The method name from the service class.
371
- * @param string $method The request type ( GET, POST, PUT, DELETE etc. ).
372
  */
373
  protected function register_endpoint( $path, $callback, $method = 'GET' ) {
374
  add_action(
34
  * @var array Default account values.
35
  */
36
  public $user_default = array(
37
+ 'account' => '',
38
+ 'user' => '',
39
+ 'created' => 0,
40
+ 'id' => 0,
41
+ 'active' => true,
42
+ 'is_company' => false,
43
+ 'img' => '',
44
+ 'service' => '',
45
  );
46
  /**
47
  * Stores the service details.
217
  * @access public
218
  *
219
  * @param array $post_details The post details to be published by the service.
220
+ * @param array $args Optional arguments needed by the method.
221
  *
222
  * @return mixed
223
  */
334
  * Utility method to check array if has certain keys set and not empty.
335
  *
336
  * @param array $array Array to check.
337
+ * @param array $list List of keys to check.
338
  *
339
  * @return bool Valid or not.
340
  */
367
  * @since 8.0.0
368
  * @access public
369
  *
370
+ * @param string $path The path for the endpoint.
371
  * @param string $callback The method name from the service class.
372
+ * @param string $method The request type ( GET, POST, PUT, DELETE etc. ).
373
  */
374
  protected function register_endpoint( $path, $callback, $method = 'GET' ) {
375
  add_action(
includes/admin/class-rop-admin.php CHANGED
@@ -129,6 +129,11 @@ class Rop_Admin {
129
  * Legacy auth callback.
130
  */
131
  public function fb_legacy_auth() {
 
 
 
 
 
132
  $code = sanitize_text_field( isset( $_GET['code'] ) ? $_GET['code'] : '' );
133
  $state = sanitize_text_field( isset( $_GET['state'] ) ? $_GET['state'] : '' );
134
  $network = sanitize_text_field( isset( $_GET['network'] ) ? $_GET['network'] : '' );
129
  * Legacy auth callback.
130
  */
131
  public function fb_legacy_auth() {
132
+
133
+ $page = sanitize_text_field( isset( $_GET['page'] ) ? $_GET['page'] : '' );
134
+ if ( $page !== 'TweetOldPost' ) {
135
+ return;
136
+ }
137
  $code = sanitize_text_field( isset( $_GET['code'] ) ? $_GET['code'] : '' );
138
  $state = sanitize_text_field( isset( $_GET['state'] ) ? $_GET['state'] : '' );
139
  $network = sanitize_text_field( isset( $_GET['network'] ) ? $_GET['network'] : '' );
includes/admin/helpers/class-rop-db-upgrade.php CHANGED
@@ -308,9 +308,9 @@ class Rop_Db_Upgrade {
308
  /**
309
  * Unimplemented method for PHP < 5.5
310
  *
311
- * @param array $input The input array.
312
  * @param string $column_key A key to select.
313
- * @param null $index_key Index key.
314
  *
315
  * @return array
316
  */
@@ -462,5 +462,11 @@ class Rop_Db_Upgrade {
462
  }
463
  $general_settings->save_settings( $setting );
464
 
 
 
 
 
 
465
  }
 
466
  }
308
  /**
309
  * Unimplemented method for PHP < 5.5
310
  *
311
+ * @param array $input The input array.
312
  * @param string $column_key A key to select.
313
+ * @param null $index_key Index key.
314
  *
315
  * @return array
316
  */
462
  }
463
  $general_settings->save_settings( $setting );
464
 
465
+ $is_started = get_option( 'cwp_topnew_active_status', 'no' );
466
+ if ( $is_started === 'yes' ) {
467
+ $cron = new Rop_Cron_Helper();
468
+ $cron->create_cron( true );
469
+ }
470
  }
471
+
472
  }
includes/admin/models/class-rop-services-model.php CHANGED
@@ -403,7 +403,8 @@ class Rop_Services_Model extends Rop_Model_Abstract {
403
  if ( $service == 'facebook' ) {
404
  $response['access_token'] = $services[ $service . '_' . $service_id ]['available_accounts'][ $key ]['access_token'];
405
  }
406
- $response['user'] = isset( $account['user'] ) ? $account['user'] : '';
 
407
 
408
  return $response;
409
  }
403
  if ( $service == 'facebook' ) {
404
  $response['access_token'] = $services[ $service . '_' . $service_id ]['available_accounts'][ $key ]['access_token'];
405
  }
406
+ $response['user'] = isset( $account['user'] ) ? $account['user'] : '';
407
+ $response['is_company'] = ! isset( $account['is_company'] ) ? false : $account['is_company'];
408
 
409
  return $response;
410
  }
includes/admin/services/class-rop-linkedin-service.php CHANGED
@@ -264,7 +264,28 @@ class Rop_Linkedin_Service extends Rop_Services_Abstract {
264
  $user_details['user'] = $this->normalize_string( $data['formattedName'] );
265
  $user_details['img'] = $img;
266
 
267
- return array( $user_details );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  }
269
 
270
 
@@ -354,7 +375,6 @@ class Rop_Linkedin_Service extends Rop_Services_Abstract {
354
  $api = $this->get_api();
355
  $token = new \LinkedIn\AccessToken( $this->credentials['token'] );
356
  $api->setAccessToken( $token );
357
-
358
  $new_post = array(
359
  'comment' => '',
360
  'content' => array(
@@ -378,8 +398,12 @@ class Rop_Linkedin_Service extends Rop_Services_Abstract {
378
  $new_post['visibility']['code'] = 'anyone';
379
 
380
  try {
 
 
381
 
382
- $api->post( 'people/~/shares?format=json', $new_post );
 
 
383
  $this->logger->alert_success(
384
  sprintf(
385
  'Successfully shared %s to %s on %s ',
264
  $user_details['user'] = $this->normalize_string( $data['formattedName'] );
265
  $user_details['img'] = $img;
266
 
267
+ $users = array( $user_details );
268
+ $companies = $this->api->api(
269
+ 'companies?format=json&is-company-admin=true', array(), 'GET'
270
+ );
271
+ if ( empty( $companies ) ) {
272
+ return $users;
273
+ }
274
+ if ( empty( $companies['values'] ) ) {
275
+ return $users;
276
+ }
277
+ foreach ( $companies['values'] as $company ) {
278
+ $users[] = wp_parse_args(
279
+ array(
280
+ 'id' => $company['id'],
281
+ 'account' => $company['name'],
282
+ 'is_company' => true,
283
+ 'user' => $company['name'],
284
+ ), $this->user_default
285
+ );
286
+ }
287
+
288
+ return $users;
289
  }
290
 
291
 
375
  $api = $this->get_api();
376
  $token = new \LinkedIn\AccessToken( $this->credentials['token'] );
377
  $api->setAccessToken( $token );
 
378
  $new_post = array(
379
  'comment' => '',
380
  'content' => array(
398
  $new_post['visibility']['code'] = 'anyone';
399
 
400
  try {
401
+ if ( isset( $args['is_company'] ) && $args['is_company'] === true ) {
402
+ $api->post( sprintf( 'companies/%s/shares?format=json', $args['id'] ), $new_post );
403
 
404
+ } else {
405
+ $api->post( 'people/~/shares?format=json', $new_post );
406
+ }
407
  $this->logger->alert_success(
408
  sprintf(
409
  'Successfully shared %s to %s on %s ',
includes/admin/services/class-rop-tumblr-service.php CHANGED
@@ -73,7 +73,8 @@ class Rop_Tumblr_Service extends Rop_Services_Abstract {
73
  'rop_tumblr_credentials',
74
  'rop_tumblr_request_token',
75
  )
76
- ) ) {
 
77
  return false;
78
  }
79
 
@@ -108,10 +109,10 @@ class Rop_Tumblr_Service extends Rop_Services_Abstract {
108
  * @since 8.0.0
109
  * @access public
110
  *
111
- * @param string $consumer_key The Consumer Key. Default empty.
112
  * @param string $consumer_secret The Consumer Secret. Default empty.
113
- * @param string $token The Consumer Key. Default NULL.
114
- * @param string $token_secret The Consumer Secret. Default NULL.
115
  *
116
  * @return mixed
117
  */
@@ -133,10 +134,10 @@ class Rop_Tumblr_Service extends Rop_Services_Abstract {
133
  * @since 8.0.0
134
  * @access public
135
  *
136
- * @param string $consumer_key The Consumer Key. Default empty.
137
  * @param string $consumer_secret The Consumer Secret. Default empty.
138
- * @param string $token The Consumer Key. Default NULL.
139
- * @param string $token_secret The Consumer Secret. Default NULL.
140
  *
141
  * @return mixed
142
  */
@@ -170,7 +171,8 @@ class Rop_Tumblr_Service extends Rop_Services_Abstract {
170
  'rop_tumblr_credentials',
171
  'rop_tumblr_token',
172
  )
173
- ) ) {
 
174
  return false;
175
  }
176
  if ( ! $this->is_set_not_empty(
@@ -178,7 +180,8 @@ class Rop_Tumblr_Service extends Rop_Services_Abstract {
178
  'oauth_token',
179
  'oauth_token_secret',
180
  )
181
- ) ) {
 
182
  return false;
183
  }
184
  $credentials = $_SESSION['rop_tumblr_credentials'];
@@ -206,7 +209,8 @@ class Rop_Tumblr_Service extends Rop_Services_Abstract {
206
  'consumer_key',
207
  'consumer_secret',
208
  )
209
- ) ) {
 
210
  return false;
211
  }
212
  $api = $this->get_api( $args['consumer_key'], $args['consumer_secret'], $args['oauth_token'], $args['oauth_token_secret'] );
@@ -362,7 +366,7 @@ class Rop_Tumblr_Service extends Rop_Services_Abstract {
362
  * @access public
363
  *
364
  * @param array $post_details The post details to be published by the service.
365
- * @param array $args Optional arguments needed by the method.
366
  *
367
  * @return mixed
368
  */
@@ -370,10 +374,6 @@ class Rop_Tumblr_Service extends Rop_Services_Abstract {
370
  $api = $this->get_api( $this->credentials['consumer_key'], $this->credentials['consumer_secret'], $this->credentials['oauth_token'], $this->credentials['oauth_token_secret'] );
371
 
372
  $new_post = array(
373
- 'type' => 'link',
374
- 'author' => 'me',
375
- 'title' => '',
376
- 'url' => '',
377
  'description' => '',
378
  );
379
 
@@ -381,9 +381,15 @@ class Rop_Tumblr_Service extends Rop_Services_Abstract {
381
  $new_post['thumbnail'] = $post_details['post_image'];
382
  }
383
 
384
- $new_post['description'] = $post_details['content'];
385
- $new_post['url'] = ' ' . $this->get_url( $post_details );
386
-
 
 
 
 
 
 
387
  try {
388
  $api->createPost( $args['id'] . '.tumblr.com', $new_post );
389
  $this->logger->alert_success(
73
  'rop_tumblr_credentials',
74
  'rop_tumblr_request_token',
75
  )
76
+ )
77
+ ) {
78
  return false;
79
  }
80
 
109
  * @since 8.0.0
110
  * @access public
111
  *
112
+ * @param string $consumer_key The Consumer Key. Default empty.
113
  * @param string $consumer_secret The Consumer Secret. Default empty.
114
+ * @param string $token The Consumer Key. Default NULL.
115
+ * @param string $token_secret The Consumer Secret. Default NULL.
116
  *
117
  * @return mixed
118
  */
134
  * @since 8.0.0
135
  * @access public
136
  *
137
+ * @param string $consumer_key The Consumer Key. Default empty.
138
  * @param string $consumer_secret The Consumer Secret. Default empty.
139
+ * @param string $token The Consumer Key. Default NULL.
140
+ * @param string $token_secret The Consumer Secret. Default NULL.
141
  *
142
  * @return mixed
143
  */
171
  'rop_tumblr_credentials',
172
  'rop_tumblr_token',
173
  )
174
+ )
175
+ ) {
176
  return false;
177
  }
178
  if ( ! $this->is_set_not_empty(
180
  'oauth_token',
181
  'oauth_token_secret',
182
  )
183
+ )
184
+ ) {
185
  return false;
186
  }
187
  $credentials = $_SESSION['rop_tumblr_credentials'];
209
  'consumer_key',
210
  'consumer_secret',
211
  )
212
+ )
213
+ ) {
214
  return false;
215
  }
216
  $api = $this->get_api( $args['consumer_key'], $args['consumer_secret'], $args['oauth_token'], $args['oauth_token_secret'] );
366
  * @access public
367
  *
368
  * @param array $post_details The post details to be published by the service.
369
+ * @param array $args Optional arguments needed by the method.
370
  *
371
  * @return mixed
372
  */
374
  $api = $this->get_api( $this->credentials['consumer_key'], $this->credentials['consumer_secret'], $this->credentials['oauth_token'], $this->credentials['oauth_token_secret'] );
375
 
376
  $new_post = array(
 
 
 
 
377
  'description' => '',
378
  );
379
 
381
  $new_post['thumbnail'] = $post_details['post_image'];
382
  }
383
 
384
+ if ( ! empty( $post_details['post_url'] ) ) {
385
+ $new_post['url'] = trim( $this->get_url( $post_details ) );
386
+ $new_post['title'] = get_the_title( $post_details['post_id'] );
387
+ $new_post['type'] = 'link';
388
+ $new_post['description'] = $post_details['content'];
389
+ } else {
390
+ $new_post['type'] = 'text';
391
+ $new_post['body'] = $post_details['content'];
392
+ }
393
  try {
394
  $api->createPost( $args['id'] . '.tumblr.com', $new_post );
395
  $this->logger->alert_success(
includes/class-rop.php CHANGED
@@ -68,7 +68,7 @@ class Rop {
68
  public function __construct() {
69
 
70
  $this->plugin_name = 'rop';
71
- $this->version = '8.0.6';
72
 
73
  $this->load_dependencies();
74
  $this->set_locale();
68
  public function __construct() {
69
 
70
  $this->plugin_name = 'rop';
71
+ $this->version = '8.0.7';
72
 
73
  $this->load_dependencies();
74
  $this->set_locale();
readme.md CHANGED
@@ -131,6 +131,14 @@ http://revive.social/plugins/revive-old-post
131
 
132
 
133
  ## Changelog ##
 
 
 
 
 
 
 
 
134
  ### 8.0.6 - 2018-05-08 ###
135
 
136
  * Fix hashtags issue when using post content as a source.
131
 
132
 
133
  ## Changelog ##
134
+ ### 8.0.7 - 2018-05-10 ###
135
+
136
+ * Fix status migration issue from v7.
137
+ * Fix compatibility with the PRO version for the linkedin sharing on company pages.
138
+ * Fix compatibility with the PRO version for the thumblr sharing issues.
139
+ * Fix small typos in the plugin settings.
140
+
141
+
142
  ### 8.0.6 - 2018-05-08 ###
143
 
144
  * Fix hashtags issue when using post content as a source.
readme.txt CHANGED
@@ -131,6 +131,14 @@ http://revive.social/plugins/revive-old-post
131
 
132
 
133
  == Changelog ==
 
 
 
 
 
 
 
 
134
  = 8.0.6 - 2018-05-08 =
135
 
136
  * Fix hashtags issue when using post content as a source.
131
 
132
 
133
  == Changelog ==
134
+ = 8.0.7 - 2018-05-10 =
135
+
136
+ * Fix status migration issue from v7.
137
+ * Fix compatibility with the PRO version for the linkedin sharing on company pages.
138
+ * Fix compatibility with the PRO version for the thumblr sharing issues.
139
+ * Fix small typos in the plugin settings.
140
+
141
+
142
  = 8.0.6 - 2018-05-08 =
143
 
144
  * Fix hashtags issue when using post content as a source.
themeisle-hash.json CHANGED
@@ -1 +1 @@
1
- {"class-rop-autoloader.php":"7bfbb1554230d0ace777adb2e42bebeb","index.php":"39ab8276fb0e4bd3fcab3270822c5977","tweet-old-post.php":"d2d159cbcc7b2e37c5d1c80a353430ac","uninstall.php":"9bd7c020209e4a73f7f541d958afac43"}
1
+ {"class-rop-autoloader.php":"7bfbb1554230d0ace777adb2e42bebeb","index.php":"39ab8276fb0e4bd3fcab3270822c5977","tweet-old-post.php":"dc3a35fad0daf6aef878d62b3ec6c34c","uninstall.php":"9bd7c020209e4a73f7f541d958afac43"}
tweet-old-post.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: Revive Old Posts (Former Tweet Old Post)
17
  * Plugin URI: https://revive.social/
18
  * Description: WordPress plugin that helps you to keeps your old posts alive by sharing them and driving more traffic to them from twitter/facebook or linkedin. It also helps you to promote your content. You can set time and no of posts to share to drive more traffic.For questions, comments, or feature requests, <a href="http://revive.social/support/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top">contact </a> us!
19
- * Version: 8.0.6
20
  * Author: revive.social
21
  * Author URI: https://revive.social/
22
  * Requires at least: 3.5
@@ -68,7 +68,7 @@ register_deactivation_hook( __FILE__, 'deactivate_rop' );
68
  function run_rop() {
69
 
70
  define( 'ROP_PRO_URL', 'http://revive.social/plugins/revive-old-post/' );
71
- define( 'ROP_LITE_VERSION', '8.0.6' );
72
  define( 'ROP_LITE_BASE_FILE', __FILE__ );
73
  define( 'ROP_DEBUG', false );
74
  define( 'ROP_LITE_PATH', plugin_dir_path( __FILE__ ) );
16
  * Plugin Name: Revive Old Posts (Former Tweet Old Post)
17
  * Plugin URI: https://revive.social/
18
  * Description: WordPress plugin that helps you to keeps your old posts alive by sharing them and driving more traffic to them from twitter/facebook or linkedin. It also helps you to promote your content. You can set time and no of posts to share to drive more traffic.For questions, comments, or feature requests, <a href="http://revive.social/support/?utm_source=plugindesc&utm_medium=announce&utm_campaign=top">contact </a> us!
19
+ * Version: 8.0.7
20
  * Author: revive.social
21
  * Author URI: https://revive.social/
22
  * Requires at least: 3.5
68
  function run_rop() {
69
 
70
  define( 'ROP_PRO_URL', 'http://revive.social/plugins/revive-old-post/' );
71
+ define( 'ROP_LITE_VERSION', '8.0.7' );
72
  define( 'ROP_LITE_BASE_FILE', __FILE__ );
73
  define( 'ROP_DEBUG', false );
74
  define( 'ROP_LITE_PATH', plugin_dir_path( __FILE__ ) );
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit82d9c7dc55c32774d6dff6ebd135c720::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInita7b8b47f4cda5da0e6b52077895da22e::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit82d9c7dc55c32774d6dff6ebd135c720
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit82d9c7dc55c32774d6dff6ebd135c720
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit82d9c7dc55c32774d6dff6ebd135c720', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit82d9c7dc55c32774d6dff6ebd135c720', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit82d9c7dc55c32774d6dff6ebd135c720
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
- composerRequire82d9c7dc55c32774d6dff6ebd135c720($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
- function composerRequire82d9c7dc55c32774d6dff6ebd135c720($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInita7b8b47f4cda5da0e6b52077895da22e
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInita7b8b47f4cda5da0e6b52077895da22e', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInita7b8b47f4cda5da0e6b52077895da22e', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
+ composerRequirea7b8b47f4cda5da0e6b52077895da22e($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
+ function composerRequirea7b8b47f4cda5da0e6b52077895da22e($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;