. * * @category Event * @package StatusNet * @author Evan Prodromou * @copyright 2011 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ if (!defined('STATUSNET')) { exit(1); } /** * A form to RSVP for an event * * @category General * @package StatusNet * @author Evan Prodromou * @copyright 2011 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 * @link http://status.net/ */ class CancelRSVPForm extends Form { protected $rsvp = null; function __construct($out=null, array $formOpts=array()) { parent::__construct($out); if (!isset($formOpts['rsvp'])) { throw new ServerException('You must set the "rsvp" form option for RSVPForm.'); } elseif (!$formOpts['rsvp'] instanceof RSVP) { throw new ServerException('The "rsvp" form option for RSVPForm must be an RSVP object.'); } $this->rsvp = $formOpts['rsvp']; } /** * ID of the form * * @return int ID of the form */ function id() { return 'form_event_rsvp'; } /** * class of the form * * @return string class of the form */ function formClass() { return 'ajax'; } /** * Action of the form * * @return string URL of the action */ function action() { return common_local_url('cancelrsvp'); } /** * Data elements of the form * * @return void */ function formData() { $this->out->elementStart('fieldset', array('id' => 'new_rsvp_data')); $this->out->hidden('rsvp-id', $this->rsvp->getUri(), 'rsvp'); switch (RSVP::verbFor($this->rsvp->response)) { case RSVP::POSITIVE: // TRANS: Possible status for RSVP ("please respond") item. $this->out->text(_m('You will attend this event.')); break; case RSVP::NEGATIVE: // TRANS: Possible status for RSVP ("please respond") item. $this->out->text(_m('You will not attend this event.')); break; case RSVP::POSSIBLE: // TRANS: Possible status for RSVP ("please respond") item. $this->out->text(_m('You might attend this event.')); break; } $this->out->elementEnd('fieldset'); } /** * Action elements * * @return void */ function formActions() { // TRANS: Button text to cancel responding to an RSVP ("please respond") item. $this->out->submit('rsvp-cancel', _m('BUTTON', 'Cancel')); } }