diff --git a/ChangeLog b/ChangeLog
index 5842266a061..f95e57f188f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -75,6 +75,7 @@ For developers:
action=repair
- Log files contains more information (PHP_SELD added and OS user used for
log of command lines scripts)
+- Can protect a module to not being enabled if javascript disabled.
***** Changelog for 2.6 compared to 2.5 *****
diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php
index 2dd77d01c66..fc9b5711456 100644
--- a/htdocs/admin/modules.php
+++ b/htdocs/admin/modules.php
@@ -29,6 +29,8 @@
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
+$langs->load("errors");
+
$mode=isset($_GET["mode"])?$_GET["mode"]:(isset($_SESSION['mode'])?$_SESSION['mode']:0);
$mesg=isset($_GET["mesg"])?$_GET["mesg"]:"";
@@ -72,7 +74,7 @@ function Activate($value,$withdeps=1)
$ret='';
- // Activation du module
+ // Activate module
if ($modName)
{
$file = $modName . ".class.php";
@@ -86,7 +88,7 @@ function Activate($value,$withdeps=1)
$objMod = new $modName($db);
- // Test si version PHP ok
+ // Test if PHP version ok
$verphp=versionphparray();
$vermin=$objMod->phpmin;
if (is_array($vermin) && versioncompare($verphp,$vermin) < 0)
@@ -94,7 +96,7 @@ function Activate($value,$withdeps=1)
return $langs->trans("ErrorModuleRequirePHPVersion",versiontostring($vermin));
}
- // Test si version Dolibarr ok
+ // Test if Dolibarr version ok
$verdol=versiondolibarrarray();
$vermin=$objMod->need_dolibarr_version;
if (is_array($vermin) && versioncompare($verdol,$vermin) < 0)
@@ -102,6 +104,12 @@ function Activate($value,$withdeps=1)
return $langs->trans("ErrorModuleRequireDolibarrVersion",versiontostring($vermin));
}
+ // Test if javascript requirement ok
+ if (! empty($objMod->need_javascript_ajax) && empty($conf->use_javascript_ajax))
+ {
+ return $langs->trans("ErrorModuleRequireJavascript");
+ }
+
$result=$objMod->init();
if ($result <= 0) $ret=$objMod->error;
}
@@ -427,8 +435,10 @@ foreach ($orders as $key => $value)
print " ";
}
- print "\n
";
+ print " | \n";
+ // Activate/Disable and Setup
+ print "";
if (! empty($conf->global->$const_name))
{
// Module actif
@@ -477,7 +487,7 @@ foreach ($orders as $key => $value)
}
// Module non actif
- print "numero."&action=set&value=" . $modName . "&mode=" . $mode . "\">" . $langs->trans("Activate") . " | \n | \n";
+ print "numero."&action=set&value=" . $modName . "&mode=" . $mode . "\">" . $langs->trans("Activate") . "\n | \n";
}
print "\n";
diff --git a/htdocs/includes/modules/modImport.class.php b/htdocs/includes/modules/modImport.class.php
index 1e6324616e1..be67c3d8b42 100644
--- a/htdocs/includes/modules/modImport.class.php
+++ b/htdocs/includes/modules/modImport.class.php
@@ -54,7 +54,6 @@ class modImport extends DolibarrModules
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
$this->special = 0;
$this->picto = '';
- $this->need_javascript = 1;
// Data directories to create when module is enabled
$this->dirs = array("/import/temp");
@@ -67,6 +66,8 @@ class modImport extends DolibarrModules
$this->requiredby = array();
$this->phpmin = array(4,2,0);
$this->phpmax = array();
+ $this->need_dolibarr_version = array(2,7,-1); // Minimum version of Dolibarr required by module
+ $this->need_javascript_ajax = 1;
// Constantes
$this->const = array();
diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang
index 5941b012093..ae63beff063 100644
--- a/htdocs/langs/en_US/errors.lang
+++ b/htdocs/langs/en_US/errors.lang
@@ -48,3 +48,4 @@ ErrorBillRefAlreadyExists=Ref used for creation already exists.
ErrorPleaseTypeBankTransactionReportName=Please type bank receipt name where transaction is reported (Format YYYYMM or YYYYMMDD)
ErrorRecordHasChildren=Failed to delete records since it has some childs.
WarningConfFileMustBeReadOnly=Warning, your config file conf.php can be overwritten by the web server. This is a serious security hole. Modify permissions on file to be in read only mode for operating system user used by Web server. If you use Windows and FAT format for your disk, you must know that this file system does not allow to add permissions on file, so can't be completely safe.
+ErrorModuleRequireJavascript=Javascript must not be disabled to have this feature working. To enable/disable Javascript, go to menu Home->Setup->Display.
diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang
index db4a438faa3..260b9ced5fc 100644
--- a/htdocs/langs/fr_FR/errors.lang
+++ b/htdocs/langs/fr_FR/errors.lang
@@ -48,4 +48,6 @@ ErrorCantSaveADoneUserWithZeroPercentage=Impossible sauver une action à l'état
ErrorBillRefAlreadyExists=La référence utilisée pour la création existe déjà
ErrorPleaseTypeBankTransactionReportName=Veuiller saisir le nom de relevé bancaire sur lequel l'écriture est constaté (Format AAAAMM ou AAAMMJJ)
ErrorRecordHasChildren=Impossible de supprimer l'enregistrement car il possède des fils.
-WarningConfFileMustBeReadOnly=Attention, votre fichier conf.php est accessible en écriture au serveur Web. Ceci représente une faille sérieuse de sécurité. Modifier les permissions pour qu'il soit en lecture seule pour le compte sous lequel tourne le serveur Web.
Si vous êtes sous Windows sur un disque dur utilisant un formatage FAT, sachez que ce système de fichier ne permet pas de protéger des fichiers et n'offre donc aucune solution rendre pour être sur.
\ No newline at end of file
+WarningConfFileMustBeReadOnly=Attention, votre fichier conf.php est accessible en écriture au serveur Web. Ceci représente une faille sérieuse de sécurité. Modifier les permissions pour qu'il soit en lecture seule pour le compte sous lequel tourne le serveur Web.
Si vous êtes sous Windows sur un disque dur utilisant un formatage FAT, sachez que ce système de fichier ne permet pas de protéger des fichiers et n'offre donc aucune solution rendre pour être sur.
+ErrorModuleRequireJavascript=Le javascript ne doit pas etre désactivé pour que cette fonctionnalité soit utilisable. Pour activer/désactiver l'utilisation de javascript, aller dans le menu Accueil->Configuration->Affichage.
+
\ No newline at end of file