Brion Vibber [Mon, 10 May 2010 23:18:29 +0000 (16:18 -0700)]
Enhanced upload file type detection. If given an original filename, we'll attempt to detect type from the extension if we were unable to make a definitive match from content. Generic octet-stream, zip, and MS Office type are explicitly singled out for re-checks, which fixes OpenOffice and MS Office documents to come up with the proper types when misdetected.
File extensions can also be added to the upload type whitelist; they'll be normalized to types for the actual comparison, so only known extensions will work.
Brion Vibber [Mon, 10 May 2010 22:32:02 +0000 (15:32 -0700)]
Test cases for MediaFile::getUploadedFileType() with OpenOffice, MS Office, and PDF sample files (as saved from OpenOffice 3.2)
Only 3 of 16 cases pass on my dev box with default config. Ouch!
Brion Vibber [Sat, 26 Jun 2010 19:07:32 +0000 (15:07 -0400)]
Fix for bug #2382: releasing claim on failed queue item works again with DB-based queues.
Warning: DB-based queue doesn't currently implement discarding of items after a retry limit. Failed items will be retried until they succeed.
Brion Vibber [Sun, 20 Jun 2010 19:30:12 +0000 (19:30 +0000)]
RecaptchaPlugin: fix for missing captcha on iPhone/Android.
MobileProfile serves pages out to iPhone and Android as application/xhtml+xml, which doesn't work with the default we we were loading recaptcha (as it used document.write). Switched to filling out a <div> from the AJAX API, which doesn't use document.write in the XHTML context.
Tested that view & submission works ok in following browsers:
Mobile: iPhone 3.1, Android 2.1, iPad 3.2 (this last doesn't trigger mobile theme tweaks)
Ubuntu 10.04: Firefox 3.6.3, Chrome 6
Mac 10.6: Safari 5/OS X 10.6.4
Windows 7: IE 8, Opera 10.56
Brion Vibber [Fri, 18 Jun 2010 16:59:11 +0000 (09:59 -0700)]
Catch a couple of missing XML namespace declarations on API XML output. Missing NS declarations were breaking XML parsing for some clients since beaecb18d5b92b913473dfffd545dc436f50cf66
Zach Copley [Wed, 16 Jun 2010 23:37:15 +0000 (16:37 -0700)]
Merge branch 'master' of gitorious.org:statusnet/mainline
* 'master' of gitorious.org:statusnet/mainline:
Switch OpenID server's redirects from 307 to 303 to avoid prompt for form data resubmission if we were sent here from a POST request, such as when verifying the site for the first time doing an OpenID login from Drupal.
Brion Vibber [Wed, 16 Jun 2010 19:30:37 +0000 (12:30 -0700)]
Switch OpenID server's redirects from 307 to 303 to avoid prompt for form data resubmission if we were sent here from a POST request, such as when verifying the site for the first time doing an OpenID login from Drupal.
Brion Vibber [Fri, 11 Jun 2010 18:52:06 +0000 (11:52 -0700)]
Fix a couple bad format entries in router setup (format param had 'xmljson' instead of 'xml|json').
Warning: the format strings aren't actually being enforced here which is probably why they weren't caught earlier. Not quite sure why, it should be looked at!
Brion Vibber [Thu, 10 Jun 2010 18:42:58 +0000 (11:42 -0700)]
Ticket #2350: fix for incorrect FOAF sioc:follows entries for users who are followed by, but don't themselves follow the user whose FOAF we're displaying.
Basic custom CSS and theme uploading features. 'local' subdir can now be customized to a distinct directory and URL path to make it easier to separate custom themes for a multi-site farm running a common code base.
Currently only one custom theme may be uploaded per site, saved with the name 'custom' and stored into the local/themes subdirectory.
Administrators can upload a .ZIP archive containing a theme through the design admin panel; its contents are validated to ensure that only legit files are saved, and a 5M size quota is enforced.
Theme upload requires the zip extension for PHP; if not present, theme uploading is disabled by default.
Uploading and the custom CSS can be controlled via $config['theme_upload']['enabled'] and $config['custom_css']['enabled'].
Configurable directory/path/server for 'local' subdirectory (currently only as used for themes; local plugins not yet switched over)
Can set $config['local']['dir'] etc; not currently exposed in the admin panels.
Per-site directories on a separate themes server could be set up such as:
$config['local']['dir'] = '/path/to/themes/local/' . $_nickname;
$config['local']['server'] = 'themes.example.com';
$config['local']['path'] = '/local/' . $_nickname;
$config['local']['ssl'] = 'never';
Brion Vibber [Thu, 3 Jun 2010 23:58:45 +0000 (16:58 -0700)]
Skip enqueueing to outgoing bridges on incoming remote messages. Twitter, Facebook, RSSCloud, and OStatus checks were enqueued on these when they'd never do anything but churn the queue servers.
Notice::isLocal() can replace a number of manual checks for $notice->is_local being LOCAL_PUBLIC or LOCAL_NONPUBLIC.
Brion Vibber [Tue, 1 Jun 2010 20:53:44 +0000 (13:53 -0700)]
Fix memory leak in Inbox::addToInbox() (usage of raw DB_DataObject::staticGet, which leaks memory into a process-global cache).
On my test setup, this fixes inbox delivery to 10,000 local recipients from background queuedaemon running with a 32mb memory limit, completes the job within a minute from start.
Evan Prodromou [Mon, 3 May 2010 18:00:12 +0000 (14:00 -0400)]
Database tables to cache expensive query data
We need to bundle counts of notices and users by date. This can be
expensive for large sites. So, new tables are added to cache the
results of these queries, which don't change after the date is over.
Brion Vibber [Tue, 1 Jun 2010 18:41:17 +0000 (18:41 +0000)]
Mapstraction plugin fix: set icon dimensions (24x24 px); Google Maps provider otherwise defaults to stretching them to a funny shape instead of showing square avatars.
Brion Vibber [Fri, 28 May 2010 23:52:17 +0000 (16:52 -0700)]
OpenID: add option to enable asking for a username to append to the trusted provider's base URL. Good for hooking up with sites like WikiHow, where usernames are appended to a base URL to get a profile URL which is used as the provider.
$config['openid']['append_username'] = true;
or check 'Append a username to base URL' in OpenID admin panel.
Brion Vibber [Fri, 28 May 2010 23:03:09 +0000 (16:03 -0700)]
Ticket 2329 followup: my clever 'let it use the default' was foiled by PHP gettext module not quite exposing a compatible interface as the backend gettext library. (Most funcs squash null domain parameter into '' empty string, which isn't interpreted as 'use the current default'.)