5, 'sslverify' => false ) );
$request = wp_remote_retrieve_body ( $get_request );
if ($json)
$request = @json_decode ( $request, true );
return $request;
}
public function remote_get($url, $json = true, $args = array( 'timeout' => 18 , 'sslverify' => false )) {
$get_request = wp_remote_get ( $url, $args );
$request = wp_remote_retrieve_body ( $get_request );
if ($json)
$request = @json_decode ( $request, true );
return $request;
}
public function update_love() {
$result = 0;
try {
$args = array ('posts_per_page' => - 1, 'post_type' => 'any' );
$posts = get_posts ( $args );
if ($posts) {
foreach ( $posts as $post ) {
$love_count = get_post_meta ( $post->ID, '_essb_love', true );
$love_count = intval ( $love_count );
$result = $result + $love_count;
}
}
} catch ( Exception $e ) {
$result = 0;
}
return $result;
}
public function update_twitter() {
$consumer_key = ESSBSocialFollowersCounterHelper::get_option ( 'twitter_consumer_key' );
$consumer_secret = ESSBSocialFollowersCounterHelper::get_option ( 'twitter_consumer_secret' );
$access_token = ESSBSocialFollowersCounterHelper::get_option ( 'twitter_access_token' );
$access_token_secret = ESSBSocialFollowersCounterHelper::get_option ( 'twitter_access_token_secret' );
$id = ESSBSocialFollowersCounterHelper::get_option ( 'twitter_id' );
if (empty ( $consumer_key ) || empty ( $consumer_secret ) || empty ( $access_token ) || empty ( $access_token_secret ) || empty ( $id )) {
return 0;
}
if (! class_exists ( 'TwitterOAuth' )) {
include_once ESSB3_PLUGIN_ROOT . 'lib/modules/social-followers-counter/twitter/twitteroauth.php';
}
$api = new TwitterOAuth ( $consumer_key, $consumer_secret, $access_token, $access_token_secret );
$response = $api->get ( 'users/lookup', array ('screen_name' => trim ( $id ) ) );
if (isset ( $response->errors )) {
return null;
}
if (isset ( $response [0] ) && is_array ( $response [0] )) {
return $response [0] ['followers_count'];
}
if (isset ( $response [0]->followers_count )) {
return $response [0]->followers_count;
}
}
public function update_facebook() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'facebook_id' );
$access_token = ESSBSocialFollowersCounterHelper::get_option ( 'facebook_access_token' );
$account_type = ESSBSocialFollowersCounterHelper::get_option ( 'facebook_account_type', 'page' );
$update_method = ESSBSocialFollowersCounterHelper::get_option( 'facebook_update_method', 'method1');
if (!empty($id) && $update_method == 'method2') {
return $this->update_facebook_without_token($id);
}
else {
if (! empty ( $id ) && empty ( $access_token )) {
return $this->update_facebook_no_token ( $id );
} else {
if (($account_type == 'page' && empty ( $id )) || ($account_type == 'followers' && (empty ( $id ) || empty ( $access_token )))) {
return 0;
}
if ($account_type == 'followers') {
return $this->update_facebook_followers ();
} else {
return $this->update_facebook_page ();
}
}
}
}
private function update_facebook_without_token($id) {
$data = $this->remote_update( "https://www.facebook.com/plugins/likebox.php?href=https://facebook.com/".$id."&show_faces=true&header=false&stream=false&show_border=false&locale=en_US", false);
$counter = 0;
$pattern = '/_1drq[^>]+>(.*?)<\/a/s';
preg_match( $pattern, $data, $matches );
if ( ! empty( $matches[1] ) ) {
$number = strip_tags( $matches[1] );
$counter = '';
foreach ( str_split( $number ) as $char ) {
if ( is_numeric( $char ) ){
$counter .= $char;
}
}
}
return $counter;
}
private function update_facebook_no_token($id) {
$data = $this->remote_update_curl ( 'http://graph.facebook.com/' . $id );
$result = 0;
if (! empty ( $data )) {
$response = json_decode ( $data, true );
if (isset ( $response ['likes'] )) {
return $response ['likes'];
}
}
return $result;
}
private function update_facebook_page() {
try {
$response = $this->remote_update ( 'https://graph.facebook.com/v2.8/' . ESSBSocialFollowersCounterHelper::get_option ( 'facebook_id' ) . '?fields=fan_count&access_token=' . ESSBSocialFollowersCounterHelper::get_option ( 'facebook_access_token' ) );
if (isset ( $response ['fan_count'] )) {
return $response ['fan_count'];
}
} catch ( Exception $e ) {
return 0;
}
}
private function update_facebook_followers() {
try {
$response = $this->remote_update ( 'https://graph.facebook.com/v2.0/me/subscribers?access_token=' . ESSBSocialFollowersCounterHelper::get_option ( 'facebook_access_token' ) );
if (isset ( $response ['summary'] )) {
return $response ['summary'] ['total_count'];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_googleplus() {
$api_key = ESSBSocialFollowersCounterHelper::get_option ( 'google_api_key' );
if (trim ( $api_key ) == '') {
// no followers value can be taken without access token
return 0;
} else {
return $this->update_googleplus_api ();
}
}
public function update_googleplus_api() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'google_id' );
if (empty ( $id )) {
return 0;
}
$api_key = ESSBSocialFollowersCounterHelper::get_option ( 'google_api_key' );
$value_type = ESSBSocialFollowersCounterHelper::get_option ( 'google_value_type' );
$url = "https://www.googleapis.com/plus/v1/people/" . $id . "?key=" . $api_key;
$data = $this->remote_update_curl ( $url );
$circleCount = 0;
$plusOneCount = 0;
if (! empty ( $data )) {
$jsonData = json_decode ( $data, true );
if (! empty ( $jsonData ['plusOneCount'] )) {
$count ['plusOneCount'] = $jsonData ['plusOneCount'];
$plusOneCount = intval ( $jsonData ['plusOneCount'] );
}
if (! empty ( $jsonData ['circledByCount'] )) {
$count ['circledByCount'] = $jsonData ['circledByCount'];
$circleCount = intval ( $jsonData ['circledByCount'] );
}
}
if ($value_type == "plusOneCount") {
return $plusOneCount;
} else if ($value_type == "circledByCount") {
return $circleCount;
} else {
return ($circleCount + $plusOneCount);
}
}
public function update_pinterest() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'pinterest_id' );
if (empty ( $id )) {
return 0;
}
try {
$request = @$this->remote_update ( 'https://www.pinterest.com/' . $id, false );
if (false == $request) {
return null;
}
@preg_match ( ' ', $request, $matches );
if (count ( $matches > 0 ) && isset ( $matches [1] )) {
return $matches [1];
}
} catch ( Exception $e ) {
return 0;
}
}
/**
* update_linkedin_token
*
* Update of LinkedIn followers counter will work from now on with token only
*
* @since 4.1
*/
public function update_linkedin_token() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'linkedin_id' );
$token = ESSBSocialFollowersCounterHelper::get_option ( 'linkedin_token' );
$type = ESSBSocialFollowersCounterHelper::get_option ( 'linkedin_type' );
$result = 0;
if( ! empty( $type ) && !empty( $token )){
$args = array(
'headers' => array('Authorization' => sprintf('Bearer %s', $token))
);
if( $type == 'profile' && ! empty( $id )){
try {
$data = $this->remote_get('https://api.linkedin.com/v1/people/~:(num-connections)?format=json', true, $args);
$result = (int) $data['numConnections'];
}
catch (Exception $e) {
$result = 0;
}
}
elseif( $type == 'company' && ! empty( $id )){
$page_id = sprintf('https://api.linkedin.com/v1/companies/%s/num-followers?format=json', $id );
try {
$data = $this->remote_get( $page_id, true, $args);
//print_r($data);
if( !is_array( $data )){
$result = $data;
}
}
catch (Exception $e) {
$result = 0;
}
}
}
return $result;
}
public function update_linkedin() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'linkedin_id' );
if (empty ( $id )) {
return 0;
}
$result = 0;
try {
$html = $this->remote_update ( $id, false );
$doc = new DOMDocument ();
@$doc->loadHTML ( $html );
$xpath = new DOMXPath ( $doc );
$data = $xpath->evaluate ( 'string(//p[@class="followers-count"])' );
$result = ( int ) preg_replace ( '/[^0-9.]+/', '', $data );
} catch ( Exception $e ) {
$result = 0;
}
return $result;
}
public function update_github() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'github_id' );
if (empty ( $id )) {
return 0;
}
try {
$response = $this->remote_update ( 'https://api.github.com/users/' . $id );
if (isset ( $response["followers"] )) {
return $response["followers"];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_vimeo() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'vimeo_id' );
$account_type = ESSBSocialFollowersCounterHelper::get_option ( 'vimeo_account_type', 'channel' );
$access_token = ESSBSocialFollowersCounterHelper::get_option ( 'vimeo_access_token' );
if (($account_type == 'channel' && empty ( $id )) || ($account_type == 'user' && (empty ( $id ) || empty ( $access_token )))) {
return 0;
}
if ($account_type == 'user') {
return $this->update_vimeo_user ();
} else {
return $this->update_vimeo_channel ();
}
}
private function update_vimeo_channel() {
try {
$response = $this->remote_update ( 'http://vimeo.com/api/v2/channel/' . ESSBSocialFollowersCounterHelper::get_option ( 'vimeo_id' ) . '/info.json' );
if (isset ( $response ['total_subscribers'] )) {
return $response ['total_subscribers'];
}
} catch ( Exception $e ) {
return 0;
}
}
private function update_vimeo_user() {
try {
$response = $this->remote_update ( 'https://api.vimeo.com/users/' . ESSBSocialFollowersCounterHelper::get_option ( 'vimeo_id' ) . '/followers?access_token=' . ESSBSocialFollowersCounterHelper::get_option ( 'vimeo_access_token' ) );
if (isset ( $response ['total'] )) {
return $response ['total'];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_dribbble() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'dribbble_id' );
if (empty ( $id )) {
return 0;
}
try {
$response = $this->remote_update ( 'http://api.dribbble.com/' . $id );
if (isset ( $response["followers_count"] )) {
return $response["followers_count"];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_envato() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'envato_id' );
if (empty ( $id )) {
return 0;
}
try {
$response = $this->remote_update ( 'http://marketplace.envato.com/api/edge/user:' . $id . '.json' );
if (isset ( $response['user'] ) && isset ( $response['user']['followers'] )) {
return $response['user']['followers'];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_soundcloud() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'soundcloud_id' );
$api_key = ESSBSocialFollowersCounterHelper::get_option ( 'soundcloud_api_key' );
if (empty ( $id ) || empty ( $api_key )) {
return 0;
}
try {
$response = $this->remote_update ( 'http://api.soundcloud.com/users/' . $id . '.json?client_id=' . $api_key );
if (isset ( $response["followers_count"] )) {
return $response["followers_count"];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_behance() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'behance_id' );
$api_key = ESSBSocialFollowersCounterHelper::get_option ( 'behance_api_key' );
if (empty ( $id ) || empty ( $api_key )) {
return 0;
}
try {
$response = $this->remote_update ( 'http://www.behance.net/v2/users/' . $id . '/?api_key=' . $api_key );
if (isset ( $response["user"] ) && isset ( $response["user"]["stats"] ) && isset ( $response["user"]["stats"]["followers"] )) {
return $response["user"]["stats"]["followers"];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_delicious() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'delicious_id' );
if (empty ( $id )) {
return 0;
}
try {
$response = $this->remote_update ( 'http://feeds.delicious.com/v2/json/userinfo/' . $id );
if (isset ( $response ['2'] ) && isset ( $response ['2']->n )) {
return $response ['2']->n;
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_instagram() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'instgram_id' );
$username = ESSBSocialFollowersCounterHelper::get_option ( 'instgram_username' );
$api_key = ESSBSocialFollowersCounterHelper::get_option ( 'instgram_api_key' );
if (empty ( $id ) || empty ( $username ) || empty ( $api_key )) {
return 0;
}
try {
$response = $this->remote_update ( 'https://api.instagram.com/v1/users/' . $id . '?access_token=' . $api_key );
if (isset ( $response["data"] ) && isset ( $response["data"]["counts"] ) && isset ( $response["data"]["counts"]["followed_by"] )) {
return $response["data"]["counts"]["followed_by"];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_youtube() {
$api_key = ESSBSocialFollowersCounterHelper::get_option ( 'youtube_api_key' );
if (ESSBSocialFollowersCounterHelper::get_option ( 'youtube_account_type' ) == 'channel')
return $this->update_youtube_api3_channel ( $api_key );
if (ESSBSocialFollowersCounterHelper::get_option ( 'youtube_account_type' ) == 'user')
return $this->update_youtube_api3_user ( $api_key );
}
public function update_youtube_api3_user($api_key = '') {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'youtube_id' );
if (empty ( $id )) {
return 0;
}
$request = $this->remote_update_curl ( 'https://www.googleapis.com/youtube/v3/channels?part=statistics&forUsername=' . $id . '&key=' . $api_key );
if (false == $request) {
return null;
}
$response = @json_decode ( $request );
if (isset ( $response->items ) && isset ( $response->items [0]->statistics )) {
return intval ( $response->items [0]->statistics->subscriberCount );
}
}
public function update_youtube_api3_channel($api_key = '') {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'youtube_id' );
if (empty ( $id )) {
return 0;
}
$request = $this->remote_update_curl ( 'https://www.googleapis.com/youtube/v3/channels?part=statistics&id=' . $id . '&key=' . $api_key );
if (false == $request) {
return null;
}
$response = @json_decode ( $request );
if (isset ( $response->items ) && isset ( $response->items [0]->statistics )) {
return intval ( $response->items [0]->statistics->subscriberCount );
}
}
public function update_foursquare() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'foursquare_id' );
$api_key = ESSBSocialFollowersCounterHelper::get_option ( 'foursquare_api_key' );
if (empty ( $id ) || empty ( $api_key )) {
return 0;
}
try {
$response = $this->remote_update ( 'https://api.foursquare.com/v2/users/self?oauth_token=' . $api_key . '&v=' . date ( 'Ymd' ) );
if (isset ( $response["response"] ) && isset ( $response["response"]["user"]) && isset ( $response["response"]["user"]["friends"]["count"] )) {
return $response["response"]["user"]["friends"]["count"];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_forrst() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'forrst_id' );
if (empty ( $id )) {
return 0;
}
try {
$response = $this->remote_update ( 'http://forrst.com/api/v2/users/info?username=' . $id );
if (isset ( $response["resp"] ) && isset ( $response["resp"]["followers"] )) {
return $response["resp"]["followers"];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_mailchimp() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'mailchimp_list_id' );
$api_key = ESSBSocialFollowersCounterHelper::get_option ( 'mailchimp_api_key' );
if (empty ( $id ) || empty ( $api_key )) {
return 0;
}
if (! class_exists ( 'MCAPI' )) {
require_once ESSB3_PLUGIN_ROOT . 'lib/modules/social-followers-counter/mailchimp/MCAPI.class.php';
}
$result = 0;
try {
$api = new MCAPI ( $api_key );
$retval = $api->lists ();
$result = 0;
foreach ( $retval ['data'] as $list ) {
if ($list ['id'] == $id) {
$result = $list ['stats'] ['member_count'];
break;
}
}
} catch ( Exception $e ) {
$result = 0;
}
return $result;
}
public function update_vk() {
$type = ESSBSocialFollowersCounterHelper::get_option ( 'vk_account_type' );
if ($type == "community") {
return $this->update_vk_community ();
} else {
return $this->update_vk_profile ();
}
}
public function update_vk_community() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'vk_id' );
$token = ESSBSocialFollowersCounterHelper::get_option('vk_access_token');
if (empty ( $id )) {
return 0;
}
$result = 0;
try {
$data = $this->remote_update ( "https://api.vk.com/method/groups.getById?group_id=$id&fields=members_count&v=5.61&access_token=".$token );
$result = ( int ) $data ['response'] [0] ['members_count'];
} catch ( Exception $e ) {
$result = 0;
}
return $result;
}
public function update_vk_profile() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'vk_id' );
$token = ESSBSocialFollowersCounterHelper::get_option('vk_access_token');
if (empty ( $id )) {
return 0;
}
$request = @wp_remote_post ( 'https://api.vk.com/method/users.getFollowers', array ('body' => array ('count' => '0', 'user_id' => $id, 'access_token' => $token ) ) );
if (false == $request)
return 0;
$response = json_decode ( @wp_remote_retrieve_body ( $request ), true );
if (isset ( $response ['response'] ) && isset ( $response ['response'] ['count'] )) {
return $response ['response'] ['count'];
}
}
public function update_rss() {
$account_type = ESSBSocialFollowersCounterHelper::get_option ( 'rss_account_type', 'manual' );
$json_file = ESSBSocialFollowersCounterHelper::get_option ( 'rss_json_file' );
$url = ESSBSocialFollowersCounterHelper::get_option ( 'rss_link' );
$feedblitz = ESSBSocialFollowersCounterHelper::get_option ( 'rss_feedblitz' );
if (($account_type == 'feedpress' && (empty ( $json_file ) || empty ( $url )))) {
return 0;
}
if ($account_type == 'feedpress') {
return $this->update_rss_feedpress ();
}
if ($account_type == 'manual') {
if (! empty ( $feedblitz )) {
return $this->update_rss_feedblitz ();
} else {
return $this->update_rss_manual ();
}
}
}
private function update_rss_feedpress() {
$json_file = ESSBSocialFollowersCounterHelper::get_option ( 'rss_json_file' );
try {
$response = $this->remote_update ( $json_file );
if (is_array ( $response ) && isset ( $response ['subscribers'] )) {
return $response ['subscribers'];
}
} catch ( Exception $e ) {
return 0;
}
}
private function update_rss_feedblitz() {
$feedblitz = ESSBSocialFollowersCounterHelper::get_option ( 'rss_feedblitz' );
$result = 0;
try {
$feedpress_url = esc_url ( $feedblitz );
$request = wp_remote_retrieve_body ( wp_remote_get ( $feedpress_url, array ('timeout' => 18, 'sslverify' => false ) ) );
$result = ( int ) $request;
} catch ( Exception $e ) {
$result = 0;
}
return $result;
}
private function update_rss_manual() {
return ESSBSocialFollowersCounterHelper::get_option ( 'rss_count' );
}
public function update_vine() {
$email = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'vine_email' ) );
$password = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'vine_password' ) );
if (empty ( $email ) || empty ( $password )) {
return 0;
}
if (! class_exists ( 'VineApp' )) {
require_once ESSB3_PLUGIN_ROOT . 'lib/modules/social-followers-counter/vine/Vine.php';
}
$v = new VineApp ( $email, $password );
$user = $v->userinfo ();
if (! $user) {
return 0;
}
return $user ['data'] ['followerCount'];
}
public function update_tumblr() {
$api_key = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'tumblr_api_key' ) );
$api_secret = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'tumblr_api_secret' ) );
$access_token = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'tumblr_access_token' ) );
$access_token_secret = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'tumblr_access_token_secret' ) );
$basename = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'tumblr_basename' ) );
if (empty ( $api_key ) || empty ( $api_secret ) || empty ( $access_token ) || empty ( $access_token_secret ) || empty ( $basename )) {
return 0;
}
if (! class_exists ( 'Tumblr' )) {
require_once ESSB3_PLUGIN_ROOT . 'lib/modules/social-followers-counter/Tumblr/Tumblr.php';
}
$tumblr = new Tumblr ( $api_key, $api_secret, $access_token, $access_token_secret );
$response = $tumblr->followers ( $basename );
if (! $response || ! is_object ( $response )) {
return 0;
}
if (isset ( $response->response ) && isset ( $response->response->total_users )) {
return $response->response->total_users;
}
}
public function update_slideshare() {
$username = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'slideshare_username' ) );
if (empty ( $username )) {
return 0;
}
try {
$response = $this->remote_update ( 'http://www.slideshare.net/' . $username . '/followers', false );
if (! $response) {
return 0;
}
@preg_match ( '/([0-9]+)( Followers| Follower)/s', $response, $matches );
if (is_array ( $matches ) && isset ( $matches [1] )) {
return $matches [1];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_c500Px() {
$api_key = trim ( ESSBSocialFollowersCounterHelper::get_option ( '500px_api_key' ) );
$api_secret = trim ( ESSBSocialFollowersCounterHelper::get_option ( '500px_api_secret' ) );
$username = trim ( ESSBSocialFollowersCounterHelper::get_option ( '500px_username' ) );
if (empty ( $api_key ) || empty ( $api_secret ) || empty ( $username )) {
return 0;
}
try {
$response = $this->remote_update ( 'https://api.500px.com/v1/users/search?term=' . $username . '&consumer_key=' . $api_key );
if (! is_array ( $response ) || ! isset ( $response ['total_items'] ) || $response ['total_items'] == 0) {
return 0;
}
foreach ( $response ['users'] as $user ) {
if ($user ['username'] == $username) {
return $user ['followers_count'];
}
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_flickr() {
$api_key = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'flickr_api_key' ) );
$username = trim ( ESSBSocialFollowersCounterHelper::get_option ( 'flickr_id' ) );
if (empty ( $api_key ) || empty ( $username )) {
return 0;
}
$result = 0;
try {
$data = $this->remote_update ( "https://api.flickr.com/services/rest/?method=flickr.groups.getInfo&api_key=$api_key&group_id=$username&format=json&nojsoncallback=1" );
$result = ( int ) $data ['group'] ['members'] ['_content'];
} catch ( Exception $e ) {
$result = 0;
}
return $result;
}
public function update_wpposts() {
return wp_count_posts ()->publish;
}
public function update_wpcomments() {
return wp_count_comments ()->approved;
}
public function update_wpusers() {
$result = count_users ();
return $result ['total_users'];
}
public function update_audioboo() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'audioboo_id' );
if (empty ( $id )) {
return 0;
}
try {
$response = $this->remote_update ( 'http://api.audioboo.fm/users/' . $id . '/followers' );
if (isset ( $response ['body'] ) && isset ( $response ['body'] ['totals'] )) {
return $response ['body'] ['totals'] ['count'];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_steamcommunity() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'steamcommunity_id' );
if (empty ( $id )) {
return 0;
}
try {
$request = $this->remote_update ( 'http://steamcommunity.com/groups/' . $id, false );
preg_match ( '/([0-9]+)<\/span>/s', $request, $matches );
if (is_array ( $matches ) && count ( $matches ) > 0) {
return $matches [1];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_weheartit() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'weheartit_id' );
if (empty ( $id )) {
return 0;
}
try {
$request = $this->remote_update ( 'http://weheartit.com/' . $id . '/fans', false );
preg_match ( '/([0-9]+) (Follower|Followers)<\/h3>/s', $request, $matches );
if (is_array ( $matches ) && count ( $matches ) > 0) {
return $matches [1];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_feedly() {
$url = ESSBSocialFollowersCounterHelper::get_option ( 'feedly_url' );
if (empty ( $url )) {
return 0;
}
try {
$response = $this->remote_update ( 'http://cloud.feedly.com/v3/feeds/feed' . urlencode ( '/' . $url ) );
if (is_array ( $response ) && isset ( $response ['subscribers'] )) {
return $response ['subscribers'];
}
} catch ( Exception $e ) {
return 0;
}
}
public function update_twitch() {
$id = ESSBSocialFollowersCounterHelper::get_option ( 'twitch_id' );
$api = ESSBSocialFollowersCounterHelper::get_option ( 'twitch_api' );
$result = 0;
try {
$data = $this->remote_update ( "https://api.twitch.tv/kraken/channels/$id?oauth_token=$api" );
$result = isset ( $data ['followers'] ) ? ( int ) $data ['followers'] : 0;
} catch ( Exception $e ) {
$result = 0;
}
return $result;
}
public function update_spotify() {
$id = $url = ESSBSocialFollowersCounterHelper::get_option ( 'spotify_id' );
$id = rtrim ( $id, "/" );
$id = urlencode ( str_replace ( array ('https://play.spotify.com/', 'https://player.spotify.com/', 'artist/', 'user/' ), '', $id ) );
$result = 0;
try {
if (! empty ( $url ) && strpos ( $url, 'artist' ) !== false) {
$data = $this->remote_update ( "https://api.spotify.com/v1/artists/$id" );
} else {
$data = $this->remote_update ( "https://api.spotify.com/v1/users/$id" );
}
$result = ( int ) $data ['followers'] ['total'];
} catch ( Exception $e ) {
$result = 0;
}
return $result;
}
public function update_mymail() {
$result = 0;
$list = ESSBSocialFollowersCounterHelper::get_option ( 'mymail_id' );
if (function_exists ( 'mailster' )) {
if (! empty ( $list )) {
if ($list == 'all') {
$counts = mailster ( 'subscribers' )->get_count_by_status ();
$result = $counts [1];
} else {
$result = mailster ( 'lists' )->get_member_count ( $list, 1 );
}
}
}
return $result;
}
public function update_mailpoet() {
$result = 0;
$list = ESSBSocialFollowersCounterHelper::get_option ( 'mailpoet_id' );
if (! empty ( $list )) {
if ($list == 'all') {
$result = ESSBSocialFollowersCounterHelper::mailpoet_total_subscribers ();
} else {
$result = ESSBSocialFollowersCounterHelper::mailpoet_get_list_users ( $list );
}
}
return $result;
}
}