]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/YammerImport/lib/yammerimporter.php
Merge remote-tracking branch 'upstream/master'
[quix0rs-gnu-social.git] / plugins / YammerImport / lib / yammerimporter.php
index affefb52b5aea510d93a4282f4516434c285ce7d..abd41dd99e271028e44acdf54d1524e5fd8e6695 100644 (file)
@@ -20,6 +20,8 @@
 /**
  * Basic client class for Yammer's OAuth/JSON API.
  *
+ * Depends on Favorite plugin
+ *
  * @package YammerImportPlugin
  * @author Brion Vibber <brion@status.net>
  */
@@ -48,7 +50,8 @@ class YammerImporter
             return Profile::getKV('id', $profileId);
         } else {
             $user = User::getKV('nickname', $nickname);
-            if ($user) {
+
+            if ($user instanceof User) {
                 common_log(LOG_WARNING, "Copying Yammer profile info onto existing user $nickname");
                 $profile = $user->getProfile();
                 $this->savePropertiesOn($profile, $data['options'],
@@ -57,6 +60,7 @@ class YammerImporter
                 $user = User::register($data['options']);
                 $profile = $user->getProfile();
             }
+
             if ($data['avatar']) {
                 try {
                     $this->saveAvatar($data['avatar'], $profile);
@@ -157,8 +161,13 @@ class YammerImporter
             // Save "likes" as favorites...
             foreach ($data['faves'] as $nickname) {
                 $user = User::getKV('nickname', $nickname);
-                if ($user) {
-                    Fave::addNew($user->getProfile(), $notice);
+                if ($user instanceof User) {
+                    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());
+                    }
                 }
             }
 
@@ -332,7 +341,7 @@ class YammerImporter
 
                 // @fixme if we see a group link inline, don't add this?
                 $group = User_group::getKV('id', $groupId);
-                if ($group) {
+                if ($group instanceof User_group) {
                     $content .= ' !' . $group->nickname;
                 }
             }
@@ -440,7 +449,7 @@ class YammerImporter
 
         // @fixme this should be better encapsulated
         // ripped from oauthstore.php (for old OMB client)
-        $temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar');
+        $temp_filename = tempnam(common_get_temp_dir(), 'listener_avatar');
         try {
             if (!copy($url, $temp_filename)) {
                 // TRANS: Server exception thrown when an avatar could not be fetched.