* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link http://status.net/
*/
-
class PluginEnableAction extends Action
{
var $user;
*
* @return boolean success flag
*/
-
- function prepare($args)
+ function prepare(array $args = array())
{
parent::prepare($args);
// Only allow POST requests
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
+ // TRANS: Client error displayed when trying to use another method than POST.
+ // TRANS: Do not translate POST.
$this->clientError(_('This action only accepts POST requests.'));
- return false;
}
// CSRF protection
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
+ // TRANS: Client error displayed when the session token does not match or is not given.
$this->clientError(_('There was a problem with your session token.'.
' Try again, please.'));
- return false;
}
// Only for logged-in users
$this->user = common_current_user();
if (empty($this->user)) {
+ // TRANS: Error message displayed when trying to perform an action that requires a logged in user.
$this->clientError(_('Not logged in.'));
- return false;
}
if (!AdminPanelAction::canAdmin('plugins')) {
+ // TRANS: Client error displayed when trying to enable or disable a plugin without access rights.
$this->clientError(_('You cannot administer plugins.'));
- return false;
}
$this->plugin = $this->arg('plugin');
$defaultPlugins = common_config('plugins', 'default');
if (!array_key_exists($this->plugin, $defaultPlugins)) {
+ // TRANS: Client error displayed when trying to enable or disable a non-existing plugin.
$this->clientError(_('No such plugin.'));
- return false;
}
return true;
*
* @return void
*/
-
- function handle($args)
+ function handle()
{
$key = 'disable-' . $this->plugin;
Config::save('plugins', $key, $this->overrideValue());
$form = $this->successNextForm();
$form->show();
$this->elementEnd('body');
- $this->elementEnd('html');
+ $this->endHTML();
} else {
$url = common_local_url('pluginsadminpanel');
common_redirect($url, 303);