1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| public function ajoutAction() {
$form = new Application_Form_CampagneForm();
$this->view->form = $form;
$sondage_id = $this->_request->getParam("id");
$sondage = $this->lecture->getSondageById($sondage_id);
$this->view->sondage = $sondage;
if ($this->_request->getPost('Enregistrer')) {
$formData = $this->_request->getPost();
//validator date debut campagne
if (!empty($formData["datedebut"]) && !empty($formData["datefin"]) && !empty($formData["dateDebutRelance"])) {
$validatorForm = new App_Validator_ValidateDateDebutCampagne(new Zend_Date($formData["datedebut"]),
new Zend_Date($formData["datefin"]),
new Zend_Date($sondage->getDateDebut()),
new Zend_Date($sondage->getDateFin()));
$form->getElement('datedebut')->addValidator($validatorForm);
//validator date fin campagne
$validatorForm = new App_Validator_ValidateDateFinCampagne(new Zend_Date($formData["datedebut"]), new Zend_Date($formData["datefin"]), new Zend_Date($sondage->getDatedebut()), new Zend_Date($sondage->getDateFin()));
$form->getElement('datefin')->addValidator($validatorForm);
//validator date debut relance
$validatorForm = new App_Validator_ValidateDateDebutRelance(new Zend_Date($formData["datedebut"]), new Zend_Date($formData["datefin"]), new Zend_Date($formData["dateDebutRelance"]));
$form->getElement('dateDebutRelance')->addValidator($validatorForm);
}
//validator date fin relance
if(!empty($formData["dateDebutRelance"])){
$duree = ($formData["nbRelance"]) * ($formData["frequenceRelance"]);
$dateFinRelance = new Zend_Date($formData["dateDebutRelance"]);
$dateFinRelance->add($duree, Zend_Date::DAY);
$validatorForm = new App_Validator_ValidateDateFinRelance(new Zend_Date($formData["datedebut"]), new Zend_Date($formData["datefin"]), $dateFinRelance);
$form->getElement('dateDebutRelance')->addValidator($validatorForm);
}
if ($form->isValid($formData) && !empty($sondage_id)) {
$dat = explode('/', $formData["datedebut"]);
$dateDebut = $dat[2] . '-' . $dat[1] . '-' . $dat[0];
$dat = explode('/', $formData["datefin"]);
$dateFin = $dat[2] . '-' . $dat[1] . '-' . $dat[0];
$dat = explode('/', $formData["dateDebutRelance"]);
$dateDebutRelance = $dat[2] . '-' . $dat[1] . '-' . $dat[0];
$campagne = new Application_Model_Campagne(
null,
$sondage_id,
$dateDebut,
$dateFin,
$formData["typeReporting"],
$formData["relance"],
$formData["nbRelance"],
$dateDebutRelance,
$formData["frequenceRelance"],
$formData["libelle"],
$formData["verrouille"],
$formData["contenuMail"],
null);
$campagne_id = $this->ecriture->saveCampagne($campagne);
$location = $form->abonnes->getFileName();
if (!empty($location)) {
$this->ajoutAbonnes($sondage, $campagne_id, $location);
}
$this->view->valide = "Nouvelle Campagne créée avec succès";
} elseif (empty($this->sondage_id)) {
$this->view->error = "'pas de id sondage";
}
}
} |
Partager