Commit Graph

91 Commits

Author SHA1 Message Date
Brion Vibber
20ca5027cc Consolidate common code in micro-apps custom notice type display actions.
The ShowNoticeAction subclasses were cut-n-pasting a lot of prepare() code from ShowNoticeAction, though the only part that's different is how we look up the notice. Broke that out to a getNotice() method, so only that needs to be copied. Avoids extra copies of permission checks and other common code in this spot.
2011-03-29 16:58:15 -07:00
Brion Vibber
23436ad83d Fix for bookmark posting: missing object was causing error output to crush ajax 2011-03-29 16:50:06 -07:00
Siebrand Mazeland
0a19674c9f @evan Fixed message domain for messages in plugins for recent commits.
Numbered parameters when more than one used in a message.
L10n updates for consistency.
i18n for non-translatable exception.
Updated translator documentation.
Removed superfluous whitespace.
2011-03-30 00:48:41 +02:00
Evan Prodromou
2856982a1c disallow access to out-of-scope bookmark 2011-03-28 22:50:45 -04:00
Siebrand Mazeland
4e64bd4e5b Localisation updates from http://translatewiki.net. 2011-03-24 16:08:03 +01:00
Siebrand Mazeland
5bb6fae307 Localisation updates from http://translatewiki.net. 2011-03-18 20:59:45 +01:00
Siebrand Mazeland
69e11bb45e Localisation updates from http://translatewiki.net. 2011-03-11 19:33:52 +01:00
Brion Vibber
cbf16a4974 Bookmark and poll plugins' custom notice forms now do AJAX submit, with the resulting notice appearing in the timeline.
FormNoticeXHR now is triggered on any form labeled with class 'ajax-notice', so those other than the traditional notice form should work as long as they handle the AJAX submission and return a properly formatted notice.

Things to watch out for:
* to determine whether the resulting notice should show on the current timeline, the JS code needs to be able to check the author and such. Keeping the existing vcard bits helps for this!
* the notice form submission stuff clears out inputs from your form -- test to make sure this behaves correctly
* error messages returned from the thingy _should_ come through, but this needs more testing for consistency
* while form components that aren't in a custom form should just be ignored, this should be tested more. (eg there's no location or attachment box for poll or bookmark plugins)
* NoticeListItem isn't currently reachable via autoloader -- touch NoticeList explicitly before calling into it for now.
2011-03-08 15:10:30 -08:00
Siebrand Mazeland
b9e2c72740 Localisation updates from http://translatewiki.net. 2011-03-08 02:18:32 +01:00
Brion Vibber
541613ce69 More doc comments on MicroApp stuff; some of the show-notice code & the ActivityStreams stuff is a bit wonky and may need smoothing out 2011-03-07 15:15:21 -08:00
Brion Vibber
9a837ee33b Doc comments for MicroAppPlugin 2011-03-07 13:36:15 -08:00
Evan Prodromou
095e2a74d4 fix object errors with bookmark notices 2011-03-07 14:25:37 -05:00
Evan Prodromou
f5782e9e56 save the object type when saving a new bookmark notice 2011-03-07 14:25:05 -05:00
Evan Prodromou
7aa55f8200 made the input-form switcher work, kinda 2011-03-07 03:34:20 -05:00
Evan Prodromou
52952d13c0 first (non-working) move to microapp structure for bookmarks 2011-03-07 03:34:20 -05:00
Siebrand Mazeland
7a9b989349 Localisation updates from http://translatewiki.net.
Location information removed from translation files with msgmerge --no-location to decrease size of files and reduce diff size. Unfortunately there does not appear to be a setting in msgmerge or msgattrib to remove the extracted comments ("#.") from translation files. If you do know of such a switch, please let me know!
2011-03-06 02:52:28 +01:00
Siebrand Mazeland
5fd9767e80 Localisation updates from http://translatewiki.net.
* Fix previous commit. Pot files were built against master instead of 1.0.x.
2011-03-03 18:39:12 +01:00
Siebrand Mazeland
a86d293c93 Localisation updates from http://translatewiki.net. 2011-02-14 19:43:16 +01:00
Evan Prodromou
68cf2bdced Bookmark uses Plugin::path() 2011-02-03 12:04:54 -05:00
Brion Vibber
9573f725c1 Merge branch '0.9.x' into testing 2011-01-31 11:08:15 -08:00
Siebrand Mazeland
e6e402cefd Localisation updates from http://translatewiki.net. 2011-01-29 23:10:15 +01:00
Samantha Doherty
1563c95cc3 Wee style update for bookmarks plugin. 2011-01-25 18:33:47 -05:00
Evan Prodromou
c309bbae93 Merge remote branch 'gitorious/testing' into testing 2011-01-24 06:54:09 -07:00
Evan Prodromou
c2d7a08d07 Bookmark saving robustness fixes
First, if the tags box is empty, don't save an empty tag for the notice.

Second, if URL shortening fails, just use the regular URL.
2011-01-23 12:57:20 -05:00
Siebrand Mazeland
03acf301ba Localisation updates from http://translatewiki.net. 2011-01-20 21:12:51 +01:00
Siebrand Mazeland
89727549a6 Localisation updates from http://translatewiki.net. 2011-01-15 00:47:49 +01:00
Siebrand Mazeland
380ca7187c Localisation updates from http://translatewiki.net. 2011-01-14 12:10:05 +01:00
Evan Prodromou
3dcf8f1ef6 change bookmark-info from a <p> to a <div> 2011-01-04 13:10:32 -08:00
Brion Vibber
ae59046b1e Bookmark plugin: tweak post-upload success message to distinguish between "already done" (UnQueueManager) and "started, should finish eventually" (other queue manager) 2010-12-31 12:42:26 -08:00
Brion Vibber
3368c33be7 Bookmark plugin: fix for delicious import with queues enabled
We were passing DOM nodes directly into the queues for the final bookmark import stage; unfortunately these don't actually survive serialization.
Moved the extraction of properties from the HTML up to the first-stage handler, so now we don't have to worry about moving DOM nodes from one handler to the next. Instead passing an associative array of properties, which is fed into the Bookmark::saveNew by the per-bookmark handler.
2010-12-31 12:33:51 -08:00
Brion Vibber
fedfde9bbb Bookmark plugin: fixes for bad DOM element nesting in delicious import data
delicious bookmark exports use the godawful HTML bookmark file format that ancient versions of Netscape used (and has thus been the common import/export format for bookmarks since the dark ages of the web :)
This arranges bookmark entries as an HTML definition list, using a lot of implied close tags (leaving off the </dt> and </dd>).
DOMDocument->loadHTML() uses libxml2's HTML mode, which generally does ok with muddling through things but apparently is really, really bad about handling those implied close tags.

Sequences of adjacent <dt> elements (eg bookmark without a description, followed by another bookmark "<dt><dt>"), end up interpreted as nested ("<dt><dt></dt></dt>") instead of as siblings ("<dt></dt><dt></dt>").
The first round of code tried to resolve the nesting inline, but ended up a bit funky in places.
I've replaced this with a standalone run through the data to re-order the elements, based on our knowing that <dt> and <dd> cannot directly contain one another; once that's done, our main logic loop can be a bit cleaner. I'm not 100% sure it's doing nested sublists correctly, but these don't seem to show up in delicious export (and even if they do, with the way we flatten the input it shouldn't make a difference).

Also fixed a clearer edge case where some bookmarks didn't get imported when missing descriptions.
2010-12-31 12:09:54 -08:00
Brion Vibber
5687531848 Bookmark plugin: graceful error out for failure to import a delicious bookmark due to it being already bookmarked 2010-12-31 12:09:15 -08:00
Evan Prodromou
5dfc9e1b18 Generated an extra class on bookmark notice <li>s 2010-12-30 16:57:28 -08:00
Evan Prodromou
5d7f5212f0 switch bookmark CSS classes to use dash instead of underscore 2010-12-30 16:54:01 -08:00
Evan Prodromou
7793d3b7ad Merge branch 'testing' of gitorious.org:statusnet/mainline into testing 2010-12-30 16:21:45 -08:00
Evan Prodromou
682e11bb8b don't show some bookmark elements if empty 2010-12-30 16:21:22 -08:00
Brion Vibber
b71a09a1a9 Tweak the post-form return on bookmarklet if we're not in a popup that we can close 2010-12-30 16:14:41 -08:00
Evan Prodromou
6fc7e5b05b Use UUIDs for Bookmark unique ID
I was trying to generate URIs for Bookmarks based on (profile, crc32(url), created).

I failed at that. CRC32s are unsigned ints, and our schema code didn't like that.

On top of that, my code to encode and restore created timestamps was problematic.

So, I switched back to using a meaningless unique ID for Bookmarks.

One way to do this would be to use an auto-incrementing integer ID. However, we've been
kind of crabbed out a few times for exposing auto-incrementing integer IDs as URIs, so
I thought maybe using a random UUID would be a better way to do it.

So, this patch sets random UUIDs for URIs of bookmarks.
2010-12-30 13:21:14 -08:00
Evan Prodromou
2d576aea30 don't distribute when restoring archived delicious bookmarks 2010-12-29 14:52:43 -08:00
Evan Prodromou
3fea4aba7f phpcs showbookmark.php 2010-12-29 14:24:30 -08:00
Evan Prodromou
f3999ab92d phpcs noticebyurl.php 2010-12-29 14:22:41 -08:00
Evan Prodromou
f5256eb028 phpcs importdelicious.php 2010-12-29 14:21:25 -08:00
Evan Prodromou
b00d113bb4 phpcs Bookmark.php 2010-12-29 14:17:32 -08:00
Evan Prodromou
10fa41454d phpcs BookmarkPlugin.php 2010-12-29 14:16:15 -08:00
Evan Prodromou
68f44dad82 Add link to delicious bookmark importer to profile settings 2010-12-29 14:02:31 -08:00
Evan Prodromou
4a9a5076ff Web UI for importing delicious backup files 2010-12-29 13:51:59 -08:00
Evan Prodromou
db43195fbf fixup date handling in showbookmark for PHP 5.2 2010-12-28 23:36:25 +00:00
Evan Prodromou
dcd0e3ec7e show count of other bookmarks with link to stream 2010-12-28 13:45:24 -08:00
Evan Prodromou
821770966b Page with a list of notices that link to an URL 2010-12-28 12:58:10 -08:00
Evan Prodromou
c8bbde69df import bookmarks from backups 2010-12-27 22:57:35 -08:00