/**
  * @name select($pId,$pIdFerme)
  * @param integer
  * @param integer
  * @return ListeProduitsNonAbonneViewVO
  * @desc Récupère la ligne correspondant à l'id en paramètre, créé une ListeProduitsNonAbonneViewVO contenant les informations et la renvoie
  */
 public static function select($pId, $pIdFerme)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "SELECT \n\t\t\tPRODUIT." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID . "," . FermeManager::CHAMP_FERME_ID . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID . "," . NomProduitManager::CHAMP_NOMPRODUIT_ID . ", NOM." . NomProduitManager::CHAMP_NOMPRODUIT_NOM . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM . "," . FermeManager::CHAMP_FERME_NOM . "\n\t\t\tFROM " . ProduitAbonnementManager::TABLE_PRODUITABONNEMENT . " PRODUIT\n\t\t\tJOIN " . NomProduitManager::TABLE_NOMPRODUIT . " NOM ON " . NomProduitManager::CHAMP_NOMPRODUIT_ID . "=" . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID_NOM_PRODUIT . "\n\t\t\tJOIN " . CategorieProduitManager::TABLE_CATEGORIEPRODUIT . " ON " . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID . "=" . NomProduitManager::CHAMP_NOMPRODUIT_ID_CATEGORIE . "\n\t\t\tJOIN " . FermeManager::TABLE_FERME . " ON " . FermeManager::CHAMP_FERME_ID . "=" . NomProduitManager::CHAMP_NOMPRODUIT_ID_FERME . "\n\t\t\tJOIN  " . DetailProduitAbonnementViewManager::VUE_DETAILPRODUITABONNEMENT . " DETAIL ON DETAIL." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID . " = PRODUIT." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID . "\n\t\t\tWHERE PRODUIT." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID . " NOT IN (\n\t\t\t\tSELECT " . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID_PRODUIT_ABONNEMENT . "\n\t\t\t\tFROM " . CompteAbonnementManager::TABLE_COMPTEABONNEMENT . "\n\t\t\t\tWHERE " . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID_COMPTE . " = '" . StringUtils::securiser($pId) . "'\n\t\t\t\tAND " . FermeManager::CHAMP_FERME_ID . " = '" . StringUtils::securiser($pIdFerme) . "'\n\t\t\t\tAND " . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ETAT . " = 0\n\t\t\t)\n\t\t\tAND " . FermeManager::CHAMP_FERME_ID . " = '" . StringUtils::securiser($pIdFerme) . "'\n\t\t\tAND " . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ETAT . " = 0 \n\t\t\tAND " . NomProduitManager::CHAMP_NOMPRODUIT_ETAT . " = 0\n\t\t\tAND (\n\t\t\t\t\t(DETAIL." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_STOCK_INITIAL . " - DETAIL." . DetailProduitAbonnementViewManager::CHAMP_PRODUITABONNEMENT_RESERVATION . ") > 0\n\t\t\t\tOR\t\n\t\t\t\t\t(DETAIL." . ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_STOCK_INITIAL . " - DETAIL." . DetailProduitAbonnementViewManager::CHAMP_PRODUITABONNEMENT_RESERVATION . ") IS NULL\t\t\t\t\t\n\t\t\t\t)";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     $lSql = Dbutils::executerRequete($lRequete);
     $lListeListeProduitsNonAbonne = array();
     if (mysql_num_rows($lSql) > 0) {
         while ($lLigne = mysql_fetch_assoc($lSql)) {
             array_push($lListeListeProduitsNonAbonne, ListeProduitsNonAbonneViewManager::remplir($lLigne[ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID], $lLigne[FermeManager::CHAMP_FERME_ID], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_ID], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NOM], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM], $lLigne[FermeManager::CHAMP_FERME_NOM]));
         }
     } else {
         $lListeListeProduitsNonAbonne[0] = new ListeProduitsNonAbonneViewVO();
     }
     return $lListeListeProduitsNonAbonne;
 }
 /**
  * @name selectAll()
  * @return array(IdentificationViewVO)
  * @desc Récupères toutes les lignes de la table et les renvoie sous forme d'une collection de IdentificationViewVO
  */
 public static function selectAll()
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "SELECT " . AdherentManager::CHAMP_ADHERENT_ID . "," . AdherentManager::CHAMP_ADHERENT_ID_COMPTE . "," . ModuleManager::CHAMP_MOD_NOM . "\n\t\t\tFROM " . IdentificationViewManager::VUE_IDENTIFICATION;
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     $lSql = Dbutils::executerRequete($lRequete);
     $lListeIdentification = array();
     if (mysql_num_rows($lSql) > 0) {
         while ($lLigne = mysql_fetch_assoc($lSql)) {
             array_push($lListeIdentification, IdentificationViewManager::remplir($lLigne[AdherentManager::CHAMP_ADHERENT_ID], $lLigne[AdherentManager::CHAMP_ADHERENT_ID_COMPTE], $lLigne[ModuleManager::CHAMP_MOD_NOM]));
         }
     } else {
         $lListeIdentification[0] = new IdentificationViewVO();
     }
     return $lListeIdentification;
 }
 /**
  * @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(NomProduitProducteurViewVO)
  * @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 NomProduitProducteurViewVO
  */
 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(NomProduitProducteurManager::CHAMP_NOMPRODUITPRODUCTEUR_ID_NOM_PRODUIT . "," . ProducteurManager::CHAMP_PRODUCTEUR_ID . "," . ProducteurManager::CHAMP_PRODUCTEUR_NOM . "," . ProducteurManager::CHAMP_PRODUCTEUR_PRENOM . "," . ProducteurManager::CHAMP_PRODUCTEUR_COMMENTAIRE . "," . NomProduitProducteurManager::CHAMP_NOMPRODUITPRODUCTEUR_ID);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(NomProduitProducteurViewManager::VUE_NOMPRODUITPRODUCTEUR, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeNomProduitProducteur = 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($lListeNomProduitProducteur, NomProduitProducteurViewManager::remplir($lLigne[NomProduitProducteurManager::CHAMP_NOMPRODUITPRODUCTEUR_ID_NOM_PRODUIT], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_ID], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_NOM], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_PRENOM], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_COMMENTAIRE], $lLigne[NomProduitProducteurManager::CHAMP_NOMPRODUITPRODUCTEUR_ID]));
             }
         } else {
             $lListeNomProduitProducteur[0] = new NomProduitProducteurViewVO();
         }
         return $lListeNomProduitProducteur;
     }
     $lListeNomProduitProducteur[0] = new NomProduitProducteurViewVO();
     return $lListeNomProduitProducteur;
 }
 /**
  * @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(GestionListeCommandeEnCoursViewVO)
  * @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 GestionListeCommandeEnCoursViewVO
  */
 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(CommandeManager::CHAMP_COMMANDE_ID . "," . CommandeManager::CHAMP_COMMANDE_NOM . "," . CommandeManager::CHAMP_COMMANDE_NUMERO . "," . CommandeManager::CHAMP_COMMANDE_DATE_FIN_RESERVATION . "," . CommandeManager::CHAMP_COMMANDE_DATE_MARCHE_DEBUT . "," . CommandeManager::CHAMP_COMMANDE_DATE_MARCHE_FIN);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(GestionListeCommandeEnCoursViewManager::VUE_LISTECOMMANDEENCOURS, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeGestionListeCommandeEnCours = 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($lListeGestionListeCommandeEnCours, GestionListeCommandeEnCoursViewManager::remplir($lLigne[CommandeManager::CHAMP_COMMANDE_ID], $lLigne[CommandeManager::CHAMP_COMMANDE_NOM], $lLigne[CommandeManager::CHAMP_COMMANDE_NUMERO], $lLigne[CommandeManager::CHAMP_COMMANDE_DATE_FIN_RESERVATION], $lLigne[CommandeManager::CHAMP_COMMANDE_DATE_MARCHE_DEBUT], $lLigne[CommandeManager::CHAMP_COMMANDE_DATE_MARCHE_FIN]));
             }
         } else {
             $lListeGestionListeCommandeEnCours[0] = new GestionListeCommandeEnCoursViewVO();
         }
         return $lListeGestionListeCommandeEnCours;
     }
     $lListeGestionListeCommandeEnCours[0] = new GestionListeCommandeEnCoursViewVO();
     return $lListeGestionListeCommandeEnCours;
 }
 /**
  * @name delete($pId)
  * @param integer
  * @desc Supprime la ligne de la table correspondant à l'id en paramètre
  */
 public static function delete($pId)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "DELETE FROM " . HistoriqueDetailOperationManager::TABLE_HISTORIQUEDETAILOPERATION . "\n\t\t\tWHERE " . HistoriqueDetailOperationManager::CHAMP_HISTORIQUEDETAILOPERATION_ID . " = '" . StringUtils::securiser($pId) . "'";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     return Dbutils::executerRequete($lRequete);
 }
 /**
  * @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(ListeProducteurMarcheViewVO)
  * @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 ListeProducteurMarcheViewVO
  */
 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(ProduitManager::CHAMP_PRODUIT_ID_COMMANDE . "," . ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME . "," . FermeManager::CHAMP_FERME_NOM);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(ListeProducteurMarcheViewManager::VUE_LISTEPRODUCTEURMARCHE, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeListeProducteurMarche = 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($lListeListeProducteurMarche, ListeProducteurMarcheViewManager::remplir($lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMMANDE], $lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME], $lLigne[FermeManager::CHAMP_FERME_NOM]));
             }
         } else {
             $lListeListeProducteurMarche[0] = new ListeProducteurMarcheViewVO();
         }
         return $lListeListeProducteurMarche;
     }
     $lListeListeProducteurMarche[0] = new ListeProducteurMarcheViewVO();
     return $lListeListeProducteurMarche;
 }
 /**
  * @name delete($pId)
  * @param integer
  * @desc Supprime la ligne de la table correspondant à l'id en paramètre
  */
 public static function delete($pId)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "DELETE FROM " . CompteurManager::TABLE_COMPTEUR . "\n\t\t\tWHERE " . CompteurManager::CHAMP_COMPTEUR_ID . " = '" . StringUtils::securiser($pId) . "'";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     return Dbutils::executerRequete($lRequete);
 }
 /**
  * @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(ProducteurViewVO)
  * @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 ProducteurViewVO
  */
 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(ProducteurManager::CHAMP_PRODUCTEUR_ID . "," . ProducteurManager::CHAMP_PRODUCTEUR_ID_FERME . "," . ProducteurManager::CHAMP_PRODUCTEUR_NUMERO . "," . ProducteurManager::CHAMP_PRODUCTEUR_NOM . "," . ProducteurManager::CHAMP_PRODUCTEUR_PRENOM . "," . ProducteurManager::CHAMP_PRODUCTEUR_COURRIEL_PRINCIPAL . "," . ProducteurManager::CHAMP_PRODUCTEUR_COURRIEL_SECONDAIRE . "," . ProducteurManager::CHAMP_PRODUCTEUR_TELEPHONE_PRINCIPAL . "," . ProducteurManager::CHAMP_PRODUCTEUR_TELEPHONE_SECONDAIRE . "," . ProducteurManager::CHAMP_PRODUCTEUR_ADRESSE . "," . ProducteurManager::CHAMP_PRODUCTEUR_CODE_POSTAL . "," . ProducteurManager::CHAMP_PRODUCTEUR_VILLE . "," . ProducteurManager::CHAMP_PRODUCTEUR_DATE_NAISSANCE . "," . ProducteurManager::CHAMP_PRODUCTEUR_COMMENTAIRE);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(ProducteurViewManager::VUE_PRODUCTEUR, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeProducteur = 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($lListeProducteur, ProducteurViewManager::remplir($lLigne[ProducteurManager::CHAMP_PRODUCTEUR_ID], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_ID_FERME], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_NUMERO], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_NOM], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_PRENOM], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_COURRIEL_PRINCIPAL], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_COURRIEL_SECONDAIRE], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_TELEPHONE_PRINCIPAL], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_TELEPHONE_SECONDAIRE], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_ADRESSE], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_CODE_POSTAL], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_VILLE], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_DATE_NAISSANCE], $lLigne[ProducteurManager::CHAMP_PRODUCTEUR_COMMENTAIRE]));
             }
         } else {
             $lListeProducteur[0] = new ProducteurViewVO();
         }
         return $lListeProducteur;
     }
     $lListeProducteur[0] = new ProducteurViewVO();
     return $lListeProducteur;
 }
 /**
  * @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(DetailCompteAbonnementViewVO)
  * @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 DetailCompteAbonnementViewVO
  */
 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(CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID . "," . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID_PRODUIT_ABONNEMENT . "," . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID_LOT_ABONNEMENT . "," . CompteManager::CHAMP_COMPTE_LABEL . "," . NomProduitManager::CHAMP_NOMPRODUIT_NOM . "," . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_QUANTITE . "," . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_DATE_DEBUT_SUSPENSION . "," . CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_DATE_FIN_SUSPENSION);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(DetailCompteAbonnementViewManager::VUE_DETAILCOMPTEABONNEMENT, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeDetailCompteAbonnement = 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($lListeDetailCompteAbonnement, DetailCompteAbonnementViewManager::remplir($lLigne[CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID], $lLigne[CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID_PRODUIT_ABONNEMENT], $lLigne[CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_ID_LOT_ABONNEMENT], $lLigne[CompteManager::CHAMP_COMPTE_LABEL], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NOM], $lLigne[CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_QUANTITE], $lLigne[CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_DATE_DEBUT_SUSPENSION], $lLigne[CompteAbonnementManager::CHAMP_COMPTEABONNEMENT_DATE_FIN_SUSPENSION]));
             }
         } else {
             $lListeDetailCompteAbonnement[0] = new DetailCompteAbonnementViewVO();
         }
         return $lListeDetailCompteAbonnement;
     }
     $lListeDetailCompteAbonnement[0] = new DetailCompteAbonnementViewVO();
     return $lListeDetailCompteAbonnement;
 }
 /**
  * @name deleteByIdRemiseCheque($pId)
  * @param array(array())
  * @desc Supprime la ligne de la table correspondant à l'id en paramètre
  */
 public static function deleteByIdRemiseCheque($pIdRemiseCheque)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "UPDATE " . OperationRemiseChequeManager::TABLE_OPERATIONREMISECHEQUE . "\r\n\t\tSET\r\n\t\t" . OperationRemiseChequeManager::CHAMP_OPERATIONREMISECHEQUE_ETAT . " = '1'\r\n\t\tWHERE " . OperationRemiseChequeManager::CHAMP_OPERATIONREMISECHEQUE_ID_REMISE_CHEQUE . " = '" . StringUtils::securiser($pIdRemiseCheque) . "';";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     return Dbutils::executerRequete($lRequete);
 }
 /**
  * @name delete($pIdOperation, $pIdOperationSolidaire)
  * @param integer
  * @param integer
  * @desc Supprime la ligne de la table correspondant à l'id en paramètre
  */
 public static function delete($pIdOperation, $pIdOperationSolidaire)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "DELETE FROM " . DetailAchatManager::TABLE_DETAILACHAT . "\n\t\t\tWHERE " . DetailAchatManager::CHAMP_DETAILACHAT_ID_OPERATION . " = '" . StringUtils::securiser($pIdOperation) . "'\n\t\t\t\tAND " . DetailAchatManager::CHAMP_DETAILACHAT_ID_OPERATION_SOLIDAIRE . " = '" . StringUtils::securiser($pIdOperationSolidaire) . "';";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     return Dbutils::executerRequete($lRequete);
 }
 $lAdherent->setTelephonePrincipal(trim($lTelephoneP));
 $lAdherent->setTelephoneSecondaire(trim($lTelephoneS));
 $lAdherent->setAdresse(trim($lAdresse));
 $lAdherent->setCodePostal(trim($lCodePostal));
 $lAdherent->setVille(StringUtils::formaterVille(trim($lVille)));
 $lAdherent->setDateNaissance($lDateNaissance);
 $lAdherent->setDateAdhesion($lDateAdhesion);
 $lAdherent->setDateMaj(StringUtils::dateTimeAujourdhuiDb());
 $lAdherent->setCommentaire(trim($lCommentaire));
 $lAdherent->setEtat(1);
 // Protection des dates vides
 if ($lAdherent->getDateNaissance() == '') {
     $lAdherent->setDateNaissance(StringUtils::FORMAT_DATE_NULLE);
 }
 $lRequete = "INSERT INTO " . AdherentManager::TABLE_ADHERENT . "\n\t\t\t\t\t\t\t(" . AdherentManager::CHAMP_ADHERENT_ID . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_NUMERO . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_ID_COMPTE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_NOM . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_PRENOM . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_COURRIEL_PRINCIPAL . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_COURRIEL_SECONDAIRE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_TELEPHONE_PRINCIPAL . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_TELEPHONE_SECONDAIRE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_ADRESSE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_CODE_POSTAL . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_VILLE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_DATE_NAISSANCE . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_DATE_ADHESION . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_DATE_MAJ . "\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_COMMENTAIRE . "\t\t\t\t\n\t\t\t\t\t\t\t," . AdherentManager::CHAMP_ADHERENT_ETAT . ")\n\t\t\t\t\t\t\tVALUES (NULL\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getNumero()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getIdCompte()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getNom()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getPrenom()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getCourrielPrincipal()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getCourrielSecondaire()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getTelephonePrincipal()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getTelephoneSecondaire()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getAdresse()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getCodePostal()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getVille()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getDateNaissance()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getDateAdhesion()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getDateMaj()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getCommentaire()) . "'\n\t\t\t\t\t\t\t\t,'" . StringUtils::securiser($lAdherent->getEtat()) . "')";
 $lId = Dbutils::executerRequeteInsertRetourId($lRequete);
 // Execution de la requete et récupération de l'Id généré par la BDD
 // Les modules autorisés des adhérents
 $lAutorisation = new AutorisationVO();
 $lAutorisation->setIdAdherent($lId);
 $lAutorisation->setIdModule(1);
 AutorisationManager::insert($lAutorisation);
 $lAutorisation = new AutorisationVO();
 $lAutorisation->setIdAdherent($lId);
 $lAutorisation->setIdModule(3);
 AutorisationManager::insert($lAutorisation);
 // Insertion des informations de connexion
 $lMdp = MotDePasseUtils::generer();
 $lIdentification = new IdentificationVO();
 $lIdentification->setIdLogin($lId);
 $lIdentification->setLogin($lAdherent->getNumero());
 /**
  * @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(CompteVO)
  * @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 CompteVO
  */
 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(AdherentManager::CHAMP_ADHERENT_ID . "," . AdherentManager::CHAMP_ADHERENT_NUMERO . "," . AdherentManager::CHAMP_ADHERENT_NOM . "," . AdherentManager::CHAMP_ADHERENT_PRENOM . "," . AdherentManager::CHAMP_ADHERENT_COURRIEL_PRINCIPAL . "," . CompteManager::CHAMP_COMPTE_SOLDE . "," . CompteManager::CHAMP_COMPTE_LABEL);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(ListeAdherentViewManager::VUE_LISTE_ADHERENT, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeAdherent = 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($lListeAdherent, ListeAdherentViewManager::remplir($lLigne[AdherentManager::CHAMP_ADHERENT_ID], $lLigne[AdherentManager::CHAMP_ADHERENT_NUMERO], $lLigne[AdherentManager::CHAMP_ADHERENT_NOM], $lLigne[AdherentManager::CHAMP_ADHERENT_PRENOM], $lLigne[AdherentManager::CHAMP_ADHERENT_COURRIEL_PRINCIPAL], $lLigne[CompteManager::CHAMP_COMPTE_SOLDE], $lLigne[CompteManager::CHAMP_COMPTE_LABEL]));
             }
         } else {
             $lListeAdherent[0] = new ListeAdherentViewVO();
         }
         return $lListeAdherent;
     }
     $lListeAdherent[0] = new ListeAdherentViewVO();
     return $lListeAdherent;
 }
 /**
  * @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(AchatDetailViewVO)
  * @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 AchatDetailViewVO
  */
 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(StockManager::CHAMP_STOCK_ID_OPERATION . "," . StockManager::CHAMP_STOCK_ID . "," . DetailOperationManager::CHAMP_DETAILOPERATION_ID . "," . StockManager::CHAMP_STOCK_ID_DETAIL_COMMANDE . "," . DetailOperationManager::CHAMP_DETAILOPERATION_ID_MODELE_LOT . "," . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . "," . StockManager::CHAMP_STOCK_QUANTITE . "," . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID_PRODUIT . "," . DetailOperationManager::CHAMP_DETAILOPERATION_ID_NOM_PRODUIT);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(AchatDetailViewManager::VUE_ACHATDETAIL, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeAchatDetail = 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($lListeAchatDetail, AchatDetailViewManager::remplir($lLigne[StockManager::CHAMP_STOCK_ID_OPERATION], $lLigne[StockManager::CHAMP_STOCK_ID], $lLigne[DetailOperationManager::CHAMP_DETAILOPERATION_ID], $lLigne[StockManager::CHAMP_STOCK_ID_DETAIL_COMMANDE], $lLigne[DetailOperationManager::CHAMP_DETAILOPERATION_ID_MODELE_LOT], $lLigne[DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT], $lLigne[StockManager::CHAMP_STOCK_QUANTITE], $lLigne[DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID_PRODUIT], $lLigne[DetailOperationManager::CHAMP_DETAILOPERATION_ID_NOM_PRODUIT]));
             }
         } else {
             $lListeAchatDetail[0] = new AchatDetailViewVO();
         }
         return $lListeAchatDetail;
     }
     $lListeAchatDetail[0] = new AchatDetailViewVO();
     return $lListeAchatDetail;
 }
 /**
  * @name deleteByIdOpe($pId)
  * @param integer
  * @desc Supprime la ligne de la table correspondant à l'id en paramètre si la mise à jour de ce type de champ est autorisée
  */
 public static function deleteByIdOpe($pId)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "DELETE FROM " . OperationChampComplementaireManager::TABLE_OPERATIONCHAMPCOMPLEMENTAIRE . "\n\t\t\tWHERE " . OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_OPE_ID . " = '" . StringUtils::securiser($pId) . "'\n\t\t\tAND EXISTS (\n\t\t\t\t\tSELECT 1 \n\t\t\t\t\tFROM " . TypePaiementChampComplementaireManager::TABLE_TYPEPAIEMENTCHAMPCOMPLEMENTAIRE . "\n\t\t\t\t\tJOIN " . OperationManager::TABLE_OPERATION . "\n\t\t\t\t\t\tON " . OperationManager::CHAMP_OPERATION_TYPE_PAIEMENT . " = " . TypePaiementChampComplementaireManager::CHAMP_TYPEPAIEMENTCHAMPCOMPLEMENTAIRE_TPP_ID . "\n\t\t\t\t\t\tAND " . OperationManager::CHAMP_OPERATION_ID . " = '" . StringUtils::securiser($pId) . "'\n\t\t\t\t\tWHERE " . OperationChampComplementaireManager::CHAMP_OPERATIONCHAMPCOMPLEMENTAIRE_CHCP_ID . " = " . TypePaiementChampComplementaireManager::CHAMP_TYPEPAIEMENTCHAMPCOMPLEMENTAIRE_CHCP_ID . "\n\t\t\t\t\t\tAND " . TypePaiementChampComplementaireManager::CHAMP_TYPEPAIEMENTCHAMPCOMPLEMENTAIRE_MAJ_AUTORISE . " = 1);";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     return Dbutils::executerRequete($lRequete);
 }
 /**
  * @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(DetailMarcheViewVO)
  * @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 DetailMarcheViewVO
  */
 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(CommandeManager::CHAMP_COMMANDE_ID . "," . CommandeManager::CHAMP_COMMANDE_NUMERO . "," . CommandeManager::CHAMP_COMMANDE_NOM . "," . CommandeManager::CHAMP_COMMANDE_DESCRIPTION . "," . CommandeManager::CHAMP_COMMANDE_DATE_MARCHE_DEBUT . "," . CommandeManager::CHAMP_COMMANDE_DATE_MARCHE_FIN . "," . CommandeManager::CHAMP_COMMANDE_DATE_DEBUT_RESERVATION . "," . CommandeManager::CHAMP_COMMANDE_DATE_FIN_RESERVATION . "," . CommandeManager::CHAMP_COMMANDE_ARCHIVE . "," . ProduitManager::CHAMP_PRODUIT_ID . "," . ProduitManager::CHAMP_PRODUIT_ID_COMMANDE . "," . ProduitManager::CHAMP_PRODUIT_ID_NOM_PRODUIT . "," . ProduitManager::CHAMP_PRODUIT_UNITE_MESURE . "," . ProduitManager::CHAMP_PRODUIT_MAX_PRODUIT_COMMANDE . "," . ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME . "," . ProduitManager::CHAMP_PRODUIT_STOCK_RESERVATION . "," . ProduitManager::CHAMP_PRODUIT_STOCK_INITIAL . "," . ProduitManager::CHAMP_PRODUIT_TYPE . "," . NomProduitManager::CHAMP_NOMPRODUIT_ID . "," . NomProduitManager::CHAMP_NOMPRODUIT_NOM . "," . NomProduitManager::CHAMP_NOMPRODUIT_DESCRIPTION . "," . NomProduitManager::CHAMP_NOMPRODUIT_ID_CATEGORIE . "," . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . "," . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID_PRODUIT . "," . DetailCommandeManager::CHAMP_DETAILCOMMANDE_TAILLE . "," . DetailCommandeManager::CHAMP_DETAILCOMMANDE_PRIX . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM . "," . FermeManager::CHAMP_FERME_ID . "," . FermeManager::CHAMP_FERME_NOM);
     /*
     		$lFiltres = array(array( 'champ' => StringUtils::securiser($pTypeRecherche), 'valeur' => StringUtils::securiser($pCritereRecherche) ));
     
     		$lTypeFiltre = array($pTypeCritere);
     		// Protection du critère de tri
     		if($pCritereTri != 'ASC' && $pCritereTri != 'DESC') {
     			$pCritereTri = 'ASC';
     		}
     
     		// Protection du type de tri
     		if($pTypeTri == '') {
     			$pTypeTri = CommandeManager::CHAMP_COMMANDE_ID;
     		}
     
     		$lTris = array( array('champ' => StringUtils::securiser($pTypeTri), 'sens'=> StringUtils::securiser($pCritereTri)) );
     
     		// Préparation de la requète de recherche
     		$lRequete = DbUtils::prepareRequeteRecherche(DetailMarcheViewManager::VUE_DETAILMARCHE, $lChamps, $lFiltres, $lTypeFiltre, $lTris);
     
     		$lLogger->log("Execution de la requete : " . $lRequete,PEAR_LOG_DEBUG); // Maj des logs
     		$lSql = Dbutils::executerRequete($lRequete);
     */
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(DetailMarcheViewManager::VUE_DETAILMARCHE, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeDetailMarche = 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($lListeDetailMarche, DetailMarcheViewManager::remplir($lLigne[CommandeManager::CHAMP_COMMANDE_ID], $lLigne[CommandeManager::CHAMP_COMMANDE_NUMERO], $lLigne[CommandeManager::CHAMP_COMMANDE_NOM], $lLigne[CommandeManager::CHAMP_COMMANDE_DESCRIPTION], $lLigne[CommandeManager::CHAMP_COMMANDE_DATE_MARCHE_DEBUT], $lLigne[CommandeManager::CHAMP_COMMANDE_DATE_MARCHE_FIN], $lLigne[CommandeManager::CHAMP_COMMANDE_DATE_DEBUT_RESERVATION], $lLigne[CommandeManager::CHAMP_COMMANDE_DATE_FIN_RESERVATION], $lLigne[CommandeManager::CHAMP_COMMANDE_ARCHIVE], $lLigne[ProduitManager::CHAMP_PRODUIT_ID], $lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMMANDE], $lLigne[ProduitManager::CHAMP_PRODUIT_ID_NOM_PRODUIT], $lLigne[ProduitManager::CHAMP_PRODUIT_UNITE_MESURE], $lLigne[ProduitManager::CHAMP_PRODUIT_MAX_PRODUIT_COMMANDE], $lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME], $lLigne[ProduitManager::CHAMP_PRODUIT_STOCK_RESERVATION], $lLigne[ProduitManager::CHAMP_PRODUIT_STOCK_INITIAL], $lLigne[ProduitManager::CHAMP_PRODUIT_TYPE], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_ID], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NOM], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_DESCRIPTION], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_ID_CATEGORIE], $lLigne[DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID], $lLigne[DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID_PRODUIT], $lLigne[DetailCommandeManager::CHAMP_DETAILCOMMANDE_TAILLE], $lLigne[DetailCommandeManager::CHAMP_DETAILCOMMANDE_PRIX], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM], $lLigne[FermeManager::CHAMP_FERME_ID], $lLigne[FermeManager::CHAMP_FERME_NOM]));
             }
         } else {
             $lListeDetailMarche[0] = new DetailMarcheViewVO();
         }
         return $lListeDetailMarche;
     }
     return $lListeDetailMarche;
 }
 /**
  * @name delete($pId)
  * @param integer
  * @desc Supprime la ligne de la table correspondant à l'id en paramètre
  */
 public static function delete($pId)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "DELETE FROM " . InfoOperationLivraisonManager::TABLE_INFOOPERATIONLIVRAISON . "\n\t\t\tWHERE " . InfoOperationLivraisonManager::CHAMP_INFOOPERATIONLIVRAISON_ID . " = '" . StringUtils::securiser($pId) . "'";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     Dbutils::executerRequete($lRequete);
 }
 /**
  * @name majTotalReservation($pIdDetailCommande)
  * @param integer
  * @desc Met à jour le montant du détails des opérations et des opérations de réservation en fonction des valeurs du lot
  */
 public static function majTotalReservation($pIdDetailCommande)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete1 = "UPDATE " . DetailOperationManager::TABLE_DETAILOPERATION . " a\n\t\t\tSET " . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . " = ( SELECT round(" . StockManager::CHAMP_STOCK_QUANTITE . " * " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_PRIX . " / " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_TAILLE . ", 2)\n\t\t\tFROM " . DetailCommandeManager::TABLE_DETAILCOMMANDE . "\n\t\t\tJOIN " . StockManager::TABLE_STOCK . "\n\t\t\t\tON " . StockManager::CHAMP_STOCK_TYPE . " = 0 \n\t\t\t\tAND " . StockManager::CHAMP_STOCK_ID_DETAIL_COMMANDE . " = " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . "\n\t\t\tWHERE " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . " = '" . StringUtils::securiser($pIdDetailCommande) . "'\n\t\t\t\tAND a." . DetailOperationManager::CHAMP_DETAILOPERATION_ID_DETAIL_COMMANDE . " = " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . "\n\t\t\t\tAND a." . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . " = 0\n\t\t\t\tAND a." . DetailOperationManager::CHAMP_DETAILOPERATION_ID_OPERATION . " = " . StockManager::CHAMP_STOCK_ID_OPERATION . ")\n\t\t\t\n\t\t\tWHERE exists (\n\t\t\t    SELECT 1\n\t\t\tFROM " . DetailCommandeManager::TABLE_DETAILCOMMANDE . "\n\t\t\tJOIN " . StockManager::TABLE_STOCK . "\n\t\t\t\tON " . StockManager::CHAMP_STOCK_TYPE . " = 0 \n\t\t\t\tAND " . StockManager::CHAMP_STOCK_ID_DETAIL_COMMANDE . " = " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . "\n\t\t\tWHERE " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . " = '" . StringUtils::securiser($pIdDetailCommande) . "'\n\t\t\tAND a." . DetailOperationManager::CHAMP_DETAILOPERATION_ID_DETAIL_COMMANDE . " = " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . "\n\t\t\tAND a." . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . " = 0\n\t\t\tAND a." . DetailOperationManager::CHAMP_DETAILOPERATION_ID_OPERATION . " = " . StockManager::CHAMP_STOCK_ID_OPERATION . ");";
     $lRequete2 = "\r\n\t\t\tCREATE TEMPORARY table TMP_1\r\n\t\t\t\tSELECT b." . DetailOperationManager::CHAMP_DETAILOPERATION_ID_OPERATION . ", sum(b." . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . ") as " . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . "\n\t\t\t\tFROM " . DetailOperationManager::TABLE_DETAILOPERATION . " a\r\n\t\t\t\tJOIN " . DetailOperationManager::TABLE_DETAILOPERATION . " b \n\t\t\t\t\tON a." . DetailOperationManager::CHAMP_DETAILOPERATION_ID_OPERATION . " = b." . DetailOperationManager::CHAMP_DETAILOPERATION_ID_OPERATION . "\r\n\t\t\t\tAND b." . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . " = 0\r\n\t\t\t\twhere a." . DetailOperationManager::CHAMP_DETAILOPERATION_ID_DETAIL_COMMANDE . " = '" . StringUtils::securiser($pIdDetailCommande) . "'\r\n\t\t\t\tAND a." . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . " = 0\r\n\t\t\t\tgroup by b." . DetailOperationManager::CHAMP_DETAILOPERATION_ID_OPERATION . ";";
     $lRequete3 = "\r\n\t\t\tCREATE TEMPORARY table TMP_2\r\n\t\t\tSELECT * FROM TMP_1;";
     $lRequete4 = "\r\n\t\t\tUPDATE " . OperationManager::TABLE_OPERATION . " a\r\n\t\t\tSET " . OperationManager::CHAMP_OPERATION_MONTANT . " = ( SELECT " . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . " FROM TMP_1 WHERE a." . OperationManager::CHAMP_OPERATION_ID . " = " . DetailOperationManager::CHAMP_DETAILOPERATION_ID_OPERATION . " )\r\n\t\t\tWHERE exists (SELECT 1 FROM TMP_2 WHERE a." . OperationManager::CHAMP_OPERATION_ID . " = " . DetailOperationManager::CHAMP_DETAILOPERATION_ID_OPERATION . " );";
     $lLogger->log("Execution de la requete : " . $lRequete1 . " " . $lRequete2 . " " . $lRequete3 . " " . $lRequete4, PEAR_LOG_DEBUG);
     // Maj des logs
     return Dbutils::executerRequetesMultiples(array($lRequete1, $lRequete2, $lRequete3, $lRequete4));
 }
 /**
  * @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(CompteNomProduitViewVO)
  * @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 CompteNomProduitViewVO
  */
 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(NomProduitManager::CHAMP_NOMPRODUIT_ID . "," . FermeManager::CHAMP_FERME_ID . "," . FermeManager::CHAMP_FERME_ID_COMPTE);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(CompteNomProduitViewManager::VUE_COMPTENOMPRODUIT, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeCompteNomProduit = 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($lListeCompteNomProduit, CompteNomProduitViewManager::remplir($lLigne[NomProduitManager::CHAMP_NOMPRODUIT_ID], $lLigne[FermeManager::CHAMP_FERME_ID], $lLigne[FermeManager::CHAMP_FERME_ID_COMPTE]));
             }
         } else {
             $lListeCompteNomProduit[0] = new CompteNomProduitViewVO();
         }
         return $lListeCompteNomProduit;
     }
     $lListeCompteNomProduit[0] = new CompteNomProduitViewVO();
     return $lListeCompteNomProduit;
 }
 /**
  * @name deleteByArray($pIds)
  * @param array(integer)
  * @desc Supprime la ligne de la table correspondant aux id en paramètre
  */
 public static function deleteByArray($pIds)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     if (is_array($pIds)) {
         $lRequete = "DELETE FROM " . AutorisationManager::TABLE_AUTORISATION . " \n\t\t\t\tWHERE " . AutorisationManager::CHAMP_AUT_ID . " in (";
         $lTaille = count($pIds);
         foreach ($pIds as $lId) {
             $lTaille--;
             if ($lTaille > 0) {
                 $lRequete .= "'" . StringUtils::securiser($lId) . "',";
             } else {
                 $lRequete .= "'" . StringUtils::securiser($lId) . "'";
             }
         }
         $lRequete .= ");";
         $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
         // Maj des logs
         Dbutils::executerRequete($lRequete);
     }
 }
 /**
  * @name delete($pId)
  * @param integer
  * @desc Supprime la ligne de la table correspondant à l'id en paramètre
  */
 public static function delete($pId)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "DELETE FROM " . HistoriqueSuspensionAbonnementManager::TABLE_HISTORIQUESUSPENSIONABONNEMENT . "\n\t\t\tWHERE " . HistoriqueSuspensionAbonnementManager::CHAMP_HISTORIQUESUSPENSIONABONNEMENT_ID . " = '" . StringUtils::securiser($pId) . "'";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     Dbutils::executerRequete($lRequete);
 }
 /**
  * @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(ListeProduitAbonnementViewVO)
  * @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 ListeProduitAbonnementViewVO
  */
 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(ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID . "," . FermeManager::CHAMP_FERME_NOM . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM . "," . NomProduitManager::CHAMP_NOMPRODUIT_NOM);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(ListeProduitAbonnementViewManager::VUE_LISTEPRODUITABONNEMENT, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeListeProduitAbonnement = 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($lListeListeProduitAbonnement, ListeProduitAbonnementViewManager::remplir($lLigne[ProduitAbonnementManager::CHAMP_PRODUITABONNEMENT_ID], $lLigne[FermeManager::CHAMP_FERME_NOM], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NOM]));
             }
         } else {
             $lListeListeProduitAbonnement[0] = new ListeProduitAbonnementViewVO();
         }
         return $lListeListeProduitAbonnement;
     }
     $lListeListeProduitAbonnement[0] = new ListeProduitAbonnementViewVO();
     return $lListeListeProduitAbonnement;
 }
 /**
  * @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(InfoBonCommandeViewVO)
  * @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 InfoBonCommandeViewVO
  */
 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(ProduitManager::CHAMP_PRODUIT_ID_COMMANDE . "," . ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME . "," . ProduitManager::CHAMP_PRODUIT_ID . "," . ProduitManager::CHAMP_PRODUIT_TYPE . "," . ProduitManager::CHAMP_PRODUIT_UNITE_MESURE . "," . NomProduitManager::CHAMP_NOMPRODUIT_NUMERO . "," . NomProduitManager::CHAMP_NOMPRODUIT_NOM . "," . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . "," . StockManager::CHAMP_STOCK_QUANTITE . "," . FermeManager::CHAMP_FERME_NOM . "," . DetailOperationManager::CHAMP_DETAILOPERATION_ID . "," . StockManager::CHAMP_STOCK_ID . "," . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . "," . DetailCommandeManager::CHAMP_DETAILCOMMANDE_TAILLE . "," . DetailCommandeManager::CHAMP_DETAILCOMMANDE_PRIX);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(InfoBonCommandeViewManager::VUE_INFOBONCOMMANDE, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeInfoBonCommande = 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($lListeInfoBonCommande, InfoBonCommandeViewManager::remplir($lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMMANDE], $lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME], $lLigne[ProduitManager::CHAMP_PRODUIT_ID], $lLigne[ProduitManager::CHAMP_PRODUIT_TYPE], $lLigne[ProduitManager::CHAMP_PRODUIT_UNITE_MESURE], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NUMERO], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NOM], $lLigne[DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT], $lLigne[StockManager::CHAMP_STOCK_QUANTITE], $lLigne[FermeManager::CHAMP_FERME_NOM], $lLigne[DetailOperationManager::CHAMP_DETAILOPERATION_ID], $lLigne[StockManager::CHAMP_STOCK_ID], $lLigne[DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID], $lLigne[DetailCommandeManager::CHAMP_DETAILCOMMANDE_TAILLE], $lLigne[DetailCommandeManager::CHAMP_DETAILCOMMANDE_PRIX]));
             }
         } else {
             $lListeInfoBonCommande[0] = new InfoBonCommandeViewVO();
         }
         return $lListeInfoBonCommande;
     }
     $lListeInfoBonCommande[0] = new InfoBonCommandeViewVO();
     return $lListeInfoBonCommande;
 }
 /**
  * @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(ListeCaracteristiqueViewVO)
  * @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 ListeCaracteristiqueViewVO
  */
 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);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(ListeCaracteristiqueViewManager::VUE_LISTECARACTERISTIQUE, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeListeCaracteristique = 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($lListeListeCaracteristique, ListeCaracteristiqueViewManager::remplir($lLigne[CaracteristiqueManager::CHAMP_CARACTERISTIQUE_ID], $lLigne[CaracteristiqueManager::CHAMP_CARACTERISTIQUE_NOM]));
             }
         } else {
             $lListeListeCaracteristique[0] = new ListeCaracteristiqueViewVO();
         }
         return $lListeListeCaracteristique;
     }
     $lListeListeCaracteristique[0] = new ListeCaracteristiqueViewVO();
     return $lListeListeCaracteristique;
 }
 /**
  * @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(StockLivraisonViewVO)
  * @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 StockLivraisonViewVO
  */
 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(ProduitManager::CHAMP_PRODUIT_ID_COMMANDE . "," . ProduitManager::CHAMP_PRODUIT_ID_PRODUCTEUR . "," . ProduitManager::CHAMP_PRODUIT_ID . "," . StockManager::CHAMP_STOCK_ID . "," . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . "," . StockManager::CHAMP_STOCK_QUANTITE);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(StockLivraisonViewManager::VUE_STOCKLIVRAISON, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeStockLivraison = 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($lListeStockLivraison, StockLivraisonViewManager::remplir($lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMMANDE], $lLigne[ProduitManager::CHAMP_PRODUIT_ID_PRODUCTEUR], $lLigne[ProduitManager::CHAMP_PRODUIT_ID], $lLigne[StockManager::CHAMP_STOCK_ID], $lLigne[DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID], $lLigne[StockManager::CHAMP_STOCK_QUANTITE]));
             }
         } else {
             $lListeStockLivraison[0] = new StockLivraisonViewVO();
         }
         return $lListeStockLivraison;
     }
     $lListeStockLivraison[0] = new StockLivraisonViewVO();
     return $lListeStockLivraison;
 }
 /**
  * @name selectStockProduitFerme($pIdCompteFerme)
  * @return array(StockProduitFermeVO)
  * @desc Récupères le stock de produit pour une ferme
  */
 public static function selectStockProduitFerme($pIdCompteFerme)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "SELECT " . NomProduitManager::CHAMP_NOMPRODUIT_ID . "," . NomProduitManager::CHAMP_NOMPRODUIT_NUMERO . "," . NomProduitManager::CHAMP_NOMPRODUIT_NOM . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID . "," . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM . "," . FermeManager::CHAMP_FERME_ID . "," . FermeManager::CHAMP_FERME_NUMERO . "," . FermeManager::CHAMP_FERME_NOM . "," . FermeManager::CHAMP_FERME_ID_COMPTE . "," . StockQuantiteManager::CHAMP_STOCKQUANTITE_ID . "," . StockQuantiteManager::CHAMP_STOCKQUANTITE_QUANTITE . "," . StockQuantiteManager::CHAMP_STOCKQUANTITE_QUANTITE_SOLIDAIRE . "," . StockQuantiteManager::CHAMP_STOCKQUANTITE_UNITE . " FROM " . NomProduitManager::TABLE_NOMPRODUIT . " JOIN " . CategorieProduitManager::TABLE_CATEGORIEPRODUIT . " ON " . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID . " = " . NomProduitManager::CHAMP_NOMPRODUIT_ID_CATEGORIE . " JOIN " . FermeManager::TABLE_FERME . " ON " . FermeManager::CHAMP_FERME_ID . " = " . NomProduitManager::CHAMP_NOMPRODUIT_ID_FERME . " LEFT JOIN " . StockQuantiteManager::TABLE_STOCKQUANTITE . " ON " . StockQuantiteManager::CHAMP_STOCKQUANTITE_ID_NOM_PRODUIT . " = " . NomProduitManager::CHAMP_NOMPRODUIT_ID . " WHERE " . " (" . StockQuantiteManager::CHAMP_STOCKQUANTITE_ETAT . " = 0 " . " OR ISNULL(" . StockQuantiteManager::CHAMP_STOCKQUANTITE_ETAT . ") )" . " AND " . FermeManager::CHAMP_FERME_ETAT . " = 0 " . " AND " . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ETAT . " = 0 " . " AND " . NomProduitManager::CHAMP_NOMPRODUIT_ETAT . " = 0 " . " AND " . FermeManager::CHAMP_FERME_ID_COMPTE . " = '" . StringUtils::securiser($pIdCompteFerme) . "'" . " ORDER BY " . CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM . ", " . NomProduitManager::CHAMP_NOMPRODUIT_NOM . ", " . StockQuantiteManager::CHAMP_STOCKQUANTITE_UNITE . ";";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     $lSql = Dbutils::executerRequete($lRequete);
     $lListeNomProduit = array();
     if (mysql_num_rows($lSql) > 0) {
         while ($lLigne = mysql_fetch_assoc($lSql)) {
             array_push($lListeNomProduit, NomProduitManager::remplirStockFerme($lLigne[NomProduitManager::CHAMP_NOMPRODUIT_ID], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NUMERO], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NOM], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_ID], $lLigne[CategorieProduitManager::CHAMP_CATEGORIEPRODUIT_NOM], $lLigne[FermeManager::CHAMP_FERME_ID], $lLigne[FermeManager::CHAMP_FERME_NUMERO], $lLigne[FermeManager::CHAMP_FERME_NOM], $lLigne[FermeManager::CHAMP_FERME_ID_COMPTE], $lLigne[StockQuantiteManager::CHAMP_STOCKQUANTITE_ID], $lLigne[StockQuantiteManager::CHAMP_STOCKQUANTITE_QUANTITE], $lLigne[StockQuantiteManager::CHAMP_STOCKQUANTITE_QUANTITE_SOLIDAIRE], $lLigne[StockQuantiteManager::CHAMP_STOCKQUANTITE_UNITE]));
         }
     } else {
         $lListeNomProduit[0] = new NomProduitVO();
     }
     return $lListeNomProduit;
 }
 /**
  * @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(GestionCommandeReservationProducteurViewVO)
  * @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 GestionCommandeReservationProducteurViewVO
  */
 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(ProduitManager::CHAMP_PRODUIT_ID_COMMANDE . "," . ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME . "," . ProduitManager::CHAMP_PRODUIT_ID . "," . StockManager::CHAMP_STOCK_ID);
     // Préparation de la requète de recherche
     $lRequete = DbUtils::prepareRequeteRecherche(GestionCommandeReservationProducteurViewManager::VUE_GESTIONCOMMANDERESERVATIONPRODUCTEUR, $lChamps, $pTypeRecherche, $pTypeCritere, $pCritereRecherche, $pTypeTri, $pCritereTri);
     $lListeGestionCommandeReservationProducteur = 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($lListeGestionCommandeReservationProducteur, GestionCommandeReservationProducteurViewManager::remplir($lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMMANDE], $lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME], $lLigne[ProduitManager::CHAMP_PRODUIT_ID], $lLigne[StockManager::CHAMP_STOCK_ID]));
             }
         } else {
             $lListeGestionCommandeReservationProducteur[0] = new GestionCommandeReservationProducteurViewVO();
         }
         return $lListeGestionCommandeReservationProducteur;
     }
     $lListeGestionCommandeReservationProducteur[0] = new GestionCommandeReservationProducteurViewVO();
     return $lListeGestionCommandeReservationProducteur;
 }
 /**
  * @name selectByIdProduitStockProduitReservation($pIdProduit)
  * @param integer
  * @return array(StockProduitReservationVO)
  * @desc Récupères toutes les lignes de la table ayant pour IdProduit $pIdProduit. Puis les renvoie sous forme d'une collection de StockProduitReservationVO
  */
 public function selectByIdProduitStockProduitReservation($pIdProduit)
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "(SELECT " . ProduitManager::CHAMP_PRODUIT_ID_COMMANDE . "," . ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME . "," . ProduitManager::CHAMP_PRODUIT_ID . "," . ProduitManager::CHAMP_PRODUIT_UNITE_MESURE . "," . ProduitManager::CHAMP_PRODUIT_TYPE . "," . NomProduitManager::CHAMP_NOMPRODUIT_NUMERO . "," . NomProduitManager::CHAMP_NOMPRODUIT_NOM . ", (" . ProduitManager::CHAMP_PRODUIT_STOCK_INITIAL . " - " . ProduitManager::CHAMP_PRODUIT_STOCK_RESERVATION . ") AS " . StockManager::CHAMP_STOCK_QUANTITE . ", sum(" . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . ") AS " . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . " FROM (((" . ProduitManager::TABLE_PRODUIT . " JOIN " . NomProduitManager::TABLE_NOMPRODUIT . " ON ((" . NomProduitManager::CHAMP_NOMPRODUIT_ID . " = " . ProduitManager::CHAMP_PRODUIT_ID_NOM_PRODUIT . ")))\n\t\t\t\t LEFT JOIN " . DetailCommandeManager::TABLE_DETAILCOMMANDE . " ON ((" . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID_PRODUIT . " = " . ProduitManager::CHAMP_PRODUIT_ID . ")))\n\t\t\t\t LEFT JOIN " . DetailOperationManager::TABLE_DETAILOPERATION . " ON (((" . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . " = " . DetailOperationManager::CHAMP_DETAILOPERATION_ID_DETAIL_COMMANDE . ") and (" . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . " = 0))))\n\t\t\tWHERE " . ProduitManager::CHAMP_PRODUIT_ID . " = " . $pIdProduit . " AND " . ProduitManager::CHAMP_PRODUIT_ETAT . " = 0 " . " AND " . ProduitManager::CHAMP_PRODUIT_STOCK_INITIAL . " <> -(1) " . " AND " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ETAT . " = 0 " . " AND ( " . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . " = 0 " . " OR ISNULL( " . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . "))\n\t\t\tGROUP BY " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID_PRODUIT . ")\n\t\t\tUNION\n\t\t\t(SELECT " . ProduitManager::CHAMP_PRODUIT_ID_COMMANDE . "," . ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME . "," . ProduitManager::CHAMP_PRODUIT_ID . "," . ProduitManager::CHAMP_PRODUIT_UNITE_MESURE . "," . ProduitManager::CHAMP_PRODUIT_TYPE . "," . NomProduitManager::CHAMP_NOMPRODUIT_NUMERO . "," . NomProduitManager::CHAMP_NOMPRODUIT_NOM . ", ((" . ProduitManager::CHAMP_PRODUIT_STOCK_INITIAL . " - " . ProduitManager::CHAMP_PRODUIT_STOCK_RESERVATION . ") + 1) AS " . StockManager::CHAMP_STOCK_QUANTITE . ", sum(" . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . ") AS " . DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT . " FROM (((" . ProduitManager::TABLE_PRODUIT . " JOIN " . NomProduitManager::TABLE_NOMPRODUIT . " ON ((" . NomProduitManager::CHAMP_NOMPRODUIT_ID . " = " . ProduitManager::CHAMP_PRODUIT_ID_NOM_PRODUIT . ")))\n\t\t\t\t LEFT JOIN " . DetailCommandeManager::TABLE_DETAILCOMMANDE . " ON ((" . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID_PRODUIT . " = " . ProduitManager::CHAMP_PRODUIT_ID . ")))\n\t\t\t\t LEFT JOIN " . DetailOperationManager::TABLE_DETAILOPERATION . " ON (((" . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID . " = " . DetailOperationManager::CHAMP_DETAILOPERATION_ID_DETAIL_COMMANDE . ") and (" . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . " = 0))))\n\t\t\tWHERE " . ProduitManager::CHAMP_PRODUIT_ID . " = " . $pIdProduit . " AND " . ProduitManager::CHAMP_PRODUIT_ETAT . " = 0 " . " AND " . ProduitManager::CHAMP_PRODUIT_STOCK_INITIAL . " = -(1) " . " AND " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ETAT . " = 0 " . " AND ( " . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . " = 0 " . " OR ISNULL( " . DetailOperationManager::CHAMP_DETAILOPERATION_TYPE_PAIEMENT . "))\n\t\t\tGROUP BY " . DetailCommandeManager::CHAMP_DETAILCOMMANDE_ID_PRODUIT . ");";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     $lSql = Dbutils::executerRequete($lRequete);
     $lListeStockProduitReservation = array();
     if (mysql_num_rows($lSql) > 0) {
         while ($lLigne = mysql_fetch_assoc($lSql)) {
             array_push($lListeStockProduitReservation, $this->remplirStockProduitReservation($lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMMANDE], $lLigne[ProduitManager::CHAMP_PRODUIT_ID_COMPTE_FERME], $lLigne[ProduitManager::CHAMP_PRODUIT_ID], $lLigne[ProduitManager::CHAMP_PRODUIT_UNITE_MESURE], $lLigne[ProduitManager::CHAMP_PRODUIT_TYPE], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NUMERO], $lLigne[NomProduitManager::CHAMP_NOMPRODUIT_NOM], $lLigne[StockManager::CHAMP_STOCK_QUANTITE], $lLigne[DetailOperationManager::CHAMP_DETAILOPERATION_MONTANT], "", "", ""));
         }
     } else {
         $lListeStockProduitReservation[0] = new StockProduitReservationVO();
     }
     return $lListeStockProduitReservation;
 }
 /**
  * @name getSoldeBanque()
  * @return decimal(10,2)
  * @desc Retourne le solde en Banque
  */
 public static function getSoldeBanque()
 {
     // Initialisation du Logger
     $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS);
     $lLogger->setMask(Log::MAX(LOG_LEVEL));
     $lRequete = "SELECT sum(" . OperationManager::CHAMP_OPERATION_MONTANT . ") AS " . OperationManager::CHAMP_OPERATION_MONTANT . "\n\t\t\tFROM " . OperationManager::TABLE_OPERATION . " \n\t\t\tWHERE " . OperationManager::CHAMP_OPERATION_TYPE_PAIEMENT . " = '2'";
     $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG);
     // Maj des logs
     $lSql = Dbutils::executerRequete($lRequete);
     if (mysql_num_rows($lSql) > 0) {
         $lLigne = mysql_fetch_assoc($lSql);
         return $lLigne[OperationManager::CHAMP_OPERATION_MONTANT];
     } else {
         return NULL;
     }
 }
        fwrite($fp, "?>\n");
        fclose($fp);
        echo "Création du dossier : ../classes/controleurs/" . $lNomModule . "/" . $lNomVue . "Controleur.php" . "<br/>";
    }
    if ($_POST['label'] != "") {
        $lRequete = "SELECT * FROM `mod_module` WHERE mod_nom = '" . $lNomModule . "'";
        $lSql = Dbutils::executerRequete($lRequete);
        $lModule = mysql_fetch_assoc($lSql);
        if ($lModule["mod_id"] != "") {
            $lRequete = "SELECT * FROM `vue_vues` WHERE `vue_id_module` = " . $lModule["mod_id"] . " ORDER BY vue_ordre DESC";
            $lSql = Dbutils::executerRequete($lRequete);
            $lLigne = mysql_fetch_assoc($lSql);
            $lOrdre = $lLigne["vue_ordre"];
            $lOrdre++;
            $lRequete = "INSERT INTO `vue_vues` \n\t\t\t\t\t(vue_id,vue_id_module,vue_nom,vue_label,vue_ordre) \n\t\t\t\t\tVALUES (NULL, '" . $lModule["mod_id"] . "', '" . $lNomVue . "', '" . $_POST['label'] . "', '" . $lOrdre . "')";
            Dbutils::executerRequete($lRequete);
        } else {
            echo "<br/><div style=\"color:red\">Le module n'appartient pas au menu !</div>";
        }
    }
    ?>
		<h3>Traitements Terminés !!</h3>
	<?php 
} else {
    ?>
	<form action="./VueGenerator.php" method="post" >
		<span>Nom de la Vue : </span>
		<input type="text" name="nom" /><br/>
	
		<span>Module de la Vue : </span>
		<select name="module">