Files
ship2net-www/config/fonctions_traductions.php
T

124 lines
5.9 KiB
PHP

<?php
$traductions_en = include __DIR__ . "/lang/en.php";
//************************************************************************************************************
// Fonction : Recherche dans le fichier de langue (de type 'lang/en.php') l'occurence du texte français reçu en paramètre.
// S'il existe, retour de la traduction. Sinon, retour du texte en FR.
// Reçoit : Texte en FR
// Retour : Texte dans la langue en cours.
//************************************************************************************************************
function t($texte)
{
global $traductions_en;
if ($_SESSION['langue'] === 'EN') {
return $traductions_en[$texte] ?? $texte; // Repli sur le français si la traduction manque
}
return $texte;
}
/*
SELECT (SELECT Texte FROM TB_Textes_traduction WHERE ID_LANGUAGES=(SELECT ID FROM TB_Langues WHERE Prefix="FR") AND ID_TYPE=2 AND TB_Textes_traduction.ID_TEXTES=TB_Textes_acces.ID_TEXTES) AS Libelle FROM TB_Textes_acces
WHERE Validite='1' AND
Fichier="all" AND
Page="all" AND
Bloc="erreurs" AND
Nom="email_invalide"
*/
// Remarque :
// !!!!!!!!!!!!!!! Ne pas utiliser dans les attributs "title" "placeholder" et dans les buttons qui sont déjà des HREF !!!!!!!!!!!!!!!!!!!!
//************************************************************************************************************
// Fonction : Récupération dans la base de données d'un texte
// Reçoit : Nom du fichier, page, bloc et nom
// Retour : Texte dans la langue en cours.
// NB : Si l'accès est fait par un administrateur, un lien est ajouté au texte pour le rendre cliquable (dans le but de pouvoir le modifier)
//************************************************************************************************************
function Recuperer_texte($fichier, $page, $bloc, $nom){
$texte = stripcslashes($_SESSION['textes'][$fichier][$page][$bloc][$nom]);
if (($_SESSION['acces_valide']) && ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_EDITEUR_ACCES_ADMINISTRATEUR)){
if ($_SESSION['modifier_texte'] == 1) $texte = $texte.'<a id="" href="textes.php?action=navigation&destination=Accueil&fichier='.$fichier.'&page='.$page.'&bloc='.$bloc.'&nom='.$nom.'&current_page='.basename($_SERVER['SCRIPT_FILENAME']).'" class="a_update"></a>';
}
return $texte;
}
//************************************************************************************************************
// Fonction : Récupération dans la base de données du lien du texte (spécial pour les NAVBAR)
// Reçoit : Nom du fichier, page, bloc et nom
// Retour : Lien sous la forme d'un '<a>.....</a>" permettant l'accès à la modification du texte
// Navbar spécial ( class update_navbar pour bien afficher)
//************************************************************************************************************
function Ajouter_lien_modif($fichier, $page, $bloc, $nom){
$texte = "";
if (($_SESSION['acces_valide']) && ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_EDITEUR_ACCES_ADMINISTRATEUR)){
if ($_SESSION['modifier_texte'] == 1) $texte = '<a id="" href="textes.php?action=navigation&destination=Accueil&fichier='.$fichier.'&page='.$page.'&bloc='.$bloc.'&nom='.$nom.'&current_page='.basename($_SERVER['SCRIPT_FILENAME']).'" class="a_update update_navbar"></a>';
}
return $texte;
}
//************************************************************************************************************
// Fonction : Récupération dans la base de données du lien du texte (pour les BUTTONS et les HREF)
// Reçoit : Nom du fichier, page, bloc et nom
// Retour : Lien sous la forme d'un '<a>.....</a>" permettant l'accès à la modification du texte
// Le reste des buttons et href (suppression de la classe update_navbar)
//************************************************************************************************************
function Ajouter_lien_modif_buttons($fichier, $page, $bloc, $nom){
$texte = "";
if (($_SESSION['acces_valide']) && ($_SESSION['shipmember']['Niveau_acces'] >= NIVEAU_EDITEUR_ACCES_ADMINISTRATEUR)){
if ($_SESSION['modifier_texte'] == 1) $texte = '<a id="" href="textes.php?action=navigation&destination=Accueil&fichier='.$fichier.'&page='.$page.'&bloc='.$bloc.'&nom='.$nom.'&current_page='.basename($_SERVER['SCRIPT_FILENAME']).'" class="a_update"></a>';
}
return $texte;
}
//************************************************************************************************************
// Fonction : Chargement d'une langue. Cela se traduit par charger dans une GROSSE variable de session tous les textes dans la langue choisie.
// Reçoit : Rien
// Retour : Rien (mais met à jour la variable de session contenant tous les textes)
// Attention : doit être rechargé à chaque fois qu'un texte est modifié dans la base
// Attention 2 : doit être rechargé à chaque fois qu'on change de langue
//********************************************************************************************************************************
function chargement_langue()
{
Ouverture_bdd(); // Connexion à MySql
$requete = "SELECT Fichier, Page, Bloc, Nom, (SELECT Texte FROM TB_Textes_traduction WHERE ID_LANGUAGES=(SELECT ID FROM TB_Langues WHERE Prefix=?) AND ID_TYPE = ".TYPE_UTILISATEUR_PROFESSIONNEL." AND TB_Textes_traduction.ID_TEXTES=TB_Textes_acces.ID_TEXTES) AS Libelle FROM TB_Textes_acces WHERE Validite='1'";
$reponse = Requete_preparee_bdd($requete,
array(
array('s', $_SESSION['langue'])),
__FILE__, __LINE__);
while ($donnees = Recherche_ligne_bdd($reponse)) // boucle sur tous les enregistrements de la table
{
$_SESSION['textes'][''.$donnees['Fichier'].''][''.$donnees['Page'].''][''.$donnees['Bloc'].''][''.$donnees['Nom'].''] = stripcslashes($donnees['Libelle']);
}
Liberation_jeu_de_resultat_bdd($reponse);
Fermeture_bdd(); // Déconnexion de MySQL
}