. * * @category Form * @package StatusNet * @author Zach Copley * @copyright 2011 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ if (!defined('STATUSNET')) { exit(1); } require_once INSTALLDIR . '/lib/form.php'; /** * Form for showing a question * * @category Form * @package StatusNet * @author Zach Copley * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ * */ class QnashowquestionForm extends Form { /** * The question to show */ var $question = null; /** * Constructor * * @param HTMLOutputter $out output channel * @param QnA_Question $question the question to show */ function __construct($out = null, $question = null) { parent::__construct($out); $this->question = $question; } /** * ID of the form * * @return int ID of the form */ function id() { return 'question-' . $this->question->id; } /** * Action of the form * * @return string URL of the action */ function action() { return common_local_url('qnaclosequestion'); } /** * Include a session token for CSRF protection * * @return void */ function sessionToken() { $this->out->hidden( 'token', common_session_token() ); } /** * Legend of the Form * * @return void */ function formLegend() { // TRANS: Form legend for revising the answer. $this->out->element('legend', null, _m('LEGEND','Question')); } /** * Data elements * * @return void */ function formData() { $this->out->hidden( 'qna-question-id', 'question-' . $this->question->id, 'id' ); $this->out->hidden( 'answer-action', common_local_url( 'qnanewanswer', null, array('id' => 'question-' . $this->question->id) ) ); $this->out->raw($this->question->asHTML()); } /** * Action elements * * @return void */ function formActions() { $user = common_current_user(); if (empty($user)) { return; } if (empty($this->question->closed)) { if ($user->id == $this->question->profile_id) { $this->out->submit( 'qna-question-close', // TRANS: Button text for closing a question. _m('BUTTON', 'Close'), 'submit', 'submit', // TRANS: Title for button text for closing a question. _m('Close the question to no one can answer it anymore.') ); } } } /** * Class of the form. * * @return string the form's class */ function formClass() { return 'form_question_show ajax'; } }