X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FFacebookBridge%2Flib%2Ffacebookclient.php;h=5faad5dfb767f009606311147d935408a6a57dce;hb=d063afe10ecf85b31cc49a454ec8e664927c9e26;hp=0469ce8aca2aa7d98c9cebc8e2d8135a09630ed7;hpb=12588b1cf73fad7d0a76a29a46ec355150eaa54e;p=quix0rs-gnu-social.git diff --git a/plugins/FacebookBridge/lib/facebookclient.php b/plugins/FacebookBridge/lib/facebookclient.php index 0469ce8aca..5faad5dfb7 100644 --- a/plugins/FacebookBridge/lib/facebookclient.php +++ b/plugins/FacebookBridge/lib/facebookclient.php @@ -23,7 +23,7 @@ * @package StatusNet * @author Craig Andrews * @author Zach Copley - * @copyright 2009-2010 StatusNet, Inc. + * @copyright 2009-2011 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ @@ -66,13 +66,12 @@ class Facebookclient $this->notice = $notice; $profile_id = $profile ? $profile->id : $notice->profile_id; - $this->flink = Foreign_link::getByUserID( - $profile_id, - FACEBOOK_SERVICE - ); - - if (!empty($this->flink)) { + try { + $this->flink = Foreign_link::getByUserID($profile_id, FACEBOOK_SERVICE); $this->user = $this->flink->getUser(); + } catch (NoResultException $e) { + // at least $this->flink could've gotten set to something, + // but the logic that was here before didn't care, so let's not care either } } @@ -176,7 +175,8 @@ class Facebookclient // If it's not a reply, or if the user WANTS to send @-replies, // then, yeah, it can go to Facebook. - if (!preg_match('/@[a-zA-Z0-9_]{1,15}\b/u', $this->notice->content) || + + if (empty($this->notice->reply_to) || ($this->flink->noticesync & FOREIGN_NOTICE_SEND_REPLY)) { return true; } @@ -627,7 +627,7 @@ class Facebookclient // Facebook has a 420-char hardcoded max. if (mb_strlen($statustxt) > 420) { - $noticeUrl = common_shorten_url($this->notice->uri); + $noticeUrl = common_shorten_url($this->notice->getUrl()); $urlLen = mb_strlen($noticeUrl); $txt = mb_substr($statustxt, 0, 420 - ($urlLen + 3)) . ' … ' . $noticeUrl; } @@ -650,9 +650,10 @@ class Facebookclient foreach($attachments as $attachment) { - if($enclosure = $attachment->getEnclosure()){ + try { + $enclosure = $attachment->getEnclosure(); $fbmedia = $this->getFacebookMedia($enclosure); - }else{ + } catch (ServerException $e) { $fbmedia = $this->getFacebookMedia($attachment); } if($fbmedia){ @@ -896,7 +897,7 @@ class Facebookclient */ static function facebookStatusId($notice) { - $n2i = Notice_to_item::staticGet('notice_id', $notice->id); + $n2i = Notice_to_item::getKV('notice_id', $notice->id); if (empty($n2i)) { return null; @@ -916,30 +917,29 @@ class Facebookclient static function addFacebookUser($fbuser) { // remove any existing, possibly outdated, record - $luser = Foreign_user::getForeignUser($fbuser['id'], FACEBOOK_SERVICE); - - if (!empty($luser)) { - - $result = $luser->delete(); - + try { + $fuser = Foreign_user::getForeignUser($fbuser->id, FACEBOOK_SERVICE); + $result = $fuser->delete(); if ($result != false) { common_log( LOG_INFO, sprintf( 'Removed old Facebook user: %s, fbuid %d', - $fbuid['name'], - $fbuid['id'] + $fbuid->name, + $fbuid->id ), __FILE__ ); } + } catch (NoResultException $e) { + // no old foreign users exist for this id } $fuser = new Foreign_user(); - $fuser->nickname = $fbuser['name']; - $fuser->uri = $fbuser['link']; - $fuser->id = $fbuser['id']; + $fuser->nickname = $fbuser->username; + $fuser->uri = $fbuser->link; + $fuser->id = $fbuser->id; $fuser->service = FACEBOOK_SERVICE; $fuser->created = common_sql_now(); @@ -950,8 +950,8 @@ class Facebookclient LOG_WARNING, sprintf( 'Failed to add new Facebook user: %s, fbuid %d', - $fbuser['name'], - $fbuser['id'] + $fbuser->username, + $fbuser->id ), __FILE__ ); @@ -962,8 +962,8 @@ class Facebookclient LOG_INFO, sprintf( 'Added new Facebook user: %s, fbuid %d', - $fbuser['name'], - $fbuser['id'] + $fbuser->name, + $fbuser->id ), __FILE__ ); @@ -978,7 +978,7 @@ class Facebookclient */ function streamRemove() { - $n2i = Notice_to_item::staticGet('notice_id', $this->notice->id); + $n2i = Notice_to_item::getKV('notice_id', $this->notice->id); if (!empty($this->flink) && !empty($n2i)) { try { @@ -1033,7 +1033,7 @@ class Facebookclient */ function like() { - $n2i = Notice_to_item::staticGet('notice_id', $this->notice->id); + $n2i = Notice_to_item::getKV('notice_id', $this->notice->id); if (!empty($this->flink) && !empty($n2i)) { try { @@ -1084,7 +1084,7 @@ class Facebookclient */ function unLike() { - $n2i = Notice_to_item::staticGet('notice_id', $this->notice->id); + $n2i = Notice_to_item::getKV('notice_id', $this->notice->id); if (!empty($this->flink) && !empty($n2i)) { try {