public function isValid($data) { $phoneCol = $data['phone_heders']; $emailCol = $data['email_heders']; if (!empty($phoneCol) && !empty($emailCol)) { $validator = new Logic_Validate_NotEqual($phoneCol); $validator->setMessage("Kolumna z adresami email musi być inna niż z numerami telefonów"); $this->getElement('phone_heders')->setAttrib('options', array($phoneCol => $phoneCol)); $this->getElement('email_heders')->setAttrib('options', array($emailCol => $emailCol))->addValidator($validator); } $isValid = parent::isValid($data); $certFileName = $this->_receiveFiles('addressbook_import_csv'); return $isValid; }
public function isValid($data) { $contactCol = $data['phone_heders']; $messageCol = $data['message_heders']; $file_type = (int) $data['file_type']; $serviceSetmodel = new WsServiceSet(); $serviceSetInfo = $serviceSetmodel->getSet($data['ws_service_set_id']); if ($serviceSetInfo !== null) { if ($serviceSetInfo->file_type !== null && $serviceSetInfo->file_type != $file_type) { $this->addErrorMessage("Typ wysyłki rózni się od zdefiniowanego"); return false; } if ($file_type != Logic_Ws_ServiceSet_ServiceSet::TYPE_CONST && $serviceSetInfo->delimeter != null && $serviceSetInfo->delimeter !== (int) $data['delimeter']) { $this->addErrorMessage("Separator pola rózni się od zdefiniowanego"); return false; } if ($file_type == Logic_Ws_ServiceSet_ServiceSet::TYPE_CONST && $serviceSetInfo->ws_addressbook_id != null && $serviceSetInfo->ws_addressbook_id !== (int) $data['ws_addressbook_id']) { $this->addErrorMessage("Wybrana książka adresowa rózni się od zdefiniowanej"); return false; } } $notEqualValidator = new Logic_Validate_NotEqual($data['phone_heders']); if (!empty($contactCol) || !empty($messageCol) && !empty($contactCol)) { $this->getElement('phone_heders')->setAttrib('options', array($contactCol => $contactCol)); $this->getElement('message_heders')->setAttrib('options', array($messageCol => $messageCol)); } switch ($file_type) { case Logic_Ws_ServiceSet_ServiceSet::TYPE_CONST: $this->ws_addressbook_id->setRequired(true); break; case Logic_Ws_ServiceSet_ServiceSet::TYPE_VAR: $this->addressbook_import_csv->setRequired(true); $this->delimeter->setRequired(true); $this->phone_heders->setRequired(true); break; case Logic_Ws_ServiceSet_ServiceSet::TYPE_ANY: $validator = new Logic_Validate_NotEqual($contactCol); $validator->setMessage("Kolumna z kontaktami musi być inna niż z wiadomością"); $this->addressbook_import_csv->setRequired(true); $this->delimeter->setRequired(true); $this->phone_heders->setRequired(true); $this->message_heders->setRequired(true)->addValidator($validator); break; } $isValid = parent::isValid($data); if ($file_type == Logic_Ws_ServiceSet_ServiceSet::TYPE_VAR || $file_type == Logic_Ws_ServiceSet_ServiceSet::TYPE_ANY) { $this->_receiveFiles('addressbook_import_csv'); } if ($isValid && $file_type == Logic_Ws_ServiceSet_ServiceSet::TYPE_VAR) { $tagsValidator = $this->tagsValidator($data); if (!empty($tagsValidator)) { $isValid = false; $this->setErrorMessages($tagsValidator); } } return $isValid; }