AutorÃa | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Form\Survey;use Laminas\InputFilter\InputFilter;use LeadersLinked\Mapper\IndustryMapper;use LeadersLinked\Mapper\JobDescriptionMapper;use LeadersLinked\Mapper\SkillMapper;use LeadersLinked\Mapper\LanguageMapper;use Laminas\Db\Adapter\AdapterInterface;use LeadersLinked\Model\SurveyForm;use LeadersLinked\Model\SurveyCampaign;use LeadersLinked\Mapper\SurveyFormMapper;class SurveyCampaignFilter extends InputFilter{/**** @param AdapterInterface $adapter*/public function __construct(AdapterInterface $adapter, $company_id, $type){$this->add(['name' => 'name','required' => true,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' => [['name' => \Laminas\Validator\StringLength::class,'options' => ['encoding' => 'UTF-8','max' => 128,],],['name' => \Laminas\Validator\NotEmpty::class,],],]);$this->add(['name' => 'start_date','required' => true,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' => [['name' => \Laminas\Validator\StringLength::class,'options' => ['encoding' => 'UTF-8','max' => 10,],],['name' => \Laminas\Validator\NotEmpty::class,],['name' => \Laminas\Validator\Date::class,'options' => ['format' => 'Y-m-d',],],],]);$this->add(['name' => 'end_date','required' => true,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' => [['name' => \Laminas\Validator\StringLength::class,'options' => ['encoding' => 'UTF-8','max' => 10,],],['name' => \Laminas\Validator\NotEmpty::class,],['name' => \LeadersLinked\Validator\GreaterThanOtherField::class,'options' => ['token' => 'start_date'],],['name' => \Laminas\Validator\Date::class,'options' => ['format' => 'Y-m-d',],],],]);$this->add(['name' => 'status','required' => true,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' =>[['name' =>\Laminas\Validator\NotEmpty::class,],]]);$this->add(['name' => 'identity','required' => true,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' =>[['name' =>\Laminas\Validator\NotEmpty::class,],]]);$this->add(['name' => 'form_id','required' => false,'validators' =>[['name' =>\Laminas\Validator\NotEmpty::class,],['name' => \LeadersLinked\Validator\RecordExistsMultiFields::class,'options' => ['adapter' => $adapter,'table' => SurveyFormMapper::_TABLE,'field' => 'uuid','custom_fields' => ['company_id' => $company_id]]]]]);$this->add(['name' => 'status','required' => true,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' =>[['name' =>\Laminas\Validator\NotEmpty::class,],]]);if($type == SurveyCampaign::TYPE_ORGANIZATIONAL_CLIMATE) {$this->add(['name' => 'job_description_id','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' =>[['name' =>\Laminas\Validator\NotEmpty::class,],['name' => \LeadersLinked\Validator\RecordExistsMultiValues::class,'options' => ['adapter' => $adapter,'table' => JobDescriptionMapper::_TABLE,'field' => 'uuid','custom_fields' => ['company_id' => $company_id]]]]]);}$this->add(['name' => 'skill_id','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' =>[['name' =>\Laminas\Validator\NotEmpty::class,],['name' => \LeadersLinked\Validator\RecordExistsMultiValues::class,'options' => ['adapter' => $adapter,'table' => SkillMapper::_TABLE,'field' => 'uuid',]]]]);$this->add(['name' => 'industry_id','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' =>[['name' =>\Laminas\Validator\NotEmpty::class,],['name' => \LeadersLinked\Validator\RecordExistsMultiValues::class,'options' => ['adapter' => $adapter,'table' => IndustryMapper::_TABLE,'field' => 'uuid',]]]]);$this->add(['name' => 'language','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' =>[['name' =>\Laminas\Validator\NotEmpty::class,],['name' => \LeadersLinked\Validator\RecordExistsMultiValues::class,'options' => ['adapter' => $adapter,'table' => LanguageMapper::_TABLE,'field' => 'id',]]]]);$this->add(['name' => 'formatted_address','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' => [['name' => \Laminas\Validator\NotEmpty::class,],],]);$this->add(['name' => 'address1','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],]);$this->add(['name' => 'address2','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],]);$this->add(['name' => 'country','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' => [['name' => \Laminas\Validator\StringLength::class,'options' => ['encoding' => 'UTF-8','max' => 128,],],['name' => \Laminas\Validator\NotEmpty::class,],],]);$this->add(['name' => 'state','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' => [['name' => \Laminas\Validator\StringLength::class,'options' => ['encoding' => 'UTF-8','max' => 128,],],['name' => \Laminas\Validator\NotEmpty::class,],],]);$this->add(['name' => 'city1','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' => [['name' => \Laminas\Validator\StringLength::class,'options' => ['encoding' => 'UTF-8','max' => 128,],],],]);$this->add(['name' => 'city2','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' => [['name' => \Laminas\Validator\StringLength::class,'options' => ['encoding' => 'UTF-8','max' => 128,],],],]);$this->add(['name' => 'postal_code','required' => false,'filters' => [['name' => \Laminas\Filter\StripTags::class],['name' => \Laminas\Filter\StringTrim::class],],'validators' => [['name' => \Laminas\Validator\StringLength::class,'options' => ['encoding' => 'UTF-8','max' => 6,],],],]);$this->add(['name' => 'latitude','required' => false,'filters' => [['name' => \LeadersLinked\Filter\Floatval::class],],'validators' => [['name' => \Laminas\Validator\NotEmpty::class,],],]);$this->add(['name' => 'longitude','required' => false,'filters' => [['name' => \LeadersLinked\Filter\Floatval::class],],'validators' => [['name' => \Laminas\Validator\NotEmpty::class,],],]);}}