Brion Vibber [Tue, 15 Mar 2011 17:09:20 +0000 (10:09 -0700)]
Suppress PHP warnings/notices during AtomPub XML parsing to avoid HTTP header problems when given bad input.
If display_errors is on, typical settings would cause PHP error messages to spew to output before the HTTP headers for setting a 400 error go through.
Also switched from deprecated static DOMDocument::loadXML() to non-static call.
Switch from manual local formatting of notices (which lacks all the server-side goodness) to calling into the server-side with an AJAX variant of shownotice.
Brion Vibber [Mon, 14 Mar 2011 19:32:39 +0000 (12:32 -0700)]
Realtime work in progress: switch makeNoticeData to async -- next we'll load fresh copies from server, maintaining proper language and plugin enhancements.
Brion Vibber [Fri, 11 Mar 2011 23:20:20 +0000 (15:20 -0800)]
JS optimization: move creation of inline reply placeholders to server-side so we don't have to create them client-side (which causes reflows and takes about 25-30ms on my test system)
Using live instead of bind for the event handling, we don't have to play any games on the ones that we do add at runtime. Yay!
Brion Vibber [Fri, 11 Mar 2011 23:03:15 +0000 (15:03 -0800)]
JS performance: speeding up initialization by consolidating event handlers for reply buttons
Saved about 60ms on my test system during page setup by using a single global 'live' click handler for reply links.
No longer need to seek out and attach event handlers on every notice, yay!
Brion Vibber [Fri, 11 Mar 2011 20:28:15 +0000 (12:28 -0800)]
Poll plugin: switching Atom & JSON output to use new hooks & methods, much nicer output. Also switched types, which may break old entries. Beware!
Input not yet updated.
Brion Vibber [Fri, 11 Mar 2011 00:29:13 +0000 (16:29 -0800)]
Fix disappearing reply forms when closing geo section
Missing default-cancel in the click handler allowed the event to bubble up to the body handler, where we think the click is outside of the form because the target is no longer in the form by the time we check
Now the event no longer bubbles up, as we cancel it when we're done.
Brion Vibber [Thu, 10 Mar 2011 19:35:04 +0000 (11:35 -0800)]
Provisional tweak for polls to go through atom feeds / ostatus
Had to fix some calls to MicroAppPlugin->saveNoticeFromActivity() which passed an OStatus_profile instead of a Profile...
Imported polls don't get data from upstream or send it back currently.
Brion Vibber [Thu, 10 Mar 2011 01:43:31 +0000 (17:43 -0800)]
Update LinkPreview plugin for multiple notice forms.
* main notice form setup now encapsulated into SN.Init.NoticeForm(form) -- this can be monkeypatched by plugins to append their own setup code, as LinkPreview does
* LinkPreview now supports debugging with non-minified JS source when $config['site']['minify'] is false
* tweaked core & neo styles so 'notice-status' class gets same styles as attach-status, so we can more easily add mroe statusy things. (needs more consolidation with geo-status, etc)
* tweaked LinkPreview's preview area to use that style
Brion Vibber [Wed, 9 Mar 2011 23:46:24 +0000 (15:46 -0800)]
Ticket #3076: fix regression in password recovery when email address given that doesn't match
Was triggering errors due to use of common_canonical_nickname() on arbitrary input without checking for exceptions about invalid nicknames (which didn't exist long ago in the before time)
Brion Vibber [Wed, 9 Mar 2011 22:10:26 +0000 (14:10 -0800)]
Fixes for Event plugin:
* RSVP cancel/delete now works
* caching fix for RSVP insert and delete (compound unique keys aren't properly handled for pkeyGet's caching right now; hacked it for this class for the moment)
* div nesting fix
* missing name/avatar on RSVP responses
Brion Vibber [Wed, 9 Mar 2011 20:38:06 +0000 (12:38 -0800)]
Stub 'home' subsection at top of settings & admin nav panels, so folks always know how to get home.
(If we drop the section titles, these'll look a little cleaner since it'll only show 'Home' once :D)
Notes:
* URLs must be quoted in the .ini file or the .ini file parser explodes!
* To do multiples, list as external[] instead of external.
* If there's an included base theme, any externals it lists will be included first.
* All externals are loaded before any local styles.