Init UI to show/hide a group of moderation actions.

This commit is contained in:
Sarven Capadisli 2009-11-26 18:46:11 +00:00
parent b4ad7d1a23
commit 5f5a107991
4 changed files with 76 additions and 24 deletions

View File

@ -304,34 +304,43 @@ class UserProfile extends Widget
}
$this->out->elementEnd('li');
if ($cur->hasRight(Right::SANDBOXUSER)) {
$this->out->elementStart('li', 'entity_sandbox');
if ($this->user->isSandboxed()) {
$usf = new UnSandboxForm($this->out, $this->profile, $r2args);
$usf->show();
} else {
$sf = new SandboxForm($this->out, $this->profile, $r2args);
$sf->show();
if ($cur->hasRight(Right::SANDBOXUSER) ||
$cur->hasRight(Right::SILENCEUSER) ||
$cur->hasRight(Right::DELETEUSER)) {
$this->out->elementStart('li', 'entity_moderation');
$this->out->element('p', null, _('Moderate'));
$this->out->elementStart('ul');
if ($cur->hasRight(Right::SANDBOXUSER)) {
$this->out->elementStart('li', 'entity_sandbox');
if ($this->user->isSandboxed()) {
$usf = new UnSandboxForm($this->out, $this->profile, $r2args);
$usf->show();
} else {
$sf = new SandboxForm($this->out, $this->profile, $r2args);
$sf->show();
}
$this->out->elementEnd('li');
}
$this->out->elementEnd('li');
}
if ($cur->hasRight(Right::SILENCEUSER)) {
$this->out->elementStart('li', 'entity_silence');
if ($this->user->isSilenced()) {
$usf = new UnSilenceForm($this->out, $this->profile, $r2args);
$usf->show();
} else {
$sf = new SilenceForm($this->out, $this->profile, $r2args);
$sf->show();
if ($cur->hasRight(Right::SILENCEUSER)) {
$this->out->elementStart('li', 'entity_silence');
if ($this->user->isSilenced()) {
$usf = new UnSilenceForm($this->out, $this->profile, $r2args);
$usf->show();
} else {
$sf = new SilenceForm($this->out, $this->profile, $r2args);
$sf->show();
}
$this->out->elementEnd('li');
}
$this->out->elementEnd('li');
}
if ($cur->hasRight(Right::DELETEUSER)) {
$this->out->elementStart('li', 'entity_delete');
$df = new DeleteUserForm($this->out, $this->profile, $r2args);
$df->show();
if ($cur->hasRight(Right::DELETEUSER)) {
$this->out->elementStart('li', 'entity_delete');
$df = new DeleteUserForm($this->out, $this->profile, $r2args);
$df->show();
$this->out->elementEnd('li');
}
$this->out->elementEnd('ul');
$this->out->elementEnd('li');
}
}

View File

@ -145,10 +145,15 @@ class FlaggedProfileListItem extends ProfileListItem
$this->startActions();
if (Event::handle('StartProfileListItemActionElements', array($this))) {
$this->out->elementStart('li', 'entity_moderation');
$this->out->element('p', null, _('Moderate'));
$this->out->elementStart('ul');
$this->showSandboxButton();
$this->showSilenceButton();
$this->showDeleteButton();
$this->showClearButton();
$this->out->elementEnd('ul');
$this->out->elementEnd('li');
Event::handle('EndProfileListItemActionElements', array($this));
}
$this->endActions();

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 B

View File

@ -15,3 +15,41 @@ background:url(icon_silence.gif) 5px 5px no-repeat;
background:url(icon_skull.gif) 5px 5px no-repeat;
}
.entity_moderation {
position:relative;
}
.entity_moderation p {
background:transparent url(icon_badge.gif) 5px 5px no-repeat;
box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
-webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.25);
border-radius:4px;
-moz-border-radius:4px;
-webkit-border-radius:4px;
font-weight:bold;
padding-bottom:2px;
margin-bottom:7px;
color:#002FA7;
}
.entity_moderation ul {
display:none;
}
.entity_moderation:hover ul {
display:block;
background-color:#FFFFFF;
min-width:21%;
width:100%;
border:1px solid #DDDDDD;
padding:11px;
position:absolute;
top:-1px;
right:-1px;
z-index:1;
box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
-moz-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.3);
-webkit-box-shadow:3px 3px 3px rgba(194, 194, 194, 0.25);
border-radius:7px;
-moz-border-radius:7px;
-webkit-border-radius:7px;
}