* @link http://status.net/
*/
-if (!defined('STATUSNET')) {
- exit(1);
-}
+if (!defined('GNUSOCIAL')) { exit(1); }
/**
* Silence a user.
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class SilenceAction extends ProfileFormAction
{
- /**
- * 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)) {
- $this->clientError(_("You cannot silence users on this site."));
- return false;
- }
-
- assert(!empty($this->profile)); // checked by parent
-
- if ($this->profile->isSilenced()) {
- $this->clientError(_("User is already silenced."));
- return false;
- }
-
- return true;
- }
-
- /**
- * Silence a user.
- *
- * @return void
- */
-
function handlePost()
{
- $this->profile->silence();
+ assert($this->scoped instanceof Profile);
+ assert($this->profile instanceof Profile);
+
+ $this->profile->silenceAs($this->scoped);
}
}