Commit Graph

2223 Commits

Author SHA1 Message Date
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
d3b10959f4 Merge branch '0.9.x' into noactor 2010-12-29 15:29:29 -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
Evan Prodromou
0a56e88a64 Don't double-insert a bookmark 2010-12-27 22:57:11 -08:00
Evan Prodromou
4465724ed3 return saved notice to AtomPub for Bookmarks 2010-12-27 22:16:34 -08:00
Evan Prodromou
7b9ea62259 Make AtomPub work for bookmarks 2010-12-27 22:09:29 -08:00
Evan Prodromou
6393326557 Merge branch '0.9.x' into socialbookmark 2010-12-27 20:49:31 -08:00
Evan Prodromou
141b4b67b3 Better UI for bookmark popup 2010-12-27 12:57:03 -08:00
Evan Prodromou
45b2059cd8 better layout for single-bookmark page 2010-12-27 12:08:55 -08:00
Evan Prodromou
29103f5d0e send and receive bookmarks by Salmon 2010-12-27 11:29:16 -08:00
Evan Prodromou
b54ea6767a New event for Salmon including target 2010-12-27 10:51:59 -08:00
Evan Prodromou
ab92496ddc Stop using <activity:subject> for atom feeds 2010-12-27 10:03:34 -08:00
Evan Prodromou
4777c927ad Fix bookmark replies handling so doesn't overwrite 2010-12-27 09:14:11 -08:00
Evan Prodromou
14113b267e replace call to protected Ostatus_profile method 2010-12-26 21:38:28 -08:00
Evan Prodromou
bf75119b3c Fix bugs in BookmarkPlugin 2010-12-26 21:25:26 -08:00
Evan Prodromou
7d56f1cd19 Some fixes from debugging of bookmark plugin URI foramt
Tightened up the URI format, fixed some auto-loading issues,
and forced the url_crc32 column to be unsigned.
2010-12-26 21:11:27 -08:00
Evan Prodromou
ca28140107 remove debugging outputter from delicious backup importer 2010-12-26 21:10:54 -08:00
Evan Prodromou
ea1676cb0a UTC only and tighter date format for showbookmark 2010-12-26 21:10:23 -08:00
Evan Prodromou
4048d1ec3d Radical differences in Bookmark storage
Had some problems with PuSH and Salmon use of Bookmarks; they were
being required to generate Atom versions of the bookmark _before_ the bookmark was saved.

So, I reversed the order of how things are saved, and associate notices and bookmarks
by URI rather than notice_id.
2010-12-24 20:34:15 -08:00
Evan Prodromou
67bde86f7c accept bookmarks over PuSH 2010-12-23 09:42:42 -08:00
Evan Prodromou
ae64963d71 Reformat bookmark output 2010-12-22 15:24:13 -08:00
Brion Vibber
8babcc2ad2 Makefile to compress LinkPreview's js 2010-12-22 15:04:50 -08:00
Evan Prodromou
1faaaed72b Move bookmark CSS to its own file 2010-12-22 13:08:07 -08:00
Evan Prodromou
402cac2f93 Merge branch '0.9.x' into socialbookmark
Conflicts:
	lib/activityobject.php
2010-12-22 12:09:42 -08:00
Evan Prodromou
9a6ceb3303 Merge branch 'righttoleave' into 0.9.x 2010-12-22 11:22:51 -08:00
Evan Prodromou
73dccdd7f5 Notice_bookmark::saveNew() takes a Profile argument 2010-12-22 12:35:45 -05:00
Evan Prodromou
6ff8977243 Bookmarklet for Bookmark plugin 2010-12-21 14:46:31 -05:00
Evan Prodromou
0665beec58 Bookmarklet for new bookmarks
Override the bookmarklet help page to add a new popup.
2010-12-21 14:43:03 -05:00
Evan Prodromou
6670dd8450 Layout on the bookmark form 2010-12-21 12:25:23 -05:00
Evan Prodromou
ccb290cb68 Break up delicious import into a queue manager by bookmark 2010-12-21 11:09:01 -05:00
Evan Prodromou
b8a182dc44 PHPCS Notice_bookmark 2010-12-21 10:32:35 -05:00
Evan Prodromou
d9ff466d2c PHPCS newbookmark 2010-12-21 10:22:50 -05:00
Evan Prodromou
907f1ad633 PHPCS importbookmarks 2010-12-21 10:20:49 -05:00
Evan Prodromou
14babfb900 PHPCS BookmarkForm 2010-12-21 10:16:53 -05:00
Evan Prodromou
c96faf065d PHPCS BookmarkPlugin.php 2010-12-21 10:13:20 -05:00
Evan Prodromou
331639d6e4 Code standards for deliciousbackupimporter.php 2010-12-21 09:42:44 -05:00
Brion Vibber
b83e7005ed Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x
Conflicts:
	plugins/OStatus/classes/FeedSub.php
2010-12-20 14:23:15 -08:00
Brion Vibber
46123e3754 *cough* don't commit the code that breaks your code that you used to test the debug code :D 2010-12-20 13:06:58 -08:00
Brion Vibber
a4e2f38356 Slightly fancier debug code for PuSH hmac mismatches -- save the post to a temp file if feedsub/debug is on in config. 2010-12-20 13:05:17 -08:00
Brion Vibber
dd48bdb1c4 Logging helper for bogus hmacs on PuSH in -- record the url & hub with the err msg to help tell what broke 2010-12-20 10:48:02 -08:00
Brion Vibber
c71d701a3f Logging helper for bogus hmacs on PuSH in -- record the url & hub with the err msg to help tell what broke 2010-12-20 10:46:23 -08:00
Evan Prodromou
704a20f58b some corrections for double-posting of bookmarks 2010-12-20 13:39:07 -05:00
Evan Prodromou
770efece83 don't reinsert existing bookmark 2010-12-20 13:38:24 -05:00
Evan Prodromou
15f4e0a9f0 reindent BookmarkPlugin 2010-12-20 13:35:30 -05:00
Evan Prodromou
d8de285d4e reindent importbookmarks.php 2010-12-20 13:35:21 -05:00
Evan Prodromou
510e79a96c Starting point for adding bookmarks 2010-12-20 12:04:02 -05:00
Evan Prodromou
cab7522476 Notice_bookmark::saveNew() takes options arg 2010-12-20 12:03:33 -05:00
Evan Prodromou
cb76465cfa Better output for activities and HTML in BookmarkPlugin 2010-12-19 10:18:33 -05:00
Evan Prodromou
d6030714f3 Use Notice_bookmark::saveNew() from NewbookmarkAction 2010-12-19 10:18:07 -05:00
Evan Prodromou
cee93dd15d Move notice bookmark creation to Notice_bookmark::saveNew() 2010-12-19 10:17:23 -05:00
Evan Prodromou
fce2078dfb code done on debugging in bookmarks 2010-12-18 17:21:40 -05:00
Evan Prodromou
6b7931bcc8 delete bookmark stuff when deleting notice 2010-12-18 02:39:44 -05:00
Evan Prodromou
563f067508 save title and description of bookmark 2010-12-18 02:39:24 -05:00
Evan Prodromou
85d54cbdb7 save title and description of bookmark 2010-12-18 02:36:13 -05:00
Evan Prodromou
f641034471 First pass at storing bookmarks
Form for saving bookmarks that looks like the delicious.com form.

Save a new notice with the right text, but attach a new notice_bookmark
table which marks this as a bookmark. Tags, URLs are kept the same.
2010-12-18 02:27:14 -05:00
Zach Copley
073f3e99cb Update Twitter calls to use documented API endpoints
see: http://groups.google.com/group/twitter-api-announce/msg/34b013f4d092737f
2010-12-17 15:57:22 -08:00
Craig Andrews
786250e3d9 In LdapCommon checkPassword/changePassword only get the 'dn' attribute as an optimization as no other attributes are necessary.
Thanks to drslump reported at http://status.net/open-source/issues/2955
2010-12-17 17:22:52 -05:00
Brion Vibber
0e7a283883 only run explain on selects 2010-12-17 12:08:46 -08:00
Brion Vibber
66b89de256 SQLProfile: quickie plugin to run DB queries through 'explain' and log ones that trigger filesort or temporary table 2010-12-17 11:41:40 -08:00
Evan Prodromou
16fc5314fb move code to get an author object for a feed to a library from Ostatus_profile 2010-12-17 13:09:37 -05:00
Siebrand Mazeland
ae65f93b2b L10n updates and removal of superfluous whitespace. 2010-12-16 16:33:39 +01:00
Siebrand Mazeland
cf824621b9 Localisation updates from http://translatewiki.net. 2010-12-16 16:30:30 +01:00
Brion Vibber
0330bad688 Cleaner code to avoid a couple PHP notices from accessing uninitialized variables in ostatus profile discovery (these cases hit checking diaspora accounts) 2010-12-15 12:14:25 -08:00
Brion Vibber
6c67114198 Mark OembedAction, XrdAction, and (plugin) AutocompleteAction as read-only. Tweaked ApiStatusesShow and ApiTimelineUser to still claim read-only when hit with a HEAD request (usually link checkers or a precursor to a GET, and should be semantically equivalent to a GET without actually transferring data) 2010-12-14 16:14:15 -08:00
Brion Vibber
39cad55711 TwitterBridge: partial merge of id_str usage from 0.9.x for improved 32-bit and pre-5.2.10 compatibility. (on 64-bit in 5.2.6 we can pull the integer IDs, but silently lose some precision on the end.)
Fixes for Twitter bridge breakage on 32-bit servers. New "Snowflake" 64-bit IDs have become too big to fit in the integer portion of double-precision floats, so to reliably use these IDs we need to pull the new string form now.
Machines with 64-bit PHP installation should have had no problems (except on Windows, where integers are still 32 bits)

Conflicts:

	plugins/TwitterBridge/twitterimport.php <- as this hasn't been broken out, the import code is NOT FULLY UPDATED HERE.
2010-12-13 12:13:24 -08:00
Brion Vibber
f947fe5d0c Disable InProcessCache plugin for CLI scripts, which are more likely to be long-running, greatly increasing the chance of data corruption. 2010-12-09 10:24:06 -08:00
Evan Prodromou
99f3964394 Merge remote branch 'gitorious/0.9.x' into 0.9.x 2010-12-09 10:48:12 -05:00
Evan Prodromou
f5f6a742cb Additional in-process cache plugin InProcessCache
Some of our caching systems, like the disk cache or memcached, have
significant overhead (network connections or disk I/O).

This plugin adds an additional layer of in-process cache, so we don't
need to reconnect to external cache systems when we've already
received a data item from the cache. There are some concurrency issues
here, but typically they won't be important at the level of a single
web hit.
2010-12-09 10:45:36 -05:00
Brion Vibber
e25d4683c8 Merge branch 'master' into 0.9.x 2010-12-08 18:13:20 -08:00
Brion Vibber
516161213f Tweak to PiwikAnalytics plugin to help browsers to pre-load piwik.js, may shave a little off load time.
Piwik's current default recommended JS for loading creates a <script> tag via document.write(). In addition to being generally evil, this means the browser doesn't know it's going to need piwik.js until that chunk of script gets executed... which can't happen until all scripts referenced *before* it have been loaded and executed.

The only reason for that bit of script though seems to be to pick 'http' or 'https' depending on the current page's scheme. This can be done more simply by using a protocol-relative link (eg "//piwik.status.net/piwik.js"), which the browser will resolve as appropriate. Since it's now sitting in the <script> tag, the browser's lookahead code will now see it and be able to start loading it while earlier things are parsing/executing.
May be better still to move to an asynchronous load after DOM-ready, but I'm not sure if that'll screw with the analytics code (eg, not being able to start things on the DOM-ready events since they're past).
2010-12-08 17:39:04 -08:00
Brion Vibber
d8d9edfc99 Merge branch 'master' into 0.9.x 2010-12-08 15:01:25 -08:00
Brion Vibber
26bd15ec0a Mapstraction plugin: use minified sources for OpenLayers
The default full build of OpenLayers.js is 943kb as of 2.10; this gzips down to a couple hundred kb
but is still rather nasty, plus loading it off a remote host could slow things down.

Using a local copy let us cut down the size significantly by discarding unused features, and further
minification with yui-compressor shaves a bit more off. Cuts down to about 1/5 the size of the
original.

Also threw in a bundled & minified copy of the Mapstraction classes plus our usermap.js,
which covers the common case of using the default OpenLayers provider. This cuts out three
additional script loads, two of which weren't getting launched until after the mxn.js main
file got loaded.
2010-12-08 14:54:02 -08:00
Brion Vibber
fb315c6f61 Create a bundled & minified JS file for Mapstraction's common case (using OpenLayers); this'll avoid waiting on additional script loads for mxn.core.js and mxn.openlayers.core.js, and removes the need to load usermap.js separately as well. 2010-12-08 14:52:26 -08:00
Brion Vibber
34569017ce Add stripped and minified local copy of OpenLayers 2.10, about 1/5 the size of the full version.
Included Makefile will recreate the OpenLayers.js using the statusnet.cfg strip configuration file
and yui-compressor to do some extra minification at the end. Requires fetching the OpenLayers
source download and dropping it in:

http://openlayers.org/download/OpenLayers-2.10.tar.gz
2010-12-08 14:28:55 -08:00
Brion Vibber
db4d69f099 Quick hack to discard twitter broadcast queue items on failure *IF* config option 'twitter' 'ignore_errors' is on:
$config['twitter']['ignore_errors'] = true;

A longer-term solution is to patch up the indirect retry handling to count retries better, or delay for later retry sensibly.
2010-12-07 12:11:37 -08:00
Brion Vibber
4b4b763255 For good measure, don't return autocomplete results when not logged in. 2010-12-06 17:20:14 -08:00
Brion Vibber
6662141328 reindent 2010-12-06 17:16:47 -08:00
Brion Vibber
febcf7258c Tweak router target URL for Autocomplete suggestions 2010-12-06 17:15:56 -08:00
Brion Vibber
ee9e95877c Update Autocomplete readme: current state seems to work fine on private sites, so removing that note. 2010-12-06 17:13:02 -08:00