Commit Graph

3910 Commits

Author SHA1 Message Date
Evan Prodromou
7c05b0dafc options to nofollow external links in notices 2010-10-18 11:29:52 -04:00
Brion Vibber
a2090ecc97 Merge branch '2828' into 0.9.x 2010-10-14 16:52:01 -07:00
Brion Vibber
3f74f44603 Fix for ticket #2828: apostrophe in site name set in installer created a broken config.php.
Now running values through var_export() before putting them into the config.php, ensuring strings will be properly quoted.
2010-10-14 16:25:43 -07:00
Evan Prodromou
1a4dc03bfe document and default for site|ssllogo 2010-10-14 14:56:38 -04:00
Evan Prodromou
8f3b18f27f fix copy-and-paste error in javascript url creation 2010-10-14 14:53:20 -04:00
Evan Prodromou
72454db118 make the logo be compatible with HTTPS pages, if possible 2010-10-14 14:22:49 -04:00
Evan Prodromou
b31c49c5d4 Make HTTPS urls in File::url() if necessary 2010-10-14 14:22:17 -04:00
Evan Prodromou
97a7fb246c correctly use sslserver if it is set 2010-10-14 01:35:11 -04:00
Evan Prodromou
7436e5d13e use HTTPS for scripts and stylesheets if the current page is HTTPS 2010-10-14 01:09:02 -04:00
Evan Prodromou
ac63f8baae show HTTPS urls for JavaScript if HTTPS used for page 2010-10-14 01:00:13 -04:00
Evan Prodromou
74c5aa8f9a consolidate some theme path code between ssl and non-ssl 2010-10-14 00:59:53 -04:00
Evan Prodromou
ca0323d01b use HTTPS for favicon.ico if page is HTTPS 2010-10-14 00:50:26 -04:00
Evan Prodromou
d91f894ccb try to show HTTPS-encrypted theme files for HTTPS-encrypted pages 2010-10-14 00:46:32 -04:00
Evan Prodromou
40c64388e6 try and show an SSL image for the creative commons image 2010-10-14 00:31:13 -04:00
Evan Prodromou
cef10c7167 add static method StatusNet::isHTTPS() 2010-10-14 00:16:23 -04:00
Evan Prodromou
ddb60a8191 Merge remote branch 'gitorious/0.9.x' into 0.9.x 2010-10-13 15:18:32 -04:00
Brion Vibber
bca215563f Clean up remote avatar temporary files if we fail before saving them into avatars directory (OMB core, OStatus, WikiHowProfile, YammerImport) 2010-10-13 11:10:04 -07:00
Zach Copley
04f3f57e2e Merge branch 'oauth-1.0a' into 0.9.x 2010-10-12 17:52:04 -07:00
Zach Copley
5270e93131 Spelling - OAuth not Oath 2010-10-12 16:20:09 -07:00
Brion Vibber
f4f16af8ac Add a basic group deletion for moderator users. 2010-10-12 15:49:20 -07:00
Brion Vibber
9d9e80ea21 Followup to IIS installer tweaks in [9bb48c36]:
* skip 0-byte config files when initializing, go ahead and redirect to installer if no non-0-byte files
* tweak warning on installer.php to let you know if you have a 0-byte config.php that's not writable, as opposed to generally already having a config.php with data in it
2010-10-12 13:00:03 -07:00
Evan Prodromou
f11c1c77ca Merge remote branch 'gitorious/0.9.x' into 0.9.x 2010-10-12 11:16:14 -04:00
Zach Copley
459727bd61 Update ApiOauthAccessTokenAction to OAuth 1.0a 2010-10-07 18:32:27 -07:00
Brion Vibber
5e0f3e7bd4 Workaround for regression in input validation due to more PCRE oddities. Recommend redoing common_validate_utf8() using something more reliable, perhaps. :P 2010-10-07 12:32:10 -07:00
Zach Copley
8658e4f8c4 Use 7 digits for oob OAuth pin instead of 6 2010-10-07 11:01:17 -07:00
Evan Prodromou
fa45805d6d Events for showing the notice form 2010-10-07 10:22:57 -04:00
Zach Copley
69e621a3e8 - Update ApiOauthAuthorizeAction to 1.0a
- Fix enumerable bugs
- New page for displaying 1.0a verifier (still needs work)
2010-10-06 19:20:47 -07:00
Zach Copley
f71912440a - New base InfoAction for dialog box like msgs
- Fix titles on error pages
2010-10-06 19:06:57 -07:00
Zach Copley
f97b863fd7 Update ApiOauthRequestTokenAction to support OAuth 1.0a 2010-10-06 13:40:03 -07:00
Zach Copley
f4f56eea3a Override new_request_token() to store OAuth 1.0a verified callback URL 2010-10-06 13:40:03 -07:00
Zach Copley
63663dbd0e Stab that 'p' parameter! 2010-10-06 13:40:02 -07:00
Zach Copley
4247be5116 Add plain text error format to clientError() 2010-10-06 13:40:01 -07:00
Zach Copley
83566f014c Fix bad reference 2010-10-06 13:40:01 -07:00
Zach Copley
06d918d575 Strip out the special 'p' paramter added by index.php from
$_SERVER['QUERY_STRING'] before doing OAuth requests. Required by the
latest version of the OAuth lib.
2010-10-06 13:39:58 -07:00
Brion Vibber
ebfa8bce27 Basic validation of UTF-8 input via GET/POST vars: invalid UTF-8 sequences will cause the string to drop. Not necessarily super-thorough; should be improved in future to drop individual bad sequences, do normalization of combining forms, etc. General input validation (for ints, types of strings, etc) still would be good to have! 2010-10-06 13:00:30 -07:00
Brion Vibber
d946c82740 Urgh... fix for fix for horrific $ escaping problems (some awful mix of single and double-quoted strings in the terror that is mail.php) 2010-10-04 15:29:30 -07:00
Brion Vibber
d6b3d7fb1a Fix unescaped dollar signs in double-quoted strings due to localization updates (%1$s etc) 2010-10-04 14:24:04 -07:00
Brion Vibber
ad7623a87f Add a $config['plugins']['locale_path'] which can be set to override the individual plugins' locale subdirectories.
This will apply to *ALL* plugins in *ALL* languages, so should probably only be used when doing site customization...

You'd probably do:

  $config['site']['locale_path'] = '/srv/awesome/data/locale';
  $config['plugins']['locale_path'] = '/srv/awesome/data/locale';

with a structure like:
srv/
  awesome/
    data/
      locale/
        en/
          LC_MESSAGES/
            statusnet.po
            OpenID.po
            AnonymousFave.po

etc, all alongside each other. You could separate plugins from the core if you like.

Where locale files have not already been generated, you can build one for a plugin like so:

  php scripts/update_po_templates.php --plugin=MyPlugin

and pull out the template file:

  plugins/MyPlugin/locale/MyPlugin.pot

Edit that (make sure you at least set the CHARSET, probably to UTF-8) and save your customized .po
files into the structure as above, and use msgfmt to generate .mo files for final output.
2010-09-30 19:23:42 -07:00
Brion Vibber
6e58a926e3 ForceGroup plugin: optionally force new users to join a particular group or set of groups on registration; and/or to force posts by members of particular groups to be posted into those groups even if not explicitly mentioned. The posting feature requires a couple quick hook additions in core. 2010-09-30 18:05:44 -07:00
Zach Copley
8a28d9cc4d Merge branch 'anon-fave-plugin' 2010-09-30 13:57:39 -07:00
Brion Vibber
20f2167425 Merge branch 'master' of gitorious.org:statusnet/mainline into feedfix 2010-09-30 11:31:29 -07:00
Brion Vibber
1acc7d66c6 Always specify UTF-8 targt charset for html_entity_decode(); default is 8-bit ISO-8859-1 which causes things to break when we later pass them through things that expect to work with UTF-8. For instance, running through preg_replace() with the /u option results in NULL, leading to problems with OStatus and SubMirror generating their plaintext versions and doing length-cropping. 2010-09-30 11:29:31 -07:00
Zach Copley
0ac333ec80 Add Start/EndFavorNoticeForm and Start/EndDisFavorNoticeForm hooks 2010-09-29 16:35:14 -07:00
Zach Copley
331502a979 Add Start/EndShowNoticeInfo events 2010-09-29 16:35:13 -07:00
Zach Copley
21759c3132 New eventsi: Start/EndShowNoticeOptions and Start/EndShowFaveForm 2010-09-29 16:35:12 -07:00
Evan Prodromou
d2ef0cf233 add hooks to the feedlist widget to give fine-grained control over feed links 2010-09-29 19:23:46 +02:00
Siebrand Mazeland
b9177f5e2e * i18n/L10n and translator documentation updates.
* whitespace and indentation updates
2010-09-29 00:39:45 +02:00
Siebrand Mazeland
2d08750c47 Localisation updates from http://translatewiki.net
* add support for Hungarian (hu)
2010-09-28 01:02:08 +02:00
Zach Copley
84331ca7bd Fix for ticket 2756 - Calls to OAuth endpoints are redirected to the
login page when a site is in private mode
2010-09-22 23:33:06 +00:00
Evan Prodromou
b5cfcba471 Merge branch '0.9.x' into activityexport
Conflicts:
	plugins/OStatus/OStatusPlugin.php
2010-09-22 10:45:34 -04:00
Brion Vibber
42dd460d3b Merge branch 'master' into 0.9.x 2010-09-21 12:48:16 -07:00
Brion Vibber
1bc45e191d Merge branch 'twitter-avatar' 2010-09-21 12:46:16 -07:00
Brion Vibber
94de78fa0f Workaround for #2485: in profile output on feeds, fall back to the Twitter 73x73 avatar instead of going straight to the 96x96 default image on twitter-import profiles. 2010-09-21 12:38:04 -07:00
Evan Prodromou
28fdc733a7 change the location and title of the feeds section 2010-09-21 14:09:46 -04:00
Brion Vibber
aef42e2f65 Don't spew a notice warning to output while processing logging for PEAR DB errors 2010-09-20 16:52:22 -07:00
Brion Vibber
24bb6feba7 Clean up notice spew from accessing member variables of null when opening the add/edit oauth application form 2010-09-20 16:39:51 -07:00
Brion Vibber
64cdbe6c55 Ticket #2750: fixes to HTTP caching behavior across login/logout boundaries
* now ignoring if-modified-since if we failed an etag if-none-match comparison, per spec
* now including a hash of user id/nickname in most etags, so we'll update the view properly after login/logout

For API methods, checking the API-auth'ed user. (Many change results to include things like 'you're subscribed to this user' or 'this is one of your favorites', so user info is again needed)

There'll still be some last-modified stamps that aren't including user info properly, probably.
2010-09-20 13:42:58 -07:00
Brion Vibber
2f38c9c99c Fix bug in db queue manager: when receiving an invalid or deleted notice, we were running it through the 'temporary fail, release it to try again' path instead of the 'done, discard item' path. Should fix some infinite-loop-of-doom-in-queue cases. 2010-09-20 13:19:58 -07:00
Zach Copley
55ad954b15 Basic license admin panel (maybe we can make it fancier later) 2010-09-17 16:38:12 -07:00
Brion Vibber
20a0a4acff Explicitly mark a translator note on the command list help message that the command names must not be translated 2010-09-16 11:05:31 -07:00
Evan Prodromou
670ad53215 Merge branch '0.9.x' into activityexport 2010-09-15 23:31:20 -04:00
Siebrand Mazeland
85154a49d0 Add plural support for minutes/hours/days/months ago.
Reapply of revised b27882c916 that was reverted by Brion Vibber in 2d4c0f9a47.
2010-09-16 00:07:47 +02:00
Brion Vibber
2d4c0f9a47 Revert "Add plural support for minutes/hours/days/months ago." -- currently doesn't work and spews error messages
This reverts commit b27882c916.
2010-09-15 14:10:18 -07:00
Evan Prodromou
1ceb93cce4 move useractivitystream class to its own module 2010-09-15 15:18:01 -04:00
Evan Prodromou
0a5aa95746 flag to leave out author information in activity output 2010-09-15 07:11:50 -04:00
Evan Prodromou
d2877f4c3d change user attribute from private to protected so subclasses can use it 2010-09-15 07:08:28 -04:00
Siebrand Mazeland
c218eb5077 L10n: Fix punctuation. 2010-09-14 22:30:55 +02:00
Evan Prodromou
a2fe29388d Activity::asString() should format numerical not string time 2010-09-13 17:05:02 -04:00
Evan Prodromou
d207f19d22 accept null constructor for ActivityContext 2010-09-13 16:23:10 -04:00
Siebrand Mazeland
39802077a8 * update/add translator documentation
* remove superfluous whitespace
2010-09-13 21:10:55 +02:00
Siebrand Mazeland
8c94ebf537 * update/add translator documentation
* remove superfluous whitespace
2010-09-13 21:10:54 +02:00
Siebrand Mazeland
d6be5be548 Move translator hint to where gettext will actually see it and replace tab by spaces. 2010-09-13 21:10:53 +02:00
Siebrand Mazeland
a590f2cb0f Fix typos in translator comments. 2010-09-13 21:10:53 +02:00
Siebrand Mazeland
6817420e6c Remove trailing whitespace and update comment consistency on methods. 2010-09-13 21:10:52 +02:00
Siebrand Mazeland
b27882c916 Add plural support for minutes/hours/days/months ago. 2010-09-13 21:10:51 +02:00
Siebrand Mazeland
0d1b60b11d Update translator documentation. 2010-09-12 18:34:33 +02:00
Siebrand Mazeland
128607a270 Update translator documentation and add punctuation where missing to exception messages. 2010-09-12 18:24:44 +02:00
Siebrand Mazeland
e88ee4ec46 Fix i18n issue and add translator documentation. 2010-09-12 18:11:28 +02:00
Siebrand Mazeland
8adef3127c Update translator documentation. 2010-09-12 17:49:56 +02:00
Siebrand Mazeland
99f6a70937 * add two FIXMEs for gettext messages not being processed.
* update translator documentation.
2010-09-12 17:44:28 +02:00
Siebrand Mazeland
6b010ac79c Update/add translator documentation. 2010-09-12 17:27:38 +02:00
Siebrand Mazeland
9bc4aaeca3 Update incomplete documentation. 2010-09-12 17:17:43 +02:00
Brion Vibber
cb1d5049b8 Bump version to 0.9.5 2010-09-08 15:35:23 -07:00
Evan Prodromou
e6c84dec19 Pragma was accidentally triggering some underwear-catapult-connected hardware 2010-09-08 15:41:39 -04:00
Evan Prodromou
338aa4bf1d Merge branch 'apinamespace' into 0.9.x 2010-09-07 16:39:43 -04:00
Siebrand Mazeland
f2d6e1e375 Add basic support for Georgian (ka) 2010-09-05 10:45:03 +02:00
Evan Prodromou
6c14235d6c Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-09-02 22:56:18 -04:00
Evan Prodromou
388495f6b1 use etag preferably for caching 2010-09-02 22:26:20 -04:00
Evan Prodromou
c8a69f433c add some caching headers 2010-09-02 22:26:19 -04:00
Evan Prodromou
0c5ca46ba3 combine our standard scripts into one big script 2010-09-02 22:21:07 -04:00
Brion Vibber
e365e709c5 Merge branch 'master' into testing 2010-09-02 14:58:11 -07:00
Brion Vibber
cbcb9b0080 Fixes for Mac metadata files mucking up theme zip files 2010-09-02 14:24:46 -07:00
Brion Vibber
c24458a9f0 Ticket #2638: allow themes to specify a base theme to load with 'include' setting in a theme.ini file 2010-09-02 14:11:52 -07:00
Evan Prodromou
c7d81f2d9d hooks for showing <title> and <h1> elements 2010-09-02 17:10:25 -04:00
Evan Prodromou
7517409bf1 Merge branch 'testing' into 0.9.x 2010-09-02 16:56:52 -04:00
Brion Vibber
11f7fce3bb Fixes for custom theme upload:
* skip more files (.xcf image sources, .html docs)
* skip files before rejecting them for funky filenames!
* allow period in filenames (eg foo-1.4.ttf) but blacklist some unsafe extensions-within-extensions
2010-09-02 12:11:45 -07:00
Brion Vibber
4cbbfdab84 Fix for #2635: use ssl-sometimes settings for Twitter settings & auth pages 2010-09-02 10:55:26 -07:00
Siebrand Mazeland
f64fff379c * when using multiple parameters, number them
* fix double space to single space
* use consistent punctuation in messages
* complete translation hints for all commands
* add an i18n fixme for missing plural support
* trailing whitespace removed
2010-08-28 16:51:49 +02:00
Siebrand Mazeland
2eb894e535 Document UI text and number parameters. 2010-08-28 16:28:23 +02:00
Brion Vibber
a68c10280f Merge branch 'master' into 0.9.x 2010-08-16 16:56:15 -07:00
Brion Vibber
b2a5e0d09b StatusNet 0.9.4 "Orange Crush" 2010-08-16 10:09:33 -07:00
Brenda Wallace
7f9ab683b2 fixed a %d that should be a %s in an error message 2010-08-16 10:03:58 -07:00
Brenda Wallace
e687862ca1 fixed a %d that should be a %s in an error message 2010-08-16 13:26:27 +12:00
Evan Prodromou
9b7536351b hide the Whats Up Nickname if notice title enabled 2010-08-13 12:22:58 -07:00
Evan Prodromou
ed8d8eb5ee hooks to allow changing RSS content 2010-08-13 11:44:26 -07:00
Brion Vibber
f7d599f8ea Fix for ticket 2513: "Can't linkify" error when some links are shortened
When bogus SSL sites etc were hit through a shortening redirect, sometimes link resolution kinda blew up and the user would get a "Can't linkify" error, aborting their post.
Now catching this case and just passing through the URL without attempting to resolve it. Could benefit from an overall scrubbing of the freaky link/attachment code though...! :)

http://status.net/open-source/issues/2513
2010-08-12 15:25:32 -07:00
Brion Vibber
111fc33e1a Output "web" instead of gettext translation file metadata when notice.source is empty 2010-08-11 18:53:34 -07:00
Brion Vibber
d15a41c96e 0.9.4beta2 update some notes in README, note the fix from beta1 2010-08-11 10:32:52 -07:00
Siebrand Mazeland
db46d73a5f Add dummy support for Esperanto. 2010-08-11 12:46:54 +02:00
Brion Vibber
19e6b84050 StatusNet_network staticGet lookup fix 2010-08-10 17:22:26 -07:00
Brion Vibber
5c210f724a update version for 0.9.4beta1 2010-08-10 16:28:33 -07:00
Brion Vibber
08fc6053ec Fix for regression with OStatus mention processing (duplicated new and old style lead to trying to save a reply entry twice). 2010-08-10 13:49:11 -07:00
Brion Vibber
6a2659ed67 Workaround for index setup on SubMirror until I'm done w/ arbitrary index support for Schema setup. 2010-08-10 11:45:34 -07:00
Siebrand Mazeland
09dee24cbe Add two i18n related FIXMEs. 2010-08-08 21:13:21 +02:00
Brion Vibber
ebd2fc2f7c Partial fix for ticket #2489 -- problems with SNI SSL virtual host certificate validation.
Two prongs here:
* We attempt to enable SNI on the SSL stream context with the appropriate hostname... This requires PHP 5.3.2 and OpenSSL that supports the TLS extensions. Unfortunately this doesn't seem to be working in my testing.
* If set $config['http']['curl'] = true, we'll use the CURL backend if available. In my testing on Ubuntu 10.04, this works. No guarantees on other systems.

I'm not enabling CURL mode by default just yet; want to make sure there's no other surprises.
2010-08-06 10:14:07 -07:00
Brion Vibber
433c43c999 Merge branch 'testing' into 0.9.x 2010-08-05 11:02:53 -07:00
Brion Vibber
77a96e3d7c Merge branch 'master' into testing 2010-08-05 10:56:49 -07:00
Zach Copley
fd530a892f Fix for source attribution on notices; it was displaying the code instead of the source name sometimes. 2010-08-04 12:31:31 -07:00
James Walker
eaef724c49 urgh. typo 2010-08-02 14:24:50 -04:00
James Walker
e603632f13 add support for Salmon's new "mentioned" rel value 2010-08-02 14:06:14 -04:00
Brion Vibber
a1aea74fe2 Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 0.9.x 2010-08-02 09:43:58 -07:00
Siebrand Mazeland
44d01f70a6 Localisation updates from http://translatewiki.net
* add support for Danish
2010-07-31 23:59:22 +02:00
Brion Vibber
1bb18e9bab Merge branch '2471' into 0.9.x 2010-07-30 17:52:12 -07:00
Brion Vibber
0caebc9308 Fix for ticket #2471: install.php returns unsuccessfully but doesn't display error message if PHP < 5.2.6 is used
http://status.net/open-source/issues/2471

Old bit of code didn't get updated for new installer
2010-07-30 13:16:47 -07:00
James Walker
47f19988d1 allow schema to work on more than one connection (namely, the Status_network DB) 2010-07-29 21:04:28 -04:00
James Walker
c2a26ba653 removing redundant constructor 2010-07-29 21:03:48 -04:00
Zach Copley
fb2e00eacc Merge branch 'master' into 0.9.x
Conflicts:
	classes/Notice.php
2010-07-29 20:44:11 +00:00
Zach Copley
0faa988e91 Fix for issue ID 2290: make sure errors are returned in the right
format, and use callback for errors when the request is JSONP
2010-07-29 20:31:22 +00:00
Evan Prodromou
e10621a52a Merge branch 'testing' of gitorious.org:statusnet/mainline into testing 2010-07-28 17:51:07 -04:00
Evan Prodromou
a01bc6b575 Merge branch 'googleadsadminpanel' into testing 2010-07-28 17:50:49 -04:00
Brion Vibber
ab2c3686b7 Merge branch 'testing' into 0.9.x 2010-07-28 11:59:42 -07:00
Evan Prodromou
dbb5e9e191 accept mailto: URIs as OStatus identifiers 2010-07-22 16:00:26 -07:00
Zach Copley
65862d8f7f Suppress HTTP error headers for JSONP API output 2010-07-16 14:40:22 -07:00
Evan Prodromou
453a06fff4 Exceptions are caught and continued on JSON, XML, Atom and RSS output in API 2010-07-13 11:11:29 -04:00
Evan Prodromou
1044f27e47 handle missing profile for notices better in Rss10Action 2010-07-13 10:59:15 -04:00
Evan Prodromou
d706a3e21b handle missing profile for notices better in NoticeList 2010-07-13 10:59:01 -04:00
Evan Prodromou
6968c96b44 log exceptions in atom feeds, but don't let them kill the output 2010-07-13 10:53:47 -04:00
Evan Prodromou
dfd65a4290 push exception on missing profile down to Notice::getProfile() 2010-07-13 10:51:25 -04:00
Evan Prodromou
ab149755b6 handle notices without profiles better in RSS output 2010-07-13 10:42:06 -04:00
Brion Vibber
1b3b7f9a42 Ticket 2427: fix regression in plugin i18n 2010-07-12 10:27:23 -07:00
Brion Vibber
974c4df029 Ticket 2433: Skip locale fallback list check on Windows ('locale -a' shell-out doesn't work there) 2010-07-12 09:56:32 -07:00
Zach Copley
923d9ef71c - Fix bugs with block and friendship API methods
- Friendship API methods now use a Profile instead of User for target
2010-06-28 16:54:39 -07:00
Brion Vibber
c9863bb864 Update version and code name: 0.9.3 Half a World Away 2010-06-28 15:08:01 -04:00
Brion Vibber
b2ad8ec571 Fix for PHP notice when given an integer degrees in decimalDegreesToDMS(); using math instead of string manipulation to split integer portion from decimal remainder. 2010-06-28 14:41:33 -04:00
Brion Vibber
53f14ddde6 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-06-28 13:39:52 -04:00
Brion Vibber
9c7b66984c 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.
2010-06-28 08:59:47 -07:00
Brion Vibber
c6b1e25d17 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-06-26 15:09:30 -04:00
Brion Vibber
ef7e85c0ab Merge branch 'master' of gitorious.org:statusnet/mainline into testing 2010-06-26 15:09:08 -04:00
Brion Vibber
f0c5e7eca3 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.
2010-06-26 15:07:32 -04:00
Brion Vibber
696e4ba393 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	plugins/OpenID/openidserver.php (cleaned up mismatched comment)
2010-06-26 10:17:36 -04:00
Brion Vibber
d9e56e15cc Merge branch 'master' into testing 2010-06-26 10:16:27 -04:00
Zach Copley
9eb5a976b0 Have API methods for search subclass ApiPrivateAuthAction 2010-06-24 18:11:50 -07:00
Zach Copley
1eec7f779f - Add profile_info tag to Atom author
- Normalize xmlns:statusnet links in the API
2010-06-22 16:28:06 -07:00
Siebrand Mazeland
87125a1395 Improve error message per discussion on http://translatewiki.net/wiki/Thread:Support/Unclear_message.
Spotted by Peter17 and changed per suggestion of McDutchie with approval of Brion.
2010-06-21 20:15:26 +02:00
Zach Copley
a6ce4eef0d Fix problem with AvatarLink in which it was sometimes leaving the width attribute empty 2010-06-16 18:27:51 -07:00
Zach Copley
d3d499879c - More useful group info from api/statusnet/group/show
- Add statusnet:group_info tag to group Atom feeds
2010-06-16 14:29:24 -07:00
Brion Vibber
d65d982681 Merge branch 'master' into testing 2010-06-16 12:37:14 -07:00
Evan Prodromou
327ed5b87e fix URL regex for tags to use UTF-8 2010-06-14 15:51:49 -04:00
Brion Vibber
a1b25b46bc Merge branch 'master' into testing 2010-06-14 10:53:22 -07:00
Brion Vibber
3da8914edb Fix for DB error reporting in installer (MySQL path) 2010-06-11 12:38:22 -07:00
Brion Vibber
7f3b3620af Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-06-11 12:05:53 -07:00
Brion Vibber
47665e845a Merge branch 'testing' of gitorious.org:statusnet/mainline into testing 2010-06-11 12:04:03 -07:00
Brion Vibber
ec15546476 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!
2010-06-11 11:52:06 -07:00
Brenda Wallace
e121d472e7 Revert "added notice.location to group by"
This reverts commit 48dc899acb.
2010-06-09 16:30:50 +12:00
Brion Vibber
054ac909bf Merge branch 'integration' into testing 2010-06-07 18:19:12 -07:00
Brion Vibber
09208f8d65 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';
2010-06-07 18:14:16 -07:00
Brion Vibber
5a96b9e805 Merge branch 'master' of gitorious.org:statusnet/mainline into testing 2010-06-07 10:34:00 -07:00
Brion Vibber
d88b208edc Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	plugins/OpenID/openid.php
2010-06-07 10:19:40 -07:00
Brion Vibber
8b9436e8ae Option to divert PuSH items directly to the target site's queue when local 2010-06-03 18:06:55 -07:00
Brion Vibber
5f4c6ec626 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.
2010-06-03 16:58:45 -07:00
Brion Vibber
791b98046d Stomp blocking writes fix 2010-06-03 16:09:47 -07:00
Evan Prodromou
135b398d4b Merge branch 'master' of gitorious.org:statusnet/mainline 2010-06-03 14:50:52 -04:00
Brion Vibber
9bb48c36ea Installer tweak to aid with IIS setup: if config.php exists, but is both empty and writable, let the installer proceed and overwrite it. 2010-06-03 10:13:28 -07:00
Evan Prodromou
a5de215267 Merge branch 'master' of gitorious.org:statusnet/mainline 2010-06-01 13:51:41 -07:00
Brion Vibber
f4539b52ad 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'.) 2010-05-28 16:03:09 -07:00
Craig Andrews
6317f7d92b Assigning my copyrights to the Free Software Foundation 2010-05-27 18:27:33 -04:00
Brion Vibber
696aeea113 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	lib/language.php
	plugins/OpenID/finishaddopenid.php
2010-05-27 14:57:32 -07:00
Brion Vibber
2b318a3420 Merge branch 'master' of gitorious.org:statusnet/mainline 2010-05-27 14:22:24 -07:00
Brion Vibber
697a9948df Ticket #2329: fix for use of _m() translation functions from outside of plugin directories 2010-05-27 14:18:08 -07:00
Zach Copley
c5b61078e1 Pass auth user into Atom feed generators (needed for outputting favorited status in statusnet:notice_info tag) 2010-05-27 13:49:23 -07:00
Brion Vibber
2062298755 Add $config['queue']['stomp_enqueue_to'] override for which queue server to send to.
Must be set to a value that matches one of the entries in $config['queue']['stomp_server'] array, otherwise ignored.
2010-05-21 14:07:59 -07:00
Evan Prodromou
6d8e01ad13 Merge branch 'master' of gitorious.org:statusnet/mainline 2010-05-21 16:47:57 -04:00
Brion Vibber
6eae5d6a7e Merge branch 'testing' into 0.9.x 2010-05-21 13:15:08 -07:00
Brion Vibber
2c12d837c6 Disable SSL peer/hostname verification for HTTPClient unless we've configured a trusted CA bundle like this: $config['http']['ssl_cafile'] = '/usr/lib/ssl/certs/ca-certificates.crt';
The previous state was failing on all HTTPS hits due to HTTP_Request2 library turning on the validation check but not specifying a CA file.
2010-05-21 10:12:39 -07:00
Brion Vibber
68305d4b68 Added block link to subscription notification emails; block action can now take a profile ID on the URL; added profile details to block page so there's an indication of who you're blocking before you pull the trigger.
Fixed typo in RedirectingAction when no return-to data provided in form submission.
RedirectingAction::returnToArgs() has been renamed to returnToPrevious() to avoid conflict with Action::returnToArgs() which returns arguments to be passed to other actions as return-to arguments. All callers should now be updated.
More profile settings actions will now redirect through a login form if visited as a GET request, as would be expected from a bookmark, link sent in e-mail etc.
2010-05-20 14:24:44 -07:00
Brion Vibber
708d22848e Quick fix for creating OpenID accounts authenticating against a MediaWiki site; trim the 'User:' etc from the final path segment before generating a nickname from it. Avoids ending up with nicks like 'userbrion' on your first OpenID login! 2010-05-19 16:19:06 -07:00
Brion Vibber
7005ef6661 Merge branch 'testing' into 0.9.x
Conflicts:
	plugins/OpenID/openidlogin.php
2010-05-19 12:51:25 -07: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
Zach Copley
5ea019c41a Remove errant double HTML entity encoding in API source attribution 2010-05-18 15:16:23 -07:00
Zach Copley
3708341857 Allow OStatusPlugin to set the source attribution title 2010-05-18 15:16:13 -07:00
Zach Copley
6187266205 - OStatusPlugin should return true if it doesn't need to handle source
attribution
- Remove stray break statement from NoticeList
2010-05-18 15:16:03 -07:00
Zach Copley
0dfef88cac HTML entity encode source link URLs in plain XML output and add rel="nofollow" to them 2010-05-18 15:15:52 -07:00
Zach Copley
c78f67aa73 Refactor and centralize notice source link calculation 2010-05-18 15:15:27 -07:00
Zach Copley
d9fddff539 Add xmlns:statusnet and statusnet:notice_info element to Atom entries for notices 2010-05-18 15:15:14 -07:00
Brenda Wallace
48dc899acb added notice.location to group by 2010-05-17 14:17:49 +12:00
Brenda Wallace
6f19830c9a fix the column modify on stuff for postgres. change serial to bigserial 2010-05-17 13:50:37 +12:00
Brenda Wallace
9bb18541df added missing field to the group by. this makes postgres happy 2010-05-15 15:33:55 +12:00
Brenda Wallace
7bd6b62461 comment out the extra bit, cos there's always mysql-only stuff in therre.
this isn't a very good idea
2010-05-15 15:32:22 +12:00
Brenda Wallace
a467c0ebba caitalise the sql keywords 2010-05-15 15:31:54 +12:00
Brenda Wallace
191752138a indexes now working in postgres schemas 2010-05-15 15:14:11 +12:00
Brenda Wallace
7cf250ff18 removed sneaky debug echo that shouldn't be there 2010-05-15 15:08:22 +12:00
Brenda Wallace
599942f58a sorted enums and auto_increments on postgres.
Still needs inline indexes on table creation
2010-05-15 14:56:40 +12:00
Brion Vibber
065ecc5573 Merge branch 'testing' into 0.9.x 2010-05-14 12:14:02 -07:00
Brion Vibber
3d00cfd47f Windows server fix: Use platform EOL in debug log file 2010-05-11 12:22:14 -07:00
Brion Vibber
45392bef33 Installer tweak for Windows: normalize line endings to platform standard in generated config.php
Added a comment that the writable directory checks are insufficient to catch ACL problems on Windows; need a better check for that.
2010-05-11 12:16:13 -07:00
Zach Copley
fba140f4e0 Fix for repeats from the API having null source attribution 2010-05-08 00:07:42 +00:00
Zach Copley
3c9686e80f Fix for repeats from the API having null source attribution 2010-05-07 16:32:24 -07:00
Zach Copley
869bc32d0d Remove errant double HTML entity encoding in API source attribution 2010-05-06 21:48:12 +00:00
Zach Copley
ee8c9d1422 Allow OStatusPlugin to set the source attribution title 2010-05-06 21:48:12 +00:00
Zach Copley
ce177400f8 - OStatusPlugin should return true if it doesn't need to handle source
attribution
- Remove stray break statement from NoticeList
2010-05-06 21:48:12 +00:00
Zach Copley
209fd12cd0 HTML entity encode source link URLs in plain XML output and add rel="nofollow" to them 2010-05-06 21:48:12 +00:00
Zach Copley
22fde00def Refactor and centralize notice source link calculation 2010-05-06 21:48:11 +00:00
Zach Copley
b547079b28 Add xmlns:statusnet and statusnet:notice_info element to Atom entries for notices 2010-05-06 21:48:11 +00:00
Brion Vibber
e05415f621 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	locale/ca/LC_MESSAGES/statusnet.po
	locale/de/LC_MESSAGES/statusnet.po
	locale/statusnet.pot
2010-05-05 17:07:50 -07:00
Brion Vibber
c2bda7726c XMPP debugging: log the message source when discarding empty or unrecognized messages. 2010-05-05 13:11:36 -07:00
Brion Vibber
bb94b78e89 Handle timeout more gracefully in background pings
Added a 2-second default timeout for XMLRPC/extended pings, configurable as [ping,timeout].
No longer repeating the entire ping section if we had an HTTP error during a submission.
For now, dropping the bad item and continuing on with others. (Todo: individual retry and cleaner discards of blacklisted broken-for-now sites.)
2010-05-04 18:43:32 -07:00
Craig Andrews
4fe00a3075 When handling incoming mail, skip everything after a blank line if we already have content 2010-05-03 23:02:25 -04:00
Evan Prodromou
3f2c805652 Merge branch 'master' of gitorious.org:statusnet/mainline 2010-04-30 15:00:55 -04:00
Brion Vibber
f888336718 Merge branch 'testing' into 0.9.x 2010-04-29 16:10:16 -07:00
Brion Vibber
ecfe6b8944 Update codename in common.php 2010-04-29 16:08:20 -07:00
Zachary Copley
a5761dd814 Update release notes and version number for 0.9.2 2010-04-29 16:06:04 -07:00
Brion Vibber
2260d6ec7c Merge branch 'testing' into 0.9.x
Conflicts:
	index.php
2010-04-29 15:14:51 -07:00
Brion Vibber
50d5f5e04c Merge branch 'master' into testing 2010-04-29 15:12:02 -07:00
Brion Vibber
cb5d6d5c30 Fix charset setting for plugin localizations; default setting was blanking out non-ASCII chars. Needed for eg Bulgarian translation of Facebook plugin, was previously showing all as ???s. Now works yay! 2010-04-28 23:06:08 +00:00
Evan Prodromou
50bfa21814 Merge branch 'master' of gitorious.org:statusnet/mainline 2010-04-26 02:53:24 -04:00
Evan Prodromou
93e76f3b83 use statusnet_ as namespace prefix for JSON 2010-04-24 12:14:12 -04:00
Brion Vibber
8fd0059bf6 Test cases and fixes for Atom and RSS content decoding.
Fix extraction of Atom <content type="text"> and <content type="html">; we were failing to escape plaintext source data to HTML, and doing an extraneous double-deescape on HTML source resulting in breakage of notices containing text that looks like HTML. Only <content type="xhtml"> was working correctly previously.
Fixes for RSS2 content processing: we were failing to load <content:encoded> at all due to using wrong element name, and were applying an extraneous de-escape for <description> rather than the escaping that is required to turn plaintext into HTML. (Per spec, <description> must be plaintext.)
2010-04-23 15:40:48 -07:00
Zach Copley
f852a1931b Add docs for public_timeline 2010-04-22 15:48:58 -07:00
Zach Copley
1b561065b0 Some initial Doxygen-based documentation for the API 2010-04-22 13:11:49 -07:00
Evan Prodromou
beaecb18d5 Add statusnet: prefix for API to JSON and XML output
I added the statusnet: prefix to the xml output. This prefix should
be declared on the root element of all relevant XML output.

I also added two StatusNet-specific fields:

* statusnet:html - rendered HTML. Clients shouldn't have to guess
  at the correct HTML rendering for notices, especially since some
  of the links depend on context.
* statusnet:profile_url - profile URL for a user. You can't count
  on a user being a local user in a distributed microblogging world.
  So, this shows the explicit profile_url.
2010-04-22 08:49:33 -07:00
Craig Andrews
c78a10b476 add 'always' parameter to common_shorten_links 2010-04-21 17:14:25 -04:00
Brion Vibber
1d94b08efc Revert "Update release notes and version number for 0.9.2"
This reverts commit 98f0d970da.

Per xopher we're not yet ready to push 0.9.2 theme directories live; we also haven't merged down various things from testing that need to be in the release such as installer fixes.
2010-04-21 16:24:15 +02:00
Zachary Copley
98f0d970da Update release notes and version number for 0.9.2 2010-04-20 15:01:23 -07:00
Brion Vibber
df41287226 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x 2010-04-20 13:52:58 +02:00
Brion Vibber
61098faf5d Merge branch 'master' of gitorious.org:statusnet/mainline into testing 2010-04-20 13:52:18 +02:00
Brion Vibber
c48caa85e1 Fix email notifications for @-replies that come via OStatus.
* Moved notification sending from Notice::saveReplies to distrib queue handler, so it'll pull from the reply set we've saved regardless of how we got it.
* Set up gettext infrastructure for command-line scripts; gets localization mail notifications etc working from background queues.
* Adjusted locale switching: common_switch_locale() works at runtime for bg scripts, forces a message catalog update
2010-04-20 13:49:29 +02:00
Brion Vibber
32918bb7c1 Test for and use mysqli in installer, since that's what we use later, rather than mysql. 2010-04-19 20:57:12 +02:00
Brion Vibber
fee6b78e28 Merge branch 'testing' into 0.9.x 2010-04-19 18:47:56 +02:00
Brion Vibber
369885f04f Merge branch 'master' into testing 2010-04-19 18:47:11 +02:00
Brion Vibber
e547a2f54c Fix ticket #2289: registration links were showing in top nav bar, login page message when site set to invite-only or closed registration, when the 'register' action can't be used. 2010-04-19 18:45:50 +02:00
Craig Andrews
ffd688b8ef json_encode strings put out as javascript 2010-04-17 14:36:11 -04:00
Craig Andrews
1081b06bbe Allow cross-site ajax with CORS.
Only allows un-credentialed (as in, no cookies or basic auth), no custom headers, and get (no post, put, delete, etc) requests.
2010-04-15 12:52:59 -04:00
Brion Vibber
f789928942 Merge branch 'testing' into 0.9.x 2010-04-14 11:15:48 +02:00
Brion Vibber
9463287710 showplugins.php: dump list of activated plugins and their settings on this site 2010-04-12 11:50:42 -07:00
Brion Vibber
a05e674843 showplugins.php: dump list of activated plugins and their settings on this site 2010-04-12 11:49:59 -07:00
Siebrand Mazeland
c59e90b20b Number parameters 2010-04-11 23:57:18 +02:00
Siebrand Mazeland
8795b3546d Add translator documentation and number parameters if multiple are used in a message. 2010-04-11 23:39:24 +02:00
Siebrand Mazeland
ec0fee0f2a Add translator documentation and FIXMEs that plural support should be added for some messages. 2010-04-11 22:15:41 +02:00
Brion Vibber
7fada4ddcc Fix syntax errors that snuck in while documenting translations 2010-04-10 19:38:58 -07:00
Brion Vibber
1eeb23e1e3 Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	actions/confirmaddress.php
2010-04-10 17:56:11 -07:00
Brion Vibber
edd883d3b0 Merge branch 'master' of gitorious.org:statusnet/mainline into testing 2010-04-10 17:54:37 -07:00
Siebrand Mazeland
9b788471d4 Add translator documentation. 2010-04-10 22:50:15 +02:00
Siebrand Mazeland
204cf0b96b Add translator documentation
* approved message had not been i18n-ed
* also had to i18n 'read-only' and 'read-write'
2010-04-10 22:49:33 +02:00
Siebrand Mazeland
1661be6851 i18n for low level logging is not needed. 2010-04-10 21:59:17 +02:00
Siebrand Mazeland
ddc116cffe Add translator documentation for a few files
* added a few XXX (that's StatusNet for FIXME, right?)
** proposing de-duplication of a message appearing ~50 times
** marking bad pagination implementation
* moved the TRANS: comments in action.php down to exactly before the line in which the message appears. Otherwise gettext does not put them in the pot file
* fixed a XXX in action.php removing double spaces
2010-04-10 21:12:14 +02:00
Evan Prodromou
5d96cf2eec catch UserNoProfileException and continue 2010-04-10 11:36:23 -04:00
Siebrand Mazeland
86a3016a6f Document messages for which clarification was requested.
Because N/S/E/W were on the same lines, and the "// TRANS:" comment must be directly above the line in which the message is located to work, I added the messages to a variable first.
2010-04-10 01:49:25 +02:00
Siebrand Mazeland
518832da28 Document messages for which clarification was requested. 2010-04-10 01:48:16 +02:00
Brion Vibber
6fb60fb57f Fix for conversation check in @-reply notification email; i18n cleanup on mail messages: fixed some bad gettext usage, added trans doc comments. 2010-04-09 12:02:11 -07:00
Brion Vibber
d00942cce1 Fix for conversation check in @-reply notification email; i18n cleanup on mail messages: fixed some bad gettext usage, added trans doc comments. 2010-04-09 11:56:27 -07:00
Brion Vibber
41062d387f Fix localization for license notice in page footer (for ticket #2274: i18n cleanup) 2010-04-09 08:58:14 -07:00
Brion Vibber
4a028d5e35 Fix localization for license notice in page footer (for ticket #2274: i18n cleanup) 2010-04-09 08:58:00 -07:00
Brion Vibber
a5cfc3954f Fix localization for license notice in page footer (for ticket #2274: i18n cleanup) 2010-04-09 08:56:43 -07:00
Brion Vibber
1f8451f4aa Merge branch 'testing' into 0.9.x 2010-04-09 08:40:15 -07:00
Brion Vibber
5dbaaed4e6 Maintain 'page' parameter for block from subscribers list, block & make-admin from group members list.
Refactored some of the returnto handling code. It looks like we have several different ways of handling this in the software, icky!
Marked the session-based functions with fixmes (they'll stomp on other forms when multiple tabs/windows are used) and combined some commonish bits of code between ProfileFormAction and the group block & makeadmin actions where they're using hidden form parameters. Extended that to allow passing dynamic parameters (eg 'page') as well as static ones (action, target user/group).
2010-04-08 19:06:55 -07:00
Brion Vibber
6274c3977d In single-user mode, link #hashtags to the user's tagged stream rather than the global tag action, which isn't registered.
Previously they would end up pointing to the home URL.
2010-04-08 17:06:25 -07:00
Brion Vibber
0e0927985c Revert "scripts/strip_geo.php to remove geodata from notices by a given user/profile."
This reverts commit ab20e75ff8.

Accidentally removed another commit; clearing up...
2010-04-08 17:04:10 -07:00
Brion Vibber
ab20e75ff8 scripts/strip_geo.php to remove geodata from notices by a given user/profile.
May be slow or run out of memory if run on particularly prolific posters -- not yet optimized for that case.

Note that geodata that has already been sent out to other services (via ostatus, omb, twitter, etc) will not be removed from them.
2010-04-08 16:58:54 -07:00
Siebrand Mazeland
cb38163e8d Update supported languages:
* fix name for Irish/ga
* add Galician/gl
2010-04-09 01:16:41 +02:00
Brion Vibber
88678eadfa In single-user mode, link #hashtags to the user's tagged stream rather than the global tag action, which isn't registered.
Previously they would end up pointing to the home URL.
2010-04-08 13:12:14 -07:00
Brion Vibber
f255b368ed Refactor installer into base class plus web and CLI installers.
scripts/install_cli.php is a bit experimental at present but works.
2010-04-07 17:47:08 -07:00
Siebrand Mazeland
ae139c4ddf Localisation updates for !StatusNet from !translatewiki.net !sntrans
* add Afrikaans

Signed-off-by: Siebrand Mazeland <s.mazeland@xs4all.nl>
2010-04-07 01:14:31 +02:00
Brion Vibber
5dc169260d Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-04-06 15:22:23 -07:00
Brion Vibber
b71f276ed5 Merge branch 'master' into testing 2010-04-05 10:42:41 -07:00
Evan Prodromou
98905de69d make profilelist homepage link attributes overrideable 2010-04-05 11:17:06 -04:00
Evan Prodromou
0b30230b5a Merge branch 'nofollow' 2010-04-05 11:04:47 -04:00
Evan Prodromou
2e51d33145 override linkAttributes() method for subscribersminilist 2010-04-05 10:46:55 -04:00
Evan Prodromou
dd053aa349 override linkAttributes() method for profileminilist 2010-04-05 10:46:38 -04:00
Evan Prodromou
19401f6530 add linkAttributes() method for profilelist 2010-04-05 10:46:26 -04:00
Evan Prodromou
a313aeab9c lib/default.php has nofollow group 2010-04-05 10:24:22 -04:00
Evan Prodromou
7fb8d0c471 breakout subscribers minilist 2010-04-05 10:22:54 -04:00
Evan Prodromou
8d335f0c86 balance brackets on profileminilist 2010-04-05 10:14:45 -04:00
Evan Prodromou
5414096c44 add an event for subscribers minilist 2010-04-05 10:12:40 -04:00
Brion Vibber
e4d934827b Merge branch 'testing' into 0.9.x 2010-04-02 15:48:39 -07:00
Brion Vibber
6cd0637e55 Ticket 2271: extra whitespace in underlined link for username in notice lists
Switching to a raw() output for the <span> of the nickname removes the extra whitespace and fixes display.
2010-04-02 09:34:42 -07:00
Brion Vibber
b10ff031d9 Ticket 2271: extra whitespace in underlined link for username in notice lists
Switching to a raw() output for the <span> of the nickname removes the extra whitespace and fixes display.
2010-04-02 09:32:03 -07:00
Evan Prodromou
ac9fda4bc0 ProfileMiniListItem does same events as ProfileListItem 2010-04-01 15:53:17 -04:00
Brion Vibber
df9eb4164a Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-31 12:48:24 -07:00
Sarven Capadisli
89bb053116 Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-31 11:00:22 +02:00
Sarven Capadisli
534c12e540 Revert "Multiple file upload handling."
This reverts commit 260f00d60b.

As mentioned in
260f00d60b (comment_8367)

Reverting this merge until the bugs are fixed and there is a general
agreement on the need for this enhancement.
2010-03-31 10:57:20 +02:00
Brion Vibber
0841fa712e Ticket #1281: JID validation now more or less follows spec instead of calling e-mail validator
Basic splitting/validation code submitted via http://status.net/wiki/XMPP/JID_validation -- Copyright 2009 Patrick Georgi <patrick@georgi-clan.de> Licensed under ISC-L, which is compatible with everything else that keeps the copyright notice intact.

Added PEAR Net_IDNA package to extlib to handle IDN normalization (also used by Validate's email verifier if present).

* added test suite, supplemented my own test cases with JID validation and normalization test cases from libpurple
* follows XMPP rules for validation of name part
* fixes for normalization with non-ASCII names
* will do domain checks if $config['email']['check_domain'] is on, checking for an XMPP-server SRV record or any lookup. (We don't actually need to ping those direct though.)
* some more obscure stringprep validation rules aren't quite followed yet, but we err on the side of permissiveness.
* we still don't actually let you save your address with a resource on it, as we strip resources when looking up users who've sent us presence or message updates. I would recommend saving the outgoing resource as a separate field if/when we add that..?
2010-03-30 17:35:27 -07:00
Brion Vibber
0284e1315c Quick fixes for grouplistall:
* respect count instead of listing all groups
* respect page parameter
* don't spew notice on undefined $id
* don't spew notice on undefined $group->homepage_url (dropped the element since there's nothing to go in it)
2010-03-30 11:45:35 -07:00
Brion Vibber
ca897ef346 Quick fixes for grouplistall:
* respect count instead of listing all groups
* respect page parameter
* don't spew notice on undefined $id
* don't spew notice on undefined $group->homepage_url (dropped the element since there's nothing to go in it)
2010-03-30 11:10:29 -07:00
Brion Vibber
faa14b64ab Tweak to Eugene Crosser's patch to make transactions and acks configurable; disabling them gets basic message delivery working under MorbidQ, and may help with RabbitMQ etc.
I swapped the settings from negative to positive ($config['queue']['stomp_transactions'] = false rather than $config['queue']['stomp_no_transactions'] = true), gave them defaults (both on for best ActiveMQ experience), and added notes to the README about configuring them.
2010-03-29 15:46:41 -07:00
Eugene Crosser
bd1363c17a Make stomp queue manager work with basic servers
Signed-off-by: Eugene Crosser <crosser@average.org>
2010-03-29 15:31:43 -07:00
Brion Vibber
cfeb1bfa41 Merge branch 'testing' into 0.9.x 2010-03-29 15:15:11 -07:00
Brion Vibber
873b832827 Merge branch 'master' into testing
Conflicts:
	plugins/Blacklist/BlacklistPlugin.php
2010-03-29 15:14:25 -07:00
Brion Vibber
a8d92dad5e Renamed HTTPResponse class to StatusNet_HTTPResponse to avoid conflict with PECL HTTP extension.
The class isn't referenced by name by any other code I can see so this should have no side effects.
2010-03-29 15:07:15 -07:00
Brion Vibber
d44e5ac935 Add $config['db']['annotate_queries'] option to include caller ID comments into queries. Comment can then be seen in process list, slow query logs on the server, aiding in tracking down unexpected slow queries.
SELECT /* queuedaemon.php Ostatus_profile->processPost */ * FROM notice WHERE ( notice.uri = 'http://stormcloud.local/mublog2/notice/479' )
INSERT /* POST Notice::saveNew */ INTO notice (profile_id , content ....
2010-03-29 13:14:11 -07:00
Evan Prodromou
f0d905112e Merge branch 'master' into 0.9.x
Conflicts:
	lib/attachmentlist.php
2010-03-28 15:25:02 -04:00
Evan Prodromou
ddc71b6637 update README and version number 2010-03-28 11:39:56 -04:00
Evan Prodromou
29566c5d4b move check for bad IDs from activityobject to activity and make simpler 2010-03-27 22:44:10 -04:00
Nick Holliday
260f00d60b Multiple file upload handling. 2010-03-26 18:28:54 -04:00
Craig Andrews
1bf27de9b9 if there is oembed data for a file/link, consider that link to have an attachment 2010-03-26 18:13:45 -04:00
Zach Copley
60009227f7 Return an http auth error, when a client sends in an invalid auth user, even when http auth is not required. 2010-03-26 19:58:59 +00:00
Zach Copley
b82e55356d Return an http auth error, when a client sends in an invalid auth user, even when http auth is not required. 2010-03-26 19:58:15 +00:00
Zach Copley
379df1ce3e Return an http auth error, when a client sends in an invalid auth user, even when http auth is not required. 2010-03-26 18:51:01 +00:00
Brion Vibber
511a164c99 Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-03-25 14:32:28 -07:00
Brion Vibber
e174a7211d Restore lost addition of inline HTML attachment display. 2010-03-25 14:31:22 -07:00
Evan Prodromou
46655eb3ca version number and codename 2010-03-25 17:25:26 -04:00
Sarven Capadisli
5e79ef58e4 Using hCard label instead of location. Matches userprofile. 2010-03-25 22:20:14 +01:00
Sarven Capadisli
2b3a2e6b6d Updated tag list output in subscriptions list. Matches userprofile. 2010-03-25 22:20:06 +01:00
Sarven Capadisli
41c8048efd Moved print inside base stylesheet using media rules. One less HTTP GET. 2010-03-25 22:19:50 +01:00
Brion Vibber
c11064a539 Updated 'more' anchor for attachments to do an XHR GET
Conflicts:

	lib/attachmentlist.php
	plugins/OStatus/classes/Ostatus_profile.php

Merge tried to delete things that it seems it shouldn't, very confusing order. Hope rest of the cherry-picking isn't a problem.
2010-03-25 14:15:54 -07:00
Sarven Capadisli
3c5586d4bd Using rel=external instead of class=external for jOverlay title link 2010-03-25 21:33:38 +01:00
Sarven Capadisli
53bed00f90 Added rel=external to geo location link 2010-03-25 21:33:26 +01:00
Sarven Capadisli
321093886f Assigned an identifier for the representative user and group profile 2010-03-25 21:32:28 +01:00
Brion Vibber
29a25848de Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-25 13:04:09 -07:00
Evan Prodromou
920acf8d96 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-03-25 13:50:49 -04:00
Brion Vibber
ecb009bcf5 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-24 13:57:20 -07:00
Brion Vibber
a954fd65ba Fix for API group methods, caused failure or output corruption when pulling up local groups by name in api/statusnet/groups/is_member.json/xml 2010-03-24 13:36:57 -07:00
Sarven Capadisli
09ff213d1c Using hCard label instead of location. Matches userprofile. 2010-03-24 20:58:13 +01:00
Sarven Capadisli
e7ae36b52a Updated tag list output in subscriptions list. Matches userprofile. 2010-03-24 20:50:07 +01:00
Sarven Capadisli
647b3a1f6b Moved print inside base stylesheet using media rules. One less HTTP GET. 2010-03-24 14:50:12 +01:00
Craig Andrews
abe4be5438 Use $param instead of hardcoded 'attach' name. 2010-03-23 22:42:30 -04:00
Brion Vibber
7277b59734 Merge branch 'master' of git@gitorious.org:statusnet/mainline into testing 2010-03-23 12:13:32 -07:00
Brion Vibber
16fa03212b Ticket 2188: add a daily average post count to profile statistics sidebar.
When we have more detailed history stats, this'd be a good place to link to details/graphs.
2010-03-23 11:25:36 -07:00
Brion Vibber
44caa3a93f Consistently send Profiles into Fave::addNew() 2010-03-23 11:08:30 -07:00
Brion Vibber
533a3bf6a3 Consistently send Profiles into Fave::addNew() 2010-03-23 11:06:37 -07:00
Brion Vibber
80b16c8499 Don't add PHPSESSID parameter onto notice and conversation URIs if we save a notice during a session override.
This was being triggered by welcomebot messages created at account creation time, then propagated through replies.
2010-03-23 09:56:05 -07:00
Brion Vibber
2d79455a1f Don't add PHPSESSID parameter onto notice and conversation URIs if we save a notice during a session override.
This was being triggered by welcomebot messages created at account creation time, then propagated through replies.
2010-03-23 09:54:24 -07:00
Evan Prodromou
dd115fcb08 change router to allow hooking path connections 2010-03-23 12:33:41 -04:00
Brion Vibber
a5c78a6f1a Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-23 08:21:32 -07:00
Zach Copley
b8e97ac709 Some initial media parsing
- Activity now returns a list of activity objects
- Processing of photo objects
2010-03-22 18:55:17 -07:00
Brion Vibber
26f49de0dd Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	lib/attachmentlist.php
2010-03-22 12:37:45 -07:00
Brion Vibber
4168b9cec1 Log backtraces for non-ClientException exceptions caught at the top-level handler. 2010-03-22 11:33:56 -07:00
Brion Vibber
5697e4edb0 Replace the "give up and dump object" attachment view fallback with a client-side redirect to the target URL, which will at least be useful. 2010-03-22 10:51:01 -07:00
Brion Vibber
7aee7670c7 Replace the "give up and dump object" attachment view fallback with a client-side redirect to the target URL, which will at least be useful. 2010-03-22 10:35:54 -07:00
Brion Vibber
be7efe7504 Merge branch 'testing' into 0.9.x 2010-03-21 16:28:56 -07:00
Brion Vibber
fcb614d0eb Pull <atom:author> info as well as <activity:actor> when we have an old-style ActivityStreams feed. This fixes subscription setup for Cliqset feeds, which currently have a bogus activity:actor/atom:id but a good atom:author/atom:uri 2010-03-21 16:25:12 -07:00
Evan Prodromou
97bd7e22da correct creation of avatar links for RSS and Posterous elements 2010-03-20 17:18:24 -05:00
Evan Prodromou
11a86d046e move atom category to its own file, too 2010-03-20 16:55:36 -05:00
Evan Prodromou
323ff31fbd special-case Posterous author element for activity actor 2010-03-20 16:53:30 -05:00
Evan Prodromou
e458e9fe63 Merge branch 'testing' into 0.9.x
Conflicts:
	lib/activity.php
2010-03-20 16:11:42 -05:00
Evan Prodromou
99454be38c Move activity classes to their own files
Moved the various classes used by the Activity class to their own
files. There were >10 classes in the same file, with around 1500 lines
in the file. Just too big.

This change makes autoloading work for these classes, so also removed
the hard require in lib/common.php.
2010-03-20 16:06:22 -05:00
Craig Andrews
aa6e198c12 Remove deprecated call-time pass-by-reference 2010-03-20 12:04:46 -04:00
Evan Prodromou
2fc0f0433e allow html content in summary and clean it out of title 2010-03-20 09:30:28 -05:00
Evan Prodromou
65c8dc313c rename $rss to $channel to prevent misunderstanding
RSS feeds have the format
<rss><channel><item/><item/><item/></channel></rss>. The element named
$rss was actually the <channel> element, so I renamed the variable so
I wouldn't hurt my head.
2010-03-20 07:19:54 -05:00
Brion Vibber
7e2af3dcae Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	plugins/OStatus/extlib/hkit/hkit.class.php
	plugins/OStatus/lib/discoveryhints.php
2010-03-19 15:51:22 -07:00
Evan Prodromou
022c13418d make deriving a subject from an RSS channel work 2010-03-19 15:49:38 -05:00
Evan Prodromou
1292230e38 move ActivityObject constructors from Activity to ActivityObject 2010-03-19 15:41:48 -05:00
Evan Prodromou
13b1acdd08 only search elements for links 2010-03-19 15:28:25 -05:00
Evan Prodromou
05e3768e6a Parse RSS items as activities
First steps to parsing RSS items as activities. RSS feeds don't seem
to have enough data to make good remote profiles, but this may work
with some "hints".
2010-03-19 09:48:39 -05:00
Brion Vibber
3e2e88b0df Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-18 17:19:28 -07:00
Brion Vibber
1301877dfe OStatus discover fixes:
* Subscription::start was sometimes passing users instead of profiles to hooks, which broke OStatus subscription notifications; now normalizing to profiles for processing.
* H-card parsing would trigger a lot of PHP warnings and notices in hKit. Now suppressing warnings and notices for the duration of the call to keep them out of output when display_errors is on.
* H-card parsing would trigger a PHP fatal error if the source page was not well-formed XML and Tidy was not present on the system. Switched normalization to use the PHP DOM module which is always present, as we have no need for Tidy's extra features here.
* Trying to fetch avatars from Google profiles failed and triggered a PHP warning due to the relative URL not being resolved during h-card parsing. Now passing profile page URL into hKit by sneaking a <base> tag in while we normalize the HTML source.
* Profile pages without a "Link" header could trigger PHP notices due to a bad NULL -> array(NULL) conversion in LinkHeader::getLink(). Now checking that there was a return value before converting single return value into array.
2010-03-18 17:08:19 -07:00
Craig Andrews
26ba430ae8 Remove xpm support (no one really uses it, and IMAGETYPE_XPM is undefined, causing warnings)
Remove erroneous call to unlink in the constructor
2010-03-18 15:39:06 -07:00
Craig Andrews
9c5af9a38f Remove xpm support (no one really uses it, and IMAGETYPE_XPM is undefined, causing warnings)
Remove erroneous call to unlink in the constructor
2010-03-18 18:13:54 -04:00
Brion Vibber
1de7badd78 Merge branch 'master' of git@gitorious.org:statusnet/mainline into testing 2010-03-18 10:55:20 -07:00
Brion Vibber
d115932466 Sigh... somehow left a stray bit of test code and broke activity.php. 2010-03-18 09:10:44 -07:00
Evan Prodromou
0a1b10114b new exception class for when a user has no profile 2010-03-18 08:32:17 -05:00
Brion Vibber
55a54d6f6a Ticket #2244: fix to interpretation of escaped HTML and plaintext Atom content on incoming OStatus messages.
We were double-unescaping for <content type="html">, turning &lt;b&gt; escaped chars into literal tags (which then may get removed entirely by the HTML scrubber).
2010-03-17 17:35:27 -07:00
Sarven Capadisli
d8a533274f Updated 'more' anchor for attachments to do an XHR GET 2010-03-18 00:19:32 +01:00
Brion Vibber
f797a10256 Display scrubbed HTML attachments inline on attachment view page. 2010-03-17 13:58:25 -07:00
Brion Vibber
67f2f01c5e Merge branch 'testing' into 0.9.x 2010-03-17 12:15:40 -07:00
Brion Vibber
22f827134c Workaround for HTTP authentication in the API when running PHP as CGI/FastCGI. Example rewrite lines added as comments in htaccess.sample, API tweaked to accept alternate environment var form. 2010-03-17 11:04:41 -07:00
Brion Vibber
1c942afa60 Workaround for HTTP authentication in the API when running PHP as CGI/FastCGI. Example rewrite lines added as comments in htaccess.sample, API tweaked to accept alternate environment var form. 2010-03-17 10:52:11 -07:00
Brion Vibber
b9fc4c24b4 Pulling the stub plugin panel back out; we'll flesh it out more for 1.0.x and see if we can make it easier to disable through the config file for now.
Revert "Stub plugins administration panel, allows for disabling/re-enabling plugins from the default plugins list."

This reverts commit d9a9fd3779.
2010-03-17 08:55:16 -07:00
Brion Vibber
f62b8a80cf Pull back for now on switch of PEAR error mode to exceptions; seems to trigger out exceptions at various times we don't want them.
For instance this was throwing an exception for DB_DataObject::staticGet when there's no match... definitely not what we want when all our code expects to get a nice null.
Example of this causing trouble: http://gitorious.org/statusnet/mainline/merge_requests/131

Revert "Don't attempt to retrieve the current user from the DB while processing a DB error"

This reverts commit 68347691b0.

Revert "Use PHP exceptions for PEAR error handling."

This reverts commit d8212977ce.
2010-03-16 16:32:25 -07:00
Brion Vibber
88f66131a1 Pull back for now on switch of PEAR error mode to exceptions; seems to trigger out exceptions at various times we don't want them.
For instance this was throwing an exception for DB_DataObject::staticGet when there's no match... definitely not what we want when all our code expects to get a nice null.
Example of this causing trouble: http://gitorious.org/statusnet/mainline/merge_requests/131

Revert "Don't attempt to retrieve the current user from the DB while processing a DB error"

This reverts commit 68347691b0.

Revert "Use PHP exceptions for PEAR error handling."

This reverts commit d8212977ce.
2010-03-16 16:24:31 -07:00
Brion Vibber
d9a9fd3779 Stub plugins administration panel, allows for disabling/re-enabling plugins from the default plugins list. 2010-03-16 16:01:00 -07:00
Zach Copley
b994d529f4 Throw an exception if we receive a document instead of a feed's root element 2010-03-15 19:06:06 -07:00
Brion Vibber
441e52718e Background deletion of user accounts. Notices are deleted in chunks, then the user itself when they're all gone.
While deletion is in progress, the account is locked with the 'deleted' role, which disables all actions with rights control.

Todo:
* Pretty up the notice on the profile page about the pending delete. Show status?
* Possibly more thorough account disabling, such as disallowing all use for login and access.
* Improve error recovery; worst case is that an account gets left locked in 'deleted' state but the queue jobs have gotten dropped out. This would leave the username in use and any undeleted notices in place.
2010-03-15 16:08:00 -07:00
Zach Copley
40cde2f710 Initial Twitpic-like media upload endpoint /api/statusnet/media/upload 2010-03-15 22:16:33 +00:00
Brion Vibber
2b684f6954 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-15 14:39:14 -07:00
Brion Vibber
c9232d8f26 Ticket #2242: fix reading of inline XHTML content in Atom feeds for OStatus input.
Lookup of the <div> needed to check for the XHTML namespace.
2010-03-15 20:21:55 +00:00
Brion Vibber
c89e1865f7 Merge branch 'testing' into 0.9.x 2010-03-15 12:45:38 -07:00
Sarven Capadisli
2f380f6a9a Using rel=external instead of class=external for jOverlay title link 2010-03-14 15:01:24 -04:00
Sarven Capadisli
00cac4c8b1 Added rel=external to geo location link 2010-03-14 14:11:21 -04:00
James Walker
c4f89b06f1 give preference to rel="photo" (per latest ActivityStreams spec), but still support rel="avatar" for compat 2010-03-14 12:57:24 -04:00
Sarven Capadisli
5b078eadd9 Assigned an identifier for the representative user and group profile 2010-03-13 16:48:21 -05:00
Brion Vibber
14c488ebb0 Fix for _m() usage with context in StatusNet main code. 2010-03-13 12:12:06 -08:00
James Walker
a9dabbe77e * wrong param order to in_array
* in getContent() if "type" isn't set, assume text (per atom spec)
2010-03-13 10:37:08 -05:00
Brion Vibber
9e9ab23e1f Fixes for updating indices, charset/collation and engine type on plugin-created tables.
Under MySQL, new tables will be created as InnoDB with UTF-8 (utf8/utf8_bin) same as core tables.
Existing plugin tables will have table engine and default charset/collation updated, and string columns will have charset updated, at checkschema time.

Switched from 'DESCRIBE' to INFORMATION_SCHEMA for pulling column information in order to get charset. A second hit to INFORMATION_SCHEMA is also needed to get table properties.

Indices were only being created at table creation time, which ain't so hot. Now also adding/dropping indices when they change.

Fixed up some schema defs in OStatus plugin that were a bit flaky, causing extra alter tables to be run.

TODO: Generalize this infrastructure a bit more up to base schema & pg schema classes.
2010-03-12 13:16:32 -08:00
Brion Vibber
f72eb17304 Merge commit 'origin/testing' into 0.9.x 2010-03-12 09:41:49 -08:00
Brion Vibber
f3066c80d3 Merge commit 'origin/0.9.x' into 0.9.x 2010-03-12 09:41:45 -08:00
Zach Copley
3dc84dd02d Output enclosing geo elements and GeoRSS xmlns in XML timelines 2010-03-12 05:39:36 +00:00
Zach Copley
13556e7ba9 Add Atom self link to tag timeline 2010-03-12 04:08:31 +00:00
Brion Vibber
b1d90a835f Don't switch people from the Memcache to Memcached plugin without their knowledge when using back-compatibility $config['memcached']['enabled']. Performance characteristics for Memcached version on large-scale sites not tested yet.
New installations should be using addPlugin explicitly.
2010-03-11 18:10:41 -08:00
Brion Vibber
fe7b063b85 Remove stray whitespace at file start that snuck into last update 2010-03-11 18:07:00 -08:00
Craig Andrews
2179aae758 fubared a715271f84 - this is the fix 2010-03-11 21:02:41 -05:00
Zach Copley
e1537d8387 More generalized method for calculating Atom rel="self" links 2010-03-12 01:40:52 +00:00
Craig Andrews
a715271f84 reuse Subscription::cancel instead of reimplementing it.
I didn't know this method existed before... pretty neat.
2010-03-11 20:40:25 -05:00
Craig Andrews
d6e0640251 move image type checking to constructor, so checking will be done in all cases
check if the relevant image handling function exists when deciding if the image type is supported
2010-03-11 20:12:32 -05:00
Zach Copley
78f0d6bbd2 Scrub all atom output with common_xml_safe_str() 2010-03-12 01:12:30 +00:00
Zach Copley
b12c344930 Generator tag should have 'uri' attr not 'url' 2010-03-11 23:44:50 +00:00
Zach Copley
7e1a1506f5 Output self link in rss2 feeds, if available 2010-03-11 23:28:41 +00:00
Zach Copley
023f258b63 - Output georss xmlns in rss element
- Only output geopoint in rss if one is set
2010-03-11 23:05:56 +00:00
Sarven Capadisli
ded26ae8f5 Fixes the indenting bug for geo anchor. Also mention in trac ticket 2235 2010-03-11 16:40:16 -05:00
Brion Vibber
c6f09306b1 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-03-10 17:04:51 -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