/** * 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; } } }
<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';
function twName($user) { $data = TwitterManager::verify($user); $ret = ""; if ($data) { $ret = "" . $data->name . " (@" . $data->screen_name . ")"; } return $ret; }
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); } } } }