Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing
This commit is contained in:
commit
cea7d8018a
10
EVENTS.txt
10
EVENTS.txt
|
@ -1,4 +1,4 @@
|
||||||
InitializePlugin: a chance to initialize a plugin in a complete environment
|
\InitializePlugin: a chance to initialize a plugin in a complete environment
|
||||||
|
|
||||||
CleanupPlugin: a chance to cleanup a plugin at the end of a program
|
CleanupPlugin: a chance to cleanup a plugin at the end of a program
|
||||||
|
|
||||||
|
@ -355,6 +355,14 @@ EndShowHeadElements: Right before the </head> tag; put <script>s here if you nee
|
||||||
|
|
||||||
CheckSchema: chance to check the schema
|
CheckSchema: chance to check the schema
|
||||||
|
|
||||||
|
StartProfileRemoteSubscribe: Before showing the link to remote subscription
|
||||||
|
- $userprofile: UserProfile widget
|
||||||
|
- &$profile: the profile being shown
|
||||||
|
|
||||||
|
EndProfileRemoteSubscribe: After showing the link to remote subscription
|
||||||
|
- $userprofile: UserProfile widget
|
||||||
|
- &$profile: the profile being shown
|
||||||
|
|
||||||
StartProfilePageProfileSection: Starting to show the section of the
|
StartProfilePageProfileSection: Starting to show the section of the
|
||||||
profile page with the actual profile data;
|
profile page with the actual profile data;
|
||||||
hook to prevent showing the profile (e.g.)
|
hook to prevent showing the profile (e.g.)
|
||||||
|
|
|
@ -238,9 +238,12 @@ class UserProfile extends Widget
|
||||||
|
|
||||||
if (Event::handle('StartProfilePageActionsElements', array(&$this->out, $this->profile))) {
|
if (Event::handle('StartProfilePageActionsElements', array(&$this->out, $this->profile))) {
|
||||||
if (empty($cur)) { // not logged in
|
if (empty($cur)) { // not logged in
|
||||||
$this->out->elementStart('li', 'entity_subscribe');
|
if (Event::handle('StartProfileRemoteSubscribe', array(&$this->out, $this->profile))) {
|
||||||
$this->showRemoteSubscribeLink();
|
$this->out->elementStart('li', 'entity_subscribe');
|
||||||
$this->out->elementEnd('li');
|
$this->showRemoteSubscribeLink();
|
||||||
|
$this->out->elementEnd('li');
|
||||||
|
Event::handle('EndProfileRemoteSubscribe', array(&$this->out, $this->profile));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($cur->id == $this->profile->id) { // your own page
|
if ($cur->id == $this->profile->id) { // your own page
|
||||||
$this->out->elementStart('li', 'entity_edit');
|
$this->out->elementStart('li', 'entity_edit');
|
||||||
|
|
|
@ -188,7 +188,7 @@ class OStatusPlugin extends Plugin
|
||||||
/**
|
/**
|
||||||
* Add in an OStatus subscribe button
|
* Add in an OStatus subscribe button
|
||||||
*/
|
*/
|
||||||
function onStartProfilePageActionsElements($output, $profile)
|
function onStartProfileRemoteSubscribe($output, $profile)
|
||||||
{
|
{
|
||||||
$cur = common_current_user();
|
$cur = common_current_user();
|
||||||
|
|
||||||
|
@ -199,10 +199,12 @@ class OStatusPlugin extends Plugin
|
||||||
array('nickname' => $profile->nickname));
|
array('nickname' => $profile->nickname));
|
||||||
$output->element('a', array('href' => $url,
|
$output->element('a', array('href' => $url,
|
||||||
'class' => 'entity_remote_subscribe'),
|
'class' => 'entity_remote_subscribe'),
|
||||||
_m('OStatus'));
|
_m('Subscribe'));
|
||||||
|
|
||||||
$output->elementEnd('li');
|
$output->elementEnd('li');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -272,4 +274,14 @@ class OStatusPlugin extends Plugin
|
||||||
$schema->ensureTable('hubsub', HubSub::schemaDef());
|
$schema->ensureTable('hubsub', HubSub::schemaDef());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onEndShowStatusNetStyles($action) {
|
||||||
|
$action->cssLink(common_path('plugins/OStatus/theme/base/css/ostatus.css'));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function onEndShowStatusNetScripts($action) {
|
||||||
|
$action->script(common_path('plugins/OStatus/js/ostatus.js'));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,9 +67,21 @@ class OStatusInitAction extends Action
|
||||||
|
|
||||||
function showForm($err = null)
|
function showForm($err = null)
|
||||||
{
|
{
|
||||||
$this->err = $err;
|
$this->err = $err;
|
||||||
$this->showPage();
|
if ($this->boolean('ajax')) {
|
||||||
|
header('Content-Type: text/xml;charset=utf-8');
|
||||||
|
$this->xw->startDocument('1.0', 'UTF-8');
|
||||||
|
$this->elementStart('html');
|
||||||
|
$this->elementStart('head');
|
||||||
|
$this->element('title', null, _('Subscribe to user'));
|
||||||
|
$this->elementEnd('head');
|
||||||
|
$this->elementStart('body');
|
||||||
|
$this->showContent();
|
||||||
|
$this->elementEnd('body');
|
||||||
|
$this->elementEnd('html');
|
||||||
|
} else {
|
||||||
|
$this->showPage();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function showContent()
|
function showContent()
|
||||||
|
@ -79,15 +91,15 @@ class OStatusInitAction extends Action
|
||||||
'class' => 'form_settings',
|
'class' => 'form_settings',
|
||||||
'action' => common_local_url('ostatusinit')));
|
'action' => common_local_url('ostatusinit')));
|
||||||
$this->elementStart('fieldset');
|
$this->elementStart('fieldset');
|
||||||
$this->element('legend', _('Subscribe to a remote user'));
|
$this->element('legend', null, sprintf(_('Subscribe to %s'), $this->nickname));
|
||||||
$this->hidden('token', common_session_token());
|
$this->hidden('token', common_session_token());
|
||||||
|
|
||||||
$this->elementStart('ul', 'form_data');
|
$this->elementStart('ul', 'form_data');
|
||||||
$this->elementStart('li');
|
$this->elementStart('li', array('id' => 'ostatus_nickname'));
|
||||||
$this->input('nickname', _('User nickname'), $this->nickname,
|
$this->input('nickname', _('User nickname'), $this->nickname,
|
||||||
_('Nickname of the user you want to follow'));
|
_('Nickname of the user you want to follow'));
|
||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
$this->elementStart('li');
|
$this->elementStart('li', array('id' => 'ostatus_profile'));
|
||||||
$this->input('acct', _('Profile Account'), $this->acct,
|
$this->input('acct', _('Profile Account'), $this->acct,
|
||||||
_('Your account id (i.e. user@identi.ca)'));
|
_('Your account id (i.e. user@identi.ca)'));
|
||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
|
@ -95,7 +107,7 @@ class OStatusInitAction extends Action
|
||||||
$this->submit('submit', _('Subscribe'));
|
$this->submit('submit', _('Subscribe'));
|
||||||
$this->elementEnd('fieldset');
|
$this->elementEnd('fieldset');
|
||||||
$this->elementEnd('form');
|
$this->elementEnd('form');
|
||||||
}
|
}
|
||||||
|
|
||||||
function ostatusConnect()
|
function ostatusConnect()
|
||||||
{
|
{
|
||||||
|
@ -125,4 +137,4 @@ class OStatusInitAction extends Action
|
||||||
return _('OStatus Connect');
|
return _('OStatus Connect');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,7 +76,7 @@ class OStatusSubAction extends Action
|
||||||
$this->elementStart('fieldset', array('id' => 'settings_feeds'));
|
$this->elementStart('fieldset', array('id' => 'settings_feeds'));
|
||||||
|
|
||||||
$this->elementStart('ul', 'form_data');
|
$this->elementStart('ul', 'form_data');
|
||||||
$this->elementStart('li', array('id' => 'settings_twitter_login_button'));
|
$this->elementStart('li');
|
||||||
$this->input('feedurl', _('Feed URL'), $this->feedurl, _('Enter the URL of a PubSubHubbub-enabled feed'));
|
$this->input('feedurl', _('Feed URL'), $this->feedurl, _('Enter the URL of a PubSubHubbub-enabled feed'));
|
||||||
$this->elementEnd('li');
|
$this->elementEnd('li');
|
||||||
$this->elementEnd('ul');
|
$this->elementEnd('ul');
|
||||||
|
@ -223,4 +223,4 @@ class OStatusSubAction extends Action
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
60
plugins/OStatus/js/ostatus.js
Normal file
60
plugins/OStatus/js/ostatus.js
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
SN.U.DialogBox = {
|
||||||
|
Subscribe: function(a) {
|
||||||
|
var f = a.parent().find('#form_ostatus_connect');
|
||||||
|
if (f.length > 0) {
|
||||||
|
f.show();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
dataType: 'xml',
|
||||||
|
url: a[0].href+'&ajax=1',
|
||||||
|
beforeSend: function(formData) {
|
||||||
|
a.addClass('processing');
|
||||||
|
},
|
||||||
|
error: function (xhr, textStatus, errorThrown) {
|
||||||
|
alert(errorThrown || textStatus);
|
||||||
|
},
|
||||||
|
success: function(data, textStatus, xhr) {
|
||||||
|
if (typeof($('form', data)[0]) != 'undefined') {
|
||||||
|
a.after(document._importNode($('form', data)[0], true));
|
||||||
|
|
||||||
|
var form = a.parent().find('#form_ostatus_connect');
|
||||||
|
|
||||||
|
form
|
||||||
|
.addClass('dialogbox')
|
||||||
|
.append('<button class="close">×</button>');
|
||||||
|
|
||||||
|
form
|
||||||
|
.find('.submit')
|
||||||
|
.addClass('submit_dialogbox')
|
||||||
|
.removeClass('submit')
|
||||||
|
.bind('click', function() {
|
||||||
|
form.addClass('processing');
|
||||||
|
});
|
||||||
|
|
||||||
|
form.find('button.close').click(function(){
|
||||||
|
form.hide();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
form.find('#acct').focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
a.removeClass('processing');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SN.Init.Subscribe = function() {
|
||||||
|
$('.entity_subscribe a').live('click', function() { SN.U.DialogBox.Subscribe($(this)); return false; });
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
if ($('.entity_subscribe .entity_remote_subscribe').length > 0) {
|
||||||
|
SN.Init.Subscribe();
|
||||||
|
}
|
||||||
|
});
|
30
plugins/OStatus/theme/base/css/ostatus.css
Normal file
30
plugins/OStatus/theme/base/css/ostatus.css
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
/** theme: base for OStatus
|
||||||
|
*
|
||||||
|
* @package StatusNet
|
||||||
|
* @author Sarven Capadisli <csarven@status.net>
|
||||||
|
* @copyright 2010 StatusNet, Inc.
|
||||||
|
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||||
|
* @link http://status.net/
|
||||||
|
*/
|
||||||
|
|
||||||
|
#form_ostatus_connect.dialogbox {
|
||||||
|
width:70%;
|
||||||
|
background-image:none;
|
||||||
|
}
|
||||||
|
#form_ostatus_connect.dialogbox .form_data label {
|
||||||
|
width:34%;
|
||||||
|
}
|
||||||
|
#form_ostatus_connect.dialogbox .form_data input {
|
||||||
|
width:57%;
|
||||||
|
}
|
||||||
|
#form_ostatus_connect.dialogbox .form_data .form_guide {
|
||||||
|
margin-left:36%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#form_ostatus_connect.dialogbox #ostatus_nickname {
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#form_ostatus_connect.dialogbox .submit_dialogbox {
|
||||||
|
min-width:96px;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user