Gestion de la traduction des noms et description des modules.

This commit is contained in:
Laurent Destailleur 2005-01-12 19:58:34 +00:00
parent 1f9f5f0392
commit 2fd6f7ed5e

View File

@ -3,6 +3,7 @@
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com> * Copyright (C) 2004 Eric Seigne <eric.seigne@ryxeo.com>
* Copyright (C) 2005 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -23,12 +24,12 @@
* *
*/ */
/*! \file htdocs/includes/modules/DolibarrModules.class.php /** \file htdocs/includes/modules/DolibarrModules.class.php
\brief Fichier de description et activation des modules Dolibarr \brief Fichier de description et activation des modules Dolibarr
*/ */
/*! \class DolibarrModules /** \class DolibarrModules
\brief Classe mère des classes de description et activation des modules Dolibarr \brief Classe mère des classes de description et activation des modules Dolibarr
*/ */
class DolibarrModules class DolibarrModules
@ -38,7 +39,7 @@ class DolibarrModules
var $const; // Tableau des constantes var $const; // Tableau des constantes
/*! \brief Constructeur /** \brief Constructeur
* \param DB handler d'accès base * \param DB handler d'accès base
*/ */
function DolibarrModules($DB) function DolibarrModules($DB)
@ -47,7 +48,7 @@ class DolibarrModules
} }
/*! \brief Fonction d'activation. Insère en base les constantes et boites du module /** \brief Fonction d'activation. Insère en base les constantes et boites du module
* \param array_sql tableau de requete sql a exécuter à l'activation * \param array_sql tableau de requete sql a exécuter à l'activation
*/ */
function _init($array_sql) function _init($array_sql)
@ -89,11 +90,8 @@ class DolibarrModules
$err++; $err++;
} }
} }
/*
* Définit les constantes associées
*
*/
// Définit les constantes associées
foreach ($this->const as $key => $value) foreach ($this->const as $key => $value)
{ {
$name = $this->const[$key][0]; $name = $this->const[$key][0];
@ -133,10 +131,8 @@ class DolibarrModules
$err++; $err++;
} }
} }
/*
* Définit les permissions associées au module activé // Définit les permissions associées au module activ
*
*/
if (is_array($this->rights)) if (is_array($this->rights))
{ {
foreach ($this->rights as $key => $value) foreach ($this->rights as $key => $value)
@ -174,7 +170,6 @@ class DolibarrModules
$sql .= "(".$r_id.",'".$r_desc."','".$r_modul."','".$r_type."',".$r_def.");"; $sql .= "(".$r_id.",'".$r_desc."','".$r_modul."','".$r_type."',".$r_def.");";
} }
// print "<pre>DEBUG ERIC: $sql</pre>\n";
if ( $this->db->query($sql) ) if ( $this->db->query($sql) )
{ {
} }
@ -182,10 +177,7 @@ class DolibarrModules
} }
} }
/* // Créé les répertoires
* Créé les répertoires
*
*/
if (is_array($this->dirs)) if (is_array($this->dirs))
{ {
foreach ($this->dirs as $key => $value) foreach ($this->dirs as $key => $value)
@ -203,10 +195,8 @@ class DolibarrModules
} }
} }
} }
/*
*
*/
// Exécute les requets sql complémentaires
for ($i = 0 ; $i < sizeof($array_sql) ; $i++) for ($i = 0 ; $i < sizeof($array_sql) ; $i++)
{ {
if (! $this->db->query($array_sql[$i])) if (! $this->db->query($array_sql[$i]))
@ -226,8 +216,9 @@ class DolibarrModules
} }
/*! \brief Fonction de désactivation. Supprime de la base les constantes et boites du module /** \brief Fonction de désactivation. Supprime de la base les constantes et boites du module
* \param array_sql tableau de requete sql a exécuter à la désactivation * \param array_sql tableau de requete sql a exécuter à la désactivation
* \reutnr int 0 si erreur, 1 si ok
*/ */
function _remove($array_sql) function _remove($array_sql)
{ {
@ -249,9 +240,7 @@ class DolibarrModules
} }
} }
/* // Supprime les boites
* Boites
*/
foreach ($this->boxes as $key => $value) foreach ($this->boxes as $key => $value)
{ {
$titre = $this->boxes[$key][0]; $titre = $this->boxes[$key][0];
@ -274,5 +263,45 @@ class DolibarrModules
} }
} }
/** \brief Retourne le nom traduit du module si la traduction existe dans admin.lang,
* sinon le nom défini par défaut dans le module.
* \return string Nom du module traduit
*/
function getName()
{
global $langs;
if ($langs->trans("Module".$this->numero."Name") != ("Module".$this->numero."Name"))
{
// Si traduction du nom du module existe
return $langs->trans("Module".$this->numero."Name");
}
else
{
// Si traduction du nom du module n'existe pas, on prend définition en dur dans module
return $this->name;
}
}
/** \brief Retourne la description traduite du module si la traduction existe dans admin.lang,
* sinon la description définie par défaut dans le module.
* \return string Nom du module traduit
*/
function getDesc()
{
global $langs;
if ($langs->trans("Module".$this->numero."Desc") != ("Module".$this->numero."Desc"))
{
// Si traduction de la description du module existe
return $langs->trans("Module".$this->numero."Desc");
}
else
{
// Si traduction de la description du module n'existe pas, on prend définition en dur dans module
return $this->description;
}
}
} }
?> ?>