Hello community,
here is the log from the commit of package php5-pear-Horde_Service_Twitter for
openSUSE:Factory checked in at 2015-01-20 19:02:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/php5-pear-Horde_Service_Twitter (Old)
and /work/SRC/openSUSE:Factory/.php5-pear-Horde_Service_Twitter.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "php5-pear-Horde_Service_Twitter"
Changes:
--------
---
/work/SRC/openSUSE:Factory/php5-pear-Horde_Service_Twitter/php5-pear-Horde_Service_Twitter.changes
2012-11-28 14:54:52.000000000 +0100
+++
/work/SRC/openSUSE:Factory/.php5-pear-Horde_Service_Twitter.new/php5-pear-Horde_Service_Twitter.changes
2015-01-20 19:02:51.000000000 +0100
@@ -1,0 +2,38 @@
+Sun Jan 18 11:42:17 UTC 2015 - Ralf Lang <[email protected]>
+
+- Version 2.1.2
+
+- [jan] Add Composer definition.
+
+-------------------------------------------------------------------
+Tue Jul 16 21:14:07 UTC 2013 - Ralf Lang <[email protected]>
+
+- Version 2.1.1
+- [mjr] Fix fetching user mentions.
+
+-------------------------------------------------------------------
+Wed Jul 3 11:33:32 UTC 2013 - Ralf Lang <[email protected]>
+
+- Version 2.1.0
+- [mjr] Use API version 1.1
+- [mjr] Add support for favorites.
+
+-------------------------------------------------------------------
+Thu May 2 07:03:05 UTC 2013 - Ralf Lang <[email protected]>
+
+- Version 2.0.3
+- [mjr] Fix initial authentication for recently changed Twitter API
requirements (Bug #12165).
+
+-------------------------------------------------------------------
+Tue Mar 5 19:52:52 UTC 2013 - Ralf Lang <[email protected]>
+
+- Version 2.0.2
+- [jan] Fix examples location.
+
+-------------------------------------------------------------------
+Wed Jan 9 17:11:51 UTC 2013 - Ralf Lang <[email protected]>
+
+- Version 2.0.1
+- [jan] Re-packaged 2.0.0 release.
+
+-------------------------------------------------------------------
Old:
----
Horde_Service_Twitter-2.0.0.tgz
New:
----
Horde_Service_Twitter-2.1.2.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ php5-pear-Horde_Service_Twitter.spec ++++++
--- /var/tmp/diff_new_pack.U9YjwP/_old 2015-01-20 19:02:52.000000000 +0100
+++ /var/tmp/diff_new_pack.U9YjwP/_new 2015-01-20 19:02:52.000000000 +0100
@@ -24,7 +24,7 @@
Group: Development/Libraries/PHP
Name: php5-pear-Horde_Service_Twitter
-Version: 2.0.0
+Version: 2.1.2
Release: 0
Source0: http://pear.horde.org/get/Horde_Service_Twitter-%{version}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ Horde_Service_Twitter-2.0.0.tgz -> Horde_Service_Twitter-2.1.2.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/COPYING
new/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/COPYING
--- old/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/COPYING
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/COPYING
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,24 @@
+ Copyright 1999-2015 Horde LLC. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE HORDE PROJECT
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/examples/twitter_browser.php
new/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/examples/twitter_browser.php
---
old/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/examples/twitter_browser.php
1970-01-01 01:00:00.000000000 +0100
+++
new/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/examples/twitter_browser.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Callback page for Twitter integration.
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Jan Schneider <[email protected]>
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+
+require_once __DIR__ . '/../lib/base.php';
+
+/* Keys - these are obtained when registering for the service */
+$consumer_key = '********';
+$consumer_secret = '*********';
+
+/* Used to obtain an unprivileged request token */
+$token_url = 'http://twitter.com/oauth/request_token';
+
+/* Used for allowing the user to allow/deny access to the application */
+// (User is redirected to this URL if needed).
+$auth_url = 'http://twitter.com/oauth/authorize';
+
+// Used to obtain an access token after user authorizes the application
+$accessToken_url = 'http://twitter.com/oauth/access_token';
+
+/* Parameters required for the Horde_Oauth_Consumer */
+$params = array('key' => $consumer_key,
+ 'secret' => $consumer_secret,
+ 'requestTokenUrl' => $token_url,
+ 'authorizeTokenUrl' => $auth_url,
+ 'accessTokenUrl' => $accessToken_url,
+ 'signatureMethod' => new
Horde_Oauth_SignatureMethod_HmacSha1());
+
+/* Create the Consumer */
+$oauth = new Horde_Oauth_Consumer($params);
+
+/* Create the Twitter client */
+$twitter = new Horde_Service_Twitter(array('oauth' => $oauth,
+ 'request' => new
Horde_Controller_Request_Http()));
+/* At this point we would check for an existing, valid authorization token */
+// $auth_token should be a Horde_Oauth_Token object
+// $auth_token = getTokenFromStorage();
+
+// Do we have a good auth token? Keep in mind this is example code, and in a
true
+// callback page we probably wouldn't be doing anything if we already have a
token,
+// but for testing purposes....
+if (!empty($auth_token)) {
+ /* Have a token, tell the Twitter client about it */
+ $twitter->auth->setToken($auth_token);
+
+ // Do something cool....
+ // $twitter->statuses->update('Testing Horde/Twitter integration');
+
+} elseif (!empty($_SESSION['twitter_request_secret'])) {
+ /* No existing auth token, maybe we are in the process of getting it? */
+ $a_token = $twitter->auth->getAccessToken(new
Horde_Controller_Request_Http(),
+
$_SESSION['twitter_request_secret']);
+
+ // Clear the request secret from the session now that we're done with it,
+ // again, using _SESSION for simplicity for this example
+ $_SESSION['twitter_request_secret'] = '';
+
+ if ($a_token === false || empty($a_token)) {
+ // We had a request secret, but something went wrong. maybe navigated
+ // back here between requests?
+ echo 'error';
+ die;
+ } else {
+ // We have a good token, save it to DB etc....
+ var_dump($a_token);
+ die;
+ }
+}
+
+// No auth token, not in the process of getting one...ask user to verify
+$results = $twitter->auth->getRequestToken();
+$_SESSION['twitter_request_secret'] = $results->secret;
+
+// Redirect to auth url
+Horde::externalUrl($twitter->auth->getUserAuthorizationUrl($results),
false)->redirect();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/examples/twitter_cli.php
new/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/examples/twitter_cli.php
---
old/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/examples/twitter_cli.php
1970-01-01 01:00:00.000000000 +0100
+++
new/Horde_Service_Twitter-2.1.2/doc/Horde/Service/Twitter/examples/twitter_cli.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,36 @@
+#!/usr/bin/env php
+<?php
+/**
+ * Simple Twitter client.
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Jan Schneider <[email protected]>
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+
+/* Keys - these are obtained when registering for the service */
+$keys = array(
+ 'consumer_key' => '*****',
+ 'consumer_secret' => '*****',
+ 'access_token' => '*****-*****',
+ 'access_token_secret' => '*****'
+);
+
+/* Enable autoloading. */
+require 'Horde/Autoloader/Default.php';
+
+/* Create the Twitter client */
+$twitter = Horde_Service_Twitter::create(array('oauth' => $keys));
+
+/* Do something cool.... */
+try {
+ $result = $twitter->statuses->update('Testing Horde/Twitter integration
2');
+ print_r(Horde_Serialize::unserialize($result, Horde_Serialize::JSON));
+} catch (Horde_Service_Twitter_Exception $e) {
+ $error = Horde_Serialize::unserialize($e->getMessage(),
Horde_Serialize::JSON);
+ echo "$error->error\n";
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Account.php
new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Account.php
--- old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Account.php
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Account.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,105 @@
+<?php
+/**
+ * Horde_Service_Twitter_Account class for calling account methods
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+class Horde_Service_Twitter_Account
+{
+ /**
+ * Twitter endpoint for account api calls
+ *
+ * @var string
+ */
+ protected $_endpoint = 'https://api.twitter.com/1.1/account/';
+
+ /**
+ * The request/response format to use, xml or json.
+ *
+ * @var string
+ */
+ protected $_format = 'json';
+
+ /**
+ *
+ * @param Horde_Service_Twitter $twitter
+ */
+ public function __construct($twitter)
+ {
+ $this->_twitter = $twitter;
+ }
+
+ /**
+ * Used to verify current credentials, and obtain some basic profile
+ * information about the current user.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0verify_credentials
+ *
+ * @return string JSON reprentation of profile.
+ * @throws Horde_Service_Twitter_Exception
+ */
+ public function verifyCredentials()
+ {
+ $url = $this->_endpoint . 'verify_credentials.' . $this->_format;
+ return $this->_twitter->request->get($url);
+ }
+
+ /**
+ * Obtain the current user's (if authenticated) or IP address' (if not
+ * authenticated) remaining number of requests left for the hour.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0rate_limit_status
+ *
+ * @return string JSON representation of result object.
+ */
+ public function rateLimitStatus()
+ {
+ $url = $this->_endpoint . 'rate_limit_status.' . $this->_format;
+ return $this->_twitter->request->get($url);
+ }
+
+ /**
+ * Ends the current session, invalidates the current auth token if using
+ * OAuth.
+ *
+ * @return string
+ */
+ public function endSession()
+ {
+ $url = $this->_endpoint . 'end_session.' . $this->_format;
+ return $this->_twitter->request->post($url);
+ }
+
+ /**
+ * Update/reset where twitter sends automatic updates to
+ * (im/sms etc...)
+ *
+ * @TODO
+ * @param string $device
+ *
+ * @return void
+ */
+ public function updateDeliveryDevice($device = '')
+ {
+ }
+
+ /**
+ * Update user's profile data.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0update_profile
+ *
+ * @TODO
+ * @param array $profile Profile data see API docs for key-values
+ *
+ * @return string JSON representation of user's updated profile data
+ */
+ public function updateProfile($profile)
+ {
+ }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Auth/Oauth.php
new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Auth/Oauth.php
--- old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Auth/Oauth.php
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Auth/Oauth.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,96 @@
+<?php
+/**
+ * Horde_Service_Twitter_Auth class to abstract all auth related tasks
+ *
+ * Basically implements Horde_Oauth_Client and passes the calls along to the
+ * protected oauth object.
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+class Horde_Service_Twitter_Auth_Oauth extends Horde_Service_Twitter_Auth
+{
+ /**
+ *
+ * @var Horde_OAuth_Token
+ */
+ protected $_token;
+
+ public function __construct(Horde_OAuth_Consumer $oauth)
+ {
+ $this->_config['oauth'] = $oauth;
+ }
+
+ /**
+ * Obtain the URL used to get an authorization token.
+ *
+ * @param Horde_Oauth_Token $requestToken The request token
+ *
+ * @return string The Url
+ */
+ public function getUserAuthorizationUrl($requestToken)
+ {
+ return $this->oauth->getUserAuthorizationUrl($requestToken);
+ }
+
+ /**
+ * Set the access token
+ *
+ * @param Horde_OAuth_Token $token
+ */
+ public function setToken(Horde_OAuth_Token $token)
+ {
+ $this->_token = $token;
+ }
+
+ /**
+ * Obtain the access token. This is the token that should be persisted to
+ * storage.
+ *
+ * @param Horde_Controller_Request_Http Http request object
+ * @param string $requestSecret The token secret returned by
+ * Twitter after the user
authorizes
+ * the application.
+ * @return Horde_Oauth_Token
+ * @throws Horde_Service_Twitter_Exception
+ */
+ public function getAccessToken(Horde_Controller_Request_Http $request,
$requestSecret = null)
+ {
+ if (!empty($this->_token)) {
+ return $this->_token;
+ }
+
+ $params = $request->getGetVars();
+ if (empty($params['oauth_token'])) {
+ return false;
+ }
+ $token = new Horde_Oauth_Token($params['oauth_token'], $requestSecret);
+ try {
+ return $this->oauth->getAccessToken($token, array('oauth_verifier'
=> $requestSecret));
+ } catch (Horde_Oauth_Exception $e) {
+ throw new Horde_Service_Twitter_Exception($e->getMessage());
+ }
+ }
+
+ /**
+ * Obtain the OAuth request token
+ *
+ * @param array $params
+ *
+ * @return Horde_OAuth_Token The request token
+ * @throws Horde_Service_Twitter_Exception
+ */
+ public function getRequestToken($params = array())
+ {
+ try {
+ return $this->oauth->getRequestToken($params);
+ } catch (Horde_Oauth_Exception $e) {
+ throw new Horde_Service_Twitter_Exception($e->getMessage());
+ }
+ }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Auth.php
new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Auth.php
--- old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Auth.php
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Auth.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Horde_Service_Twitter_Auth_* classes to abstract all auth related tasks for
+ * various auth mechanisms.
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+abstract class Horde_Service_Twitter_Auth
+{
+ /**
+ *
+ * @var Horde_Service_Twitter
+ */
+ protected $_twitter;
+
+ /**
+ * Configuration parameters
+ *
+ * @param array
+ */
+ protected $_config;
+
+
+ public function setTwitter(Horde_Service_Twitter $twitter)
+ {
+ $this->_twitter = $twitter;
+ }
+
+ /**
+ * Getter
+ *
+ * @param string $value
+ *
+ * @return mixed The value of the requested property.
+ * @throws Horde_Service_Twitter_Exception
+ */
+ public function __get($value)
+ {
+ if (!empty($this->_config[$value])) {
+ return $this->_config[$value];
+ }
+
+ throw new Horde_Service_Twitter_Exception(sprintf("The property %s
does not exist", $value));
+ }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Exception.php
new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Exception.php
--- old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Exception.php
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Exception.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,13 @@
+<?php
+/**
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+class Horde_Service_Twitter_Exception extends Horde_Exception_Wrapped
+{
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Favorites.php
new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Favorites.php
--- old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Favorites.php
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Favorites.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Horde_Service_Twitter_Favorites class for updating favorite tweets.
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Michael J Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+class Horde_Service_Twitter_Favorites
+{
+ /**
+ * Endpoint for status api requests
+ *
+ * @var string
+ */
+ private $_endpoint = 'https://api.twitter.com/1.1/favorites/';
+
+ /**
+ * Format to use json or xml
+ *
+ * @var string
+ */
+ private $_format = 'json';
+
+ /**
+ * Constructor
+ *
+ * @param Horde_Service_Twitter $twitter
+ */
+ public function __construct($twitter)
+ {
+ $this->_twitter = $twitter;
+ }
+
+ /**
+ * Obtain the requested status
+ *
+ * @return string The method call results.
+ */
+ public function get()
+ {
+ $url = $this->_endpoint . 'list.' . $this->_format;
+ return $this->_twitter->request->post($url);
+ }
+
+ /**
+ * Destroy the specified favorite.
+ *
+ * @param string $id The status id
+ *
+ * @return string
+ */
+ public function destroy($id)
+ {
+ $url = $this->_endpoint . 'destroy.' . $this->_format;
+ return $this->_twitter->request->post($url, array('id' => $id));
+ }
+
+ /**
+ * Add a new favorite
+ *
+ * @param string $id The status id
+ *
+ * @return string The favorited tweet.
+ */
+ public function create($id)
+ {
+ $url = $this->_endpoint . 'create.' . $this->_format;
+ return $this->_twitter->request->post($url, array('id' => $id));
+ }
+
+}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Request/Oauth.php
new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Request/Oauth.php
--- old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Request/Oauth.php
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Request/Oauth.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Horde_Service_Twitter_Request_Oauth class wraps sending requests to
Twitter's
+ * REST API using OAuth authentication.
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+class Horde_Service_Twitter_Request_Oauth extends Horde_Service_Twitter_Request
+{
+ /**
+ * Perform a GET request with OAuth authorization.
+ *
+ * @param mixed (string | Horde_Url) $url The url to request.
+ * @param array $params URL parameters.
+ *
+ * @return string Call results.
+ * @throws Horde_Service_Twitter_Exception
+ */
+ public function get($url, array $params = array())
+ {
+ $key = md5($url . 'get' . serialize($params) .
serialize($this->_twitter->auth->getAccessToken($this->_request)));
+ $cache = $this->_twitter->responseCache;
+ if (!empty($cache) && $results = $cache->get($key,
$this->_twitter->cacheLifetime)) {
+ return $results;
+ }
+ $request = new Horde_Oauth_Request($url, $params, 'GET');
+ $request->sign($this->_twitter->auth->oauth->signatureMethod,
+ $this->_twitter->auth->oauth,
+ $this->_twitter->auth->getAccessToken($this->_request));
+ $url = ($url instanceof Horde_Url) ? $url : new Horde_Url($url);
+ $url->add($params);
+ try {
+ $response =
$this->_twitter->getHttpClient()->get($url->setRaw(true), array('Authorization'
=> $request->buildAuthorizationHeader('Twitter API')));
+ } catch (Horde_Http_Exception $e) {
+ throw new Horde_Service_Twitter_Exception($e);
+ }
+
+ // Looks like some of the http clients (like Fopen) will thrown an
+ // exception if we try to read an empty stream. Ignore this.
+ try {
+ $body = $response->getBody();
+ if ($response->code >= 400 && $response->code <= 500) {
+ throw new Horde_Service_Twitter_Exception($body);
+ }
+ } catch (Horde_Http_Exception $e) {}
+
+ if (!empty($cache)) {
+ $cache->set($key, $body);
+ }
+
+ return $body;
+ }
+
+ /**
+ * Send a POST request to the twitter API. Purposely do not cache results
+ * from these since POST requests alter data on the server.
+ *
+ * @see self::get
+ */
+ public function post($url, array $params = array())
+ {
+ $request = new Horde_Oauth_Request($url, $params);
+ $request->sign($this->_twitter->auth->oauth->signatureMethod,
+ $this->_twitter->auth->oauth,
+ $this->_twitter->auth->getAccessToken($this->_request));
+ $url = ($url instanceof Horde_Url) ? $url : new Horde_Url($url);
+ try {
+ $response =
$this->_twitter->getHttpClient()->post($url->setRaw(true), $params,
array('Authorization' => $request->buildAuthorizationHeader('Twitter API')));
+ } catch (Horde_Http_Exception $e) {
+ throw new Horde_Service_Twitter_Exception($e);
+ }
+
+ if ($response->code >= 400 && $response->code <= 500) {
+ throw new Horde_Service_Twitter_Exception($response->getBody());
+ }
+ return $response->getBody();
+ }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Request.php
new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Request.php
--- old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Request.php
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Request.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Horde_Service_Twitter_Request_* classes wrap sending requests to Twitter's
+ * REST API using various authentication mechanisms.
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+abstract class Horde_Service_Twitter_Request
+{
+ /**
+ *
+ * @var Horde_Service_Twitter
+ */
+ protected $_twitter;
+
+ /**
+ *
+ * @var Horde_Controller_Request_Http
+ */
+ protected $_request;
+
+ public function __construct(Horde_Controller_Request_Http $request)
+ {
+ $this->_request = $request;
+ }
+
+ public function setTwitter(Horde_Service_Twitter $twitter)
+ {
+ $this->_twitter = $twitter;
+ }
+
+ abstract public function get($url, array $params = array());
+ abstract public function post($url, array $params = array());
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Statuses.php
new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Statuses.php
--- old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Statuses.php
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter/Statuses.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,329 @@
+<?php
+/**
+ * Horde_Service_Twitter_Statuses class for updating, retrieving user statuses.
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+class Horde_Service_Twitter_Statuses
+{
+ /**
+ * Endpoint for status api requests
+ *
+ * @var string
+ */
+ private $_endpoint = 'https://api.twitter.com/1.1/statuses/';
+
+ /**
+ * Format to use json or xml
+ *
+ * @var string
+ */
+ private $_format = 'json';
+
+ /**
+ * Constructor
+ *
+ * @param Horde_Service_Twitter $twitter
+ */
+ public function __construct($twitter)
+ {
+ $this->_twitter = $twitter;
+ }
+
+ /**
+ * Obtain the requested status
+ *
+ * @return string The method call results.
+ */
+ public function show($id)
+ {
+ $url = $this->_endpoint . 'show.' . $this->_format;
+ return $this->_twitter->request->post($url, array('id' => $id));
+ }
+
+ /**
+ * Destroy the specified status update, obviously only if the current user
+ * is the author of the update.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0destroy
+ *
+ * @param string $id The status id
+ *
+ * @return string
+ */
+ public function destroy($id)
+ {
+ $url = $this->_endpoint . 'destroy.' . $this->_format;
+ return $this->_twitter->request->post($url, array('id' => $id));
+ }
+
+ /**
+ * Update the current user's status.
+ *
+ * @param string $status The new status text.
+ * @param array $params Any additional parameters.
+ * <pre>
+ * in_reply_to_status_id - the status id this tweet is in response to.
+ * </pre>
+ *
+ * @return string
+ */
+ public function update($status, $params = array())
+ {
+ $url = $this->_endpoint . 'update.' . $this->_format;
+ $params['status'] = $status;
+
+ return $this->_twitter->request->post($url, $params);
+ }
+
+ /**
+ * Obtain the friendsTimeline.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-friends_timeline
+ *
+ * NOTE: According to the API docs, this method is deprecated and will be
+ * going away in a future version of the API. This is to be replaced by
+ * home_timeline.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-home_timeline
+ *
+ * @param array $params Parameters for the friends_timeline call
+ * <pre>
+ * since_id - Only tweets more recent the indicated tweet id
+ * max_id - Only tweets older then the indeicated tweet id
+ * count - Only return this many tweets (twitter limit =
200)
+ * page - The page number to return (note there are
+ * pagination limits)
+ * include_rts - Include retweets
+ * include_entities - Include twitter entities (will be mandatory in
+ * future twitter api release).
+ * </pre>
+ *
+ * @return string
+ */
+ public function friendsTimeline($params = array())
+ {
+ $url = $this->_endpoint . 'friends_timeline.' . $this->_format;
+ return $this->_twitter->request->get($url, $params);
+ }
+
+ /**
+ * Returns the 20 most recent statuses, including retweets, posted by the
+ * authenticating user and that user's friends. This is the equivalent of
+ * /timeline/home on the Web.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-home_timeline
+ *
+ * @param array $params Parameters for the friends_timeline call
+ * <pre>
+ * since_id - Only tweets more recent the indicated tweet id
+ * max_id - Only tweets older then the indeicated tweet id
+ * count - Only return this many tweets (twitter limit = 200)
+ * page - The page number to return (note there are pagination
limits)
+ * </pre>
+ *
+ * @return string
+ */
+ public function homeTimeline($params = array())
+ {
+ $url = $this->_endpoint . 'home_timeline.' . $this->_format;
+ return $this->_twitter->request->get($url, $params);
+ }
+
+ /**
+ * Returns the 20 most recent retweets posted by the authenticating user.
+ *
+ * @param array $params Parameters for the friends_timeline call
+ * <pre>
+ * since_id - Only tweets more recent the indicated tweet id
+ * max_id - Only tweets older then the indeicated tweet id
+ * count - Only return this many tweets (twitter limit = 200)
+ * page - The page number to return (note there are pagination
limits)
+ * </pre>
+ *
+ * @return string
+ */
+ public function retweetedByMe($params = array())
+ {
+ $url = $this->_endpoint . 'retweeted_by_me.' . $this->_format;
+ return $this->_twitter->request->get($url, $params);
+ }
+
+ /**
+ * Returns the 20 most recent retweets posted by the authenticating user's
+ * friends.
+ *
+ * @param array $params Parameters for the friends_timeline call
+ * <pre>
+ * since_id - Only tweets more recent the indicated tweet id
+ * max_id - Only tweets older then the indeicated tweet id
+ * count - Only return this many tweets (twitter limit = 200)
+ * page - The page number to return (note there are pagination
limits)
+ * </pre>
+ *
+ * @return string
+ */
+ public function retweetedToMe($params = array())
+ {
+ $url = $this->_endpoint . 'retweetedToMe.' . $this->_format;
+ return $this->_twitter->request->get($url, $params);
+ }
+
+ /**
+ * Returns the 20 most recent tweets of the authenticated user that have
+ * been retweeted by others.
+ *
+ * @param array $params Parameters for the friends_timeline call
+ * <pre>
+ * since_id - Only tweets more recent the indicated tweet id
+ * max_id - Only tweets older then the indeicated tweet id
+ * count - Only return this many tweets (twitter limit = 200)
+ * page - The page number to return (note there are pagination
limits)
+ * </pre>
+ *
+ * @return string
+ */
+ public function retweetsOfMe($params = array())
+ {
+ $url = $this->_endpoint . 'retweets_of_me.' . $this->_format;
+ return $this->_twitter->request->get($url, $params);
+ }
+
+ /**
+ * Retweets a tweet. Requires the id parameter of the tweet you are
+ * retweeting. Request must be a POST or PUT.
+ * Returns the original tweet with retweet details embedded.
+ *
+ * @params string id The id for the tweet that is being retweeted.
+ *
+ * @return string
+ */
+ public function retweet($id)
+ {
+ $url = $this->_endpoint . 'retweet/' . $id . '.' . $this->_format;
+
+ return $this->_twitter->request->post($url, array());
+ }
+
+ /**
+ * Obtain the last 20 tweets from the public timeline. This is cached every
+ * 60 seconds on Twitter's servers so we should eventually ensure this is
+ * only actually requested every 60 seconds or greater.
+ *
+ * @return string
+ */
+ public function publicTimeline()
+ {
+ $url = $this->_endpoint . 'public_timeline.' . $this->_format;
+ return $this->_twitter->request->get($url);
+ }
+
+ /**
+ * Obtain the friendsTimeline.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-user_timeline
+ *
+ * @param array $params Parameters for the friends_timeline call
+ * <pre>
+ * id - For this user id or screen name.
+ * Current user if left out.
+ * user_id - Specfies the ID of the user for whom to return the
+ * user_timeline. Helpful for disambiguating when a valid
+ * user ID is also a valid screen name.
+ * screen_id - Specfies the screen name of the user for whom to return
+ * the user_timeline. Helpful for disambiguating when a
+ * valid screen name is also a user ID.
+ * since_id - Only tweets more recent the indicated tweet id
+ * max_id - Only tweets older then the indeicated tweet id
+ * count - Only return this many tweets (twitter limit = 200)
+ * page - The page number to return (note there are pagination
limits)
+ * </pre>
+ *
+ * @return string
+ */
+ public function userTimeline($params = array())
+ {
+ $url = $this->_endpoint . 'user_timeline.' . $this->_format;
+ return $this->_twitter->request->get($url, $params);
+ }
+
+ /**
+ * Obtain most recent 'mentions' for the current user. (i.e. all messages
+ * that contain @username in the text).
+ *
+ * http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-mentions
+ *
+ * @param array $params Parameters for the friends_timeline call
+ * <pre>
+ * since_id - Only tweets more recent the indicated tweet id
+ * max_id - Only tweets older then the indeicated tweet id
+ * count - Only return this many tweets (twitter limit = 200)
+ * page - The page number to return (note there are pagination
limits)
+ * </pre>
+ *
+ * @return string
+ */
+ public function mentions($params = array())
+ {
+ $url = $this->_endpoint . 'mentions_timeline.' . $this->_format;
+ return $this->_twitter->request->get($url, $params);
+ }
+
+ /**
+ * Returns a user's friends, each with current status inline. They are
+ * ordered by the order in which they were added as friends, 100 at a time.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0friends
+ *
+ * @param array $params Parameters for the friends_timeline call
+ * <pre>
+ * id - For this user id or screen name.
+ * Current user if left out.
+ * user_id - Specfies the ID of the user for whom to return the
+ * user_timeline. Helpful for disambiguating when a valid
+ * user ID is also a valid screen name.
+ * screen_id - Specfies the screen name of the user for whom to return
+ * the user_timeline. Helpful for disambiguating when a
+ * valid screen name is also a user ID.
+ * page - The page number to return (note there are pagination
limits)
+ * </pre>
+ * @return unknown_type
+ */
+ public function friends($params = array())
+ {
+ $url = $this->_endpoint . 'friends.' . $this->_format;
+ return $this->_twitter->request->get($url, $params);
+ }
+
+ /**
+ * Returns a user's followers, each with current status inline. They are
+ * ordered by the order in which they were added as friends, 100 at a time.
+ *
+ *
http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0friends
+ *
+ * @param array $params Parameters for the friends_timeline call
+ * <pre>
+ * id - For this user id or screen name.
+ * Current user if left out.
+ * user_id - Specfies the ID of the user for whom to return the
+ * user_timeline. Helpful for disambiguating when a valid
+ * user ID is also a valid screen name.
+ * screen_id - Specfies the screen name of the user for whom to return
+ * the user_timeline. Helpful for disambiguating when a
+ * valid screen name is also a user ID.
+ * page - The page number to return (note there are pagination
limits)
+ * </pre>
+ * @return unknown_type
+ */
+ public function followers($params = array())
+ {
+ $url = $this->_endpoint . 'followers.' . $this->_format;
+ return $this->_twitter->request->get($url, $params);
+ }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter.php
new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter.php
--- old/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter.php
1970-01-01 01:00:00.000000000 +0100
+++ new/Horde_Service_Twitter-2.1.2/lib/Horde/Service/Twitter.php
2015-01-09 12:30:55.000000000 +0100
@@ -0,0 +1,227 @@
+<?php
+/**
+ * Horde_Service_Twitter class abstracts communication with Twitter's
+ * rest interface.
+ *
+ * Copyright 2009-2015 Horde LLC (http://www.horde.org/)
+ *
+ * @property-read Horde_Service_Twitter_Account $account
+ * The twitter account object for calling account methods.
+ * @property-read Horde_Service_Twitter_Statuses $statuses
+ * The twitter status object for updating and retrieving user
+ * statuses.
+ * @property-read Horde_Service_Twitter_Auth $auth
+ * The twitter authentication object.
+ * @property-read Horde_Service_Twitter_Request $request
+ * The twitter request object that wraps sending requests to
+ * Twitter's REST API.
+ * @property-read Horde_Cache $responseCache
+ * The cache object.
+ * @property-read integer $cacheLifetime
+ * The default cache lifetime.
+ *
+ * @author Michael J. Rubinsky <[email protected]>
+ * @license http://www.horde.org/licenses/bsd BSD
+ * @category Horde
+ * @package Service_Twitter
+ */
+class Horde_Service_Twitter
+{
+ /* Constants */
+ const REQUEST_TOKEN_URL = 'https://api.twitter.com/oauth/request_token';
+ const USER_AUTHORIZE_URL = 'https://api.twitter.com/oauth/authorize';
+ const ACCESS_TOKEN_URL = 'https://api.twitter.com/oauth/access_token';
+
+ /**
+ * Cache for the various objects we lazy load in __get()
+ *
+ * @var hash of Horde_Service_Twitter_* objects
+ */
+ protected $_objCache = array();
+
+ /**
+ * (Optional) Cache object.
+ *
+ * @var Horde_Cache
+ */
+ protected $_responseCache;
+
+ /**
+ * Default cache lifetime.
+ *
+ * @var integer
+ */
+ protected $_cacheLifetime = 300;
+
+ /**
+ * Optional logger.
+ *
+ * @var Horde_Log_Logger
+ */
+ protected $_logger;
+
+ /**
+ * Can't lazy load the auth or request class since we need to know early if
+ * we are OAuth or Basic
+ *
+ * @var Horde_Service_Twitter_Auth
+ */
+ protected $_auth;
+
+ /**
+ * The twitter request object.
+ *
+ * @var Horde_Service_Twitter_Request
+ */
+ protected $_request;
+
+ /**
+ * The http client.
+ *
+ * @var Horde_Http_Client
+ */
+ protected $_httpClient;
+
+ /**
+ * Constructor.
+ *
+ * @param Horde_Service_Twitter_Auth $auth An authentication object
+ * @param Horde_Service_Twitter_Request $request A request object.
+ */
+ public function __construct(Horde_Service_Twitter_Auth $auth,
+ Horde_Service_Twitter_Request $request)
+ {
+ $this->_auth = $auth;
+ $this->_auth->setTwitter($this);
+ $this->_request = $request;
+ $this->_request->setTwitter($this);
+ }
+
+ /**
+ * Factory method to easily build a working Twitter client object.
+ *
+ * @param array $params Configuration parameters, with the following keys:
+ * - 'oauth' (required):
+ * - 'consumer_key' (required): The application's
+ * consumer key
+ * - 'consumer_secret' (required): The application's
+ * consumer secret
+ * - 'access_token' (optional): The user's access
+ * token
+ * - 'access_token_secret' (optional): The user's
+ * access token secret.
+ * - 'http' (optional): any configuration parameters
+ * for Horde_Http_Client, e.g. proxy settings.
+ *
+ * @return Horde_Service_Twitter A twitter object that can be used
+ * immediately to update and receive
+ * statuses etc.
+ */
+ public static function create($params)
+ {
+ if (!isset($params['oauth'])) {
+ throw new Horde_Service_Twitter_Exception('Only OAuth
authentication is supported.');
+ }
+
+ /* Parameters required for the Horde_Oauth_Consumer */
+ $consumer_params = array(
+ 'key' => $params['oauth']['consumer_key'],
+ 'secret' => $params['oauth']['consumer_secret'],
+ 'requestTokenUrl' => self::REQUEST_TOKEN_URL,
+ 'authorizeTokenUrl' => self::USER_AUTHORIZE_URL,
+ 'accessTokenUrl' => self::ACCESS_TOKEN_URL,
+ 'signatureMethod' => new Horde_Oauth_SignatureMethod_HmacSha1());
+
+ /* Create the Consumer */
+ $oauth = new Horde_Oauth_Consumer($consumer_params);
+
+ /* Create the Twitter client */
+ $twitter = new Horde_Service_Twitter(
+ new Horde_Service_Twitter_Auth_Oauth($oauth),
+ new Horde_Service_Twitter_Request_Oauth(
+ new Horde_Controller_Request_Http()));
+
+ /* Create HTTP client. */
+ $http_params = isset($params['http']) ? $params['http'] : array();
+ $twitter->setHttpClient(new Horde_Http_Client($http_params));
+
+ /* Check for an existing token */
+ if (!empty($params['oauth']['access_token']) &&
+ !empty($params['oauth']['access_token_secret'])) {
+ $auth_token = new Horde_Oauth_Token(
+ $params['oauth']['access_token'],
+ $params['oauth']['access_token_secret']);
+ $twitter->auth->setToken($auth_token);
+ }
+
+ return $twitter;
+ }
+
+ public function setCache(Horde_Cache $cache)
+ {
+ $this->_responseCache = $cache;
+ }
+
+ public function setLogger(Horde_Log_Logger $logger)
+ {
+ $this->_logger = $logger;
+ }
+
+ /**
+ * Set the http client.
+ *
+ * @param Horde_Http_Client $client The http client
+ */
+ public function setHttpClient(Horde_Http_Client $client)
+ {
+ $this->_httpClient = $client;
+ }
+
+ /**
+ * Get the http client.
+ *
+ * @return Horde_Http_Client
+ */
+ public function getHttpClient()
+ {
+ return $this->_httpClient;
+ }
+
+ /**
+ * Lazy load the twitter classes.
+ *
+ * @param string $value The lowercase representation of the subclass.
+ *
+ * @throws Horde_Service_Twitter_Exception
+ * @return Horde_Service_Twitter_* object.
+ */
+ public function __get($value)
+ {
+ // First, see if it's an allowed protected value.
+ switch ($value) {
+ case 'auth':
+ return $this->_auth;
+ case 'request':
+ return $this->_request;
+ case 'responseCache':
+ return $this->_responseCache;
+ case 'cacheLifetime':
+ return $this->_cacheLifetime;
+ }
+
+ // If not, assume it's a method/action class...
+ $class = 'Horde_Service_Twitter_' . ucfirst($value);
+ if (!empty($this->_objCache[$class])) {
+ return $this->_objCache[$class];
+ }
+
+ if (!class_exists($class)) {
+ throw new Horde_Service_Twitter_Exception(sprintf("%s class not
found", $class));
+ }
+
+
+ $this->_objCache[$class] = new $class($this);
+ return $this->_objCache[$class];
+ }
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/package.xml new/package.xml
--- old/package.xml 2012-10-30 19:48:21.000000000 +0100
+++ new/package.xml 2015-01-09 12:30:55.000000000 +0100
@@ -10,11 +10,11 @@
<email>[email protected]</email>
<active>yes</active>
</lead>
- <date>2012-10-30</date>
- <time>19:48:21</time>
+ <date>2015-01-09</date>
+ <time>12:30:55</time>
<version>
- <release>2.0.0</release>
- <api>1.1.0</api>
+ <release>2.1.2</release>
+ <api>2.1.0</api>
</version>
<stability>
<release>stable</release>
@@ -22,27 +22,30 @@
</stability>
<license uri="http://www.horde.org/licenses/bsd">BSD-2-Clause</license>
<notes>
-* First stable release for Horde 5.
+* [jan] Add Composer definition.
</notes>
<contents>
<dir baseinstalldir="/" name="/">
- <file baseinstalldir="/" md5sum="03dc05714e363d71bd24f3fae5ed5903"
name="doc/Horde/Service/Twitter/COPYING" role="doc" />
- <file baseinstalldir="/" md5sum="36a54bf1f734b55ec37fe5c7a1c3264b"
name="doc/Horde/Service/Twitter/twitter_browser.php" role="doc" />
- <file baseinstalldir="/" md5sum="eb0c932990582434abb5824f0d67ae83"
name="doc/Horde/Service/Twitter/twitter_cli.php" role="doc" />
- <file baseinstalldir="/" md5sum="2964669068a91b0f544946159f013d5a"
name="lib/Horde/Service/Twitter/Auth/Oauth.php" role="php" />
- <file baseinstalldir="/" md5sum="f4a1d265e2c785856a0d1394d63aa3f9"
name="lib/Horde/Service/Twitter/Request/Oauth.php" role="php" />
- <file baseinstalldir="/" md5sum="6517c39b0917fdef6bc0dd6a4bb2c947"
name="lib/Horde/Service/Twitter/Account.php" role="php" />
- <file baseinstalldir="/" md5sum="9695ebc63f23ccbb46ec54e7671e2602"
name="lib/Horde/Service/Twitter/Auth.php" role="php" />
- <file baseinstalldir="/" md5sum="f0e0a4b35735d315280f94dfaf582778"
name="lib/Horde/Service/Twitter/Exception.php" role="php" />
- <file baseinstalldir="/" md5sum="02e5951910d6b2a9799990a629234933"
name="lib/Horde/Service/Twitter/Request.php" role="php" />
- <file baseinstalldir="/" md5sum="04f22391e23f285b4bf0b9c9e2b9fb0f"
name="lib/Horde/Service/Twitter/Statuses.php" role="php" />
- <file baseinstalldir="/" md5sum="7400263d0d76ebe280ccec6f52616a97"
name="lib/Horde/Service/Twitter.php" role="php" />
+ <file baseinstalldir="/" md5sum="e2b30d99b3092722430a6aeb457c4db8"
name="doc/Horde/Service/Twitter/examples/twitter_browser.php" role="doc" />
+ <file baseinstalldir="/" md5sum="25d8c3e777c081e59d18c67f49e4441d"
name="doc/Horde/Service/Twitter/examples/twitter_cli.php" role="doc" />
+ <file baseinstalldir="/" md5sum="5dee577470a920508ad14b3458db79a5"
name="doc/Horde/Service/Twitter/COPYING" role="doc" />
+ <file baseinstalldir="/" md5sum="21129453441dabde840f3d0fc9cebdc2"
name="lib/Horde/Service/Twitter/Auth/Oauth.php" role="php" />
+ <file baseinstalldir="/" md5sum="587ba0f88b5fc75e405bda90ba9c9c15"
name="lib/Horde/Service/Twitter/Request/Oauth.php" role="php" />
+ <file baseinstalldir="/" md5sum="89c024bd61c5c8b634f34d79d08f3e82"
name="lib/Horde/Service/Twitter/Account.php" role="php" />
+ <file baseinstalldir="/" md5sum="209f8a549ea475f0276937a51ae0e94f"
name="lib/Horde/Service/Twitter/Auth.php" role="php" />
+ <file baseinstalldir="/" md5sum="19c08960305ea86765f7dcd108792656"
name="lib/Horde/Service/Twitter/Exception.php" role="php" />
+ <file baseinstalldir="/" md5sum="b7077c9f73bf652df414e21ad7c52481"
name="lib/Horde/Service/Twitter/Favorites.php" role="php" />
+ <file baseinstalldir="/" md5sum="774a51f134443de3394e2ce1ca75aaaf"
name="lib/Horde/Service/Twitter/Request.php" role="php" />
+ <file baseinstalldir="/" md5sum="0bab0cd07162e392ed20c5b409deca6a"
name="lib/Horde/Service/Twitter/Statuses.php" role="php" />
+ <file baseinstalldir="/" md5sum="61e7c053aa74562aa02065b0d62e72e2"
name="lib/Horde/Service/Twitter.php" role="php" />
</dir>
</contents>
<dependencies>
<required>
<php>
<min>5.3.0</min>
+ <max>6.0.0alpha1</max>
+ <exclude>6.0.0alpha1</exclude>
</php>
<pearinstaller>
<min>1.7.0</min>
@@ -87,12 +90,13 @@
<phprelease>
<filelist>
<install as="COPYING" name="doc/Horde/Service/Twitter/COPYING" />
- <install as="twitter_browser.php"
name="doc/Horde/Service/Twitter/twitter_browser.php" />
- <install as="twitter_cli.php"
name="doc/Horde/Service/Twitter/twitter_cli.php" />
+ <install as="examples/twitter_browser.php"
name="doc/Horde/Service/Twitter/examples/twitter_browser.php" />
+ <install as="examples/twitter_cli.php"
name="doc/Horde/Service/Twitter/examples/twitter_cli.php" />
<install as="Horde/Service/Twitter.php"
name="lib/Horde/Service/Twitter.php" />
<install as="Horde/Service/Twitter/Account.php"
name="lib/Horde/Service/Twitter/Account.php" />
<install as="Horde/Service/Twitter/Auth.php"
name="lib/Horde/Service/Twitter/Auth.php" />
<install as="Horde/Service/Twitter/Exception.php"
name="lib/Horde/Service/Twitter/Exception.php" />
+ <install as="Horde/Service/Twitter/Favorites.php"
name="lib/Horde/Service/Twitter/Favorites.php" />
<install as="Horde/Service/Twitter/Request.php"
name="lib/Horde/Service/Twitter/Request.php" />
<install as="Horde/Service/Twitter/Statuses.php"
name="lib/Horde/Service/Twitter/Statuses.php" />
<install as="Horde/Service/Twitter/Auth/Oauth.php"
name="lib/Horde/Service/Twitter/Auth/Oauth.php" />
@@ -297,5 +301,96 @@
* First stable release for Horde 5.
</notes>
</release>
+ <release>
+ <version>
+ <release>2.0.1</release>
+ <api>1.1.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2012-11-22</date>
+ <license uri="http://www.horde.org/licenses/bsd">BSD-2-Clause</license>
+ <notes>
+* [jan] Re-packaged 2.0.0 release.
+ </notes>
+ </release>
+ <release>
+ <version>
+ <release>2.0.2</release>
+ <api>1.1.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2013-03-05</date>
+ <license uri="http://www.horde.org/licenses/bsd">BSD-2-Clause</license>
+ <notes>
+* [jan] Fix examples location.
+ </notes>
+ </release>
+ <release>
+ <version>
+ <release>2.0.3</release>
+ <api>1.1.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2013-03-05</date>
+ <license uri="http://www.horde.org/licenses/bsd">BSD-2-Clause</license>
+ <notes>
+* [mjr] Fix initial authentication for recently changed Twitter API
requirements (Bug #12165).
+ </notes>
+ </release>
+ <release>
+ <version>
+ <release>2.1.0</release>
+ <api>2.1.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2013-06-17</date>
+ <license uri="http://www.horde.org/licenses/bsd">BSD-2-Clause</license>
+ <notes>
+* [mjr] Use API version 1.1
+* [mjr] Add support for favorites.
+ </notes>
+ </release>
+ <release>
+ <version>
+ <release>2.1.1</release>
+ <api>2.1.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2013-07-07</date>
+ <license uri="http://www.horde.org/licenses/bsd">BSD-2-Clause</license>
+ <notes>
+* [mjr] Fix fetching user mentions.
+ </notes>
+ </release>
+ <release>
+ <version>
+ <release>2.1.2</release>
+ <api>2.1.0</api>
+ </version>
+ <stability>
+ <release>stable</release>
+ <api>stable</api>
+ </stability>
+ <date>2015-01-09</date>
+ <license uri="http://www.horde.org/licenses/bsd">BSD-2-Clause</license>
+ <notes>
+* [jan] Add Composer definition.
+ </notes>
+ </release>
</changelog>
</package>
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]