. * * @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')) { // This check helps protect against security problems; // your code file can't be executed directly from the web. 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 RSVPForm extends Form { protected $event = null; function __construct($event, $out=null) { parent::__construct($out); $this->event = $event; } /** * 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('newrsvp'); } /** * Data elements of the form * * @return void */ function formData() { $this->out->elementStart('fieldset', array('id' => 'new_rsvp_data')); // TRANS: Field label on form to RSVP ("please respond") for an event. $this->out->text(_m('RSVP:')); $this->out->hidden('event-id', $this->event->id, 'event'); $this->out->hidden('submitvalue', ''); $this->out->elementEnd('fieldset'); } /** * Action elements * * @return void */ function formActions() { // TRANS: Button text for RSVP ("please respond") reply to confirm attendence. $this->submitButton('yes', _m('BUTTON', 'Yes')); // TRANS: Button text for RSVP ("please respond") reply to deny attendence. $this->submitButton('no', _m('BUTTON', 'No')); // TRANS: Button text for RSVP ("please respond") reply to indicate one might attend. $this->submitButton('maybe', _m('BUTTON', 'Maybe')); } function submitButton($id, $label) { $this->out->element( 'input', array( 'type' => 'submit', 'id' => 'rsvp-submit', 'name' => $id, 'class' => 'submit', 'value' => $label, 'title' => $label, 'onClick' => 'this.form.submitvalue.value = this.name; return true;' ) ); } }