Commit Graph

8721 Commits

Author SHA1 Message Date
Brion Vibber 5c314c2288 Drop result ID from data objects on clone(). This keeps the original object working if it was in the middle of a query loop, even if the cloned object falls out of scope and triggers its destructor.
This bug was hitting a number of places where we had the pattern:

$db->find();
while($dbo->fetch()) {
  $x = clone($dbo);
  // do anything with $x other than storing it in an array
}

The cloned object's destructor would trigger on the second run through the loop, freeing the database result set -- not really what we wanted.
(Loops that stored the clones into an array were fine, since the clones stay in scope in the array longer than the original does.)

Detaching the database result from the clone lets us work with its data without interfering with the rest of the query.
In the unlikely even that somebody is making clones in the middle of a query, then trying to continue the query with the clone instead of the original object, well they're gonna be broken now.
2010-03-19 11:18:27 -07:00
Brion Vibber b97400bd6f clarify output on fixup-shadow.php 2010-03-19 11:17:56 -07:00
Brion Vibber d2e6664132 Validate OStatus avatar URL before fetching. 2010-03-19 10:16:12 -07:00
Brion Vibber 515cdf28a8 Ensure that DB connection is active at start of User::updateKeys() and Foreign_user::updateKeys(); calls to $this->_quote() require a live connection object and don't lazy-initialize themselves.
May fix WSOD when changing incoming email address.
2010-03-18 09:24:55 -07:00
Evan Prodromou 425ddcaa26 add exception on inconsistent db to User::getProfile() 2010-03-18 08:35:10 -05:00
Evan Prodromou 0a1b10114b new exception class for when a user has no profile 2010-03-18 08:32:17 -05:00
Evan Prodromou a764603e73 reverse order from delete, insert to insert, delete on ostatus conversion 2010-03-18 08:04:22 -05:00
Evan Prodromou f1af583e3e catch exceptions in OStatus updates, log, and continue 2010-03-18 07:55:14 -05:00
Brion Vibber dacd0f3e6d Fix to regression for auto-subscribe - was backwards. 2010-03-17 12:14:19 -07:00
Brion Vibber 6828567ed0 Add forgotten scripts/fixup_files.php to clean up "the h bug" 2010-03-11 11:52:19 -08:00
Brion Vibber ce92bc7143 Drop timestamp cutoff parameter from User::getCurrentNotice() and Profile::getCurrentNotice().
It's not currently used, and won't be efficient when we update the notice.profile_id_idx index to optimize for our id-based sorting when pulling user post lists for profile pages, feeds etc.
2010-03-11 11:01:01 -08:00
Brion Vibber 66518df435 OStatus: reject attempts to create a remote profile for a local user or group.
Some stray shadow entries were ending up getting created, which would steal group posts from remote users.
Run plugins/OStatus/scripts/fixup-shadow.php for each site to remove any existing ones.
2010-03-10 17:00:05 -08:00
Brion Vibber 5cd020bf29 Workaround intermittent bugs with HEAD requests by disabling keepalive in HTTPClient.
I think this is a bug in Youtube's web server (sending chunked encoding of an empty body with a HEAD response, leaving the connection out of sync when it doesn't attempt to read a body) but the HTTP_Request2 library may need to be adjusted to watch out for that.
2010-03-10 15:13:16 -08:00
Brion Vibber 294b290dd9 Fixup script for files w/ bogus data saved into file record ('h bug') 2010-03-10 15:13:16 -08:00
Brion Vibber f02cb7c718 Fix for attachment "h bug": posting a shortened link to an oembed-able resource that has been previously used in the system would incorrectly save "h" as the item's type and title. 2010-03-10 15:13:16 -08:00
Zach Copley 4741683298 Allow site-specific doc files 2010-03-10 22:05:28 +00:00
Brion Vibber 54ff17010b Merge branch 'master' of git@gitorious.org:statusnet/mainline into testing 2010-03-10 11:56:51 -08:00
Brion Vibber 532e486a93 Detect when queuedaemon/xmppdaemon parent processes die and kill the child processes.
Keeps stray daemon subprocesses from floating around when we kill the parents via a signal!

Accomplished by opening a bidirectional pipe in the parent process; the children close out the writer end and keep the reader in their open sockets list. When the parent dies, the children see that the socket's been closed out and can perform an orderly shutdown.
2010-03-10 11:54:00 -08:00
Brion Vibber 69b2f19b6f RequireValidatedEmailPlugin fixes: require email on registration form, tidy up i18n infrastructure. 2010-03-10 10:06:46 -08:00
Zach Copley 55e8473a7a A blank username should never be allowed. 2010-03-10 09:57:00 -08:00
Brion Vibber 58fcb5ac6f Merge branch 'master' into testing 2010-03-10 09:53:55 -08:00
Brion Vibber 8ee8b89dd8 Ticket #2221: fix for missing whitespace between messages in en-gb.
The final whitespace should be dropped from the source messages after we've stabilized; trailing space is pretty unreliable to keep through translation tools and should be avoided. Use separator strings outside the messages!
2010-03-10 09:36:00 -08:00
Zach Copley 7f2253759c A blank username should never be allowed. 2010-03-10 03:39:05 +00:00
Michele 1d1bf69f9a API config return textlimit value 2010-03-09 15:40:09 -08:00
Brion Vibber 58192ad687 OStatus: fix exception thrown on HTTP error during feed discovery 2010-03-09 10:56:33 -08:00
Brion Vibber 60e0f04261 Ticket #2210: adjust locale setup fallback to try more locales on the system if en_US isn't available. We just need *something* other than C or POSIX to let gettext initialize itself, apparently...
Gets Spanish, French, Russian etc UI localization working on Debian Lenny fresh installation set up in Spanish (so es_ES.UTF-8 is available but en_US.UTF-8 isn't).
2010-03-09 17:38:16 +01:00
Michele b98f956c6b API config return textlimit value 2010-03-09 15:39:40 -08:00
Brion Vibber 60e6172bc9 Check for invalid and reserved usernames for the admin user at install time. 2010-03-09 14:15:55 -08:00
Sarven Capadisli 2c6eb77045 Added a checkbox for subscribing the admin of a StatusNet instance to
update@status.net. Checked by default. Subscription optional.
2010-03-09 14:00:45 -08:00
Brion Vibber 971f1f64f1 Added scripts/command.php, can be used to run commands such as subscription on behalf of users.
This includes whatever support for extended command parsing plugins may have added.

Example:
  ./scripts/command.php -nbrionv sub update@status.net
2010-03-09 13:41:05 -08:00
Brion Vibber 32532c7c42 Merge branch 'commands' into testing 2010-03-09 13:05:51 -08:00
Brion Vibber 80a17387bf Command input processing now has centralized places for looking up notice, user/profile, and group arguments.
OStatus plugin overrides these to allow using webfinger (user@example.com), profile URL (http://example.com/user) and bare profile URL (example.com/user) as arguments.
2010-03-09 13:03:32 -08:00
Brion Vibber 4caf0d2e73 Merge commit 'origin/master' into testing 2010-03-09 11:27:30 -08:00
Evan Prodromou 3f1a9443d9 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-03-09 10:57:38 -05:00
Evan Prodromou 61434ebaa2 a script to flush site 2010-03-09 10:55:48 -05:00
Zach Copley d644f4148b Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-03-09 11:07:42 +00:00
Zach Copley 7afad469c2 Use canonical URL for notification in RSSCloud plugin 2010-03-09 11:07:24 +00:00
Zach Copley 72e4c73373 Use canonical URL for notification in RSSCloud plugin 2010-03-09 11:06:08 +00:00
James Walker 7214db14fe wrong param order to strpos() 2010-03-09 01:24:21 -05:00
Zach Copley 691c88bce8 Only allow RSSCloud subs to canonical RSS2 profile feeds 2010-03-08 23:12:15 +00:00
Evan Prodromou 0d66dc543d an otp is a real login 2010-03-08 18:06:21 -05:00
Zach Copley 49722f6550 Only allow RSSCloud subs to canonical RSS2 profile feeds 2010-03-08 22:53:43 +00:00
Brion Vibber 927a368d0e CentOS 5.4 still has bad PCRE in stock (though all bets off for PHP packages, since you'd need a version update anyway...) 2010-03-08 13:38:59 -08:00
Brion Vibber 3b0bdc0ae2 Revert "CentOS 5.4 still bogus on a stock install." - bad debug lines crept in
This reverts commit 7e7d88831c.
2010-03-08 13:38:26 -08:00
Brion Vibber 7e7d88831c CentOS 5.4 still bogus on a stock install. 2010-03-08 13:32:18 -08:00
Brion Vibber 217ad420ac Fix ticket #2208: regression in XMPP sending when server != host
The upstream class sets $this->basejid with host unconditionally, which wasn't previously an issue as the fulljid would always be filled in by the server at connect time before sending messages. With the new queued messaging, we need to make sure we've filled out $this->fulljid correctly without making a connection.
Now using $server if provided to build $this->basejid and $this->fulljid in the queued XMPP proxy class, so queued messages are sent correctly.
2010-03-08 12:19:06 -08:00
Brion Vibber a77efb2447 XMPP cleanup: fix outgoing XMPP when queuing is disabled; fix notice for first access to undefined member variable 2010-03-08 10:32:40 -08:00
Evan Prodromou 5f7aa6f2e3 make API realm configurable 2010-03-08 12:36:03 -05:00
Evan Prodromou e5541d09d0 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-03-07 23:42:46 -05:00
Evan Prodromou 7faf6ec755 add a script to import Twitter atom feed as notices 2010-03-07 23:42:22 -05:00