function DPRenderQuestionForm($PollForm, $DiscussionPoll, $Disabled, $Closed) { echo '<div class="P" id="DP_Form">'; if (!C('Plugins.DiscussionPolls.DisablePollTitle', FALSE)) { echo $PollForm->Label('Discussion Poll Title', 'DP_Title'); echo Wrap($PollForm->TextBox('DP_Title', array_merge($Disabled, array('maxlength' => 100, 'class' => 'InputBox BigInput'))), 'div', array('class' => 'TextBoxWrapper')); } echo Anchor(' ', '/plugin/discussionpolls/', array('id' => 'DP_PreviousQuestion', 'title' => T('Previous Question'))); $QuestionCount = 0; // set and the form data for existing questions and render a form foreach ($DiscussionPoll->Questions as $Question) { DPRenderQuestionField($PollForm, $QuestionCount, $Question, $Disabled); $QuestionCount++; } // If there is no data, render a single question form with 2 options to get started if (!$QuestionCount) { DPRenderQuestionField($PollForm); } // the end of the form if (!$Closed) { echo Anchor(T('Add a Question'), '/plugin/discussionpolls/addquestion/', array('id' => 'DP_NextQuestion', 'title' => T('Add a Question'))); echo Anchor(T('Add an Option'), '/plugin/discussionpolls/addoption', array('id' => 'DP_AddOption', 'title' => T('Add an Option'))); } else { if ($QuestionCount > 1) { echo Anchor(T('Next Question'), '/plugin/discussionpolls/addquestion/', array('id' => 'DP_NextQuestion', 'title' => T('Next Question'))); } } echo '</div>'; }
/** * Renders / fetches question fields for form * @param stdClass $PollForm the poll object we are rendering * @param boolean $Echo echo or return result string * @return mixed Will return string if $Echo is false, will return true otherwise */ protected function _RenderQuestionFields($PollForm, $Echo = TRUE) { include_once $this->ThemeView('questions'); if ($Echo) { DPRenderQuestionField($PollForm); return TRUE; } else { ob_start(); DPRenderQuestionField($PollForm); $Result = ob_get_contents(); ob_end_clean(); return $Result; } }