* Copyright (C) 2011, StatusNet, Inc.
*
* RSVP for an event
- *
+ *
* PHP version 5
*
* This program is free software: you can redistribute it and/or modify
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
+
if (!defined('STATUSNET')) {
// This check helps protect against security problems;
// your code file can't be executed directly from the web.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class NewrsvpAction extends Action
{
protected $user = null;
protected $event = null;
- protected $type = null;
+ protected $verb = null;
/**
* Returns the title of the action
*
* @return string Action title
*/
-
function title()
{
- return _('New RSVP');
+ // TRANS: Title for RSVP ("please respond") action.
+ return _m('TITLE','New RSVP');
}
/**
*
* @return boolean true
*/
-
function prepare($argarray)
{
parent::prepare($argarray);
+ if ($this->boolean('ajax')) {
+ StatusNet::setApi(true); // short error results!
+ }
$eventId = $this->trimmed('event');
if (empty($eventId)) {
- throw new ClientException(_('No such event.'));
+ // TRANS: Client exception thrown when referring to a non-existing event.
+ throw new ClientException(_m('No such event.'));
}
- $this->event = Happening::staticGet('id', $eventId);
+ $this->event = Happening::getKV('id', $eventId);
if (empty($this->event)) {
- throw new ClientException(_('No such event.'));
+ // TRANS: Client exception thrown when referring to a non-existing event.
+ throw new ClientException(_m('No such event.'));
}
$this->user = common_current_user();
if (empty($this->user)) {
- throw new ClientException(_('You must be logged in to RSVP for an event.'));
+ // TRANS: Client exception thrown when trying to RSVP ("please respond") while not logged in.
+ throw new ClientException(_m('You must be logged in to RSVP for an event.'));
}
- if ($this->arg('yes')) {
- $this->type = RSVP::POSITIVE;
- } else if ($this->arg('no')) {
- $this->type = RSVP::NEGATIVE;
- } else {
- $this->type = RSVP::POSSIBLE;
+ common_debug(print_r($this->args, true));
+
+ switch (strtolower($this->trimmed('submitvalue'))) {
+ case 'yes':
+ $this->verb = RSVP::POSITIVE;
+ break;
+ case 'no':
+ $this->verb = RSVP::NEGATIVE;
+ break;
+ case 'maybe':
+ $this->verb = RSVP::POSSIBLE;
+ break;
+ default:
+ // TRANS: Client exception thrown when using an invalid value for RSVP ("please respond").
+ throw new ClientException(_m('Unknown submit value.'));
}
+
return true;
}
*
* @return void
*/
-
function handle($argarray=null)
{
parent::handle($argarray);
*
* @return void
*/
-
function newRSVP()
{
try {
$saved = RSVP::saveNew($this->user->getProfile(),
$this->event,
- $this->type);
+ $this->verb);
} catch (ClientException $ce) {
$this->error = $ce->getMessage();
$this->showPage();
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
- // TRANS: Page title after sending a notice.
- $this->element('title', null, _('Event saved'));
+ // TRANS: Page title after creating an event.
+ $this->element('title', null, _m('Event saved'));
$this->elementEnd('head');
$this->elementStart('body');
$this->elementStart('body');
*
* @return void
*/
-
function showContent()
{
if (!empty($this->error)) {
*
* @return boolean is read only action?
*/
-
function isReadOnly($args)
{
if ($_SERVER['REQUEST_METHOD'] == 'GET' ||