Merge branch 'master' into groups
This commit is contained in:
commit
0824bb2e1d
|
@ -1,9 +1,12 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, Controlez-Vous, Inc.
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* Class for deleting a notice
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* LICENCE: This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
|
@ -15,49 +18,99 @@
|
|||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008 Control Yourself, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
require_once(INSTALLDIR.'/lib/deleteaction.php');
|
||||
require_once INSTALLDIR.'/lib/deleteaction.php';
|
||||
|
||||
class DeletenoticeAction extends DeleteAction
|
||||
{
|
||||
var $error = null;
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
# XXX: Ajax!
|
||||
// XXX: Ajax!
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$this->delete_notice();
|
||||
$this->deleteNotice();
|
||||
} else if ($_SERVER['REQUEST_METHOD'] == 'GET') {
|
||||
$this->show_form();
|
||||
$this->showForm();
|
||||
}
|
||||
}
|
||||
|
||||
function get_instructions()
|
||||
/**
|
||||
* Show the page notice
|
||||
*
|
||||
* Shows instructions for the page
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showPageNotice()
|
||||
{
|
||||
return _('You are about to permanently delete a notice. Once this is done, it cannot be undone.');
|
||||
$instr = $this->getInstructions();
|
||||
$output = common_markup_to_html($instr);
|
||||
|
||||
$this->elementStart('div', 'instructions');
|
||||
$this->raw($output);
|
||||
$this->elementEnd('div');
|
||||
}
|
||||
|
||||
function get_title()
|
||||
function getInstructions()
|
||||
{
|
||||
return _('You are about to permanently delete a notice. ' .
|
||||
'Once this is done, it cannot be undone.');
|
||||
}
|
||||
|
||||
function title()
|
||||
{
|
||||
return _('Delete notice');
|
||||
}
|
||||
|
||||
function show_form($error=null)
|
||||
{
|
||||
$user = common_current_user();
|
||||
/**
|
||||
* Wrapper for showing a page
|
||||
*
|
||||
* Stores an error and shows the page
|
||||
*
|
||||
* @param string $error Error, if any
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
common_show_header($this->get_title(), array($this, 'show_header'), $error,
|
||||
array($this, 'show_top'));
|
||||
function showForm($error = null)
|
||||
{
|
||||
$this->error = $error;
|
||||
$this->showPage();
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert delete notice form into the content
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function showContent()
|
||||
{
|
||||
$this->elementStart('form', array('id' => 'notice_delete_form',
|
||||
'method' => 'post',
|
||||
'action' => common_local_url('deletenotice')));
|
||||
$this->hidden('token', common_session_token());
|
||||
$this->hidden('notice', $this->trimmed('notice'));
|
||||
$this->elementStart('p');
|
||||
$this->element('span', array('id' => 'confirmation_text'), _('Are you sure you want to delete this notice?'));
|
||||
$this->element('span', array('id' => 'confirmation_text'),
|
||||
_('Are you sure you want to delete this notice?'));
|
||||
|
||||
$this->element('input', array('id' => 'submit_no',
|
||||
'name' => 'submit',
|
||||
|
@ -69,33 +122,38 @@ class DeletenoticeAction extends DeleteAction
|
|||
'value' => _('Yes')));
|
||||
$this->elementEnd('p');
|
||||
$this->elementEnd('form');
|
||||
common_show_footer();
|
||||
}
|
||||
|
||||
function delete_notice()
|
||||
function deleteNotice()
|
||||
{
|
||||
# CSRF protection
|
||||
// CSRF protection
|
||||
$token = $this->trimmed('token');
|
||||
|
||||
if (!$token || $token != common_session_token()) {
|
||||
$this->show_form(_('There was a problem with your session token. Try again, please.'));
|
||||
$this->showForm(_('There was a problem with your session token. ' .
|
||||
' Try again, please.'));
|
||||
return;
|
||||
}
|
||||
$url = common_get_returnto();
|
||||
$confirmed = $this->trimmed('submit');
|
||||
if ($confirmed == _('Yes')) {
|
||||
$user = common_current_user();
|
||||
$notice_id = $this->trimmed('notice');
|
||||
$notice = Notice::staticGet($notice_id);
|
||||
$replies = new Reply;
|
||||
$replies->get('notice_id', $notice_id);
|
||||
|
||||
common_dequeue_notice($notice);
|
||||
$url = common_get_returnto();
|
||||
$confirmed = $this->trimmed('submit');
|
||||
|
||||
if ($confirmed == _('Yes')) {
|
||||
|
||||
$replies = new Reply;
|
||||
$replies->get('notice_id', $this->notice->id);
|
||||
|
||||
common_dequeue_notice($this->notice);
|
||||
|
||||
if (common_config('memcached', 'enabled')) {
|
||||
$notice->blowSubsCache();
|
||||
}
|
||||
|
||||
$replies->delete();
|
||||
$notice->delete();
|
||||
$this->notice->delete();
|
||||
|
||||
} else {
|
||||
|
||||
if ($url) {
|
||||
common_set_returnto(null);
|
||||
} else {
|
||||
|
|
|
@ -88,7 +88,7 @@ class NudgeAction extends Action
|
|||
$this->notify($user, $other);
|
||||
|
||||
if ($this->boolean('ajax')) {
|
||||
common_start_html('text/xml;charset=utf-8', true);
|
||||
$this->startHTML('text/xml;charset=utf-8', true);
|
||||
$this->elementStart('head');
|
||||
$this->element('title', null, _('Nudge sent'));
|
||||
$this->elementEnd('head');
|
||||
|
|
|
@ -326,7 +326,25 @@ class ShowstreamAction extends Action
|
|||
}
|
||||
$this->elementEnd('li');
|
||||
|
||||
common_profile_new_message_nudge($cur, $this->user, $this->profile);
|
||||
// common_profile_new_message_nudge($cur, $this->user, $this->profile);
|
||||
|
||||
$user = User::staticGet('id', $this->profile->id);
|
||||
if ($cur && $cur->id != $user->id && $cur->mutuallySubscribed($user)) {
|
||||
$this->elementStart('li', array('id' => 'user_send-a-message'));
|
||||
$this->element('a', array('href' => common_local_url('newmessage', array('to' => $user->id)),
|
||||
'title' => _('Send a direct message to this user')),
|
||||
_('Message'));
|
||||
$this->elementEnd('li');
|
||||
|
||||
if ($user->email && $user->emailnotifynudge) {
|
||||
$this->elementStart('li', array('id' => 'user_nudge'));
|
||||
$nf = new NudgeForm($this, $user);
|
||||
$nf->show();
|
||||
$this->elementEnd('li');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ($cur && $cur->id != $this->profile->id) {
|
||||
$blocked = $cur->hasBlocked($this->profile);
|
||||
|
@ -349,7 +367,7 @@ class ShowstreamAction extends Action
|
|||
$url = common_local_url('remotesubscribe',
|
||||
array('nickname' => $this->profile->nickname));
|
||||
$this->element('a', array('href' => $url,
|
||||
'id' => 'remotesubscribe'),
|
||||
'id' => 'user_subscribe_remote'),
|
||||
_('Subscribe'));
|
||||
}
|
||||
|
||||
|
|
|
@ -64,12 +64,13 @@ class SubscribeAction extends Action
|
|||
}
|
||||
|
||||
if ($this->boolean('ajax')) {
|
||||
common_start_html('text/xml;charset=utf-8', true);
|
||||
$this->startHTML('text/xml;charset=utf-8', true);
|
||||
$this->elementStart('head');
|
||||
$this->element('title', null, _('Subscribed'));
|
||||
$this->elementEnd('head');
|
||||
$this->elementStart('body');
|
||||
common_unsubscribe_form($other->getProfile());
|
||||
$unsubscribe = new UnsubscribeForm($this, $other->getProfile());
|
||||
$unsubscribe->show();
|
||||
$this->elementEnd('body');
|
||||
$this->elementEnd('html');
|
||||
} else {
|
||||
|
|
|
@ -66,12 +66,13 @@ class UnsubscribeAction extends Action
|
|||
}
|
||||
|
||||
if ($this->boolean('ajax')) {
|
||||
common_start_html('text/xml;charset=utf-8', true);
|
||||
$this->startHTML('text/xml;charset=utf-8', true);
|
||||
$this->elementStart('head');
|
||||
$this->element('title', null, _('Unsubscribed'));
|
||||
$this->elementEnd('head');
|
||||
$this->elementStart('body');
|
||||
common_subscribe_form($other);
|
||||
$subscribe = new SubscribeForm($this, $other);
|
||||
$subscribe->show();
|
||||
$this->elementEnd('body');
|
||||
$this->elementEnd('html');
|
||||
} else {
|
||||
|
|
24
js/util.js
24
js/util.js
|
@ -120,8 +120,8 @@ $(document).ready(function(){
|
|||
$("#nudge").each(addAjaxHidden);
|
||||
|
||||
var Subscribe = { dataType: 'xml',
|
||||
beforeSubmit: function(formData, jqForm, options) { $("form.subscribe input[type=submit]").attr("disabled", "disabled");
|
||||
$("form.subscribe input[type=submit]").addClass("disabled");
|
||||
beforeSubmit: function(formData, jqForm, options) { $(".form_user_subscribe input[type=submit]").attr("disabled", "disabled");
|
||||
$(".form_user_subscribe input[type=submit]").addClass("disabled");
|
||||
},
|
||||
success: function(xml) { var form_unsubscribe = document._importNode($('form', xml).get(0), true);
|
||||
var form_unsubscribe_id = form_unsubscribe.id;
|
||||
|
@ -129,14 +129,14 @@ $(document).ready(function(){
|
|||
$("form#"+form_subscribe_id).replaceWith(form_unsubscribe);
|
||||
$("form#"+form_unsubscribe_id).ajaxForm(UnSubscribe).each(addAjaxHidden);
|
||||
$("dd.subscribers").text(parseInt($("dd.subscribers").text())+1);
|
||||
$("form.subscribe input[type=submit]").removeAttr("disabled");
|
||||
$("form.subscribe input[type=submit]").removeClass("disabled");
|
||||
$(".form_user_subscribe input[type=submit]").removeAttr("disabled");
|
||||
$(".form_user_subscribe input[type=submit]").removeClass("disabled");
|
||||
}
|
||||
};
|
||||
|
||||
var UnSubscribe = { dataType: 'xml',
|
||||
beforeSubmit: function(formData, jqForm, options) { $("form.unsubscribe input[type=submit]").attr("disabled", "disabled");
|
||||
$("form.unsubscribe input[type=submit]").addClass("disabled");
|
||||
beforeSubmit: function(formData, jqForm, options) { $(".form_user_unsubscribe input[type=submit]").attr("disabled", "disabled");
|
||||
$(".form_user_unsubscribe input[type=submit]").addClass("disabled");
|
||||
},
|
||||
success: function(xml) { var form_subscribe = document._importNode($('form', xml).get(0), true);
|
||||
var form_subscribe_id = form_subscribe.id;
|
||||
|
@ -146,15 +146,15 @@ $(document).ready(function(){
|
|||
$("#profile_send_a_new_message").remove();
|
||||
$("#profile_nudge").remove();
|
||||
$("dd.subscribers").text(parseInt($("dd.subscribers").text())-1);
|
||||
$("form.unsubscribe input[type=submit]").removeAttr("disabled");
|
||||
$("form.unsubscribe input[type=submit]").removeClass("disabled");
|
||||
$(".form_user_unsubscribe input[type=submit]").removeAttr("disabled");
|
||||
$(".form_user_unsubscribe input[type=submit]").removeClass("disabled");
|
||||
}
|
||||
};
|
||||
|
||||
$("form.subscribe").ajaxForm(Subscribe);
|
||||
$("form.unsubscribe").ajaxForm(UnSubscribe);
|
||||
$("form.subscribe").each(addAjaxHidden);
|
||||
$("form.unsubscribe").each(addAjaxHidden);
|
||||
$(".form_user_subscribe").ajaxForm(Subscribe);
|
||||
$(".form_user_unsubscribe").ajaxForm(UnSubscribe);
|
||||
$(".form_user_subscribe").each(addAjaxHidden);
|
||||
$(".form_user_unsubscribe").each(addAjaxHidden);
|
||||
|
||||
var PostNotice = { dataType: 'xml',
|
||||
beforeSubmit: function(formData, jqForm, options) { if ($("#notice_data-text").get(0).value.length == 0) {
|
||||
|
|
|
@ -112,6 +112,18 @@ class BlockForm extends Form
|
|||
return common_local_url('block');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Legend of the Form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function formLegend()
|
||||
{
|
||||
$this->out->element('legend', null, _('Block this user'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Data elements of the form
|
||||
*
|
||||
|
@ -138,6 +150,6 @@ class BlockForm extends Form
|
|||
|
||||
function formActions()
|
||||
{
|
||||
$this->out->submit('submit', _('Block'));
|
||||
$this->out->submit('submit', _('block'), 'submit', null, _('Block this user'));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,12 @@
|
|||
<?php
|
||||
/*
|
||||
* Laconica - a distributed open-source microblogging tool
|
||||
* Copyright (C) 2008, Controlez-Vous, Inc.
|
||||
/**
|
||||
* Laconica, the distributed open-source microblogging tool
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* Base class for deleting things
|
||||
*
|
||||
* PHP version 5
|
||||
*
|
||||
* LICENCE: This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
|
@ -15,52 +18,57 @@
|
|||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Personal
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @copyright 2008 Control Yourself, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
*/
|
||||
|
||||
if (!defined('LACONICA')) { exit(1); }
|
||||
if (!defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
class DeleteAction extends Action
|
||||
{
|
||||
var $user = null;
|
||||
var $notice = null;
|
||||
var $profile = null;
|
||||
var $user_profile = null;
|
||||
|
||||
function handle($args)
|
||||
function prepare($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
$user = common_current_user();
|
||||
$notice_id = $this->trimmed('notice');
|
||||
$notice = Notice::staticGet($notice_id);
|
||||
if (!$notice) {
|
||||
parent::prepare($args);
|
||||
|
||||
$this->user = common_current_user();
|
||||
$notice_id = $this->trimmed('notice');
|
||||
$this->notice = Notice::staticGet($notice_id);
|
||||
|
||||
if (!$this->notice) {
|
||||
common_user_error(_('No such notice.'));
|
||||
exit;
|
||||
}
|
||||
|
||||
$profile = $notice->getProfile();
|
||||
$user_profile = $user->getProfile();
|
||||
$this->profile = $this->notice->getProfile();
|
||||
$this->user_profile = $this->user->getProfile();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
||||
if (!common_logged_in()) {
|
||||
common_user_error(_('Not logged in.'));
|
||||
exit;
|
||||
} else if ($notice->profile_id != $user_profile->id) {
|
||||
} else if ($this->notice->profile_id != $this->user_profile->id) {
|
||||
common_user_error(_('Can\'t delete this notice.'));
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
function show_top($arr=null)
|
||||
{
|
||||
$instr = $this->get_instructions();
|
||||
$output = common_markup_to_html($instr);
|
||||
common_element_start('div', 'instructions');
|
||||
common_raw($output);
|
||||
common_element_end('div');
|
||||
}
|
||||
|
||||
function get_title()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
function show_header()
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -111,9 +111,10 @@ class MailboxAction extends PersonalAction
|
|||
$message = $this->getMessages();
|
||||
|
||||
if ($message) {
|
||||
|
||||
$cnt = 0;
|
||||
$this->elementStart('ul', array('id' => 'messages'));
|
||||
$this->elementStart('div', array('id' =>'notices_primary'));
|
||||
$this->element('h2', null, _('Notices'));
|
||||
$this->elementStart('ul', 'notices');
|
||||
|
||||
while ($message->fetch() && $cnt <= MESSAGES_PER_PAGE) {
|
||||
$cnt++;
|
||||
|
@ -130,7 +131,7 @@ class MailboxAction extends PersonalAction
|
|||
$this->pagination($this->page > 1, $cnt > MESSAGES_PER_PAGE,
|
||||
$this->page, $this->trimmed('action'),
|
||||
array('nickname' => $this->user->nickname));
|
||||
|
||||
$this->elementEnd('div');
|
||||
$message->free();
|
||||
unset($message);
|
||||
}
|
||||
|
@ -169,30 +170,35 @@ class MailboxAction extends PersonalAction
|
|||
|
||||
function showMessage($message)
|
||||
{
|
||||
$this->elementStart('li', array('class' => 'message_single',
|
||||
$this->elementStart('li', array('class' => 'hentry notice',
|
||||
'id' => 'message-' . $message->id));
|
||||
|
||||
$profile = $this->getMessageProfile($message);
|
||||
|
||||
$this->elementStart('div', 'entry-title');
|
||||
$this->elementStart('span', 'vcard author');
|
||||
$this->elementStart('a', array('href' => $profile->profileurl,
|
||||
'class' => 'url'));
|
||||
$avatar = $profile->getAvatar(AVATAR_STREAM_SIZE);
|
||||
$this->elementStart('a', array('href' => $profile->profileurl));
|
||||
$this->element('img', array('src' => ($avatar) ?
|
||||
common_avatar_display_url($avatar) :
|
||||
common_default_avatar(AVATAR_STREAM_SIZE),
|
||||
'class' => 'avatar stream',
|
||||
'class' => 'photo avatar',
|
||||
'width' => AVATAR_STREAM_SIZE,
|
||||
'height' => AVATAR_STREAM_SIZE,
|
||||
'alt' =>
|
||||
($profile->fullname) ? $profile->fullname :
|
||||
$profile->nickname));
|
||||
$this->element('span', array('class' => 'nickname fn'),
|
||||
$profile->nickname);
|
||||
$this->elementEnd('a');
|
||||
$this->element('a', array('href' => $profile->profileurl,
|
||||
'class' => 'nickname'),
|
||||
$profile->nickname);
|
||||
$this->elementEnd('span');
|
||||
|
||||
// FIXME: URL, image, video, audio
|
||||
$this->elementStart('p', array('class' => 'content'));
|
||||
$this->elementStart('p', array('class' => 'entry-content'));
|
||||
$this->raw($message->rendered);
|
||||
$this->elementEnd('p');
|
||||
$this->elementEnd('div');
|
||||
|
||||
$messageurl = common_local_url('showmessage',
|
||||
array('message' => $message->id));
|
||||
|
@ -202,17 +208,30 @@ class MailboxAction extends PersonalAction
|
|||
preg_match('/^http/', $message->uri)) {
|
||||
$messageurl = $message->uri;
|
||||
}
|
||||
$this->elementStart('p', 'time');
|
||||
$this->element('a', array('class' => 'permalink',
|
||||
'href' => $messageurl,
|
||||
'title' => common_exact_date($message->created)),
|
||||
common_date_string($message->created));
|
||||
if ($message->source) {
|
||||
$this->text(_(' from '));
|
||||
$this->showSource($message->source);
|
||||
}
|
||||
|
||||
$this->elementEnd('p');
|
||||
$this->elementStart('div', 'entry-content');
|
||||
$this->elementStart('dl', 'timestamp');
|
||||
$this->element('dt', null, _('Published'));
|
||||
$this->elementStart('dd', null);
|
||||
$dt = common_date_iso8601($message->created);
|
||||
$this->elementStart('a', array('rel' => 'bookmark',
|
||||
'href' => $messageurl));
|
||||
$this->element('abbr', array('class' => 'published',
|
||||
'title' => $dt),
|
||||
common_date_string($message->created));
|
||||
$this->elementEnd('a');
|
||||
$this->elementEnd('dd');
|
||||
$this->elementEnd('dl');
|
||||
|
||||
if ($message->source) {
|
||||
$this->elementStart('dl', 'device');
|
||||
$this->elementStart('dt');
|
||||
$this->text(_('From'));
|
||||
$this->elementEnd('dt');
|
||||
$this->showSource($message->source);
|
||||
$this->elementEnd('dl');
|
||||
}
|
||||
$this->elementEnd('div');
|
||||
|
||||
$this->elementEnd('li');
|
||||
}
|
||||
|
@ -255,15 +274,18 @@ class MailboxAction extends PersonalAction
|
|||
case 'mail':
|
||||
case 'omb':
|
||||
case 'api':
|
||||
$this->element('span', 'noticesource', $source_name);
|
||||
$this->element('dd', null, $source_name);
|
||||
break;
|
||||
default:
|
||||
$ns = Notice_source::staticGet($source);
|
||||
if ($ns) {
|
||||
$this->element('a', array('href' => $ns->url),
|
||||
$this->elementStart('dd', null);
|
||||
$this->element('a', array('href' => $ns->url,
|
||||
'rel' => 'external'),
|
||||
$ns->name);
|
||||
$this->elementEnd('dd');
|
||||
} else {
|
||||
$this->element('span', 'noticesource', $source_name);
|
||||
$this->element('dd', null, $source_name);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ class MessageForm extends Form
|
|||
|
||||
function id()
|
||||
{
|
||||
return 'message_form';
|
||||
return 'form_notice';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -99,6 +99,18 @@ class MessageForm extends Form
|
|||
return common_local_url('newmessage');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Legend of the Form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function formLegend()
|
||||
{
|
||||
$this->out->element('legend', null, _('Send a direct notice'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Data elements
|
||||
*
|
||||
|
@ -122,18 +134,20 @@ class MessageForm extends Form
|
|||
$mutual_users->free();
|
||||
unset($mutual_users);
|
||||
|
||||
$this->out->elementStart('ul', 'form_data');
|
||||
$this->out->elementStart('li', array('id' => 'notice_to'));
|
||||
$this->out->dropdown('to', _('To'), $mutual, null, false,
|
||||
$this->to->id);
|
||||
$this->out->elementEnd('li');
|
||||
|
||||
$this->out->elementStart('p');
|
||||
|
||||
$this->out->element('textarea', array('id' => 'message_content',
|
||||
'cols' => 60,
|
||||
'rows' => 3,
|
||||
$this->out->elementStart('li', array('id' => 'notice_text'));
|
||||
$this->out->element('textarea', array('id' => 'notice_data-text',
|
||||
'cols' => 35,
|
||||
'rows' => 4,
|
||||
'name' => 'content'),
|
||||
($this->content) ? $this->content : '');
|
||||
|
||||
$this->out->elementEnd('p');
|
||||
$this->out->elementEnd('li');
|
||||
$this->out->elementEnd('ul');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -144,9 +158,14 @@ class MessageForm extends Form
|
|||
|
||||
function formActions()
|
||||
{
|
||||
$this->out->element('input', array('id' => 'message_send',
|
||||
$this->out->elementStart('ul', 'form_actions');
|
||||
$this->out->elementStart('li', array('id' => 'notice_submit'));
|
||||
$this->out->element('input', array('id' => 'notice_action-submit',
|
||||
'class' => 'submit',
|
||||
'name' => 'message_send',
|
||||
'type' => 'submit',
|
||||
'value' => _('Send')));
|
||||
$this->out->elementEnd('li');
|
||||
$this->out->elementEnd('ul');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -379,7 +379,7 @@ class NoticeListItem extends Widget
|
|||
case 'mail':
|
||||
case 'omb':
|
||||
case 'api':
|
||||
$this->out->element('dd', 'noticesource', $source_name);
|
||||
$this->out->element('dd', null, $source_name);
|
||||
break;
|
||||
default:
|
||||
$ns = Notice_source::staticGet($this->notice->source);
|
||||
|
@ -390,7 +390,7 @@ class NoticeListItem extends Widget
|
|||
$ns->name);
|
||||
$this->out->elementEnd('dd');
|
||||
} else {
|
||||
$this->out->element('dd', 'noticesource', $source_name);
|
||||
$this->out->element('dd', null, $source_name);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -77,9 +77,22 @@ class NudgeForm extends Form
|
|||
|
||||
function id()
|
||||
{
|
||||
return 'nudge';
|
||||
return 'form_user_nudge';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* class of the form
|
||||
*
|
||||
* @return string of the form class
|
||||
*/
|
||||
|
||||
function formClass()
|
||||
{
|
||||
return 'form_user_nudge';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Action of the form
|
||||
*
|
||||
|
@ -92,6 +105,18 @@ class NudgeForm extends Form
|
|||
array('nickname' => $this->profile->nickname));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Legend of the Form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function formLegend()
|
||||
{
|
||||
$this->out->element('legend', null, _('Nudge this user'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Action elements
|
||||
*
|
||||
|
@ -100,6 +125,6 @@ class NudgeForm extends Form
|
|||
|
||||
function formActions()
|
||||
{
|
||||
$this->out->submit('submit', _('Send a nudge'));
|
||||
$this->out->submit('submit', _('Nudge'), 'submit', null, _('Send a nudge to this user'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,6 +104,17 @@ class SubscribeForm extends Form
|
|||
return common_local_url('subscribe');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Legend of the Form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function formLegend()
|
||||
{
|
||||
$this->out->element('legend', null, _('Subscribe to this user'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Data elements of the form
|
||||
*
|
||||
|
@ -125,6 +136,6 @@ class SubscribeForm extends Form
|
|||
|
||||
function formActions()
|
||||
{
|
||||
$this->out->submit('submit', _('Subscribe'));
|
||||
$this->out->submit('submit', _('Subscribe'), 'submit', null, _('Subscribe to this user'));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -110,6 +110,17 @@ class UnblockForm extends Form
|
|||
return common_local_url('unblock');
|
||||
}
|
||||
|
||||
/**
|
||||
* Legend of the Form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function formLegend()
|
||||
{
|
||||
$this->out->element('legend', null, _('Unblock this user'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Data elements of the form
|
||||
*
|
||||
|
@ -136,6 +147,6 @@ class UnblockForm extends Form
|
|||
|
||||
function formActions()
|
||||
{
|
||||
$this->out->submit('submit', _('Unblock'));
|
||||
$this->out->submit('submit', _('Unblock'), 'submit', null, _('Unblock this user'));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -103,6 +103,16 @@ class UnsubscribeForm extends Form
|
|||
return common_local_url('unsubscribe');
|
||||
}
|
||||
|
||||
/**
|
||||
* Legend of the Form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function formLegend()
|
||||
{
|
||||
$this->out->element('legend', null, _('Unsubscribe from this user'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Data elements of the form
|
||||
*
|
||||
|
@ -124,6 +134,6 @@ class UnsubscribeForm extends Form
|
|||
|
||||
function formActions()
|
||||
{
|
||||
$this->out->submit('submit', _('Unsubscribe'));
|
||||
$this->out->submit('submit', _('Unsubscribe'), 'submit', null, _('Unsubscribe from this user'));
|
||||
}
|
||||
}
|
||||
|
|
19
lib/util.php
19
lib/util.php
|
@ -1665,25 +1665,6 @@ function common_nudge_response()
|
|||
common_element('p', array('id' => 'nudge_response'), _('Nudge sent!'));
|
||||
}
|
||||
|
||||
// XXX: Refactor this code
|
||||
function common_profile_new_message_nudge ($cur, $profile)
|
||||
{
|
||||
$user = User::staticGet('id', $profile->id);
|
||||
|
||||
if ($cur && $cur->id != $user->id && $cur->mutuallySubscribed($user)) {
|
||||
common_element_start('li', array('id' => 'profile_send_a_new_message'));
|
||||
common_element('a', array('href' => common_local_url('newmessage', array('to' => $user->id))),
|
||||
_('Send a message'));
|
||||
common_element_end('li');
|
||||
|
||||
if ($user->email && $user->emailnotifynudge) {
|
||||
common_element_start('li', array('id' => 'profile_nudge'));
|
||||
common_nudge_form($user);
|
||||
common_element_end('li');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function common_cache_key($extra)
|
||||
{
|
||||
return 'laconica:' . common_keyize(common_config('site', 'name')) . ':' . $extra;
|
||||
|
|
|
@ -482,6 +482,20 @@ padding:8px;
|
|||
#form_notice li {
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
#form_notice #notice_to {
|
||||
margin-bottom:7px;
|
||||
}
|
||||
|
||||
#notice_to label {
|
||||
float:left;
|
||||
margin-right:18px;
|
||||
margin-top:11px;
|
||||
}
|
||||
#notice_to select {
|
||||
float:left;
|
||||
}
|
||||
|
||||
/*end FORM NOTICE*/
|
||||
|
||||
|
||||
|
@ -597,16 +611,25 @@ width:100%;
|
|||
}
|
||||
#user_actions a {
|
||||
text-decoration:none;
|
||||
font-weight:bold;
|
||||
width:100%;
|
||||
display:block;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.form_user_block input.submit,
|
||||
.form_user_unblock input.submit {
|
||||
.form_user_unblock input.submit,
|
||||
#user_send-a-message a,
|
||||
.form_user_nudge input.submit {
|
||||
border:0;
|
||||
padding-left:20px;
|
||||
}
|
||||
|
||||
#user_send-a-message a {
|
||||
padding:4px 4px 4px 23px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
#user_subscribe input.submit,
|
||||
|
@ -617,13 +640,9 @@ padding-left:20px;
|
|||
|
||||
|
||||
#user_send-a-message form {
|
||||
clear:left;
|
||||
width:322px;
|
||||
margin-top:18px;
|
||||
}
|
||||
|
||||
#user_send-a-message textarea {
|
||||
width:96%;
|
||||
}
|
||||
|
||||
.user_tags ul {
|
||||
|
|
|
@ -41,7 +41,9 @@ color:#fff;
|
|||
a,
|
||||
div.notice-options input,
|
||||
.form_user_block input.submit,
|
||||
.form_user_unblock input.submit {
|
||||
.form_user_unblock input.submit,
|
||||
#user_send-a-message a,
|
||||
.form_user_nudge input.submit {
|
||||
color:#002E6E;
|
||||
}
|
||||
|
||||
|
@ -63,8 +65,7 @@ background-color:#CEE1E9;
|
|||
#notice_text-count {
|
||||
color:#333;
|
||||
}
|
||||
#form_notice.warning #notice_text-count,
|
||||
#user_actions a {
|
||||
#form_notice.warning #notice_text-count {
|
||||
color:#000;
|
||||
}
|
||||
|
||||
|
@ -131,7 +132,7 @@ background-image:url(../../base/images/icons/icon_vcard.gif);
|
|||
}
|
||||
|
||||
|
||||
.form_user_send-a-message input.submit,
|
||||
#user_send-a-message a,
|
||||
.form_user_nudge input.submit,
|
||||
.form_user_block input.submit,
|
||||
.form_user_unblock input.submit {
|
||||
|
|
Loading…
Reference in New Issue
Block a user