/** * @name validAjout($pData) * @return TypeAdhesionVR * @desc Test la validite de l'élément */ public static function validAjout($pData) { $lVr = new TypeAdhesionVR(); //Tests inputs if (!isset($pData['id'])) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getId()->addErreur($lErreur); } if (!isset($pData['idAdhesion'])) { $lVr->setValid(false); $lVr->getIdAdhesion()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdAdhesion()->addErreur($lErreur); } if (!isset($pData['label'])) { $lVr->setValid(false); $lVr->getLabel()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getLabel()->addErreur($lErreur); } if (!isset($pData['idPerimetre'])) { $lVr->setValid(false); $lVr->getIdPerimetre()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdPerimetre()->addErreur($lErreur); } if (!isset($pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!TestFonction::checkLength($pData['label'], 0, 45)) { $lVr->setValid(false); $lVr->getLabel()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getLabel()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['idPerimetre'], 0, 11)) { $lVr->setValid(false); $lVr->getIdPerimetre()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdPerimetre()->addErreur($lErreur); } if (!is_int((int) $pData['idPerimetre'])) { $lVr->setValid(false); $lVr->getIdPerimetre()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_104_CODE); $lErreur->setMessage(MessagesErreurs::ERR_104_MSG); $lVr->getIdPerimetre()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['montant'], 0, 12) || $pData['montant'] > 999999999.99) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!is_float((double) $pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getMontant()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['label'])) { $lVr->setValid(false); $lVr->getLabel()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getLabel()->addErreur($lErreur); } if (empty($pData['idPerimetre'])) { $lVr->setValid(false); $lVr->getIdPerimetre()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdPerimetre()->addErreur($lErreur); } if (empty($pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } $lPerimetreAdhesion = PerimetreAdhesionManager::select($pData['idPerimetre']); if ($lPerimetreAdhesion->getId() != $pData['idPerimetre']) { $lVr->setValid(false); $lVr->getIdPerimetre()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getIdPerimetre()->addErreur($lErreur); } if ($pData['montant'] < 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getMontant()->addErreur($lErreur); } } return $lVr; }
/** * @name recherche( $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri ) * @param string nom de la table * @param string Le type de critère de recherche * @param array(string) champs à récupérer dans la table * @param array(array(string, object)) Dictionnaire(champ, valeur)) contenant les champs à filtrer ainsi que la valeur du filtre * @param array(array(string, string)) Dictionnaire(champ, sens) contenant les tris à appliquer * @return array(PerimetreAdhesionVO) * @desc Récupères les lignes de la table selon le critère de recherche puis trie et renvoie la liste de résultat sous forme d'une collection de PerimetreAdhesionVO */ public static function recherche($pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri) { // Initialisation du Logger $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS); $lLogger->setMask(Log::MAX(LOG_LEVEL)); // Préparation de la requète $lChamps = array(PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_ID . "," . PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_LABEL . "," . PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_DATE_CREATION . "," . PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_DATE_MODIFICATION . "," . PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_ETAT); // Préparation de la requète de recherche $lRequete = DbUtils::prepareRequeteRecherche(PerimetreAdhesionManager::TABLE_PERIMETREADHESION, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri); $lListePerimetreAdhesion = array(); if ($lRequete !== false) { $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG); // Maj des logs $lSql = Dbutils::executerRequete($lRequete); if (mysql_num_rows($lSql) > 0) { while ($lLigne = mysql_fetch_assoc($lSql)) { array_push($lListePerimetreAdhesion, PerimetreAdhesionManager::remplirPerimetreAdhesion($lLigne[PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_ID], $lLigne[PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_LABEL], $lLigne[PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_DATE_CREATION], $lLigne[PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_DATE_MODIFICATION], $lLigne[PerimetreAdhesionManager::CHAMP_PERIMETREADHESION_ETAT])); } } else { $lListePerimetreAdhesion[0] = new PerimetreAdhesionVO(); } return $lListePerimetreAdhesion; } $lListePerimetreAdhesion[0] = new PerimetreAdhesionVO(); return $lListePerimetreAdhesion; }