Rev 1 | AutorÃa | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Form;use Laminas\Form\Form;use LeadersLinked\Model\CompanyMicrolearningSlide;use LeadersLinked\Mapper\QueryMapper;use LeadersLinked\Mapper\CompanyMicrolearningQuizMapper;use LeadersLinked\Model\CompanyMicrolearningQuiz;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' => CompanyMicrolearningSlide::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(CompanyMicrolearningQuizMapper::_TABLE);$select->columns(['id', 'name']);$select->where->equalTo('company_id', $company_id);$select->where->equalTo('status', CompanyMicrolearningQuiz::STATUS_ACTIVE);$select->where->equalTo('check', CompanyMicrolearningQuiz::CHECK_OK);$options = [];$records = $queryMapper->fetchAll($select);foreach($records as $record){$options[ $record['id'] ] = $record['name'];}return $options;}}