add UI for blocking a user from a group
This commit is contained in:
parent
10b7e8ff69
commit
b6dee88e5d
|
@ -139,14 +139,180 @@ class GroupmembersAction extends Action
|
|||
}
|
||||
}
|
||||
|
||||
class GroupMemberList extends ProfileList {
|
||||
|
||||
class GroupMemberList extends ProfileList
|
||||
{
|
||||
var $group = null;
|
||||
|
||||
function __construct($profile, $group=null, $action=null)
|
||||
function __construct($profile, $group, $action)
|
||||
{
|
||||
parent::__construct($profile, $action);
|
||||
|
||||
$this->group = $group;
|
||||
}
|
||||
|
||||
function newListItem($profile)
|
||||
{
|
||||
return new GroupMemberListItem($profile, $this->group, $this->action);
|
||||
}
|
||||
}
|
||||
|
||||
class GroupMemberListItem extends ProfileListItem
|
||||
{
|
||||
var $group = null;
|
||||
|
||||
function __construct($profile, $group, $action)
|
||||
{
|
||||
parent::__construct($profile, $action);
|
||||
|
||||
$this->group = $group;
|
||||
}
|
||||
|
||||
function showActions()
|
||||
{
|
||||
$this->startActions();
|
||||
$this->showSubscribeButton();
|
||||
$this->showGroupBlockForm();
|
||||
$this->endActions();
|
||||
}
|
||||
|
||||
function showGroupBlockForm()
|
||||
{
|
||||
$user = common_current_user();
|
||||
|
||||
if (!empty($user) && $user->id != $this->profile->id && $user->isAdmin($this->group)) {
|
||||
$bf = new GroupBlockForm($this->out, $this->profile,
|
||||
array('action' => 'groupmembers',
|
||||
'nickname' => $this->group->nickname));
|
||||
$bf->show();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Form for blocking a user from a group
|
||||
*
|
||||
* @category Form
|
||||
* @package Laconica
|
||||
* @author Evan Prodromou <evan@controlyourself.ca>
|
||||
* @author Sarven Capadisli <csarven@controlyourself.ca>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://laconi.ca/
|
||||
*
|
||||
* @see BlockForm
|
||||
*/
|
||||
|
||||
class GroupBlockForm extends Form
|
||||
{
|
||||
/**
|
||||
* Profile of user to block
|
||||
*/
|
||||
|
||||
var $profile = null;
|
||||
|
||||
/**
|
||||
* Group to block the user from
|
||||
*/
|
||||
|
||||
var $group = null;
|
||||
|
||||
/**
|
||||
* Return-to args
|
||||
*/
|
||||
|
||||
var $args = null;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param HTMLOutputter $out output channel
|
||||
* @param Profile $profile profile of user to block
|
||||
* @param User_group $group group to block user from
|
||||
* @param array $args return-to args
|
||||
*/
|
||||
|
||||
function __construct($out=null, $profile=null, $group=null, $args=null)
|
||||
{
|
||||
parent::__construct($out);
|
||||
|
||||
$this->profile = $profile;
|
||||
$this->group = $group;
|
||||
$this->args = $args;
|
||||
}
|
||||
|
||||
/**
|
||||
* ID of the form
|
||||
*
|
||||
* @return int ID of the form
|
||||
*/
|
||||
|
||||
function id()
|
||||
{
|
||||
// This should be unique for the page.
|
||||
return 'block-' . $this->profile->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* class of the form
|
||||
*
|
||||
* @return string class of the form
|
||||
*/
|
||||
|
||||
function formClass()
|
||||
{
|
||||
return 'form_group_block';
|
||||
}
|
||||
|
||||
/**
|
||||
* Action of the form
|
||||
*
|
||||
* @return string URL of the action
|
||||
*/
|
||||
|
||||
function action()
|
||||
{
|
||||
return common_local_url('groupblock');
|
||||
}
|
||||
|
||||
/**
|
||||
* Legend of the Form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function formLegend()
|
||||
{
|
||||
$this->out->element('legend', null, _('Block user from group'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Data elements of the form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function formData()
|
||||
{
|
||||
$this->out->hidden('blockto-' . $this->profile->id,
|
||||
$this->profile->id,
|
||||
'blockto');
|
||||
$this->out->hidden('blockgroup-' . $this->group->id,
|
||||
$this->group->id,
|
||||
'blockgroup');
|
||||
if ($this->args) {
|
||||
foreach ($this->args as $k => $v) {
|
||||
$this->out->hidden('returnto-' . $k, $v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Action elements
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function formActions()
|
||||
{
|
||||
$this->out->submit('submit', _('Block'), 'submit', null, _('Block this user'));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user