Merge branch 'master' into 1.0.x

Conflicts:
	lib/common.php
This commit is contained in:
Evan Prodromou 2011-08-02 15:04:14 -04:00
commit 513c54fa89
3 changed files with 33 additions and 46 deletions

68
README
View File

@ -2,8 +2,8 @@
README README
------ ------
StatusNet 0.9.7 "World Leader Pretend" StatusNet 0.9.9 "9-9"
17 March 2011 2 August 2011
This is the README file for StatusNet, the Open Source microblogging This is the README file for StatusNet, the Open Source microblogging
platform. It includes installation instructions, descriptions of platform. It includes installation instructions, descriptions of
@ -96,47 +96,27 @@ for additional terms.
New this version New this version
================ ================
This is a security, bug and feature release since version 0.9.6 released on This is a security release since version 0.9.7 released on 11 March
23 October 2010. 2011. It fixes security bug #3260. All sites running version 0.9.7 or
below are recommended to upgrade to 0.9.9 immediately.
For best compatibility with client software and site federation, and a
lot of bug fixes, it is highly recommended that all public sites
upgrade to the new version. Upgrades require new database indexes for
best performance; see Upgrade below.
Notable changes this version: Notable changes this version:
- GroupPrivateMessage plugin lets users send private messages - Fix bug #3260, a cross-site scripting (XSS) bug that allows an
to a group. (Similar to "private groups" on Yammer.) attacker to inject JavaScript into a page with a carefully structured URL.
- Support for Twitter streaming API in Twitter bridge plugin - Updated code for Google Analytics to reflect new API.
- Support for a new Activity Streams-based API using AtomPub, allowing - Various fixes for Bookmark plugin.
richer API data. See http://status.net/wiki/AtomPub for details. - Updates to reCAPTCHA plugin based on changes to API.
- Unified Facebook plugin, replacing previous Facebook application - New plugin to move the site notice to the sidebar.
and Facebook Connect plugin. - Add rss.me to notice source list.
- A plugin to send out a daily summary email to network users. - Updates to data backup/restore.
- In-line thumbnails of some attachments (video, images) and oEmbed objects. - Correct use of "likes" in Facebook plugin.
- Local copies of remote profiles to let moderators manage OStatus users. - Ignore failures in Twitter plugin.
- Upgrade upstream JS, minify everything.
- Allow pushing plugin JS, CSS, and static files to a CDN.
- Configurable nickname rules.
- Better support for bit.ly URL shortener.
- InProcessCache plugin for additional caching on top of memcached.
- Support for Activity Streams JSON feeds on many streams.
- User-initiated backup and restore of account data in Activity Streams
format.
- Bookmark plugin for making del.icio.us-like social bookmarking sites,
including del.icio.us backup file import. Supports OStatus.
- SQLProfile plugin to tune SQL queries.
- Better sorting on timelines to support restored or imported data.
- Hundreds of translations from http://translatewiki.net/
- Hundreds of performance tunings, bug fixes, and UI improvements.
- Remove deprecated data from Activity Streams Atom output, to the
extent possible.
- NewMenu plugin for new layout of menu items.
- Experimental support for moving an account from one server to
another, using new AtomPub API.
A full changelog is available at http://status.net/wiki/StatusNet_0.9.7. A full changelog is available at http://status.net/wiki/StatusNet_0.9.9.
NOTE: The short-lived StatusNet 0.9.8 ("Letter Never Sent") did not
adequately fix bug #3260 as originally thought; thus this new release.
Prerequisites Prerequisites
============= =============
@ -246,9 +226,9 @@ especially if you've previously installed PHP/MySQL packages.
1. Unpack the tarball you downloaded on your Web server. Usually a 1. Unpack the tarball you downloaded on your Web server. Usually a
command like this will work: command like this will work:
tar zxf statusnet-0.9.7.tar.gz tar zxf statusnet-0.9.9.tar.gz
...which will make a statusnet-0.9.7 subdirectory in your current ...which will make a statusnet-0.9.9 subdirectory in your current
directory. (If you don't have shell access on your Web server, you directory. (If you don't have shell access on your Web server, you
may have to unpack the tarball on your local computer and FTP the may have to unpack the tarball on your local computer and FTP the
files to the server.) files to the server.)
@ -256,7 +236,7 @@ especially if you've previously installed PHP/MySQL packages.
2. Move the tarball to a directory of your choosing in your Web root 2. Move the tarball to a directory of your choosing in your Web root
directory. Usually something like this will work: directory. Usually something like this will work:
mv statusnet-0.9.7 /var/www/statusnet mv statusnet-0.9.9 /var/www/statusnet
This will make your StatusNet instance available in the statusnet path of This will make your StatusNet instance available in the statusnet path of
your server, like "http://example.net/statusnet". "microblog" or your server, like "http://example.net/statusnet". "microblog" or
@ -671,7 +651,7 @@ with this situation.
If you've been using StatusNet 0.7, 0.6, 0.5 or lower, or if you've If you've been using StatusNet 0.7, 0.6, 0.5 or lower, or if you've
been tracking the "git" version of the software, you will probably been tracking the "git" version of the software, you will probably
want to upgrade and keep your existing data. There is no automated want to upgrade and keep your existing data. There is no automated
upgrade procedure in StatusNet 0.9.7. Try these step-by-step upgrade procedure in StatusNet 0.9.9. Try these step-by-step
instructions; read to the end first before trying them. instructions; read to the end first before trying them.
0. Download StatusNet and set up all the prerequisites as if you were 0. Download StatusNet and set up all the prerequisites as if you were
@ -692,7 +672,7 @@ instructions; read to the end first before trying them.
5. Once all writing processes to your site are turned off, make a 5. Once all writing processes to your site are turned off, make a
final backup of the Web directory and database. final backup of the Web directory and database.
6. Move your StatusNet directory to a backup spot, like "statusnet.bak". 6. Move your StatusNet directory to a backup spot, like "statusnet.bak".
7. Unpack your StatusNet 0.9.7 tarball and move it to "statusnet" or 7. Unpack your StatusNet 0.9.9 tarball and move it to "statusnet" or
wherever your code used to be. wherever your code used to be.
8. Copy the config.php file and the contents of the avatar/, background/, 8. Copy the config.php file and the contents of the avatar/, background/,
file/, and local/ subdirectories from your old directory to your new file/, and local/ subdirectories from your old directory to your new

View File

@ -1127,8 +1127,11 @@ function common_tag_link($tag)
function common_canonical_tag($tag) function common_canonical_tag($tag)
{ {
// only alphanum
$tag = preg_replace('/[^\pL\pN]/u', '', $tag);
$tag = mb_convert_case($tag, MB_CASE_LOWER, "UTF-8"); $tag = mb_convert_case($tag, MB_CASE_LOWER, "UTF-8");
return str_replace(array('-', '_', '.'), '', $tag); $tag = substr($tag, 0, 64);
return $tag;
} }
function common_valid_profile_tag($str) function common_valid_profile_tag($str)

View File

@ -103,7 +103,11 @@ class MeteorPlugin extends RealtimePlugin
function _updateInitialize($timeline, $user_id) function _updateInitialize($timeline, $user_id)
{ {
$script = parent::_updateInitialize($timeline, $user_id); $script = parent::_updateInitialize($timeline, $user_id);
return $script." MeteorUpdater.init(\"$this->webserver\", $this->webport, \"{$timeline}\");"; $ours = sprintf("MeteorUpdater.init(%s, %s, %s);",
json_encode($this->webserver),
json_encode($this->webport),
json_encode($timeline));
return $script." ".$ours;
} }
function _connect() function _connect()