<?php
namespace QxCMS\Modules\Api\Controllers;
use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Repositories\Questionnaire\QuestionRepositoryInterface as Question;
use QxCMS\Modules\Client\Repositories\Questionnaire\TemplateRepositoryInterface as Template;
use Auth;
use \Carbon\Carbon;
class QuestionnaireController extends Controller
{
protected $question;
protected $template;
public function __construct(Question $question, Template $template)
{
$this->question = $question;
$this->template = $template;
}
public function getQuestionnaire(Request $request)
{
$types = $this->question->getTypes();
$template = $this->template->apiGetQuestionnaire($request->all());
$responses = array();
$responses['title'] = $template->title;
/*$responses['pages'] = array();*/
foreach ($template->questions as $question_key => $question) {
$type = (($question->multiple_select == true) ? 3:$question->question_type);
$choices = array();
if($type == 2 || $type == 3)
{
foreach ($question->answers as $answer_key => $answer) {
$choices[] = array('value' => "$answer->id", 'text' => $answer->name);
}
}
$responses['pages'][$question_key] = array(
'name' => 'page'.$question->id,
'questions' => array(array(
'type' => $types[$type],
'name' => 'question'.$question->id,
'title' => $question->title,
'choices' => $choices,
'isRequired' => ($question->required == true) ? true:false
))
);
}
return response()->json($responses)->withCallback($request->input('callback'));
}
}