Commit Graph

56 Commits

Author SHA1 Message Date
Mikael Nordfeldth
e0084a6fdf Exception handling regarding Foreign_link 2015-07-18 11:39:34 +02:00
Mikael Nordfeldth
6cd7a4a400 TwitterBridge messing about, Twitter OAuth requires Authorization header now?
https://dev.twitter.com/oauth/reference/post/oauth/request_token says that
the request should be a GET with a specific HTTP header instead of query
string parameters for OAuth?
2015-07-17 18:54:39 +02:00
Mats Sjöberg
376e63db77 TwitterBridge should not try to send replies to tweets back to Twitter if user hasn't selected to import tweets. 2014-08-21 21:04:06 +03:00
Mikael Nordfeldth
b77a09fdee Notice URIs are not necessarily URLs.
Let's use getUrl() for URL retrieval. May throw exceptions, but
only if it's a Notice that cannot be linked like that anyway.
2014-04-30 20:44:23 +02:00
Mikael Nordfeldth
2a4dc77a63 The overloaded DB_DataObject function staticGet is now called getKV
I used this hacky sed-command (run it from your GNU Social root, or change the first grep's path to where it actually lies) to do a rough fix on all ::staticGet calls and rename them to ::getKV

   sed -i -s -e '/DataObject::staticGet/I!s/::staticGet/::getKV/Ig' $(grep -R ::staticGet `pwd`/* | grep -v -e '^extlib' | grep -v DataObject:: |grep -v "function staticGet"|cut -d: -f1 |sort |uniq)

If you're applying this, remember to change the Managed_DataObject and Memcached_DataObject function definitions of staticGet to getKV!

This might of course take some getting used to, or modification fo StatusNet plugins, but the result is that all the static calls (to staticGet) are now properly made without breaking PHP Strict Standards. Standards are there to be followed (and they caused some very bad confusion when used with get_called_class)

Reasonably any plugin or code that tests for the definition of 'GNUSOCIAL' or similar will take this change into consideration.
2013-08-18 13:13:56 +02:00
Jean Baptiste Favre
3e0a02f52d Enhance is_twitter_bound function from file plugins/TwitterBridge/twitter.php to deal with new-style replies from Web UI not using at-mention replies anymore, which caused all replies to be sent to Twitter. Definitely fix #3386 2011-12-18 12:13:42 +01:00
Jean Baptiste Favre
ac5e29de5a Fix precedence issue causing all replies to be sent to Twitter. Fix #3386 2011-12-13 20:30:03 +01:00
Zach Copley
58b9f83a02 Allow repeats to flow through the Twitter bridge 2011-09-21 05:23:47 +00:00
Zach Copley
c9cbc31481 Don't send notices from the ActivityPlugin to Twitter 2011-09-21 02:31:51 +00:00
Siebrand Mazeland
199404c74a Update translator documentation.
Update whitespace.
i18n/L10n fixes.
2011-06-18 17:20:36 +02:00
Siebrand Mazeland
41e919f3ca L10n update.
Translator documentation added.
Superfluous whitespace removed.
2011-03-25 09:55:33 +01:00
Brion Vibber
d994b4583a TwitterBridge: discard outgoing queue items instead of retrying when Twitter API returns HTTP 400 or 404 error codes
We get HTTP 400 for various cases of invalid data, where retrying doesn't help at all -- previously those would loop forever, or until something died at least. :)
400 is also used for rate limiting, but retrying *immediately* will just hit the rate limit again, so better to discard if we're going over for now.
2011-03-24 18:41:25 -07:00
Brion Vibber
2bf8a68908 Fix for ticket #3039: TwitterBridge was incorrectly sending repeats of Twitter-bound messages if the repeater has sending of things to Twitter disabled.
A repeat/retweet is roughly equivalent to an active direct post, so should follow the posting rules, rather than always sending over as we do for fave notifications.
2011-02-10 10:53:24 -08:00
Brion Vibber
a76f067631 Partial revert of 073f3e99: restores the original non-hashbang URLs for twitter users as the remote profile.
Should fix issue #3027: twitter user avatars not getting imported.

Due to the change in URI, all twitter users that had been previously seen were getting new profile entries, which tried to save the same avatar. This would fail as Avatar.url has a unique index.
Note: now anything new seen in the last couple days in production will still potentially conflict.
2011-02-09 13:46:48 -08:00
Zach Copley
073f3e99cb Update Twitter calls to use documented API endpoints
see: http://groups.google.com/group/twitter-api-announce/msg/34b013f4d092737f
2010-12-17 15:57:22 -08:00
Brion Vibber
c169dcb522 Fixes for Twitter bridge breakage on 32-bit servers. New "Snowflake" 64-bit IDs have become too big to fit in the integer portion of double-precision floats, so to reliably use these IDs we need to pull the new string form now.
Machines with 64-bit PHP installation should have had no problems (except on Windows, where integers are still 32 bits)
2010-11-23 09:28:47 -08:00
Brion Vibber
6291e8201f Fix for failure edge case in TwitterBridge outgoing repeat/retweets.
When the retweet failed with a 403 error (say due to it being a private tweet, which can't be retweeted) we would end up mishandling the return value from our internal error handling.
Instead of correctly discarding the message and closing out the queue item, we ended up trying to save a bogus twitter<->local ID mapping, which threw another exception and lead the queue system to re-run it.

- Fixed the logic check and return values for the retweet case in broadcast_twitter().
- Added doc comments explaining the return values on some functions in twitter.php
- Added check on Notice_to_status::saveNew() for empty input -- throw an exception before we try to actually insert into db. :)
2010-11-12 13:06:41 -08:00
Brion Vibber
e292d8fb65 Fix for 140-char replies being unexpectedly cropped when bridged to Twitter.
This drops the '@' -> ' @' hack for CURL meta-chars in outgoing Twitter bridge, added in commit 04b95c25 back in the day.
The Twitter bridge has since been switched from using direct CURL calls to using HTTPClient, which even with the CURL backend enabled doesn't trigger this issue, as POST parameters are formatted directly.
Prepending the space before we did the message cropping was leading to 140-char messages getting cropped unnecessarily, which was confusing:

Examples of broken messages:
http://identi.ca/notice/57172587 vs http://twitter.com/marjoleink/status/28398050691
http://identi.ca/notice/57172878 vs http://twitter.com/marjoleink/status/28398492563
2010-10-22 12:10:11 -07:00
Siebrand Mazeland
ecafae8472 * Remove trailing newline in e-mail message.
* Superfluous whitespace removed.
2010-09-19 15:52:53 +02:00
Siebrand Mazeland
02299d5bd7 * i18n/L10n updates.
* add FIXMEs for bad i18n.
* add translator hints.
2010-09-19 00:06:21 +02:00
Siebrand Mazeland
ba6538ed78 * i18n/L10n updates
* whitespace updates.
2010-09-18 17:45:18 +02:00
Evan Prodromou
5944fe57e6 using null variable in twitter_status_id() 2010-09-07 04:00:59 -04:00
Evan Prodromou
a5554bc11e check status_id before trying to retweet it 2010-09-07 04:00:59 -04:00
Evan Prodromou
a1981770ce Save notice-to-status mapping in its own table
Introduce a table mapping notices to Twitter statuses. Initialize
this table at checkSchema() time. Save the mapping when we push
or pull statuses. Use the table to determine if a notice has a
Twitter equivalent.
2010-09-07 04:00:58 -04:00
Evan Prodromou
17a16026ff add in_reply_to_status_id if notice is from twitter 2010-09-07 04:00:58 -04:00
Evan Prodromou
1bf4972cc0 remove require_once for disappeared TwitterBasicAuthClient 2010-09-07 04:00:57 -04:00
Evan Prodromou
23dfadd9a6 remove basic auth code for Twitter since it's no longer supported 2010-09-07 04:00:57 -04:00
Evan Prodromou
d6719760d6 do a real retweet for a local repeat 2010-09-07 04:00:57 -04:00
Evan Prodromou
2b56d3b534 push notices through the bridge if they're in reply to a twitter notice 2010-09-07 04:00:57 -04:00
Zach Copley
4c5098cd32 Handle the case where a screen name has shifted from one Twitter ID to another 2010-07-08 21:17:11 +00:00
Brion Vibber
74a89b1fc3 Locale switch cleanup: use common_switch_locale() which is safer for updating gettext state. Also moved a few calls to reduce chance of hitting an exception before switching back.
Should help with problems where xmppdaemon would get stuck in wrong locale.
2010-05-19 10:10:55 -07:00
Brion Vibber
efcdfabc12 Ticket #2205: pass geo locations over Twitter bridge (will only be used if enabled on the Twitter side) 2010-04-14 15:45:00 +02:00
Zach Copley
e3c4b0c85d A better way to safely delete Foreign_links 2010-03-05 03:55:56 +00:00
Zach Copley
6aac7cc6cd Fix for errant deletion of all Twitter foreign_links 2010-03-05 03:55:39 +00:00
Zach Copley
a80fdf3142 Twitter bridge - fix for Ticket #2192 2010-02-17 20:56:18 +00:00
Zach Copley
2e1e614abe Use static class method for looking up Twitter user 2010-02-15 22:15:22 +00:00
Zach Copley
1996b709c6 Twitter-bridge: lookup old foreign_user by primary key not url 2010-02-15 22:06:18 +00:00
Zach Copley
ead595eee8 Better log msgs. Removed debugging statement. 2010-02-15 21:24:12 +00:00
Zach Copley
fe2ebec732 Fix for regression introduced with my last update to the
TwitterStatusFetcher: the Twitter bridge was not saving a foreign user
record when making a foreign link.
2010-02-15 21:13:53 +00:00
Zach Copley
cfe4e460ca Delete old Twitter user record when user changes screen name instead of updating. Simpler. 2010-02-06 06:46:00 +00:00
Zach Copley
feaf938ffd Make Twitter bridge truncate and add a link back to the original notice when notice content is > 140c 2010-02-04 03:17:48 +00:00
Zach Copley
43170b3d18 When Twitter bridge encounters a 403 (rate limit) err, drop the notice
instead of requeuing.
2010-01-13 19:17:40 +00:00
Brion Vibber
8632974131 Followup fix for ticket 1672: Twitter bridge !group->#hash conversion will now happen regardless of whether account was configured with oauth or basic auth (previously applied only on the oauth path) 2009-12-18 09:36:30 -05:00
Zach Copley
656d29080a Fix Twitter bridge so it responds reasonably to authorization errors. 2009-12-14 07:33:29 +00:00
Brion Vibber
4b5e977a7b New _m() gettext wrapper with smart detection of plugin domains. Plugin base class registers your gettext files if present at initialization.
update_pot.sh replaced with update_po_templates.php which can do core, plugins, or all (default).
Top-level Makefile added to build .mo files for plugins as well as core.

As described on list:
http://lists.status.net/pipermail/statusnet-dev/2009-December/002869.html
2009-12-08 12:17:11 -08:00
Zach Copley
f7c1c4e601 Catch uncaught exception 2009-11-25 18:04:08 +00:00
Brion Vibber
088081675f Revert "Remove more contractions"
This reverts commit 5ab709b739.

Missed this one yesterday...
2009-11-09 20:01:46 +01:00
Siebrand Mazeland
5ab709b739 Remove more contractions
* doesn't
* won't
* isn't
* don't
2009-11-08 23:32:15 +01:00
Brion Vibber
5581143bee Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions.
Caching support will be added in future work after unit tests have been added.

* extlib: add PEAR HTTP_Request2 0.4.1 alpha
* extlib: update PEAR Net_URL2 to 0.3.0 beta for HTTP_Request2 compatibility
* moved direct usage of CURL and file_get_contents to HTTPClient class, excluding external-sourced libraries
* adapted GeonamesPlugin for new HTTPResponse interface

Note some plugins haven't been fully tested yet.
2009-11-02 09:14:15 -08:00
Brion Vibber
b22fc5b74a Revert "Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions."
Going to restructure a little more before finalizing this...

This reverts commit fa37967858.
2009-11-02 07:51:29 -08:00