3 * StatusNet - the distributed open-source microblogging tool
4 * Copyright (C) 2011, StatusNet, Inc.
6 * Form for answering a question
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.
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.
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/>.
25 * @author Zach Copley <zach@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/
31 if (!defined('STATUSNET')) {
32 // This check helps protect against security problems;
33 // your code file can't be executed directly from the web.
38 * Form to add a new answer to a question
42 * @author Zach Copley <zach@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/
47 class QnanewanswerForm extends Form
50 protected $showQuestion;
53 * Construct a new answer form
55 * @param QnA_Question $question
56 * @param HTMLOutputter $out output channel
60 function __construct(HTMLOutputter $out, QnA_Question $question, $showQuestion = false)
62 parent::__construct($out);
63 $this->question = $question;
64 $this->showQuestion = $showQuestion;
70 * @return int ID of the form
80 * @return string class of the form
84 return 'form_settings qna_answer_form ajax-notice';
90 * @return string URL of the action
94 return common_local_url('qnanewanswer');
98 * Data elements of the form
104 $question = $this->question;
106 $id = "question-" . $question->id;
108 if ($this->showQuestion) {
109 $out->raw($this->question->asHTML());
112 $out->hidden('qna-question-id', $id, 'id');
113 // TRANS: Field label.
114 $out->textarea('qna-answer', _m('Enter your answer'), null, null, 'answer');
122 function formActions()
124 // TRANS: Button text for submitting a poll response.
125 $this->out->submit('qna-answer-submit', _m('BUTTON', 'Answer'), 'submit', 'submit');