Merge branch '0.9.x' into TwitterBridgePlugin
This commit is contained in:
commit
09dfb08a39
65
EVENTS.txt
65
EVENTS.txt
@ -390,3 +390,68 @@ EndProfilePageProfileTags: after showing the tags on the profile page
|
|||||||
- $action: the current action
|
- $action: the current action
|
||||||
- &$profile: the profile being shown
|
- &$profile: the profile being shown
|
||||||
|
|
||||||
|
StartProfileList: when starting a list of profiles (before <ul>)
|
||||||
|
- $profilelist: ProfileList widget, with $profile, $action, and $out
|
||||||
|
|
||||||
|
EndProfileList: when ending a list of profiles (after </ul>)
|
||||||
|
- $profilelist: ProfileList widget
|
||||||
|
|
||||||
|
StartProfileListItem: when starting to show a profile list item
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItem: after showing a profile list item
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
StartProfileListItemProfile: the profile data part of the item
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItemProfile: the profile data part of the item
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
StartProfileListItemActions: the actions (buttons) for an item
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItemActions: the actions (buttons) for an item
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
StartProfileListItemProfileElements: inside the <div>
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItemProfileElements: inside the <div>
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
StartProfileListItemAvatar: Showing a profile list avatar
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItemAvatar: Showing a profile list avatar
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
StartProfileListItemFullName: Showing the profile list full name
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItemFullName: Showing the profile list full name
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
StartProfileListItemLocation: Showing the profile list location
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItemLocation: Showing the profile list location
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
StartProfileListItemHomepage: Showing the profile list homepage
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItemHomepage: Showing the profile list homepage
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
StartProfileListItemBio: Showing the profile list bio
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItemBio: Showing the profile list bio
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
StartProfileListItemActionElements: Showing the profile list actions (prepend a button here, or replace all buttons)
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
|
||||||
|
EndProfileListItemActionElements: Showing profile list actions (append a button here)
|
||||||
|
- $item: ProfileListItem widget
|
||||||
|
2
README
2
README
@ -2,7 +2,7 @@
|
|||||||
README
|
README
|
||||||
------
|
------
|
||||||
|
|
||||||
StatusNet 0.8.1 ("Second Guessing")
|
StatusNet 0.8.2 ("Life and How to Live It")
|
||||||
26 Aug 2009
|
26 Aug 2009
|
||||||
|
|
||||||
This is the README file for StatusNet (formerly Laconica), the Open
|
This is the README file for StatusNet (formerly Laconica), the Open
|
||||||
|
@ -179,9 +179,12 @@ class GroupMemberListItem extends ProfileListItem
|
|||||||
function showActions()
|
function showActions()
|
||||||
{
|
{
|
||||||
$this->startActions();
|
$this->startActions();
|
||||||
$this->showSubscribeButton();
|
if (Event::handle('StartProfileListItemActionElements', array($this))) {
|
||||||
$this->showMakeAdminForm();
|
$this->showSubscribeButton();
|
||||||
$this->showGroupBlockForm();
|
$this->showMakeAdminForm();
|
||||||
|
$this->showGroupBlockForm();
|
||||||
|
Event::handle('EndProfileListItemActionElements', array($this));
|
||||||
|
}
|
||||||
$this->endActions();
|
$this->endActions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ class DB_DataObject extends DB_DataObject_Overload
|
|||||||
* @access private
|
* @access private
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
var $_DB_DataObject_version = "1.8.11";
|
var $_DB_DataObject_version = "1.8.12";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Database table (used by table extends)
|
* The Database table (used by table extends)
|
||||||
|
@ -6,9 +6,9 @@
|
|||||||
*
|
*
|
||||||
* PHP versions 4 and 5
|
* PHP versions 4 and 5
|
||||||
*
|
*
|
||||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
* LICENSE: This source file is subject to version 3.01 of the PHP license
|
||||||
* that is available through the world-wide-web at the following URI:
|
* that is available through the world-wide-web at the following URI:
|
||||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
* http://www.php.net/license/3_01.txt. If you did not receive a copy of
|
||||||
* the PHP License and are unable to obtain it through the web, please
|
* the PHP License and are unable to obtain it through the web, please
|
||||||
* send a note to license@php.net so we can mail you a copy immediately.
|
* send a note to license@php.net so we can mail you a copy immediately.
|
||||||
*
|
*
|
||||||
@ -16,8 +16,8 @@
|
|||||||
* @package DB_DataObject
|
* @package DB_DataObject
|
||||||
* @author Alan Knowles <alan@akbkhome.com>
|
* @author Alan Knowles <alan@akbkhome.com>
|
||||||
* @copyright 1997-2008 The PHP Group
|
* @copyright 1997-2008 The PHP Group
|
||||||
* @license http://www.php.net/license/3_0.txt PHP License 3.0
|
* @license http://www.php.net/license/3_01.txt PHP License 3.01
|
||||||
* @version CVS: $Id: Cast.php 264148 2008-08-04 03:44:59Z alan_k $
|
* @version CVS: $Id: Cast.php 287158 2009-08-12 13:58:31Z alan_k $
|
||||||
* @link http://pear.php.net/package/DB_DataObject
|
* @link http://pear.php.net/package/DB_DataObject
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
*
|
*
|
||||||
* PHP versions 4 and 5
|
* PHP versions 4 and 5
|
||||||
*
|
*
|
||||||
* LICENSE: This source file is subject to version 3.0 of the PHP license
|
* LICENSE: This source file is subject to version 3.01 of the PHP license
|
||||||
* that is available through the world-wide-web at the following URI:
|
* that is available through the world-wide-web at the following URI:
|
||||||
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
|
* http://www.php.net/license/3_01.txt. If you did not receive a copy of
|
||||||
* the PHP License and are unable to obtain it through the web, please
|
* the PHP License and are unable to obtain it through the web, please
|
||||||
* send a note to license@php.net so we can mail you a copy immediately.
|
* send a note to license@php.net so we can mail you a copy immediately.
|
||||||
*
|
*
|
||||||
@ -17,8 +17,8 @@
|
|||||||
* @package DB_DataObject
|
* @package DB_DataObject
|
||||||
* @author Alan Knowles <alan@akbkhome.com>
|
* @author Alan Knowles <alan@akbkhome.com>
|
||||||
* @copyright 1997-2006 The PHP Group
|
* @copyright 1997-2006 The PHP Group
|
||||||
* @license http://www.php.net/license/3_0.txt PHP License 3.0
|
* @license http://www.php.net/license/3_01.txt PHP License 3.01
|
||||||
* @version CVS: $Id: Error.php 277015 2009-03-12 05:51:03Z alan_k $
|
* @version CVS: $Id: Error.php 287158 2009-08-12 13:58:31Z alan_k $
|
||||||
* @link http://pear.php.net/package/DB_DataObject
|
* @link http://pear.php.net/package/DB_DataObject
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -129,7 +129,7 @@ function _setlocale($category, $locale) {
|
|||||||
$ret = 0;
|
$ret = 0;
|
||||||
if (function_exists('setlocale')) // I don't know if this ever happens ;)
|
if (function_exists('setlocale')) // I don't know if this ever happens ;)
|
||||||
$ret = setlocale($category, $locale);
|
$ret = setlocale($category, $locale);
|
||||||
if (($ret and $locale == '') or ($ret == $locale)) {
|
if ($ret and ($locale == '' or $ret == $locale)) {
|
||||||
$EMULATEGETTEXT = 0;
|
$EMULATEGETTEXT = 0;
|
||||||
$CURRENTLOCALE = $ret;
|
$CURRENTLOCALE = $ret;
|
||||||
} else {
|
} else {
|
||||||
|
@ -101,35 +101,36 @@ function get_nice_language_list()
|
|||||||
*/
|
*/
|
||||||
function get_all_languages() {
|
function get_all_languages() {
|
||||||
return array(
|
return array(
|
||||||
'bg' => array('q' => 0.8, 'lang' => 'bg_BG', 'name' => 'Bulgarian', 'direction' => 'ltr'),
|
'bg' => array('q' => 0.8, 'lang' => 'bg', 'name' => 'Bulgarian', 'direction' => 'ltr'),
|
||||||
'ca' => array('q' => 0.5, 'lang' => 'ca_ES', 'name' => 'Catalan', 'direction' => 'ltr'),
|
'ca' => array('q' => 0.5, 'lang' => 'ca', 'name' => 'Catalan', 'direction' => 'ltr'),
|
||||||
'cs' => array('q' => 0.5, 'lang' => 'cs_CZ', 'name' => 'Czech', 'direction' => 'ltr'),
|
'cs' => array('q' => 0.5, 'lang' => 'cs', 'name' => 'Czech', 'direction' => 'ltr'),
|
||||||
'de' => array('q' => 0.8, 'lang' => 'de_DE', 'name' => 'German', 'direction' => 'ltr'),
|
'de' => array('q' => 0.8, 'lang' => 'de', 'name' => 'German', 'direction' => 'ltr'),
|
||||||
'el' => array('q' => 0.1, 'lang' => 'el', 'name' => 'Greek', 'direction' => 'ltr'),
|
'el' => array('q' => 0.1, 'lang' => 'el', 'name' => 'Greek', 'direction' => 'ltr'),
|
||||||
'en-us' => array('q' => 1, 'lang' => 'en_US', 'name' => 'English (US)', 'direction' => 'ltr'),
|
'en-us' => array('q' => 1, 'lang' => 'en', 'name' => 'English (US)', 'direction' => 'ltr'),
|
||||||
'en-gb' => array('q' => 1, 'lang' => 'en_GB', 'name' => 'English (British)', 'direction' => 'ltr'),
|
'en-gb' => array('q' => 1, 'lang' => 'en_GB', 'name' => 'English (British)', 'direction' => 'ltr'),
|
||||||
'en' => array('q' => 1, 'lang' => 'en_US', 'name' => 'English (US)', 'direction' => 'ltr'),
|
'en' => array('q' => 1, 'lang' => 'en', 'name' => 'English (US)', 'direction' => 'ltr'),
|
||||||
'es' => array('q' => 1, 'lang' => 'es', 'name' => 'Spanish', 'direction' => 'ltr'),
|
'es' => array('q' => 1, 'lang' => 'es', 'name' => 'Spanish', 'direction' => 'ltr'),
|
||||||
'fi' => array('q' => 1, 'lang' => 'fi', 'name' => 'Finnish', 'direction' => 'ltr'),
|
'fi' => array('q' => 1, 'lang' => 'fi', 'name' => 'Finnish', 'direction' => 'ltr'),
|
||||||
'fr-fr' => array('q' => 1, 'lang' => 'fr_FR', 'name' => 'French', 'direction' => 'ltr'),
|
'fr-fr' => array('q' => 1, 'lang' => 'fr', 'name' => 'French', 'direction' => 'ltr'),
|
||||||
'he' => array('q' => 0.5, 'lang' => 'he_IL', 'name' => 'Hebrew', 'direction' => 'rtl'),
|
'ga' => array('q' => 0.5, 'lang' => 'ga', 'name' => 'Galician', 'direction' => 'ltr'),
|
||||||
'it' => array('q' => 1, 'lang' => 'it_IT', 'name' => 'Italian', 'direction' => 'ltr'),
|
'he' => array('q' => 0.5, 'lang' => 'he', 'name' => 'Hebrew', 'direction' => 'rtl'),
|
||||||
'jp' => array('q' => 0.5, 'lang' => 'ja_JP', 'name' => 'Japanese', 'direction' => 'ltr'),
|
'it' => array('q' => 1, 'lang' => 'it', 'name' => 'Italian', 'direction' => 'ltr'),
|
||||||
'ko' => array('q' => 0.9, 'lang' => 'ko_KR', 'name' => 'Korean', 'direction' => 'ltr'),
|
'jp' => array('q' => 0.5, 'lang' => 'ja', 'name' => 'Japanese', 'direction' => 'ltr'),
|
||||||
'mk' => array('q' => 0.5, 'lang' => 'mk_MK', 'name' => 'Macedonian', 'direction' => 'ltr'),
|
'ko' => array('q' => 0.9, 'lang' => 'ko', 'name' => 'Korean', 'direction' => 'ltr'),
|
||||||
'nb' => array('q' => 0.1, 'lang' => 'nb_NO', 'name' => 'Norwegian (Bokmål)', 'direction' => 'ltr'),
|
'mk' => array('q' => 0.5, 'lang' => 'mk', 'name' => 'Macedonian', 'direction' => 'ltr'),
|
||||||
'no' => array('q' => 0.1, 'lang' => 'nb_NO', 'name' => 'Norwegian (Bokmål)', 'direction' => 'ltr'),
|
'nb' => array('q' => 0.1, 'lang' => 'nb', 'name' => 'Norwegian (Bokmål)', 'direction' => 'ltr'),
|
||||||
'nn' => array('q' => 1, 'lang' => 'nn_NO', 'name' => 'Norwegian (Nynorsk)', 'direction' => 'ltr'),
|
'no' => array('q' => 0.1, 'lang' => 'nb', 'name' => 'Norwegian (Bokmål)', 'direction' => 'ltr'),
|
||||||
'nl' => array('q' => 0.5, 'lang' => 'nl_NL', 'name' => 'Dutch', 'direction' => 'ltr'),
|
'nn' => array('q' => 1, 'lang' => 'nn', 'name' => 'Norwegian (Nynorsk)', 'direction' => 'ltr'),
|
||||||
'pl' => array('q' => 0.5, 'lang' => 'pl_PL', 'name' => 'Polish', 'direction' => 'ltr'),
|
'nl' => array('q' => 0.5, 'lang' => 'nl', 'name' => 'Dutch', 'direction' => 'ltr'),
|
||||||
|
'pl' => array('q' => 0.5, 'lang' => 'pl', 'name' => 'Polish', 'direction' => 'ltr'),
|
||||||
'pt' => array('q' => 0.1, 'lang' => 'pt', 'name' => 'Portuguese', 'direction' => 'ltr'),
|
'pt' => array('q' => 0.1, 'lang' => 'pt', 'name' => 'Portuguese', 'direction' => 'ltr'),
|
||||||
'pt-br' => array('q' => 0.9, 'lang' => 'pt_BR', 'name' => 'Portuguese Brazil', 'direction' => 'ltr'),
|
'pt-br' => array('q' => 0.9, 'lang' => 'pt_BR', 'name' => 'Portuguese Brazil', 'direction' => 'ltr'),
|
||||||
'ru' => array('q' => 0.9, 'lang' => 'ru_RU', 'name' => 'Russian', 'direction' => 'ltr'),
|
'ru' => array('q' => 0.9, 'lang' => 'ru', 'name' => 'Russian', 'direction' => 'ltr'),
|
||||||
'sv' => array('q' => 0.8, 'lang' => 'sv_SE', 'name' => 'Swedish', 'direction' => 'ltr'),
|
'sv' => array('q' => 0.8, 'lang' => 'sv', 'name' => 'Swedish', 'direction' => 'ltr'),
|
||||||
'te' => array('q' => 0.3, 'lang' => 'te_IN', 'name' => 'Telugu', 'direction' => 'ltr'),
|
'te' => array('q' => 0.3, 'lang' => 'te', 'name' => 'Telugu', 'direction' => 'ltr'),
|
||||||
'tr' => array('q' => 0.5, 'lang' => 'tr_TR', 'name' => 'Turkish', 'direction' => 'ltr'),
|
'tr' => array('q' => 0.5, 'lang' => 'tr', 'name' => 'Turkish', 'direction' => 'ltr'),
|
||||||
'uk' => array('q' => 1, 'lang' => 'uk_UA', 'name' => 'Ukrainian', 'direction' => 'ltr'),
|
'uk' => array('q' => 1, 'lang' => 'uk', 'name' => 'Ukrainian', 'direction' => 'ltr'),
|
||||||
'vi' => array('q' => 0.8, 'lang' => 'vi_VN', 'name' => 'Vietnamese', 'direction' => 'ltr'),
|
'vi' => array('q' => 0.8, 'lang' => 'vi', 'name' => 'Vietnamese', 'direction' => 'ltr'),
|
||||||
'zh-cn' => array('q' => 0.9, 'lang' => 'zh_CN', 'name' => 'Chinese (Simplified)', 'direction' => 'ltr'),
|
'zh-cn' => array('q' => 0.9, 'lang' => 'zh_CN', 'name' => 'Chinese (Simplified)', 'direction' => 'ltr'),
|
||||||
'zh-hant' => array('q' => 0.2, 'lang' => 'zh_TW', 'name' => 'Chinese (Taiwanese)', 'direction' => 'ltr'),
|
'zh-hant' => array('q' => 0.2, 'lang' => 'zh_TW', 'name' => 'Chinese (Taiwanese)', 'direction' => 'ltr'),
|
||||||
);
|
);
|
||||||
|
@ -62,9 +62,15 @@ class ProfileList extends Widget
|
|||||||
|
|
||||||
function show()
|
function show()
|
||||||
{
|
{
|
||||||
$this->startList();
|
$cnt = 0;
|
||||||
$cnt = $this->showProfiles();
|
|
||||||
$this->endList();
|
if (Event::handle('StartProfileList', array($this))) {
|
||||||
|
$this->startList();
|
||||||
|
$cnt = $this->showProfiles();
|
||||||
|
$this->endList();
|
||||||
|
Event::handle('EndProfileList', array($this));
|
||||||
|
}
|
||||||
|
|
||||||
return $cnt;
|
return $cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,10 +123,19 @@ class ProfileListItem extends Widget
|
|||||||
|
|
||||||
function show()
|
function show()
|
||||||
{
|
{
|
||||||
$this->startItem();
|
if (Event::handle('StartProfileListItem', array($this))) {
|
||||||
$this->showProfile();
|
$this->startItem();
|
||||||
$this->showActions();
|
if (Event::handle('StartProfileListItemProfile', array($this))) {
|
||||||
$this->endItem();
|
$this->showProfile();
|
||||||
|
Event::handle('EndProfileListItemProfile', array($this));
|
||||||
|
}
|
||||||
|
if (Event::handle('StartProfileListItemActions', array($this))) {
|
||||||
|
$this->showActions();
|
||||||
|
Event::handle('EndProfileListItemActions', array($this));
|
||||||
|
}
|
||||||
|
$this->endItem();
|
||||||
|
Event::handle('EndProfileListItem', array($this));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function startItem()
|
function startItem()
|
||||||
@ -132,11 +147,29 @@ class ProfileListItem extends Widget
|
|||||||
function showProfile()
|
function showProfile()
|
||||||
{
|
{
|
||||||
$this->startProfile();
|
$this->startProfile();
|
||||||
$this->showAvatar();
|
if (Event::handle('StartProfileListItemProfileElements', array($this))) {
|
||||||
$this->showFullName();
|
if (Event::handle('StartProfileListItemAvatar', array($this))) {
|
||||||
$this->showLocation();
|
$this->showAvatar();
|
||||||
$this->showHomepage();
|
Event::handle('EndProfileListItemAvatar', array($this));
|
||||||
$this->showBio();
|
}
|
||||||
|
if (Event::handle('StartProfileListItemFullName', array($this))) {
|
||||||
|
$this->showFullName();
|
||||||
|
Event::handle('EndProfileListItemFullName', array($this));
|
||||||
|
}
|
||||||
|
if (Event::handle('StartProfileListItemLocation', array($this))) {
|
||||||
|
$this->showLocation();
|
||||||
|
Event::handle('EndProfileListItemLocation', array($this));
|
||||||
|
}
|
||||||
|
if (Event::handle('StartProfileListItemHomepage', array($this))) {
|
||||||
|
$this->showHomepage();
|
||||||
|
Event::handle('EndProfileListItemHomepage', array($this));
|
||||||
|
}
|
||||||
|
if (Event::handle('StartProfileListItemBio', array($this))) {
|
||||||
|
$this->showBio();
|
||||||
|
Event::handle('EndProfileListItemBio', array($this));
|
||||||
|
}
|
||||||
|
Event::handle('EndProfileListItemProfileElements', array($this));
|
||||||
|
}
|
||||||
$this->endProfile();
|
$this->endProfile();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -225,7 +258,10 @@ class ProfileListItem extends Widget
|
|||||||
function showActions()
|
function showActions()
|
||||||
{
|
{
|
||||||
$this->startActions();
|
$this->startActions();
|
||||||
$this->showSubscribeButton();
|
if (Event::handle('StartProfileListItemActionElements', array($this))) {
|
||||||
|
$this->showSubscribeButton();
|
||||||
|
Event::handle('EndProfileListItemActionElements', array($this));
|
||||||
|
}
|
||||||
$this->endActions();
|
$this->endActions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
18
lib/util.php
18
lib/util.php
@ -51,13 +51,23 @@ function common_init_locale($language=null)
|
|||||||
function common_init_language()
|
function common_init_language()
|
||||||
{
|
{
|
||||||
mb_internal_encoding('UTF-8');
|
mb_internal_encoding('UTF-8');
|
||||||
|
|
||||||
|
// gettext seems very picky... We first need to setlocale()
|
||||||
|
// to a locale which _does_ exist on the system, and _then_
|
||||||
|
// we can set in another locale that may not be set up
|
||||||
|
// (say, ga_ES for Galego/Galician) it seems to take it.
|
||||||
|
common_init_locale("en_US");
|
||||||
|
|
||||||
$language = common_language();
|
$language = common_language();
|
||||||
// So we don't have to make people install the gettext locales
|
|
||||||
$locale_set = common_init_locale($language);
|
$locale_set = common_init_locale($language);
|
||||||
bindtextdomain("statusnet", common_config('site','locale_path'));
|
setlocale(LC_CTYPE, 'C');
|
||||||
|
|
||||||
|
// So we don't have to make people install the gettext locales
|
||||||
|
$path = common_config('site','locale_path');
|
||||||
|
bindtextdomain("statusnet", $path);
|
||||||
bind_textdomain_codeset("statusnet", "UTF-8");
|
bind_textdomain_codeset("statusnet", "UTF-8");
|
||||||
textdomain("statusnet");
|
textdomain("statusnet");
|
||||||
setlocale(LC_CTYPE, 'C');
|
|
||||||
if(!$locale_set) {
|
if(!$locale_set) {
|
||||||
common_log(LOG_INFO, 'Language requested:' . $language . ' - locale could not be set. Perhaps that system locale is not installed.', __FILE__);
|
common_log(LOG_INFO, 'Language requested:' . $language . ' - locale could not be set. Perhaps that system locale is not installed.', __FILE__);
|
||||||
}
|
}
|
||||||
@ -391,7 +401,7 @@ function common_render_content($text, $notice)
|
|||||||
{
|
{
|
||||||
$r = common_render_text($text);
|
$r = common_render_text($text);
|
||||||
$id = $notice->profile_id;
|
$id = $notice->profile_id;
|
||||||
$r = preg_replace('/(^|[\s\.\,\:\;]+)@([A-Za-z0-9]{1,64})/e', "'\\1@'.common_at_link($id, '\\2')", $r);
|
$r = preg_replace('/(^|\s+)@(['.NICKNAME_FMT.']{1,64})/e', "'\\1@'.common_at_link($id, '\\2')", $r);
|
||||||
$r = preg_replace('/^T ([A-Z0-9]{1,64}) /e', "'T '.common_at_link($id, '\\1').' '", $r);
|
$r = preg_replace('/^T ([A-Z0-9]{1,64}) /e', "'T '.common_at_link($id, '\\1').' '", $r);
|
||||||
$r = preg_replace('/(^|[\s\.\,\:\;]+)@#([A-Za-z0-9]{1,64})/e', "'\\1@#'.common_at_hash_link($id, '\\2')", $r);
|
$r = preg_replace('/(^|[\s\.\,\:\;]+)@#([A-Za-z0-9]{1,64})/e', "'\\1@#'.common_at_hash_link($id, '\\2')", $r);
|
||||||
$r = preg_replace('/(^|[\s\.\,\:\;]+)!([A-Za-z0-9]{1,64})/e', "'\\1!'.common_group_link($id, '\\2')", $r);
|
$r = preg_replace('/(^|[\s\.\,\:\;]+)!([A-Za-z0-9]{1,64})/e', "'\\1!'.common_group_link($id, '\\2')", $r);
|
||||||
|
BIN
locale/bg/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/bg/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
BIN
locale/cs/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/cs/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
BIN
locale/de/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/de/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
locale/fr/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/fr/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
BIN
locale/ga/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/ga/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
4713
locale/ga/LC_MESSAGES/statusnet.po
Normal file
4713
locale/ga/LC_MESSAGES/statusnet.po
Normal file
File diff suppressed because it is too large
Load Diff
BIN
locale/is/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/is/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
BIN
locale/it/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/it/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
BIN
locale/ja/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/ja/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
BIN
locale/mk/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/mk/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
@ -4670,12 +4670,12 @@ msgstr "%1$s сега ги следи вашите забелешки за %2$s.
|
|||||||
#: lib/mail.php:254
|
#: lib/mail.php:254
|
||||||
#, fuzzy, php-format
|
#, fuzzy, php-format
|
||||||
msgid "Location: %s\n"
|
msgid "Location: %s\n"
|
||||||
msgstr "Локација"
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mail.php:256
|
#: lib/mail.php:256
|
||||||
#, fuzzy, php-format
|
#, fuzzy, php-format
|
||||||
msgid "Homepage: %s\n"
|
msgid "Homepage: %s\n"
|
||||||
msgstr "Домашна страница"
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mail.php:258
|
#: lib/mail.php:258
|
||||||
#, php-format
|
#, php-format
|
Binary file not shown.
BIN
locale/nl/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/nl/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
locale/sv/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/sv/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
BIN
locale/te/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/te/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
BIN
locale/tr/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/tr/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
@ -4676,13 +4676,13 @@ msgstr "%1$s %2$s'da durumunuzu takip ediyor"
|
|||||||
#: lib/mail.php:254
|
#: lib/mail.php:254
|
||||||
#, fuzzy, php-format
|
#, fuzzy, php-format
|
||||||
msgid "Location: %s\n"
|
msgid "Location: %s\n"
|
||||||
msgstr "Yer"
|
msgstr ""
|
||||||
|
|
||||||
# Belki Durum Merkezi falan denebilir mi ki?
|
# Belki Durum Merkezi falan denebilir mi ki?
|
||||||
#: lib/mail.php:256
|
#: lib/mail.php:256
|
||||||
#, fuzzy, php-format
|
#, fuzzy, php-format
|
||||||
msgid "Homepage: %s\n"
|
msgid "Homepage: %s\n"
|
||||||
msgstr "Başlangıç Sayfası"
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mail.php:258
|
#: lib/mail.php:258
|
||||||
#, php-format
|
#, php-format
|
Binary file not shown.
BIN
locale/vi/LC_MESSAGES/statusnet.mo
Normal file
BIN
locale/vi/LC_MESSAGES/statusnet.mo
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -4563,12 +4563,12 @@ msgstr "現在%1$s在%2$s成為你的粉絲囉"
|
|||||||
#: lib/mail.php:254
|
#: lib/mail.php:254
|
||||||
#, fuzzy, php-format
|
#, fuzzy, php-format
|
||||||
msgid "Location: %s\n"
|
msgid "Location: %s\n"
|
||||||
msgstr "地點"
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mail.php:256
|
#: lib/mail.php:256
|
||||||
#, fuzzy, php-format
|
#, fuzzy, php-format
|
||||||
msgid "Homepage: %s\n"
|
msgid "Homepage: %s\n"
|
||||||
msgstr "個人首頁"
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mail.php:258
|
#: lib/mail.php:258
|
||||||
#, php-format
|
#, php-format
|
||||||
|
@ -115,26 +115,48 @@ class FBConnectPlugin extends Plugin
|
|||||||
// XXX: Facebook says we don't need this FB_RequireFeatures(),
|
// XXX: Facebook says we don't need this FB_RequireFeatures(),
|
||||||
// but we actually do, for IE and Safari. Gar.
|
// but we actually do, for IE and Safari. Gar.
|
||||||
|
|
||||||
$html = sprintf('<script type="text/javascript">
|
$js = '<script type="text/javascript">';
|
||||||
$(document).ready(function () {
|
$js .= ' $(document).ready(function () {';
|
||||||
FB_RequireFeatures(
|
$js .= ' FB_RequireFeatures(';
|
||||||
["XFBML"],
|
$js .= ' ["XFBML"], function() {';
|
||||||
function() {
|
$js .= ' FB.init("%1$s", "../xd_receiver.html");';
|
||||||
FB.init("%s", "../xd_receiver.html");
|
$js .= ' }';
|
||||||
}
|
$js .= ' );';
|
||||||
); });
|
$js .= ' });';
|
||||||
|
|
||||||
function goto_login() {
|
$js .= ' function goto_login() {';
|
||||||
window.location = "%s";
|
$js .= ' window.location = "%2$s";';
|
||||||
}
|
$js .= ' }';
|
||||||
|
|
||||||
function goto_logout() {
|
// The below function alters the logout link so that it logs the user out
|
||||||
window.location = "%s";
|
// of Facebook Connect as well as the site. However, for some pages
|
||||||
}
|
// (FB Connect Settings) we need to output the FB Connect scripts (to
|
||||||
</script>', $apikey,
|
// show an existing FB connection even if the user isn't authenticated
|
||||||
$login_url, $logout_url);
|
// with Facebook connect) but NOT alter the logout link. And the only
|
||||||
|
// way to reliably do that is with the FB Connect .js libs. Crazy.
|
||||||
|
|
||||||
$action->raw($html);
|
$js .= ' FB.ensureInit(function() {';
|
||||||
|
$js .= ' FB.Connect.ifUserConnected(';
|
||||||
|
$js .= ' function() { ';
|
||||||
|
$js .= ' $(\'#nav_logout a\').attr(\'href\', \'#\');';
|
||||||
|
$js .= ' $(\'#nav_logout a\').click(function() {';
|
||||||
|
$js .= ' FB.Connect.logoutAndRedirect(\'%3$s\');';
|
||||||
|
$js .= ' return false;';
|
||||||
|
$js .= ' })';
|
||||||
|
$js .= ' },';
|
||||||
|
$js .= ' function() {';
|
||||||
|
$js .= ' return false;';
|
||||||
|
$js .= ' }';
|
||||||
|
$js .= ' );';
|
||||||
|
$js .= ' });';
|
||||||
|
$js .= '</script>';
|
||||||
|
|
||||||
|
$js = sprintf($js, $apikey, $login_url, $logout_url);
|
||||||
|
|
||||||
|
// Compress the bugger down a bit
|
||||||
|
$js = str_replace(' ', '', $js);
|
||||||
|
|
||||||
|
$action->raw(" $js"); // leading two spaces to make it line up
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -150,7 +172,6 @@ class FBConnectPlugin extends Plugin
|
|||||||
|
|
||||||
function onEndShowStatusNetStyles($action)
|
function onEndShowStatusNetStyles($action)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($this->reqFbScripts($action)) {
|
if ($this->reqFbScripts($action)) {
|
||||||
$action->cssLink('plugins/FBConnect/FBConnectPlugin.css');
|
$action->cssLink('plugins/FBConnect/FBConnectPlugin.css');
|
||||||
}
|
}
|
||||||
@ -269,66 +290,9 @@ class FBConnectPlugin extends Plugin
|
|||||||
$action->elementEnd('li');
|
$action->elementEnd('li');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$action->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
|
return true;
|
||||||
_('Home'), _('Personal profile and friends timeline'), false, 'nav_home');
|
|
||||||
$action->menuItem(common_local_url('profilesettings'),
|
|
||||||
_('Account'), _('Change your email, avatar, password, profile'), false, 'nav_account');
|
|
||||||
$action->menuItem(common_local_url($connect),
|
|
||||||
_('Connect'), _('Connect to services'), false, 'nav_connect');
|
|
||||||
if (common_config('invite', 'enabled')) {
|
|
||||||
$action->menuItem(common_local_url('invite'),
|
|
||||||
_('Invite'),
|
|
||||||
sprintf(_('Invite friends and colleagues to join you on %s'),
|
|
||||||
common_config('site', 'name')),
|
|
||||||
false, 'nav_invitecontact');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Need to override the Logout link to make it do FB stuff
|
|
||||||
if (!empty($fbuid)) {
|
|
||||||
|
|
||||||
$logout_url = common_local_url('logout');
|
|
||||||
$title = _('Logout from the site');
|
|
||||||
$text = _('Logout');
|
|
||||||
|
|
||||||
$html = sprintf('<li id="nav_logout"><a href="#" title="%s" ' .
|
|
||||||
'onclick="FB.Connect.logoutAndRedirect(\'%s\');">%s</a></li>',
|
|
||||||
$title, $logout_url, $text);
|
|
||||||
|
|
||||||
$action->raw($html);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
$action->menuItem(common_local_url('logout'),
|
|
||||||
_('Logout'), _('Logout from the site'), false, 'nav_logout');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (!common_config('site', 'openidonly')) {
|
|
||||||
if (!common_config('site', 'closed')) {
|
|
||||||
$action->menuItem(common_local_url('register'),
|
|
||||||
_('Register'), _('Create an account'), false, 'nav_register');
|
|
||||||
}
|
|
||||||
$action->menuItem(common_local_url('login'),
|
|
||||||
_('Login'), _('Login to the site'), false, 'nav_login');
|
|
||||||
} else {
|
|
||||||
$this->menuItem(common_local_url('openidlogin'),
|
|
||||||
_('OpenID'), _('Login with OpenID'), false, 'nav_openid');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$action->menuItem(common_local_url('doc', array('title' => 'help')),
|
|
||||||
_('Help'), _('Help me!'), false, 'nav_help');
|
|
||||||
if ($user || !common_config('site', 'private')) {
|
|
||||||
$action->menuItem(common_local_url('peoplesearch'),
|
|
||||||
_('Search'), _('Search for people or text'), false, 'nav_search');
|
|
||||||
}
|
|
||||||
|
|
||||||
// We are replacing the primary nav entirely; give other
|
|
||||||
// plugins a chance to handle it here.
|
|
||||||
|
|
||||||
Event::handle('EndPrimaryNav', array($action));
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onStartShowLocalNavBlock($action)
|
function onStartShowLocalNavBlock($action)
|
||||||
@ -357,7 +321,7 @@ class FBConnectPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onStartLogout($action)
|
function onStartLogout($action)
|
||||||
{
|
{
|
||||||
$action->logout();
|
$action->logout();
|
||||||
$fbuid = $this->loggedIn();
|
$fbuid = $this->loggedIn();
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ RealtimeUpdate = {
|
|||||||
_replyurl: '',
|
_replyurl: '',
|
||||||
_favorurl: '',
|
_favorurl: '',
|
||||||
_deleteurl: '',
|
_deleteurl: '',
|
||||||
|
_updatecounter: 0,
|
||||||
|
|
||||||
init: function(userid, replyurl, favorurl, deleteurl)
|
init: function(userid, replyurl, favorurl, deleteurl)
|
||||||
{
|
{
|
||||||
@ -15,6 +16,8 @@ RealtimeUpdate = {
|
|||||||
RealtimeUpdate._favorurl = favorurl;
|
RealtimeUpdate._favorurl = favorurl;
|
||||||
RealtimeUpdate._deleteurl = deleteurl;
|
RealtimeUpdate._deleteurl = deleteurl;
|
||||||
|
|
||||||
|
DT = document.title;
|
||||||
|
|
||||||
$(window).blur(function() {
|
$(window).blur(function() {
|
||||||
$('#notices_primary .notice').css({
|
$('#notices_primary .notice').css({
|
||||||
'border-top-color':$('#notices_primary .notice:last').css('border-top-color'),
|
'border-top-color':$('#notices_primary .notice:last').css('border-top-color'),
|
||||||
@ -26,6 +29,9 @@ RealtimeUpdate = {
|
|||||||
'border-top-style':'solid'
|
'border-top-style':'solid'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
RealtimeUpdate._updatecounter = 0;
|
||||||
|
document.title = DT;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -45,6 +51,9 @@ RealtimeUpdate = {
|
|||||||
$("#notices_primary .notice:first").css({display:"none"});
|
$("#notices_primary .notice:first").css({display:"none"});
|
||||||
$("#notices_primary .notice:first").fadeIn(1000);
|
$("#notices_primary .notice:first").fadeIn(1000);
|
||||||
NoticeReply();
|
NoticeReply();
|
||||||
|
|
||||||
|
RealtimeUpdate._updatecounter += 1;
|
||||||
|
document.title = '('+RealtimeUpdate._updatecounter+') ' + DT;
|
||||||
}, 500);
|
}, 500);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -365,6 +365,10 @@ class MailerDaemon
|
|||||||
if (preg_match('/^\s*Sent via/', $line)) {
|
if (preg_match('/^\s*Sent via/', $line)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (preg_match('/^\s*Sent from my/', $line)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// skip everything after a sig
|
// skip everything after a sig
|
||||||
if (preg_match('/^\s*--+\s*$/', $line) ||
|
if (preg_match('/^\s*--+\s*$/', $line) ||
|
||||||
preg_match('/^\s*__+\s*$/', $line))
|
preg_match('/^\s*__+\s*$/', $line))
|
||||||
|
@ -18,7 +18,7 @@ font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
|
|||||||
font-size:1em;
|
font-size:1em;
|
||||||
}
|
}
|
||||||
address {
|
address {
|
||||||
margin-right:7.2%;
|
margin-right:5.8%;
|
||||||
}
|
}
|
||||||
|
|
||||||
input, textarea, select, option {
|
input, textarea, select, option {
|
||||||
|
Loading…
Reference in New Issue
Block a user