diff --git a/modules/install/install.controller.php b/modules/install/install.controller.php
index 7beb0e337..7e6f881ee 100644
--- a/modules/install/install.controller.php
+++ b/modules/install/install.controller.php
@@ -531,20 +531,21 @@ class installController extends install
foreach ($schema_files as $filename)
{
- if (!preg_match('/^([a-zA-Z0-9_]+)\.xml$/', $filename, $matches))
+ if (!preg_match('/\/([a-zA-Z0-9_]+)\.xml$/', $filename, $matches))
{
continue;
}
- if (!preg_match('/
]*deleted="true"/i', file_get_contents($schema_dir . $filename)))
+ if (preg_match('/]*deleted="true"/i', file_get_contents($filename)))
{
continue;
}
+
$table_name = $matches[1];
if($oDB->isTableExists($table_name))
{
continue;
}
- $output = $oDB->createTable($schema_dir . $filename);
+ $output = $oDB->createTable($filename);
if(!$output->toBool())
{
throw new Exception(lang('msg_create_table_failed') . ': ' . $table_name . ': ' . $oDB->getError()->getMessage());
diff --git a/modules/module/module.model.php b/modules/module/module.model.php
index 4b0f3ba17..275625c13 100644
--- a/modules/module/module.model.php
+++ b/modules/module/module.model.php
@@ -1443,10 +1443,10 @@ class moduleModel extends module
// Get the number of xml files to create a table in schemas
$table_count = 0;
- $schema_files = FileHandler::readDir($path.'schemas', '/(\.xml)$/');
+ $schema_files = FileHandler::readDir($path.'schemas', '/(\.xml)$/', false, true);
foreach ($schema_files as $filename)
{
- if (!preg_match('/]*deleted="true"/i', file_get_contents($path . 'schemas/' . $filename)))
+ if (!preg_match('/]*deleted="true"/i', file_get_contents($filename)))
{
$table_count++;
}
@@ -1456,8 +1456,12 @@ class moduleModel extends module
$created_table_count = 0;
foreach ($schema_files as $filename)
{
- list($table_name, $unused) = explode('.', $filename);
- if($oDB->isTableExists($table_name))
+ if (!preg_match('/\/([a-zA-Z0-9_]+)\.xml$/', $filename, $matches))
+ {
+ continue;
+ }
+
+ if($oDB->isTableExists($matches[1]))
{
$created_table_count++;
}