Brion Vibber [Tue, 5 Oct 2010 21:26:11 +0000 (14:26 -0700)]
Fix up Twitter JSON formatting to be consistent between the polling and streaming API interfaces; basic stream tester can now import your notices (ooooh)
Brion Vibber [Tue, 5 Oct 2010 20:57:32 +0000 (13:57 -0700)]
Split the guts of Twitter status -> notice import from twitterstatusfetcher daemon into TwitterImport class which can be called from other places, letting us reuse code for the streaming API.
Brion Vibber [Tue, 5 Oct 2010 01:28:54 +0000 (18:28 -0700)]
Initial stub code for pulling data from Twitter's User Streams and Site Streams interfaces. This should allow us to make a much more efficient background importer which can use a relatively small number of connections getting push data for either a single user or for many users with credentials on the site.
Brion Vibber [Mon, 4 Oct 2010 22:13:27 +0000 (15:13 -0700)]
scripts/fixup_group_uri.php to fill in empty user_group.uri entries; needed before changing domain names on sites that are hosting groups for remote users
* i18n review/translator hints added.
* whitespace updates.
* added @todo because of missing plugin description. I wasn't able to find out what this does exactly quick enough.
Brion Vibber [Fri, 1 Oct 2010 18:05:15 +0000 (11:05 -0700)]
Throw in a quick event hook to override the profile list type on showstream (should be made more general in future).
Replace with a NoticeList to have output include avatar and username -- but CSS still hides them in default theme.
Event::addHandler('ShowStreamNoticeList', 'awesome');
function awesome($notice, $action, &$pnl)
{
$pnl = new NoticeList($notice, $action);
return false;
}
Brion Vibber [Fri, 1 Oct 2010 02:18:46 +0000 (19:18 -0700)]
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...
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.
Brion Vibber [Fri, 1 Oct 2010 02:18:46 +0000 (19:18 -0700)]
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...
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.
Brion Vibber [Fri, 1 Oct 2010 01:02:02 +0000 (18:02 -0700)]
ShareNotice plugin -- basic buttons per-notice to share the text & a link to the notice on other sites.
Default settings list Twitter, Facebook, and Identi.ca as targets.
Using icons built-in, and no magic offsite JS or anything so it won't slow down or break if third-party site goes down.
Default styles are a little limited, but can be customized in theme should one be so inclined.
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.
GroupFavorited plugin: adds 'Popular' tab to group navigation showing a popular pages subset for just posts in the group. Not necessarily terribly efficient, should be tested and benchmarked on non-trivial sites
Initial SlicedFavorites plugin to allow for customized variants of 'Popular' tab (favorited action) that include or exclude a given set of users. No added UI tabs in this version, beware!
Brion Vibber [Fri, 1 Oct 2010 01:02:02 +0000 (18:02 -0700)]
ShareNotice plugin -- basic buttons per-notice to share the text & a link to the notice on other sites.
Default settings list Twitter, Facebook, and Identi.ca as targets.
Using icons built-in, and no magic offsite JS or anything so it won't slow down or break if third-party site goes down.
Default styles are a little limited, but can be customized in theme should one be so inclined.
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.
GroupFavorited plugin: adds 'Popular' tab to group navigation showing a popular pages subset for just posts in the group. Not necessarily terribly efficient, should be tested and benchmarked on non-trivial sites
Initial SlicedFavorites plugin to allow for customized variants of 'Popular' tab (favorited action) that include or exclude a given set of users. No added UI tabs in this version, beware!
Added an option to TinyMCE plugin to restrict the rich-text editor to users who have the 'richedit' role. This allows enabling it for a subset of accounts on a site while leaving other users using the regular posting system, which is more stable.
Added an option to TinyMCE plugin to restrict the rich-text editor to users who have the 'richedit' role. This allows enabling it for a subset of accounts on a site while leaving other users using the regular posting system, which is more stable.
Fix for OpenID-only private sites: we were removing the 'login' and 'register' actions from the routing system entirely, which meant that login links & redirects from unauthenticated views on private sites (as well as various re-auth situations even on non-private sites) would break and send to the main page instead.
Changed it to leave the 'login' and 'register' actions in the system; we're already taking them over and redirecting them to the OpenID login page, so they won't be reached by accident; but now those redirects can be reached on purpose. ;)
Better long-term fix may be to allow some aliasing, so we can have common_local_url('login') actually send us straight to the OpenID login page instead of having to go through an intermediate redirect, but this'll do.
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.
- Lookup anon profiles by ID (safer because they are guranteed to be unique) and probably faster
- Obfuscate the anonymous user session token to make it hard to figure out the profile ID
- Lookup anon profiles by ID (safer because they are guranteed to be unique) and probably faster
- Obfuscate the anonymous user session token to make it hard to figure out the profile ID