]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - plugins/Event/cancelrsvpform.php
updates to make RSVPs work
[quix0rs-gnu-social.git] / plugins / Event / cancelrsvpform.php
1 <?php
2 /**
3  * StatusNet - the distributed open-source microblogging tool
4  * Copyright (C) 2011, StatusNet, Inc.
5  *
6  * Form to RSVP for an event
7  * 
8  * PHP version 5
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU Affero General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Affero General Public License for more details.
19  *
20  * You should have received a copy of the GNU Affero General Public License
21  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22  *
23  * @category  Event
24  * @package   StatusNet
25  * @author    Evan Prodromou <evan@status.net>
26  * @copyright 2011 StatusNet, Inc.
27  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
28  * @link      http://status.net/
29  */
30
31 if (!defined('STATUSNET')) {
32     // This check helps protect against security problems;
33     // your code file can't be executed directly from the web.
34     exit(1);
35 }
36
37 /**
38  * A form to RSVP for an event
39  *
40  * @category  General
41  * @package   StatusNet
42  * @author    Evan Prodromou <evan@status.net>
43  * @copyright 2011 StatusNet, Inc.
44  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
45  * @link      http://status.net/
46  */
47
48 class CancelRSVPForm extends Form
49 {
50     protected $rsvp = null;
51
52     function __construct($rsvp, $out=null)
53     {
54         parent::__construct($out);
55         $this->rsvp = $rsvp;
56     }
57
58     /**
59      * ID of the form
60      *
61      * @return int ID of the form
62      */
63
64     function id()
65     {
66         return 'form_event_rsvp';
67     }
68
69     /**
70      * class of the form
71      *
72      * @return string class of the form
73      */
74
75     function formClass()
76     {
77         return 'ajax';
78     }
79
80     /**
81      * Action of the form
82      *
83      * @return string URL of the action
84      */
85
86     function action()
87     {
88         return common_local_url('cancelrsvp');
89     }
90
91     /**
92      * Data elements of the form
93      *
94      * @return void
95      */
96
97     function formData()
98     {
99         $this->out->elementStart('fieldset', array('id' => 'new_rsvp_data'));
100
101         $this->out->hidden('rsvp', $this->rsvp->id);
102
103         switch (RSVP::verbFor($this->rsvp->result)) {
104         case RSVP::POSITIVE:
105             $this->out->text(_('You will attend this event.'));
106             break;
107         case RSVP::NEGATIVE:
108             $this->out->text(_('You will not attend this event.'));
109             break;
110         case RSVP::POSSIBLE:
111             $this->out->text(_('You might attend this event.'));
112             break;
113         }
114
115         $this->out->elementEnd('fieldset');
116     }
117
118     /**
119      * Action elements
120      *
121      * @return void
122      */
123
124     function formActions()
125     {
126         $this->out->submit('cancel', _m('BUTTON', 'Cancel'));
127     }
128 }