summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSarven Capadisli <csarven@status.net>2009-11-26 18:46:11 +0000
committerSarven Capadisli <csarven@status.net>2009-11-26 18:46:11 +0000
commit5f5a107991478824133c6e0d67aeb1a7efb8e213 (patch)
treef47a7b686b37a4fc389191e936fc1475d87682cc
parentb4ad7d1a237ba5af75a0cf5bc00cc223ff3b7e26 (diff)
Init UI to show/hide a group of moderation actions.
-rw-r--r--lib/userprofile.php57
-rw-r--r--plugins/UserFlag/adminprofileflag.php5
-rw-r--r--plugins/UserFlag/icon_badge.gifbin0 -> 105 bytes
-rw-r--r--plugins/UserFlag/userflag.css38
4 files changed, 76 insertions, 24 deletions
diff --git a/lib/userprofile.php b/lib/userprofile.php
index ee205af85..07e575085 100644
--- a/lib/userprofile.php
+++ b/lib/userprofile.php
@@ -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');
}
}
diff --git a/plugins/UserFlag/adminprofileflag.php b/plugins/UserFlag/adminprofileflag.php
index 1ac76b506..20b808637 100644
--- a/plugins/UserFlag/adminprofileflag.php
+++ b/plugins/UserFlag/adminprofileflag.php
@@ -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();
diff --git a/plugins/UserFlag/icon_badge.gif b/plugins/UserFlag/icon_badge.gif
new file mode 100644
index 000000000..2dca5b99f
--- /dev/null
+++ b/plugins/UserFlag/icon_badge.gif
Binary files differ
diff --git a/plugins/UserFlag/userflag.css b/plugins/UserFlag/userflag.css
index e8ba66da8..d69c2467f 100644
--- a/plugins/UserFlag/userflag.css
+++ b/plugins/UserFlag/userflag.css
@@ -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;
+}