Fix: Error management in module activation

This commit is contained in:
Laurent Destailleur 2008-10-06 07:39:52 +00:00
parent 54a0b4fbde
commit 762140e975
51 changed files with 582 additions and 566 deletions

View File

@ -136,11 +136,24 @@ function UnActivate($value,$requiredby=1)
if ($modName)
{
$file = $modName . ".class.php";
$res=include_once(DOL_DOCUMENT_ROOT."/includes/modules/".$file);
$res=@include_once(DOL_DOCUMENT_ROOT."/includes/modules/".$file);
if (defined('DOL_DOCUMENT_ROOT_BIS') && ! $res) include_once(DOL_DOCUMENT_ROOT_BIS."/includes/modules/".$file);
$objMod = new $modName($db);
$result=$objMod->remove();
if ($res)
{
$objMod = new $modName($db);
$result=$objMod->remove();
}
else
{
$genericMod = new DolibarrModules($db);
$genericMod->name=eregi_replace('^mod','',$modName);
$genericMod->style_sheet=1;
$genericMod->rights_class=strtolower(eregi_replace('^mod','',$modName));
$genericMod->const_name='MAIN_MODULE_'.strtoupper(eregi_replace('^mod','',$modName));
dolibarr_syslog("modules::UnActivate Failed to find module file, we use generic function with name ".$genericMod->name);
$genericMod->_remove();
}
}
// Desactivation des modules qui dependent de lui

File diff suppressed because it is too large Load Diff

View File

@ -56,7 +56,7 @@ class modAdherent extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Gestion des adherents d'une association";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_ADHERENT';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='user';

View File

@ -57,7 +57,7 @@ class modBanque extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_BANQUE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='account';

View File

@ -54,7 +54,7 @@ class modBarcode extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Gestion des codes barres";
$this->version = 'dolibarr'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_BARCODE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
$this->picto='barcode';

View File

@ -56,7 +56,7 @@ class modBookmark extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_BOOKMARK';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
$this->picto='bookmark';

View File

@ -55,7 +55,7 @@ class modBoutique extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Interface de visualisation d'une boutique OSCommerce ou OSCSS";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_BOUTIQUE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 1;
// Dir
@ -68,7 +68,7 @@ class modBoutique extends DolibarrModules
// D<>pendances
$this->depends = array();
$this->requiredby = array();
$this->conflictwith = array("modOSCommerce2");
$this->conflictwith = array("modOSCommerceWS");
$this->langfiles = array("shop");
// Constantes

View File

@ -60,7 +60,7 @@ class modCashDesk extends DolibarrModules
$this->version = 'development';
//$this->version = 'experimental'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_CASHDESK';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto = 'generic';

View File

@ -56,7 +56,7 @@ class modCategorie extends DolibarrModules
$this->version = $this->revision[1];
//$this->version = 'experimental'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_CATEGORIE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto = '';

View File

@ -56,7 +56,7 @@ class modClickToDial extends DolibarrModules
$this->version = 'dolibarr'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_CLICKTODIAL';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 1;
$this->picto='phoning';

View File

@ -56,7 +56,7 @@ class modCommande extends DolibarrModules
$this->description = "Gestion des commandes clients";
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_COMMANDE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='order';

View File

@ -57,7 +57,7 @@ class modCommercial extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_COMMERCIAL';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='commercial';

View File

@ -59,7 +59,7 @@ class modComptabilite extends DolibarrModules
$this->revision = explode(" ","$Revision$");
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_COMPTABILITE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='';

View File

@ -61,7 +61,7 @@ class modComptabiliteExpert extends DolibarrModules
// $this->version = $this->revision[1];
$this->version = "development";
$this->const_name = 'MAIN_MODULE_COMPTABILITEEXPERT';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
// Config pages

View File

@ -57,7 +57,7 @@ class modContrat extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_CONTRAT';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='contract';

View File

@ -56,7 +56,7 @@ class modDeplacement extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_DEPLACEMENT';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto = "generic";

View File

@ -54,7 +54,7 @@ class modDocument extends DolibarrModules
$this->description = "Gestion des documents";
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_DOCUMENT';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
$this->picto='dir';

View File

@ -54,7 +54,7 @@ class modDomain extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Gestion d'une base de noms de domaines";
$this->version = 'development'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_DOMAIN';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
$this->picto='user';

View File

@ -55,7 +55,7 @@ class modDon extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Gestion des dons";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_DON';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
// Dir

View File

@ -53,7 +53,7 @@ class modDroitPret extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Gestion du droit de prets";
$this->version = 'experimental'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_DROITPRET';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
// Dir

View File

@ -60,7 +60,7 @@ class modECM extends DolibarrModules
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
$this->version = 'dolibarr';
// Key used in llx_const table to save module status enabled/disabled (XXX is id value)
$this->const_name = 'MAIN_MODULE_ECM';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
// Where to store the module in setup page (0=common,1=interface,2=other)
$this->special = 0;
// Name of png file (without png) used for this module

View File

@ -54,7 +54,7 @@ class modEditeur extends DolibarrModules
$this->description = "Gestion des editeurs";
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_EDITEUR';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 3;
$this->picto='book';

View File

@ -58,7 +58,7 @@ class modEnergie extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_ENERGIE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
$this->picto='energie';

View File

@ -55,7 +55,7 @@ class modExpedition extends DolibarrModules
$this->description = "Gestion des expeditions";
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_EXPEDITION';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto = "sending";

View File

@ -52,7 +52,7 @@ class modExport extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Outils d'exports de donnees Dolibarr (via un assistant)";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_EXPORT';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='';

View File

@ -55,7 +55,7 @@ class modExternalRss extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Ajout de files d'informations RSS dans les <20>crans Dolibarr";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_EXTERNALRSS';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 1;
$this->picto='rss';

View File

@ -58,7 +58,7 @@ class modFacture extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_FACTURE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='bill';

View File

@ -53,7 +53,7 @@ class modFckeditor extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Editeur WYSIWYG";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_FCKEDITOR';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
// Dir

View File

@ -59,7 +59,7 @@ class modFicheinter extends DolibarrModules
$this->revision = explode(" ","$Revision$");
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_FICHEINTER';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto = "intervention";

View File

@ -56,7 +56,7 @@ class modFournisseur extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_FOURNISSEUR';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='company';

View File

@ -53,7 +53,7 @@ class modImport extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Outils d'imports de donnees Dolibarr (via un assistant)";
$this->version = 'development'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_IMPORT';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='';

View File

@ -54,7 +54,7 @@ class modLabel extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Gestion des etiquettes";
$this->version = 'development'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_LABEL';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
$this->picto='label';

View File

@ -53,7 +53,7 @@ class modLdap extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Synchronisation Ldap";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_LDAP';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 1;
// Dir

View File

@ -53,7 +53,7 @@ class modMailing extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Gestion des EMailings";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_MAILING';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 1;
$this->picto='email';

View File

@ -61,7 +61,7 @@ class modMantis extends DolibarrModules
// Possible values for version are: 'experimental' or 'dolibarr' or version
$this->version = 'dolibarr';
// Id used in llx_const table to manage module status (enabled/disabled)
$this->const_name = 'MAIN_MODULE_MANTIS';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
// Where to store the module in setup page (0=common,1=interface,2=other)
$this->special = 1;
// Name of png file (without png) used for this module

View File

@ -55,7 +55,7 @@ class modNotification extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Gestion des notifications (par mail) sur <20>v<EFBFBD>nement Dolibarr";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_NOTIFICATION';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 1;
$this->picto='email';

View File

@ -39,14 +39,14 @@ include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php");
\brief Classe de description et activation du module OSCommerce2
*/
class modOSCommerce2 extends DolibarrModules
class modOSCommerceWS extends DolibarrModules
{
/**
* \brief Constructeur. Definit les noms, constantes et boites
* \param DB handler d'acc<EFBFBD>s base
*/
function modOSCommerce2($DB)
function modOSCommerceWS($DB)
{
$this->db = $DB ;
$this->numero = 900;
@ -56,7 +56,7 @@ class modOSCommerce2 extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Interface de visualisation d'une boutique OSCommerce via des Web services.\nCe module requiert d'installer les composants dans /oscommerce_ws/ws_server sur OSCommerce. Voir fichier README dans /oscommerce_ws/ws_server";
$this->version = 'experimental'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_OSCOMMERCEWS';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 1;
// Dir
@ -65,7 +65,7 @@ class modOSCommerce2 extends DolibarrModules
// Config pages
$this->config_page_url = array();
// D<EFBFBD>pendances
// Dependances
$this->depends = array();
$this->requiredby = array();
$this->conflictwith = array("modBoutique");

View File

@ -60,7 +60,7 @@ class modPhenix extends DolibarrModules
// Possible values for version are: 'experimental' or 'dolibarr' or version
$this->version = 'development';
// Id used in llx_const table to manage module status (enabled/disabled)
$this->const_name = 'MAIN_MODULE_PHENIX';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
// Where to store the module in setup page (0=common,1=interface,2=other)
$this->special = 1;
// Name of png file (without png) used for this module

View File

@ -54,7 +54,7 @@ class modPostnuke extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Gestion de l'outil PostNuke";
$this->version = 'development'; // 'development' or 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_POSTNUKE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 1;
// Dir

View File

@ -58,7 +58,7 @@ class modPrelevement extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_PRELEVEMENT';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
// Name of png file (without png) used for this module
$this->picto='payment';

View File

@ -61,7 +61,7 @@ class modProduit extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_PRODUIT';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='product';

View File

@ -56,7 +56,7 @@ class modProjet extends DolibarrModules
$this->description = "Gestion des projets";
$this->revision = explode(" ","$Revision$");
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_PROJET';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='email';

View File

@ -58,7 +58,7 @@ class modPropale extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_PROPALE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='propal';

View File

@ -59,7 +59,7 @@ class modService extends DolibarrModules
$this->revision = explode(" ","$Revision$");
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_SERVICE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='service';

View File

@ -60,7 +60,7 @@ class modSociete extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_SOCIETE';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->config_page_url = array("societe.php");
$this->picto='company';

View File

@ -57,7 +57,7 @@ class modStock extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_STOCK';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='stock';

View File

@ -52,7 +52,7 @@ class modSyslog extends DolibarrModules
$this->name = eregi_replace('^mod','',get_class($this));
$this->description = "Activation des traces debug (syslog)";
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
$this->const_name = 'MAIN_MODULE_SYSLOG';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
//$this->picto='phoning';

View File

@ -60,7 +60,7 @@ class modTax extends DolibarrModules
$this->revision = explode(" ","$Revision$");
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_TAX';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='bill';

View File

@ -59,7 +59,7 @@ class modTelephonie extends DolibarrModules
$this->revision = explode(" ","$Revision$");
$this->version = $this->revision[1];
$this->const_name = "MAIN_MODULE_TELEPHONIE";
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 2;
$this->picto='phoning';

View File

@ -58,7 +58,7 @@ class modUser extends DolibarrModules
$this->revision = explode(' ','$Revision$');
$this->version = $this->revision[1];
$this->const_name = 'MAIN_MODULE_USER';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto='group';

View File

@ -61,7 +61,7 @@ class modWebcalendar extends DolibarrModules
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
$this->version = 'dolibarr';
// Key used in llx_const table to save module status enabled/disabled (XXX is id value)
$this->const_name = 'MAIN_MODULE_WEBCALENDAR';
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
// Where to store the module in setup page (0=common,1=interface,2=other)
$this->special = 1;
// Name of png file (without png) used for this module