/** * This function performs the validation work for complex object models. * * In addition to checking the current object, all related objects will * also be validated. If all pass then <code>true</code> is returned; otherwise * an aggreagated array of ValidationFailed objects will be returned. * * @param array $columns Array of column names to validate. * @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise. */ protected function doValidate($columns = null) { if (!$this->alreadyInValidation) { $this->alreadyInValidation = true; $retval = null; $failureMap = array(); // We call the validate method on the following object(s) if they // were passed to this object by their coresponding set // method. This object relates to these object(s) by a // foreign key reference. if ($this->aAbsenceEleveSaisie !== null) { if (!$this->aAbsenceEleveSaisie->validate($columns)) { $failureMap = array_merge($failureMap, $this->aAbsenceEleveSaisie->getValidationFailures()); } } if ($this->aAbsenceEleveTraitement !== null) { if (!$this->aAbsenceEleveTraitement->validate($columns)) { $failureMap = array_merge($failureMap, $this->aAbsenceEleveTraitement->getValidationFailures()); } } if (($retval = JTraitementSaisieElevePeer::doValidate($this, $columns)) !== true) { $failureMap = array_merge($failureMap, $retval); } $this->alreadyInValidation = false; } return (!empty($failureMap) ? $failureMap : true); }
$message_erreur .= "Appel non autorisé en dehors des heures de cours concernées.<br/>"; } } $saisie->setDebutAbs($dt_date_debut_appel); $saisie->setFinAbs($dt_date_fin_appel); $chaine_son_alerte = "\n<audio id='id_erreur_sound' preload='auto' autobuffer autoplay>\n\t<!--source src='../sounds/verre_brise.wav' /-->\n\t<source src='../sounds/default_alarm.wav' />\n</audio>\n"; if ($message_erreur != '') { $message_enregistrement .= '<span style="color :red">Erreur sur l\'enregistrement du marqueur d\'appel : ' . $message_erreur . '</span>'; if (getSettingAOui("abs2_jouer_sound_erreur")) { $message_enregistrement .= $chaine_son_alerte; } //on arrete la saisie include "saisir_groupe.php"; die; } else { if ($saisie->validate()) { $saisie->save(); $message_enregistrement .= "<a href='visu_saisie.php?id_saisie=" . $saisie->getPrimaryKey() . "'>Marqueur d'appel enregistré</a><br/>"; } else { //on arrete la saisie $message_enregistrement .= '<span style="color :red">Erreur sur l\'enregistrement du marqueur d\'appel : ' . format_verif_failures($saisie) . '</span>'; if (getSettingAOui("abs2_jouer_sound_erreur")) { $message_enregistrement .= $chaine_son_alerte; } include "saisir_groupe.php"; die; } } for ($i = 0; $i < $total_eleves; $i++) { if (!isset($_POST['id_eleve_absent'][$i])) { continue;