public static function update_counters($post_id, $url, $full_url, $networks = array(), $recover_mode = false) { global $essb_options; $twitter_counter = ESSBOptionValuesHelper::options_value($essb_options, 'twitter_counters'); if ($twitter_counter == "") { $twitter_counter = "api"; } $cached_counters = array(); $cached_counters['total'] = 0; foreach ($networks as $k) { switch ($k) { case "facebook": $cached_counters[$k] = ESSBCountersHelper::get_facebook_count($url); break; case "twitter": if ($twitter_counter == "api") { $cached_counters[$k] = ESSBCountersHelper::get_tweets($full_url); } else { if ($twitter_counter == "newsc") { $cached_counters[$k] = ESSBCountersHelper::get_tweets_newsc($full_url); } else { if ($twitter_counter == "self") { if (!$recover_mode) { $cached_counters[$k] = ESSBCountersHelper::getSelfPostCount($post_id, $k); } else { $cached_counters[$k] = 0; } } } } break; case "linkedin": $cached_counters[$k] = ESSBCountersHelper::get_linkedin($url); break; case "pinterest": $cached_counters[$k] = ESSBCountersHelper::get_pinterest($url); break; case "google": $cached_counters[$k] = ESSBCountersHelper::getGplusShares($url); break; case "stumbleupon": $cached_counters[$k] = ESSBCountersHelper::get_stumbleupon($url); break; case "vk": $cached_counters[$k] = ESSBCountersHelper::get_counter_number__vk($url); break; case "reddit": $cached_counters[$k] = ESSBCountersHelper::getRedditScore($url); break; case "buffer": $cached_counters[$k] = ESSBCountersHelper::get_buffer($url); break; case "love": if (!$recover_mode) { $cached_counters[$k] = ESSBCountersHelper::getLoveCount($post_id); } else { $cached_counters[$k] = 0; } break; case "ok": $cached_counters[$k] = ESSBCountersHelper::get_counter_number_odnoklassniki($url); break; case "mwp": $cached_counters[$k] = ESSBCountersHelper::getManagedWPUpVote($url); break; case "xing": $cached_counters[$k] = ESSBCountersHelper::getXingCount($url); break; case "pocket": $cached_counters[$k] = ESSBCountersHelper::getPocketCount($url); break; case "comments": if (!$recover_mode) { $cached_counters[$k] = ESSBCountersHelper::get_comments_count($post_id); } else { $cached_counters[$k] = 0; } break; case "yummly": $cached_counters[$k] = ESSBCountersHelper::get_yummly($url); break; default: if (!$recover_mode) { $cached_counters[$k] = ESSBCountersHelper::getSelfPostCount($post_id, $k); } else { $cached_counters[$k] = 0; } break; } $cached_counters['total'] += intval($cached_counters[$k]); } if (!$recover_mode) { $time = floor(date('U') / 60 / 60); update_post_meta($post_id, 'essb_cache_timestamp', $time); } return $cached_counters; }