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.
54 lines
1.4 KiB
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;
|
|
}
|
|
}
|