function buddystream_soundcloudCode() { global $bp; $buddyStreamLog = new BuddyStreamLog(); if (isset($_GET['buddystream_auth']) && $_GET['buddystream_auth'] == 'soundcloud') { $soundcloud = new BuddystreamSoundcloud(get_site_option("soundcloud_client_id"), get_site_option("soundcloud_client_secret"), $bp->root_domain . "/?buddystream_auth=soundcloud"); try { $soundcloudToken = $soundcloud->accessToken($_GET['code']); } catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { $buddyStreamLog->log("Soundcloud : " . $e->getMessage(), 'error'); } if ($soundcloudToken['access_token']) { update_user_meta($bp->loggedin_user->id, 'soundcloud_access_token', $soundcloudToken['access_token']); update_user_meta($bp->loggedin_user->id, 'soundcloud_expires_in', $soundcloudToken['expires_in'] + time()); update_user_meta($bp->loggedin_user->id, 'soundcloud_refresh_token', $soundcloudToken['refresh_token']); } wp_redirect($bp->loggedin_user->domain . BP_SETTINGS_SLUG . '/buddystream-networks/?network=soundcloud'); exit; } }
public function doImport() { global $bp, $wpdb; $buddyStreamFilter = new BuddyStreamFilters(); $buddyStreamLog = new BuddyStreamLog(); $itemCounter = 0; if (get_site_option("soundcloud_client_id")) { if (get_site_option('soundcloud_user_settings_syncbp') == 0) { $user_metas = $wpdb->get_results("SELECT user_id\n FROM {$wpdb->usermeta} WHERE\n meta_key='soundcloud_access_token'"); if ($user_metas) { foreach ($user_metas as $user_meta) { //daycounter reset if (get_user_meta($user_meta->user_id, 'soundcloud_counterdate') != date('d-m-Y')) { update_user_meta($user_meta->user_id, 'soundcloud_daycounter', 1); update_user_meta($user_meta->user_id, 'soundcloud_counterdate', date('d-m-Y')); } //check for daylimit $limitReached = $buddyStreamFilter->limitReached('soundcloud', $user_meta->user_id); if (!$limitReached) { $soundcloud = new BuddystreamSoundcloud(get_site_option("soundcloud_client_id"), get_site_option("soundcloud_client_secret"), $bp->root_domain . "/?buddystream_auth=soundcloud"); $soundcloud->setAccessToken(get_user_meta($user_meta->user_id, 'soundcloud_access_token', 1)); //favs try { $favs = json_decode($soundcloud->get('me/favorites'), true); if ($favs) { foreach ($favs as $track) { //check daylimit $limitReached = $buddyStreamFilter->limitReached('soundcloud', $user_meta->user_id); if (!buddyStreamCheckImportLog($user_meta->user_id, "soundcloud_" . $track['id'], 'soundcloud') && !$limitReached) { $returnCreate = buddystreamCreateActivity(array('user_id' => $user_meta->user_id, 'extension' => 'soundcloud', 'type' => 'Soundcloud track', 'content' => $track['title'] . '<br/>' . $track['uri'], 'item_id' => "soundcloud_" . $track['id'], 'raw_date' => gmdate('Y-m-d H:i:s', strtotime($track['created_at'])), 'actionlink' => $track['permalink_url'])); if ($returnCreate) { $itemCounter++; } } } } } catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { //do nothing } } try { $tracks = json_decode($soundcloud->get('me/tracks'), true); if ($tracks) { foreach ($tracks as $track) { //check daylimit $limitReached = $buddyStreamFilter->limitReached('soundcloud', $user_meta->user_id); if (!buddyStreamCheckImportLog($user_meta->user_id, "soundcloud_" . $track['id'], 'soundcloud') && !$limitReached) { $returnCreate = buddystreamCreateActivity(array('user_id' => $user_meta->user_id, 'extension' => 'soundcloud', 'type' => 'Soundcloud track', 'content' => $track['title'] . '<br/>' . $track['uri'], 'item_id' => "soundcloud_" . $track['id'], 'raw_date' => gmdate('Y-m-d H:i:s', strtotime($track['created_at'])), 'actionlink' => $track['permalink_url'])); if ($returnCreate) { $itemCounter++; } } } } } catch (Services_Soundcloud_Invalid_Http_Response_Code_Exception $e) { //do nothing } } } } } //add record to the log $buddyStreamLog->log("Soundcloud imported " . $itemCounter . " tracks for " . count($user_metas) . " users."); //return number of items imported return $itemCounter; }