Proyectos de Subversion LeadersLinked - Backend

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
17002 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Form\Microlearning;
6
 
7
use Laminas\Form\Form;
8
use Laminas\Db\Adapter\AdapterInterface;
9
use Laminas\Log\LoggerInterface;
10
use LeadersLinked\Mapper\CompanySizeMapper;
11
use LeadersLinked\Mapper\IndustryMapper;
12
use LeadersLinked\Mapper\CompetencyTypeMapper;
13
use LeadersLinked\Mapper\MicrolearningTopicMapper;
14
 
15
class CapsuleForm extends Form
16
{
17
 
18
    /**
19
     *
20
     * @param AdapterInterface $adapter
21
     * @param int $company_id
22
     */
23
    public function __construct($adapter, $company_id)
24
    {
25
        parent::__construct();
26
        $this->setInputFilter(new CapsuleFilter($adapter));
27
 
28
        $this->add([
29
            'name' => 'topic_uuid',
30
            'type' => \Laminas\Form\Element\Select::class,
31
            'attributes' => [
32
                'id' => 'topic_uuid',
33
            ],
34
            'options' => [
35
                'value_options' => $this->getSelectOptions($adapter, $company_id)
36
            ]
37
        ]);
38
 
39
    }
40
 
41
    /**
42
     *
43
     * @param AdapterInterface $adapter
44
     */
45
    private function getSelectOptions($adapter, $company_id)
46
    {
47
        $options = [];
48
 
49
        $mapper = MicrolearningTopicMapper::getInstance($adapter);
50
        $records = $mapper->fetchAllActiveByCompanyId($company_id);
51
 
52
        foreach($records as $record)
53
        {
54
            $options[$record->uuid] = $record->name;
55
        }
56
        return $options;
57
    }
58
}