2
0
forked from Wavyzz/dolibarr

Fix condition in createDictionary for modulebuilder

This commit is contained in:
Lamrani Abdel
2024-03-21 15:54:29 +01:00
parent 351af65b7d
commit 820247dbd6
2 changed files with 3 additions and 6 deletions

View File

@@ -1288,7 +1288,7 @@ function createNewDictionnary($modulename, $file, $namedic, $dictionnaires = nul
} }
$columns = array( $columns = array(
'rowid' => array('type' => 'integer', 'value' => 11, 'extra' => 'AUTO_INCREMENT PRIMARY KEY'), 'rowid' => array('type' => 'integer', 'value' => 11, 'extra' => 'AUTO_INCREMENT'),
'code' => array('type' => 'varchar', 'value' => 255, 'null'=>'NOT NULL'), 'code' => array('type' => 'varchar', 'value' => 255, 'null'=>'NOT NULL'),
'label' => array('type' => 'varchar', 'value' => 255, 'null'=>'NOT NULL'), 'label' => array('type' => 'varchar', 'value' => 255, 'null'=>'NOT NULL'),
'position' => array('type' => 'integer', 'value' => 11, 'null'=>'NULL'), 'position' => array('type' => 'integer', 'value' => 11, 'null'=>'NULL'),
@@ -1310,9 +1310,7 @@ function createNewDictionnary($modulename, $file, $namedic, $dictionnaires = nul
} }
// check if tablename exist in Database and create it if not // check if tablename exist in Database and create it if not
// @FIXME We must use $db->DDLDescTable($table) to know if a table exists. $checkTable = $db->DDLDescTable(MAIN_DB_PREFIX.strtolower($namedic));
$query = "SHOW TABLES LIKE '" . $db->escape(MAIN_DB_PREFIX.strtolower($namedic)) . "'";
$checkTable = $db->query($query);
if ($checkTable && $db->num_rows($checkTable) > 0) { if ($checkTable && $db->num_rows($checkTable) > 0) {
setEventMessages($langs->trans("ErrorTableExist", $namedic), null, 'errors'); setEventMessages($langs->trans("ErrorTableExist", $namedic), null, 'errors');
return; return;

View File

@@ -2102,8 +2102,7 @@ if (($dirins && $action == 'confirm_deletedictionary' && $dicname) || ($dirins &
} }
//chercher la table dicname //chercher la table dicname
$query = "SHOW TABLES LIKE '" . MAIN_DB_PREFIX.strtolower($newdicname) . "'"; $checkTable = $db->DDLDescTable(MAIN_DB_PREFIX.strtolower($newdicname));
$checkTable = $db->query($query);
if ($checkTable && $db->num_rows($checkTable) <= 0) { if ($checkTable && $db->num_rows($checkTable) <= 0) {
$error++; $error++;
} }