AutorÃa | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Form\Microlearning;use Laminas\Form\Form;use LeadersLinked\Model\MicrolearningSlide;use LeadersLinked\Mapper\QueryMapper;use LeadersLinked\Mapper\MicrolearningQuizMapper;use LeadersLinked\Model\MicrolearningQuiz;class SlideQuizzAddForm extends Form{public function __construct($adapter, $company_id){parent::__construct();$this->setInputFilter(new SlideQuizzAddFilter($adapter, $company_id));$this->add(['name' => 'type','type' => \Laminas\Form\Element\Hidden::class,'attributes' => ['id' => 'type','value' => MicrolearningSlide::TYPE_QUIZ]]);$this->add(['name' => 'name','type' => \Laminas\Form\Element\Textarea::class,'attributes' => ['id' => 'name',]]);$this->add(['name' => 'order','type' => \Laminas\Form\Element\Text::class,'attributes' => ['id' => 'order',],]);$this->add(['name' => 'background','type' => \Laminas\Form\Element\Hidden::class,'attributes' => ['id' => 'background',]]);$this->add(['name' => 'quiz_id','type' => \Laminas\Form\Element\Select::class,'options' => ['value_options' => $this->getQuizOptions($adapter, $company_id)],'attributes' => ['id' => 'quiz_id',]]);}private function getQuizOptions($adapter, $company_id){$queryMapper = QueryMapper::getInstance($adapter);$select = $queryMapper->getSql()->select(MicrolearningQuizMapper::_TABLE);$select->columns(['id', 'name']);$select->where->equalTo('company_id', $company_id);$select->where->equalTo('status', MicrolearningQuiz::STATUS_ACTIVE);$select->where->equalTo('check', MicrolearningQuiz::CHECK_OK);$options = [];$records = $queryMapper->fetchAll($select);foreach($records as $record){$options[ $record['id'] ] = $record['name'];}return $options;}}