/** * Cette fonction va appeler le generateur de formulaire qui va permettre de gerer la table voulue * * @param array $parametres Paramètres * @param string $modeAffichage Mode d'affichage * * @return string HTML * */ public function administre($parametres = array(), $modeAffichage = 'liste') { $html = ""; $liensExternes = array(); $nomTable = ''; if (isset($parametres['tableName']) && $parametres['tableName'] != '') { $nomTable = $parametres['tableName']; } $dependances = array(); switch ($nomTable) { case "rue": $liensExternes = array('idSousQuartier' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idSousQuartier', 'externalTable' => 'sousQuartier', 'externalFieldToDisplay' => 'nom')); break; case "ville": $liensExternes = array('idPays' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idPays', 'externalTable' => 'pays', 'externalFieldToDisplay' => 'nom')); break; case "quartier": $liensExternes = array('idVille' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idVille', 'externalTable' => 'ville', 'externalFieldToDisplay' => 'nom')); break; case "sousQuartier": $liensExternes = array('idQuartier' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idQuartier', 'externalTable' => 'quartier', 'externalFieldToDisplay' => 'nom')); break; case "source": $liensExternes = array('idTypeSource' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idTypeSource', 'externalTable' => 'typeSource', 'externalFieldToDisplay' => 'nom')); $parametres = array_merge($parametres, array('afficheMiseEnFormeLongText' => true, 'displayWithBBCode' => true, 'fieldsNotInBdd' => array(0 => array('name' => 'uploadLogo', 'type' => 'uploadImageLiee', 'redimFilesAndSizesConfig' => array(0 => array('taille' => 0, 'nomFichierDestinationParametre' => "###bddField[idSource]###_original.jpg", 'repertoireDestination' => $this->getCheminPhysique() . "images/logosSources/"), 1 => array('taille' => 200, 'nomFichierDestinationParametre' => "###bddField[idSource]###.jpg", 'repertoireDestination' => $this->getCheminPhysique() . "images/logosSources/")), 'valueParametrable' => array('affichageParametre' => "<img src='" . $this->getUrlImage() . "logosSources/###bddField[idSource]###.jpg' border=0>", "cheminFichierATesterPourAffichage" => $this->getCheminPhysique() . "images/logosSources/###bddField[idSource]###.jpg"))), 'afficheDependancesInIFrameUrl' => $this->creerUrl('', 'listeAdressesFromSource', array('source' => '###currentId###', 'submit' => 'Rechercher', 'noHeaderNoFooter' => 1, 'noDescription' => 1, 'modeAdmin' => 1)))); $dependances[0] = array('table' => 'historiqueEvenement', 'champLie' => 'idSource', 'message' => "il existe des dépendances au niveau de la table des évènements"); $dependances[1] = array('table' => 'historiqueImage', 'champLie' => 'idSource', 'message' => "il existe des dépendances au niveau de la table des images"); break; case 'typeSource': $dependances[0] = array('table' => 'source', 'champLie' => 'idTypeSource', 'message' => "il existe des dépendances au niveau de la table des sources"); $parametres = array_merge($parametres, array('afficheDependancesInIFrameUrl' => $this->creerUrl('', 'listeTypeSourceDependancesSourcesAdmin', array('idTypeSource' => '###currentId###', 'noHeaderNoFooter' => 1)))); break; } $generateur = new formGenerator(); // est ce que l'on effectue d'abord une action ? (ajout modif suppression ?) if (isset($this->variablesPost['validationFormulaireAdministration'])) { // si le formulaire a ete validé // actions switch ($this->variablesPost['validationFormulaireAdministration']) { case 'modification': $generateur->modifier($parametres, $liensExternes); $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes, $dependances); break; case 'ajout': $generateur->ajouter($parametres, $liensExternes); $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes); break; case 'suppression': $generateur->supprimer($parametres, $liensExternes, $dependances); $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes, $dependances); break; case 'rechercheAdministration': $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes); break; case 'suppressionFromModifForm': $generateur->supprimerFromModifForm($parametres, $liensExternes, $dependances); $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes, $dependances); break; } } else { // affichage des formulaires switch ($modeAffichage) { case 'liste': $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes, $dependances); break; case 'modification': $adresse = new archiAdresse(); //$html.=$adresse->afficheFormulaireModificationElementAdresse($parametres); $html .= $generateur->afficheFormulaireModification($parametres, $liensExternes, $dependances); break; case 'ajout': $html .= $generateur->afficheFormulaireAjout($parametres, $liensExternes); break; } } return $html; }