- /**
- * Check parameters
- *
- * @param array $args action arguments (URL, GET, POST)
- *
- * @return boolean success flag
- */
- function prepare($args)
- {
- if (!parent::prepare($args)) {
- return false;
- }
-
- $cur = common_current_user();
-
- assert(!empty($cur)); // checked by parent
-
- if (!$cur->hasRight(Right::SILENCEUSER)) {
- // TRANS: Client error displayed trying to silence a user on a site where the feature is not enabled.
- $this->clientError(_('You cannot silence users on this site.'));
- return false;
- }
-
- assert(!empty($this->profile)); // checked by parent
-
- if ($this->profile->isSilenced()) {
- // TRANS: Client error displayed trying to silence an already silenced user.
- $this->clientError(_('User is already silenced.'));
- return false;
- }
-
- return true;
- }
-
- /**
- * Silence a user.
- *
- * @return void
- */