/**
  * Enables the connection with Twitter
  * 
  * You need to create a new app and authorize it from your twitter account
  * 
  * @param string $customer_key Consumer key
  * @param string $customer_secret Consumer secret
  * @param string $token Access token
  * @param string $token_secret Access token secret
  */
 public static function enable($customer_key, $customer_secret, $token, $token_secret)
 {
     self::$oauth_key = $customer_key;
     self::$oauth_secret = $customer_secret;
     self::$oauth_token = $token;
     self::$oauth_token_secret = $token_secret;
     foreach (self::$actions as $action) {
         add_action('wp_ajax_' . $action['action'], $action['callback']);
         add_action('wp_ajax_nopriv_' . $action['action'], $action['callback']);
     }
     require_once WORDPRESS_THEME_UTILS_LIBRARIES_ABSOLUTE_PATH . 'twitteroauth/twitteroauth/twitteroauth.php';
     self::$connection = new TwitterOAuth(self::$oauth_key, self::$oauth_secret, self::$oauth_token, self::$oauth_token_secret);
 }
 function handle($data)
 {
     // A user has activated or deactivated their Twitter bridge
     // import status.
     $action = $data['action'];
     $userId = $data['for_user'];
     $tm = TwitterManager::get();
     if ($action == 'start') {
         $tm->startTwitterUser($userId);
     } else {
         if ($action == 'stop') {
             $tm->stopTwitterUser($userId);
         }
     }
     return true;
 }
 public function executeSendTwitter(sfWebRequest $request)
 {
     $user = $this->getUser();
     $culture = $user->getCulture();
     $profile = $user->getGuardUser()->getProfile();
     $accessToken = $request->getParameter("oauth_verifier", false);
     // authorize
     if ($accessToken) {
         TwitterManager::authorize($this->getUser(), $accessToken);
     }
     if ($profile->getTwOauthToken() && $profile->getTwOauthTokenSecret()) {
         if (!TwitterManager::verify($this->getUser())) {
             $this->redirect(TwitterManager::requestAuthorization($this->getUser()));
             die;
         }
     } else {
         try {
             $this->redirect(TwitterManager::requestAuthorization($this->getUser()));
             die;
         } catch (Exception $e) {
             die;
         }
     }
 }
예제 #4
0
파일: _sfr_form.php 프로젝트: voota/voota
  
  <p id="<?php 
    echo "sf-review-counter_{$reviewBox}";
    ?>
" class="sf-review-counter"></p>

  <div class="sf-review-submit">
  	<input type="submit" value="<?php 
    echo __('Enviar');
    ?>
" id="<?php 
    echo ($reviewBox ? $reviewBox : 'sf_review') . '_button';
    ?>
"  /> 
    <?php 
    if (!$sf_user->getProfile()->getTwOauthToken() || !$sf_user->getProfile()->getTwOauthTokenSecret() || !TwitterManager::verify($sf_user)) {
        ?>
      <script type="text/javascript" charset="utf-8">
        function check_if_twitter_auth_window_was_closed(auth_window) {
          if (auth_window.closed) {
            $('#<?php 
        echo "sf-review-form-{$reviewBox}";
        ?>
').submit();
          } else {
            var check_fn = function() { check_if_twitter_auth_window_was_closed(auth_window); };
            setTimeout(check_fn, 200);
          }
        }
        $('#<?php 
        echo ($reviewBox ? $reviewBox : 'sf_review') . '_button';
예제 #5
0
function twName($user)
{
    $data = TwitterManager::verify($user);
    $ret = "";
    if ($data) {
        $ret = "" . $data->name . " (@" . $data->screen_name . ")";
    }
    return $ret;
}
예제 #6
0
 public function sendTasks(sfWebRequest $request)
 {
     $tw_publish = $request->getParameter("tw_publish", 0);
     $t = $request->getParameter("t", false);
     $v = $request->getParameter("v", false);
     $e = $request->getParameter("e", false);
     $review_text = $request->getParameter("review_text", false);
     $this->updateSums($request);
     if ($t) {
         $type = SfReviewTypePeer::retrieveByPk($t);
         $peer = $type->getModel() . "Peer";
         $entity = call_user_func("{$peer}::retrieveByPk", $e);
     } else {
         $review = SfReviewPeer::retrieveByPk($request->getParameter('e'));
         if ($typeId = $review->getSfReviewTypeId()) {
             $type = SfReviewTypePeer::retrieveByPK($typeId);
             $peer = $type->getModule() . 'Peer';
             $entity = call_user_func("{$peer}::retrieveByPk", $review->getEntityId());
         }
     }
     $msg = "";
     if ($tw_publish && TwitterManager::verify($this->getUser())) {
         switch ($t) {
             case Politico::NUM_ENTITY:
                 $entityUrl = sfContext::getInstance()->getController()->genUrl("politico/show?id=" . $entity->getVanity(), true);
                 $msg = sfContext::getInstance()->getI18N()->__('Voto  %1% de %2% en @Voota:  %3%', array('%1%' => $v == -1 ? sfContext::getInstance()->getI18N()->__('en contra') : sfContext::getInstance()->getI18N()->__('a favor'), '%2%' => $entity, '%3%' => TwitterManager::shorten($entityUrl)));
                 break;
             case Partido::NUM_ENTITY:
                 $entityUrl = sfContext::getInstance()->getController()->genUrl("partido/show?id=" . $entity->getAbreviatura(), true);
                 $msg = sfContext::getInstance()->getI18N()->__('Voto %1% del partido %2% en @Voota: %3%', array('%1%' => $v == -1 ? sfContext::getInstance()->getI18N()->__('en contra') : sfContext::getInstance()->getI18N()->__('a favor'), '%2%' => $entity->getAbreviatura(), '%3%' => TwitterManager::shorten($entityUrl)));
                 break;
             case Propuesta::NUM_ENTITY:
                 $entityUrl = sfContext::getInstance()->getController()->genUrl("propuesta/show?id=" . $entity->getVanity(), true);
                 $msg = sfContext::getInstance()->getI18N()->__('Voto %1% de la propuesta "%2%" en @Voota: %3%', array('%1%' => $v == -1 ? sfContext::getInstance()->getI18N()->__('en contra') : sfContext::getInstance()->getI18N()->__('a favor'), '%2%' => SfVoUtil::cutToLength($entity->getTitulo(), 60, '...', true), '%3%' => TwitterManager::shorten($entityUrl)));
                 break;
             case "":
                 $entityUrl = sfContext::getInstance()->getController()->genUrl($type->getModule() . "/show?id=" . $entity->getVanity(), true);
                 $msg = sfContext::getInstance()->getI18N()->__('Vooto %1% de una opinión sobre %2% en @Voota: %3%', array('%1%' => $v == -1 ? sfContext::getInstance()->getI18N()->__('en contra') : sfContext::getInstance()->getI18N()->__('a favor'), '%2%' => $entity, '%3%' => TwitterManager::shorten($entityUrl)));
                 break;
         }
         TwitterManager::post($this->getUser(), $msg);
     }
     // Enviar email
     if (!$t) {
         //echo $request->getParameter('i');
         $user = $review->getsfGuardUser();
         if ($user->getProfile()->getMailsComentarios()) {
             if ($typeId) {
                 $user->getProfile()->setCodigo(util::generateUID());
                 $user->getProfile()->save();
                 $mailBody = $this->getPartial('reviewLeftMailBody', array('nombre' => $user->getProfile()->getNombre(), 'usuario' => $review->getAnonymous() ? sfContext::getInstance()->getI18N()->__('anónimo (está en su derecho)') : $this->getUser()->getProfile()->getNombre() . ' ' . $this->getUser()->getProfile()->getApellidos(), 'entity' => $typeId == Propuesta::NUM_ENTITY ? "\"{$entity}\"" : $entity, 'texto_ori' => $review->getText(), 'comentario' => $request->getParameter('review_text'), 'vanity' => $entity->getVanity(), 'codigo' => $user->getProfile()->getCodigo(), 'voto' => $request->getParameter('v'), 'module' => $entity->getModule()));
                 VoMail::send(sfContext::getInstance()->getI18N()->__('Tu vooto sobre %1% tiene un comentario', array('%1%' => $entity)), $mailBody, $user->getUsername(), array('*****@*****.**' => 'no-reply Voota'), true);
             }
         }
     }
 }