UnsubscribeAction: Add LACONICA gate, fix PHPCS errors, fix error handling typo.

This commit is contained in:
Adrian Lang 2009-08-07 12:21:36 +02:00 committed by Evan Prodromou
parent 7dc2717231
commit 77037b3cc3

View File

@ -1,5 +1,16 @@
<?php <?php
/* /**
* Unsubscribe handler
*
* PHP version 5
*
* @category Action
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @author Robin Millette <millette@controlyourself.ca>
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://laconi.ca/
*
* Laconica - a distributed open-source microblogging tool * Laconica - a distributed open-source microblogging tool
* Copyright (C) 2008, 2009, Control Yourself, Inc. * Copyright (C) 2008, 2009, Control Yourself, Inc.
* *
@ -17,6 +28,20 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
if (!defined('LACONICA')) {
exit(1);
}
/**
* Unsubscribe handler
*
* @category Action
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @author Robin Millette <millette@controlyourself.ca>
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://laconi.ca/
*/
class UnsubscribeAction extends Action class UnsubscribeAction extends Action
{ {
@ -31,16 +56,18 @@ class UnsubscribeAction extends Action
$user = common_current_user(); $user = common_current_user();
if ($_SERVER['REQUEST_METHOD'] != 'POST') { if ($_SERVER['REQUEST_METHOD'] != 'POST') {
common_redirect(common_local_url('subscriptions', array('nickname' => $user->nickname))); common_redirect(common_local_url('subscriptions',
array('nickname' => $user->nickname)));
return; return;
} }
# CSRF protection /* Use a session token for CSRF protection. */
$token = $this->trimmed('token'); $token = $this->trimmed('token');
if (!$token || $token != common_session_token()) { if (!$token || $token != common_session_token()) {
$this->clientError(_('There was a problem with your session token. Try again, please.')); $this->clientError(_('There was a problem with your session token. ' .
'Try again, please.'));
return; return;
} }
@ -53,7 +80,7 @@ class UnsubscribeAction extends Action
$other = Profile::staticGet('id', $other_id); $other = Profile::staticGet('id', $other_id);
if (!$other_id) { if (!$other) {
$this->clientError(_('No profile with that id.')); $this->clientError(_('No profile with that id.'));
return; return;
} }
@ -76,8 +103,8 @@ class UnsubscribeAction extends Action
$this->elementEnd('body'); $this->elementEnd('body');
$this->elementEnd('html'); $this->elementEnd('html');
} else { } else {
common_redirect(common_local_url('subscriptions', array('nickname' => common_redirect(common_local_url('subscriptions',
$user->nickname)), array('nickname' => $user->nickname)),
303); 303);
} }
} }