コード例 #1
0
 /**
  * @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(CaracteristiqueVO)
  * @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 CaracteristiqueVO
  */
 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(CaracteristiqueManager::CHAMP_CARACTERISTIQUE_ID . "," . CaracteristiqueManager::CHAMP_CARACTERISTIQUE_NOM . "," . CaracteristiqueManager::CHAMP_CARACTERISTIQUE_DESCRIPTION . "," . CaracteristiqueManager::CHAMP_CARACTERISTIQUE_ETAT);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(CaracteristiqueManager::TABLE_CARACTERISTIQUE, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeCaracteristique = 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($lListeCaracteristique, CaracteristiqueManager::remplirCaracteristique($lLigne[CaracteristiqueManager::CHAMP_CARACTERISTIQUE_ID], $lLigne[CaracteristiqueManager::CHAMP_CARACTERISTIQUE_NOM], $lLigne[CaracteristiqueManager::CHAMP_CARACTERISTIQUE_DESCRIPTION], $lLigne[CaracteristiqueManager::CHAMP_CARACTERISTIQUE_ETAT]));
             }
         } else {
             $lListeCaracteristique[0] = new CaracteristiqueVO();
         }
         return $lListeCaracteristique;
     }
     $lListeCaracteristique[0] = new CaracteristiqueVO();
     return $lListeCaracteristique;
 }
コード例 #2
0
 /**
  * @name exportProduitCaracteristique($pParam)
  * @return CSV
  * @desc Retourne la liste des produits liés à la caracteristique
  */
 public function exportProduitCaracteristique($pParam)
 {
     $lVr = CaracteristiqueValid::validDelete($pParam);
     if ($lVr->getValid()) {
         $lCaracteristique = CaracteristiqueManager::select($pParam['id']);
         $lProduits = ListeProduitCaracteristiqueViewManager::select($pParam['id']);
         $lCSV = new CSV();
         $lTitre = str_replace(" ", "_", $lCaracteristique->getNom());
         $lCSV->setNom($lTitre . '_:_Liste_des_produits.csv');
         // Le Nom
         // L'entete
         $lEntete = array("Nom du Produit");
         $lCSV->setEntete($lEntete);
         $lContenuTableau = array();
         foreach ($lProduits as $lProduit) {
             array_push($lContenuTableau, array($lProduit->getNproNom()));
         }
         $lCSV->setData($lContenuTableau);
         // Export en CSV
         $lCSV->output();
     }
     return $lVr;
 }
コード例 #3
0
 /**
  * @name validDelete($pData)
  * @return CaracteristiqueVR
  * @desc Test la validite de l'élément
  */
 public static function validDelete($pData)
 {
     $lVr = new CaracteristiqueVR();
     //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 ($lVr->getValid()) {
         //Tests Techniques
         if (!TestFonction::checkLength($pData['id'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['id'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($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);
         }
         // La catégorie doit exister
         $lCategorie = CaracteristiqueManager::select($pData['id']);
         if ($lCategorie->getId() != $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);
         }
     }
     return $lVr;
 }
コード例 #4
0
 /**
  * @name validAjout($pData)
  * @return NomProduitCatalogueVR
  * @desc Test la validite de l'élément
  */
 public static function validAjout($pData)
 {
     $lVr = new NomProduitCatalogueVR();
     //Tests inputs
     if (!isset($pData['id'])) {
         $lVr->setValid(false);
         $lVr->getId()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getId()->addErreur($lErreur);
     }
     if (!isset($pData['numero'])) {
         $lVr->setValid(false);
         $lVr->getNumero()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getNumero()->addErreur($lErreur);
     }
     if (!isset($pData['idCategorie'])) {
         $lVr->setValid(false);
         $lVr->getIdCategorie()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getIdCategorie()->addErreur($lErreur);
     }
     if (!isset($pData['nom'])) {
         $lVr->setValid(false);
         $lVr->getNom()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getNom()->addErreur($lErreur);
     }
     if (!isset($pData['description'])) {
         $lVr->setValid(false);
         $lVr->getDescription()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getDescription()->addErreur($lErreur);
     }
     if (!isset($pData['producteurs'])) {
         $lVr->setValid(false);
         $lVr->getProducteurs()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getProducteurs()->addErreur($lErreur);
     }
     if (!isset($pData['caracteristiques'])) {
         $lVr->setValid(false);
         $lVr->getCaracteristiques()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getCaracteristiques()->addErreur($lErreur);
     }
     if (!isset($pData['modelesLot'])) {
         $lVr->setValid(false);
         $lVr->getLog()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
         $lVr->getLog()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!TestFonction::checkLength($pData['id'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['id'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['numero'], 0, 50)) {
             $lVr->setValid(false);
             $lVr->getNumero()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getNumero()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['idCategorie'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdCategorie()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdCategorie()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idCategorie'])) {
             $lVr->setValid(false);
             $lVr->getIdCategorie()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdCategorie()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['nom'], 0, 50)) {
             $lVr->setValid(false);
             $lVr->getNom()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getNom()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['description'], 0, 500)) {
             $lVr->setValid(false);
             $lVr->getDescription()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getDescription()->addErreur($lErreur);
         }
         if (!is_array($pData['producteurs'])) {
             $lVr->setValid(false);
             $lVr->getProducteurs()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_115_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_115_MSG);
             $lVr->getProducteurs()->addErreur($lErreur);
         }
         if (!is_array($pData['caracteristiques'])) {
             $lVr->setValid(false);
             $lVr->getCaracteristiques()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_115_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_115_MSG);
             $lVr->getCaracteristiques()->addErreur($lErreur);
         }
         if (!is_array($pData['modelesLot'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_115_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_115_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         if ($lVr->getValid()) {
             //Tests Fonctionnels
             if (empty($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 (empty($pData['idCategorie'])) {
                 $lVr->setValid(false);
                 $lVr->getIdCategorie()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdCategorie()->addErreur($lErreur);
             }
             if ($pData['idCategorie'] == 0) {
                 $lVr->setValid(false);
                 $lVr->getIdCategorie()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdCategorie()->addErreur($lErreur);
             }
             if (empty($pData['nom'])) {
                 $lVr->setValid(false);
                 $lVr->getNom()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getNom()->addErreur($lErreur);
             }
             if (empty($pData['modelesLot'])) {
                 $lVr->setValid(false);
                 $lVr->getLog()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_264_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_264_MSG);
                 $lVr->getLog()->addErreur($lErreur);
             }
             // La Ferme doit exister
             $lFerme = FermeManager::select($pData['id']);
             if ($lFerme->getId() != $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);
             }
             // La Catégorie doit exister
             $lCategorieProduit = CategorieProduitManager::select($pData['idCategorie']);
             if ($lCategorieProduit->getId() != $pData['idCategorie']) {
                 $lVr->setValid(false);
                 $lVr->getIdCategorie()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdCategorie()->addErreur($lErreur);
             }
             foreach ($pData['producteurs'] as $lProducteur) {
                 $lProducteurVO = ProducteurManager::select($lProducteur);
                 if ($lProducteurVO->getIdFerme() != $pData['id']) {
                     $lVr->setValid(false);
                     $lVr->getProducteurs()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                     $lVr->getProducteurs()->addErreur($lErreur);
                 }
             }
             foreach ($pData['caracteristiques'] as $lCaracteristique) {
                 $lCaracteristiqueVO = CaracteristiqueManager::select($lCaracteristique);
                 if ($lCaracteristiqueVO->getId() != $lCaracteristique) {
                     $lVr->setValid(false);
                     $lVr->getCaracteristiques()->setValid(false);
                     $lErreur = new VRerreur();
                     $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                     $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                     $lVr->getCaracteristiques()->addErreur($lErreur);
                 }
             }
             foreach ($pData['modelesLot'] as $lModeleLot) {
                 $lModeleLotVR = ModeleLotValid::ValidSet($lModeleLot);
                 if (!$lModeleLotVR->getValid()) {
                     $lVr->setValid(false);
                 }
                 $lVr->addModelesLot($lModeleLotVR);
             }
         }
     }
     return $lVr;
 }