getTableByPk($idTable); $nomTableAgefodd = $infoTable["nomTableAgefodd"]; $nomTableExterne = $infoTable["nomTableExterne"]; $titre = GestionTexte::tronquerParentheses($langs->trans("AgefoddxTitreAfficherListeColonne"), "$nomTableExterne ".$langs->trans("AgefoddxEt")." $nomTableAgefodd"); $liste = (new ligneGestion())->getListeLigneCorreler($idTable); $addresse = "afficherListe"; self::afficherVue(["titre" => $titre, "cheminCorpsVue"=>self::$lien."/".$addresse.".php","message"=>$message, "idBD"=>$idBD,"nomBD"=>$nomBD, "idTable"=>$idTable, "nomTableA"=>$nomTableAgefodd, "nomTableE"=>$nomTableExterne, "liste"=>$liste, "mdp"=>$_POST["mdp"]]); } /** * @param string $titre titre de la page * @param string $actionApres action a réalisé * @param string $titreAction label de l'action * @param $message string message passable en parameter pour les interactions utilisateur * @return void permet la connection avec la base de donnée extérieur */ public static function getMdp ($titre, $actionApres, $titreAction, $message = "") { $idBD = $_POST["idBD"]; $nomBD = $_POST["nomBD"]; $idTable = $_POST["idTable"]; $valeurBase = $_POST["valeurBase"] ?? $_POST["nomTableAgefodd"] ?? ""; $infoTable = (new tableGestion())->getTableByPk($idTable); $nomTableAgefodd = $infoTable["nomTableAgefodd"]; $nomTableExterne = $infoTable["nomTableExterne"]; $addresse = "transition"; self::afficherVue(["titre" => $titre, "cheminCorpsVue"=>self::$lien."/".$addresse.".php","message"=>$message, "idBD"=>$idBD,"nomBD"=>$nomBD, "valeurBase"=>$valeurBase, "idTable"=>$idTable, "nomTableA"=>$nomTableAgefodd, "nomTableE"=>$nomTableExterne, "actionApres"=>$actionApres, "titreAction"=>$titreAction]); } /** * @param $message string message passable en parameter pour les interactions utilisateur * @return void affichage de la page d'ajout de lien entre les lignes */ public static function ajouter ($message = "") { global $langs; $idBD = $_POST["idBD"]; $nomBD = $_POST["nomBD"]; $idTable = $_POST["idTable"]; $valeurBase = $_POST["valeurBase"] ?? $_POST["nomTableAgefodd"] ?? $_POST["agefoddLigneFk"] ?? ""; $infoTable = (new tableGestion())->getTableByPk($idTable); $nomTableAgefodd = $infoTable["nomTableAgefodd"]; $nomTableExterne = $infoTable["nomTableExterne"]; $titre = $langs->trans("AgefoddxAjouterLien")." $nomTableAgefodd ".$langs->trans("AgefoddxEt")." $nomTableExterne"; $tab = $_POST["tab"] ?? "tab1"; $addresse = "ajouter"; $mdp = $_POST["mdp"]; if ($mdp != "" && isset($mdp)){ $bdE_connexion = bdExterneInteraction::construireDepuisSQL((new bdGestion())->getBdByPk($idBD), $mdp); if ($bdE_connexion->connectionBD()){ $listeE = bdExterneLigneGestion::getListeLigne($bdE_connexion, $nomTableExterne); $listeA = (new ligneGestion())->getListeLigneAgefodd($nomTableAgefodd, $idTable); $listeEFK = bdExterneLigneGestion::getListeFK($bdE_connexion, $nomTableExterne); $listeAFK = (new ligneGestion())->getListeFK($nomTableAgefodd, $idTable); if (in_array($valeurBase, $listeAFK[0])) $tab = "tab3"; self::afficherVue(["titre" => $titre, "cheminCorpsVue"=>self::$lien."/".$addresse.".php","message"=>$message, "idBD"=>$idBD,"nomBD"=>$nomBD, "idTable"=>$idTable, "nomTableA"=>$nomTableAgefodd, "nomTableE"=>$nomTableExterne, "listeE"=>$listeE, "listeA"=>$listeA,"valeurBase"=>$valeurBase, "listeEFK"=>$listeEFK, "listeAFK"=>$listeAFK,"mdp"=>$mdp, "tab"=>$tab]); } else { self::getMdp($titre, 'ajouter', $langs->trans("AgefoddxAjouter"), $langs->trans("AgefoddxMDPInc")); } } else { self::getMdp($titre, 'ajouter', $langs->trans("AgefoddxAjouter")); } } /** * @return void insertion de lien entre diver lignes */ public static function insertion() { global $langs; $idBD = $_POST["idBD"]; $nomBD = $_POST["nomBD"]; $idTable = $_POST["idTable"]; $infoTable = (new tableGestion())->getTableByPk($idTable); $nomTableAgefodd = $infoTable["nomTableAgefodd"]; $nomTableExterne = $infoTable["nomTableExterne"]; $agefoddLigne = $_POST["agefoddLigne"]; $bdExterneLigne = $_POST["bdExterneLigne"]; $valeurFixe = $_POST["valeurFixe"]; $valeurBase = $_POST["valeurBase"] ?? $_POST["nomTableAgefodd"] ?? ""; $agefoddFk = $_POST["agefoddLigneFk"]; $externeFk = $_POST["bdExterneLigneFk"]; $mdp = $_POST["mdp"]; $tab = $_POST["tab"]; $gestionLigne = new ligneGestion(); if (isset($idBD) && isset($nomBD) && isset($idTable) && isset($agefoddLigne) && isset($bdExterneLigne)){ if ($bdExterneLigne != '' && $agefoddLigne != ''){ if (!$gestionLigne->correlationEstDansTable($idTable, $agefoddLigne)){ $bdE_connexion = bdExterneInteraction::construireDepuisSQL((new bdGestion())->getBdByPk($idBD), $mdp); $typeE = (new GestionTexte())->tronquerParentheses(bdExterneLigneGestion::getTypeLigne($bdE_connexion, $nomTableExterne, $bdExterneLigne)); $typeA = (new GestionTexte())->tronquerParentheses($gestionLigne->getTypeLigne($nomTableAgefodd, $agefoddLigne)); if ($gestionLigne->sontCompatible($typeA, $typeE)){ $value = $gestionLigne->insertion($idTable, $idBD, $agefoddLigne, $bdExterneLigne); if ($value) self::afficherListe(GestionTexte::tronquerParentheses($langs->trans("AgefoddxMessageLigneInsertionTrue"), "$agefoddLigne ".$langs->trans("AgefoddxEt")." $bdExterneLigne")); else self::afficherListe(GestionTexte::tronquerParentheses($langs->trans("AgefoddxMessageLigneInsertionFalse"), "$agefoddLigne ".$langs->trans("AgefoddxEt")." $bdExterneLigne")); }else self::ajouter(GestionTexte::tronquerParentheses($langs->trans("AgefoddxMessageLigneInsertionInc"), "$agefoddLigne($typeA) ".$langs->trans("AgefoddxEtDe")." $bdExterneLigne($typeE) ")); }else self::ajouter(GestionTexte::tronquerParentheses($langs->trans("AgefoddxMessageLigneInsertionDejaLiee"), $agefoddLigne)); }else self::ajouter($langs->trans("AgefoddxMessageLigneInsertionDoitChoisirVal")); }elseif (isset($idBD) && isset($nomBD) && isset($idTable) && isset($agefoddLigne) && $valeurFixe) { if ($agefoddLigne != '') { if (!$gestionLigne->correlationEstDansTable($idTable, $agefoddLigne)) { $value = $gestionLigne->insertionValue($idTable, $idBD, $agefoddLigne, $valeurFixe); if ($value) self::afficherListe(GestionTexte::tronquerParentheses($langs->trans("AgefoddxMessageLigneInsertionTrue"), "$agefoddLigne " . $langs->trans("AgefoddxEtLaVal") . " $valeurFixe")); else self::afficherListe(GestionTexte::tronquerParentheses($langs->trans("AgefoddxMessageLigneInsertionTrue"), "$agefoddLigne " . $langs->trans("AgefoddxEtLaVal") . " $valeurFixe")); } else self::ajouter(GestionTexte::tronquerParentheses($langs->trans("AgefoddxMessageLigneInsertionDejaLiee"), $agefoddLigne)); } else self::ajouter($langs->trans("AgefoddxMessageLigneInsertionDoitChoisirVal")); }elseif (isset($idBD) && isset($nomBD) && isset($idTable) && isset($agefoddFk) && isset($externeFk)) { list($agefoddFk, $tableReferenceA) = explode('|', $agefoddFk); list($externeFk, $tableReferenceE) = explode('|', $externeFk); if ((new tableGestion())->tablesDejaEnregistrer($tableReferenceA, $tableReferenceE)) { $bdE_connexion = bdExterneInteraction::construireDepuisSQL((new bdGestion())->getBdByPk($idBD), $mdp); $typeE = (new GestionTexte())->tronquerParentheses(bdExterneLigneGestion::getTypeLigne($bdE_connexion, $nomTableExterne, $externeFk)); $typeA = (new GestionTexte())->tronquerParentheses($gestionLigne->getTypeLigne($nomTableAgefodd, $agefoddFk)); if ($gestionLigne->sontCompatible($typeA, $typeE)){ $value = $gestionLigne->insertion($idTable, $idBD, $agefoddFk, $externeFk); if ($value) self::afficherListe(GestionTexte::tronquerParentheses($langs->trans("AgefoddxMessageLigneInsertionTrue"), "$agefoddFk " . $langs->trans("AgefoddxEt") . " $externeFk")); else self::afficherListe(GestionTexte::tronquerParentheses($langs->trans("AgefoddxMessageLigneInsertionTrue"), "$agefoddFk " . $langs->trans("AgefoddxEt") . " $externeFk")); } } else ControleurTable::ajouter(GestionTexte::tronquerParentheses($langs->trans("AgefoddxTableFkLierFalse"), "$tableReferenceA ".$langs->trans("AgefoddxEt")." $tableReferenceE")); }else self::ajouter($langs->trans("AgefoddxMessageErreurSaisie")); } /** * @param $message string message passable en parameter pour les interactions utilisateur * @return void affichage de la page de suppression de lien entre les lignes */ public static function supprimer ($message = "") { global $langs; $idBD = $_POST["idBD"]; $nomBD = $_POST["nomBD"]; $idTable = $_POST["idTable"]; $idLigne = $_POST["idLigne"]; $infoTable = (new tableGestion())->getTableByPk($idTable); $nomTableAgefodd = $infoTable["nomTableAgefodd"]; $nomTableExterne = $infoTable["nomTableExterne"]; $infoLigne = (new ligneGestion())->getLigneByPk($idLigne); $nomLigneExterne = $infoLigne["nomLigneE"]; $nomLigneAgefodd = $infoLigne["nomLigneA"]; $titre = $langs->trans("AgefoddxSupprimerLienTable")." $nomLigneExterne ".$langs->trans("AgefoddxEt")." $nomLigneAgefodd"; $addresse = "supprimer"; self::afficherVue(["titre" => $titre, "cheminCorpsVue"=>self::$lien."/".$addresse.".php","message"=>$message, "idBD"=>$idBD,"nomBD"=>$nomBD,"mdp"=>$_POST["mdp"], "idTable"=>$idTable, "nomTableA"=>$nomTableAgefodd, "nomTablE"=>$nomTableExterne, "nomLigneE"=>$nomLigneExterne, "nomLigneA"=>$nomLigneAgefodd, "idLigne"=>$idLigne]); } /** * @param $message string message passable en parameter pour les interactions utilisateur * @return void suppression des liens dans entre les lignes dans la bd */ public static function suppression ($message = "") { global $langs; $idBD = intval($_POST["idBD"]); $nomBD = $_POST["nomBD"]; $idTable = intval($_POST["idTable"]); $idLigne = intval($_POST['idLigne']); $mdp=$_POST["mdp"]; $infoTable = (new tableGestion())->getTableByPk($idTable); $nomTableAgefodd = $infoTable["nomTableAgefodd"]; $nomTableExterne = $infoTable["nomTableExterne"]; $infoLigne = (new ligneGestion())->getLigneByPk($idLigne); $nomLigneExterne = $infoLigne["nomLigneE"]; $nomLigneAgefodd = $infoLigne["nomLigneA"]; $value = $_POST["ouiNon"]; $et = " $nomLigneExterne ".$langs->trans("AgefoddxEt")." $nomLigneAgefodd "; if ($value == "true" && $idLigne && isset($nomBD)){ $connexion_ligne = new ligneGestion(); $value = $connexion_ligne->suppression($idLigne); if ($value)self::afficherListe(GestionTexte::tronquerParentheses($langs->trans("AgefoddxSuppressionLienTrue"), $et)); else self::afficherListe(GestionTexte::tronquerParentheses($langs->trans("AgefoddxSuppressionLienFalse"), $et)); } else self::afficherListe(GestionTexte::tronquerParentheses($langs->trans("AgefoddxSuppressionLienAnnuler"), $et)); } }