Pesquisar na Comunidade
Mostrando resultados para as tags ''limesurvey''.
Encontrado 1 registro
-
Estou tentando criar um plugin pro limesurvey que consiste em pegar os funcionários do chefe logado e adiciona-los em uma one choice para ser realizado uma avaliação do funcionário da vez. Porém, estou com um certo problema ao adicionar as opções na question. A question já foi criada e tem um certo código ($questionCode), logo pegando esse código tento adicionar os funcionários de uma API externa ($options). Alguém já fez algo parecido que possa me ajudar? De primeira tentei colocar tabela de questions mas descobri que talvez devesse adicionar na de asnwers. Porém, parece existir outra forma utilizando o js inserido do código fonte da questão. https://manual.limesurvey.org/Workarounds:_Manipulating_a_survey_at_runtime_using_Javascript#Update_for_LimeSurvey_2.05.2B Qual seria a melhor forma? private function updateQuestionOptions($questionCode, $options) { $event = $this->getEvent(); $surveyId = $event->get('surveyId'); $questionId = $this->getQuestionIdByCode($surveyId, $questionCode); if ($questionId) { $optionValues = []; foreach ($options as $data) { foreach ($data as $option) { $optionValues[] = $option['first_name'] . " " . $option['last_name']; } } $this->setQuestionOptions($questionId, $optionValues); } } private function getQuestionIdByCode($surveyId, $questionCode) { $sql = "SELECT * FROM {{questions}} WHERE sid = :surveyId AND title = :questionCode"; $result = Yii::app()->db->createCommand($sql) ->bindValue(':surveyId', $surveyId) ->bindValue(':questionCode', $questionCode) ->queryRow(); return $result['qid'] ?? null; } private function setQuestionOptions($questionId, $options) { $optionValues = implode("\n", $options); // $sql = "UPDATE {{questions}} SET defaultvalue = :optionValues WHERE qid = :questionId"; // Yii::app()->db->createCommand($sql) // ->bindValue(':optionValues', $optionValues) // ->bindValue(':questionId', $questionId) // ->execute(); //$sql = "SELECT * FROM {{answers}}"; //$result = Yii::app()->db->createCommand($sql)->queryAll(); //print_r($result); //adicionar optionValues na question }