Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chamilo-lms/main/survey/ch_personality.php

99 lines
4.2 KiB

<?php
/* For licensing terms, see /license.txt */
/**
* Class ch_personality
*/
class ch_personality extends survey_question
{
/**
* This function creates the form elements for the multiple response questions
*
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University
* @version January 2007
*/
public function createForm($survey_data, $form_content)
{
parent::createForm($survey_data, $form_content);
$this->html .= ' <tr>';
$this->html .= ' <td colspan="2"><strong>'.get_lang('DisplayAnswersHorVert').'</strong></td>';
$this->html .= ' </tr>';
// Horizontal or vertical
$this->html .= ' <tr>';
$this->html .= ' <td align="right" valign="top">&nbsp;</td>';
$this->html .= ' <td>';
$this->html .= ' <input name="horizontalvertical" type="radio" value="horizontal" ';
if (empty($form_content['horizontalvertical']) || $form_content['horizontalvertical'] == 'horizontal') {
$this->html .= 'checked="checked"';
}
$this->html .= '/>'.get_lang('Horizontal').'</label><br />';
$this->html .= ' <input name="horizontalvertical" type="radio" value="vertical" ';
if (isset($form_content['horizontalvertical']) && $form_content['horizontalvertical'] == 'vertical') {
$this->html .= 'checked="checked"';
}
$this->html .= ' />'.get_lang('Vertical').'</label>';
$this->html .= ' </td>';
$this->html .= ' <td>&nbsp;</td>';
$this->html .= ' </tr>';
$this->html .= ' <tr>
<td colspan="">&nbsp;</td>
</tr>';
// The options
$this->html .= ' <tr>';
$this->html .= ' <td colspan="3"><strong>'.get_lang('AnswerOptions').'</strong></td>';
$this->html .= ' </tr>';
$total_number_of_answers = count($form_content['answers']);
$question_values = array();
// Values of question options
if (is_array($form_content['values'])) { // Check if data is correct
foreach ($form_content['values'] as $key => & $value) {
$question_values [] = '<input size="3" type="text" id="values['.$key.']" name="values['.$key.']" value="'.$value.'" />';
}
}
$count = 0;
if (is_array($form_content['answers'])) {
foreach ($form_content['answers'] as $key => & $value) {
$this->html .= '<tr>';
$this->html .= '<td align="right"><label for="answers['.$key.']">'.($key + 1).'</label></td>';
$this->html .= '<td width="550">'.api_return_html_area('answers['.$key.']', api_html_entity_decode(stripslashes($form_content['answers'][$key])), '', '', null, array('ToolbarSet' => 'Survey', 'Width' => '100%', 'Height' => '120')).'</td>';
$this->html .= '<td>';
if ($total_number_of_answers > 2) {
$this->html .= $question_values[$count];
}
if ($key < $total_number_of_answers - 1) {
$this->html .= '<input type="image" style="width:22px" src="'.Display::returnIconPath('down.png').'" value="move_down['.$key.']" name="move_down['.$key.']"/>';
}
if ($key > 0) {
$this->html .= '<input type="image" style="width:22px" src="'.Display::returnIconPath('up.png').'" value="move_up['.$key.']" name="move_up['.$key.']"/>';
}
if ($total_number_of_answers > 2) {
$this->html .= '<input type="image" style="width:22px" src="'.Display::returnIconPath('delete.png').'" value="delete_answer['.$key.']" name="delete_answer['.$key.']"/>';
}
$this->html .= '</td>';
$this->html .= '</tr>';
$count++;
}
}
// The buttons for adding or removing
//$this->html .= parent :: add_remove_buttons($form_content);
}
/**
* @param FormValidator $form
* @param array $questionData
* @param array $answers
*/
public function render(FormValidator $form, $questionData = array(), $answers = array())
{
$question = new ch_yesno();
$question->render($form, $questionData, $answers);
}
}