*
* @category API
* @package StatusNet
+ * @author Siebrand Mazeland <s.mazeland@xs4all.nl>
* @author Zach Copley <zach@status.net>
* @copyright 2009 StatusNet, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class ApiAccountUpdateDeliveryDeviceAction extends ApiAuthAction
{
/**
* @param array $args $_REQUEST args
*
* @return boolean success flag
- *
*/
-
function prepare($args)
{
parent::prepare($args);
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
$this->clientError(
+ // TRANS: Client error message. POST is a HTTP command. It should not be translated.
_('This method requires a POST.'),
400, $this->format
);
if (!in_array($this->format, array('xml', 'json'))) {
$this->clientError(
+ // TRANS: Client error displayed handling a non-existing API method.
_('API method not found.'),
404,
$this->format
// Note: Twitter no longer supports IM
if (!in_array(strtolower($this->device), array('sms', 'im', 'none'))) {
- $this->clientError(
- _(
- 'You must specify a parameter named ' .
- '\'device\' with a value of one of: sms, im, none.'
- )
- );
+ // TRANS: Client error displayed when no valid device parameter is provided for a user's delivery device setting.
+ $this->clientError(_( 'You must specify a parameter named ' .
+ '\'device\' with a value of one of: sms, im, none.' ));
return;
}
if (empty($this->user)) {
+ // TRANS: Client error displayed when no existing user is provided for a user's delivery device setting.
$this->clientError(_('No such user.'), 404, $this->format);
return;
}
if (strtolower($this->device) == 'sms') {
$this->user->smsnotify = true;
} elseif (strtolower($this->device) == 'im') {
- $this->user->jabbernotify = true;
+ //TODO IM is pluginized now, so what should we do?
+ //Enable notifications for all IM plugins?
+ //For now, don't do anything
+ //$this->user->jabbernotify = true;
} elseif (strtolower($this->device == 'none')) {
$this->user->smsnotify = false;
- $this->user->jabbernotify = false;
+ //TODO IM is pluginized now, so what should we do?
+ //Disable notifications for all IM plugins?
+ //For now, don't do anything
+ //$this->user->jabbernotify = false;
}
$result = $this->user->update($original);
if ($result === false) {
common_log_db_error($this->user, 'UPDATE', __FILE__);
+ // TRANS: Server error displayed when a user's delivery device cannot be updated.
$this->serverError(_('Could not update user.'));
return;
}
$this->endDocument('json');
}
}
-
}