private function process_data($data) { foreach ($data->results as $tweet) { $tweet = new Tweet($tweet->id_str); $tweet->save(); $this->tids[] = $tweet->tid; } }
public function store(Request $request) { $type = $request->get('type'); $tweet = Tweet::find($id); if (!$tweet) { $tweet = new Tweet(); $tweet[$type] = 1; } $tweet->id = $request->get('id'); $tweet->text = $request->get('text'); $tweet->increment($type); $tweet->save(); return $request->all(); }
public function create() { $tweet = new Tweet(); $fromAccount = false; if ($this->GetData('account_id')) { $account = TwitterAccount::find_by_id($this->GetData('account_id')); if ($account) { $fromAccount = true; $tweet->twitter_account_id = $account->id; $tweet->account = $account; } } if ($this->post) { $tweet->message = $this->PostData('message'); $tweet->set_publish_at($this->PostData('publish_at')); if ($this->PostData('twitter_account_id')) { $tweet->twitter_account_id = $this->PostData('twitter_account_id'); } if ($tweet->save()) { Site::Flash('notice', 'Your tweet has been added'); if ($fromAccount) { Redirect("admin/twitter/accounts/{$account->id}/"); } else { Redirect("admin/twitter/tweets"); } } } if ($fromAccount) { $this->assign('account', $account); } else { $accounts = array(); $allAccounts = TwitterAccount::find_all(); foreach ($allAccounts as $account) { $accounts[$account->id] = $account->name; } $this->assign('accounts', $accounts); } $this->assign("tweet", $tweet); $this->assign("fromAccount", $fromAccount); $this->title = "Add Tweet"; $this->render("tweet/create.tpl"); }
public function add_tweet($message, $publish_at = null) { if (!$publish_at) { $publish_at = time(); } $tweet = new Tweet(); $tweet->twitter_account_id = $this->id; $tweet->message = $message; $tweet->publish_at = $publish_at; $tweet->save(); return $tweet; }
protected function execute($arguments = array(), $options = array()) { $databaseManager = new sfDatabaseManager($this->configuration); $connection = $databaseManager->getDatabase($options['connection'])->getConnection(); $web = new sfWebBrowser(); $this->logSection($this->namespace, 'Getting latest tweets for @' . sfConfig::get('app_twitter_username')); $atom = $web->get('http://search.twitter.com/search.atom?q=from:' . sfConfig::get('app_twitter_username') . '&rpp=5'); try { if (!$atom->responseIsError()) { $feed = new SimpleXMLElement($atom->getResponseText()); foreach ($feed->entry as $rss) { $id = preg_replace('/[^0-9]+/', '', $rss->link[0]['href']); $tweet = Doctrine::getTable('Tweet')->find($id); $namespaces = $rss->getNameSpaces(true); if ($tweet instanceof Tweet) { if (strtotime($rss->updated) <= strtotime($tweet->getUpdatedAt())) { continue; } else { $this->updated++; } } else { $tweet = new Tweet(); $this->new++; } $file = $web->get('http://api.twitter.com/1/statuses/show/' . $id . '.json'); try { if (!$file->responseIsError()) { $json = json_decode($file->getResponseText()); $tweet->setId($id); $tweet->setText($rss->title); $tweet->setHTML(html_entity_decode($rss->content)); $tweet->setUri($rss->link[0]['href']); if (isset($json->in_reply_to_status_id)) { $tweet->setReplyId($json->in_reply_to_status_id); } if (isset($json->in_reply_to_user_id)) { $tweet->setReplyUserId($json->in_reply_to_user_id); $tweet->setReplyUsername($json->in_reply_to_screen_name); } if (isset($json->geo, $json->geo->coordinates)) { $tweet->setLatitude($json->geo->coordinates[0]); $tweet->setLongitude($json->geo->coordinates[1]); } $tweet->setLanguage($rss->children($namespaces['twitter'])->lang); $tweet->setSource(html_entity_decode($rss->children($namespaces['twitter'])->source)); $tweet->setCreatedAt($rss->published); $tweet->setUpdatedAt($rss->updated); $tweet->save(); echo '.'; } else { // Error response (eg. 404, 500, etc) } } catch (Exception $e) { // Adapter error (eg. Host not found) } } } else { // Error response (eg. 404, 500, etc) } } catch (Exception $e) { // Adapter error (eg. Host not found) } echo "\n"; $this->logSection($this->namespace, 'Done: ' . $this->new . ' new, ' . $this->updated . ' updated.'); }