Exemple #1
0
 protected function _getFacebookPagesOrGroups($getPages = true)
 {
     $visitor = XenForo_Visitor::getInstance();
     $facebookUid = bdSocialShare_Helper_Common::getAuthId($visitor->toArray(), 'facebook');
     if (empty($facebookUid)) {
         return false;
     }
     $auth = $this->getModelFromCache('XenForo_Model_UserExternal')->getExternalAuthAssociation('facebook', $facebookUid);
     if (empty($auth)) {
         return false;
     }
     $extraData = bdSocialShare_Helper_Common::unserializeOrFalse($auth, 'extra_data');
     if (empty($extraData) or empty($extraData['token'])) {
         return false;
     }
     $accessToken = $extraData['token'];
     if ($getPages) {
         return bdSocialShare_Helper_Facebook::getPages($accessToken);
     } else {
         return bdSocialShare_Helper_Facebook::getGroups($accessToken);
     }
 }
Exemple #2
0
 public function twitterPublish($targetId, bdSocialShare_Shareable_Abstract $shareable, array $viewingUser = null)
 {
     $twitterUid = false;
     $token = false;
     $originalTargetId = $targetId;
     $targetIdParsed = bdSocialShare_Helper_Common::parseTargetId($targetId);
     if (!empty($targetIdParsed)) {
         $targetId = $targetIdParsed['user_id'];
         $token = $targetIdParsed;
     }
     if (empty($token)) {
         $this->standardizeViewingUserReference($viewingUser);
         $twitterUid = bdSocialShare_Helper_Common::getAuthId($viewingUser, 'twitter');
         if (empty($twitterUid)) {
             throw new bdSocialShare_Exception_NotConnected();
         }
         $auth = $this->_getUserExternalModel()->getExternalAuthAssociation('twitter', $twitterUid);
         if (empty($auth)) {
             throw new bdSocialShare_Exception_NotConnected();
         }
         $token = bdSocialShare_Helper_Twitter::getTokenAndSecretFromAuth($auth);
         if (empty($token)) {
             throw new bdSocialShare_Exception_Interrupted();
         }
     }
     if (strval($targetId) === '1') {
         if (!empty($twitterUid)) {
             $targetId = $twitterUid;
         }
     }
     $response = $this->_getTwitterModel()->publish($targetId, $shareable, $token);
     if (!empty($response)) {
         // successfully posted
         $shareable->markPublished('twitter', array_merge($response, array('target_id' => $targetId, 'shared_id' => $response['id_str'], 'original_target_id' => $originalTargetId)));
         $this->log($viewingUser['user_id'], $shareable, 'twitter', $targetId, $response['id_str']);
         return true;
     }
     return false;
 }
Exemple #3
0
 public static function isConnectedWith($target, $viewingUser)
 {
     $authId = bdSocialShare_Helper_Common::getAuthId($viewingUser, $target);
     return !empty($authId);
 }