/**
* Basic client class for Yammer's OAuth/JSON API.
*
+ * Depends on Favorite plugin
+ *
* @package YammerImportPlugin
* @author Brion Vibber <brion@status.net>
*/
{
protected $client;
- function __construct(SN_YammerClient $client)
+ function __construct(SNYammerClient $client)
{
$this->client = $client;
}
$profileId = $this->findImportedUser($data['orig_id']);
if ($profileId) {
- return Profile::staticGet('id', $profileId);
+ return Profile::getKV('id', $profileId);
} else {
- $user = User::staticGet('nickname', $nickname);
+ $user = User::getKV('nickname', $nickname);
if ($user) {
- common_log(LOG_WARN, "Copying Yammer profile info onto existing user $nickname");
+ common_log(LOG_WARNING, "Copying Yammer profile info onto existing user $nickname");
$profile = $user->getProfile();
$this->savePropertiesOn($profile, $data['options'],
array('fullname', 'homepage', 'bio', 'location'));
$groupId = $this->findImportedGroup($data['orig_id']);
if ($groupId) {
- return User_group::staticGet('id', $groupId);
+ return User_group::getKV('id', $groupId);
} else {
- $local = Local_group::staticGet('nickname', $nickname);
+ $local = Local_group::getKV('nickname', $nickname);
if ($local) {
- common_log(LOG_WARN, "Copying Yammer group info onto existing group $nickname");
- $group = User_group::staticGet('id', $local->group_id);
+ common_log(LOG_WARNING, "Copying Yammer group info onto existing group $nickname");
+ $group = User_group::getKV('id', $local->group_id);
$this->savePropertiesOn($group, $data['options'],
array('fullname', 'description'));
} else {
$noticeId = $this->findImportedNotice($data['orig_id']);
if ($noticeId) {
- return Notice::staticGet('id', $noticeId);
+ return Notice::getKV('id', $noticeId);
} else {
- $notice = Notice::staticGet('uri', $data['options']['uri']);
+ $notice = Notice::getKV('uri', $data['options']['uri']);
$content = $data['content'];
- $user = User::staticGet($data['profile']);
+ $user = User::getKV($data['profile']);
// Fetch file attachments and add the URLs...
$uploads = array();
// Save "likes" as favorites...
foreach ($data['faves'] as $nickname) {
- $user = User::staticGet('nickname', $nickname);
+ $user = User::getKV('nickname', $nickname);
if ($user) {
- Fave::addNew($user->getProfile(), $notice);
+ try {
+ Fave::addNew($user->getProfile(), $notice);
+ } catch (Exception $e) {
+ // failed, let's move to the next
+ common_debug('YammerImport failed favoriting a notice: '.$e->getMessage());
+ }
}
}
$options['groups'] = array($groupId);
// @fixme if we see a group link inline, don't add this?
- $group = User_group::staticGet('id', $groupId);
+ $group = User_group::getKV('id', $groupId);
if ($group) {
$content .= ' !' . $group->nickname;
}
private function findImportedUser($origId)
{
- $map = Yammer_user::staticGet('id', $origId);
+ $map = Yammer_user::getKV('id', $origId);
return $map ? $map->user_id : null;
}
private function findImportedGroup($origId)
{
- $map = Yammer_group::staticGet('id', $origId);
+ $map = Yammer_group::getKV('id', $origId);
return $map ? $map->group_id : null;
}
private function findImportedNotice($origId)
{
- $map = Yammer_notice::staticGet('id', $origId);
+ $map = Yammer_notice::getKV('id', $origId);
return $map ? $map->notice_id : null;
}
$temp = tmpfile();
fwrite($temp, $body);
try {
- $upload = MediaFile::fromFileHandle($temp, $user);
+ $upload = MediaFile::fromFilehandle($temp, $user->getProfile());
fclose($temp);
return $upload;
} catch (Exception $e) {