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.
SAE4.01_FORMULAIRE/Source/BusinessClass/CheckBoxQuestion.php

54 lines
1.4 KiB

<?php
namespace BusinessClass;
class CheckBoxQuestion extends BoxQuestion
{
public function __construct()
{
$ctp = func_num_args();
$args = func_get_args();
switch($ctp)
{
case 5:
parent::__construct($args[3], $args[1]);
$this->categories = $args[2];
$this->possibleResponses = $args[0];
break;
case 2:
parent::__construct($args[3], $args[1]);
break;
default:
break;
}
}
public function responseStrategy(): void
{
echo "Implement responseStrategy() method.";
}
public function printStrategy(): string
{
$id = $this->getId();
$content = $this->getContent();
$possibleResponses = $this->getPossibleResponses();
$categories = $this->getCategories();
$html = "\t\t\t<div class='question'>
<label>$content</label>\n";
for ($i = 0; $i < count($possibleResponses); $i++) {
$categoriesSplit = $id."#".$possibleResponses[$i]."||";
foreach ($categories[$i] as $category) {
$categoriesSplit.= $category."_";
}
$html.= "\t\t\t\t<input type='checkbox' name='answers[]' value='$categoriesSplit' />
<label>$possibleResponses[$i]</label>\n";
}
$html.= "\t\t\t</div>\n";
return $html;
}
}