Просмотр исходного кода

#102 - add 'db_name' replaceable marker

Alex Trofimov 12 лет назад
Родитель
Сommit
10acee389d

+ 9 - 1
studio/classes/BxDolStudioInstaller.php

@@ -580,7 +580,7 @@ class BxDolStudioInstaller extends BxDolInstallerUtils
                 break;
         }
 
-        $mixedResult = $this->oDb->executeSQL($this->_sHomePath . 'install/sql/' . $sOperation . '.sql');
+        $mixedResult = $this->oDb->executeSQL($this->_sHomePath . 'install/sql/' . $sOperation . '.sql', $this->getMarkersForDb());
 
         return $mixedResult === true ? BX_DOL_STUDIO_INSTALLER_SUCCESS : array('code' => BX_DOL_STUDIO_INSTALLER_FAILED, 'content' => $mixedResult);
     }
@@ -786,6 +786,14 @@ class BxDolStudioInstaller extends BxDolInstallerUtils
 
 		return $bCompatible;
     }
+
+    protected function getMarkersForDb()
+    {
+        return array(
+            'from' => array('{db_name}'),
+            'to' => array(defined('BX_DATABASE_NAME') ? BX_DATABASE_NAME : ''),
+        );
+    }
 }
 
 /** @} */

+ 2 - 2
studio/classes/BxDolStudioUpdater.php

@@ -144,10 +144,10 @@ class BxDolStudioUpdater extends BxDolStudioInstaller
 
     	$mixedResult = true;
     	if(file_exists($sPathInstall))
-        	$mixedResult = $this->oDb->executeSQL($sPathInstall);
+        	$mixedResult = $this->oDb->executeSQL($sPathInstall, $this->getMarkersForDb());
 
 		if($mixedResult === true && (int)$aModule['enabled'] == 1 && file_exists($sPathEnable))
-			$mixedResult = $this->oDb->executeSQL($sPathEnable);
+			$mixedResult = $this->oDb->executeSQL($sPathEnable, $this->getMarkersForDb());
 
         return $mixedResult === true ? BX_DOL_STUDIO_INSTALLER_SUCCESS : array('code' => BX_DOL_STUDIO_INSTALLER_FAILED, 'content' => $mixedResult);
     }

+ 2 - 2
upgrade/classes/BxDolUpgradeUtil.php

@@ -84,8 +84,8 @@ class BxDolUpgradeUtil
             if (!$aModule)
                 return true; // it looks like module is not installed - skip it
             $aReplace = array (
-                'from' => array ('[db_prefix]'),
-                'to'   => array ($aModule['db_prefix']),
+                'from' => array ('{db_prefix}', '{db_name}'),
+                'to'   => array ($aModule['db_prefix'], defined('BX_DATABASE_NAME') ? BX_DATABASE_NAME : ''),
             );
         }