diff --git a/setup/inc/functions.inc.php b/setup/inc/functions.inc.php index 266812a955..0e8e6bd0c0 100644 --- a/setup/inc/functions.inc.php +++ b/setup/inc/functions.inc.php @@ -36,6 +36,6 @@ if(file_exists("../header.inc.php")) { include("../header.inc.php"); } include("./inc/phpgw_setup.inc.php"); -// include("./inc/phpgw_schema_proc.inc.php"); + include("./inc/phpgw_schema_proc.inc.php"); $phpgw_setup = new phpgw_setup; ?> \ No newline at end of file diff --git a/setup/inc/phpgw_schema_proc_array.inc.php b/setup/inc/phpgw_schema_proc_array.inc.php new file mode 100644 index 0000000000..912a81a1e7 --- /dev/null +++ b/setup/inc/phpgw_schema_proc_array.inc.php @@ -0,0 +1,157 @@ +m_sStatementTerminator = ";"; + } + + // Return a type suitable for DDL abstracted array + function TranslateType($sType, $iPrecision = 0, $iScale = 0, &$sTranslated) + { + $sTranslated = $sType; + return (strlen($sTranslated) > 0); + } + + function TranslateDefault($sDefault) + { + return $sDefault; + } + + function GetPKSQL($sFields) + { + return ""; + } + + function GetUCSQL($sFields) + { + return ""; + } + + function _GetColumns(&$oProc, $sTableName, &$sColumns, $sDropColumn = "") + { + $sColumns = ""; + while (list($sName, $aJunk) = each($oProc->m_aTables[$sTableName]["fd"])) + { + if ($sColumns != "") + $sColumns .= ","; + $sColumns .= $sName; + } + + return true; + } + + function DropTable(&$oProc, $sTableName) + { + if (IsSet($oProc->m_aTables[$sTableName])) + UnSet($oProc->m_aTables[$sTableName]); + + return true; + } + + function DropColumn(&$oProc, $sTableName, $aNewTableDef, $sColumnName, $bCopyData = true) + { + if (IsSet($oProc->m_aTables[$sTableName])) + { + if (IsSet($oProc->m_aTables[$sTableName]["fd"][$sColumnName])) + UnSet($oProc->m_aTables[$sTableName]["fd"][$sColumnName]); + } + + return true; + } + + function RenameTable(&$oProc, $sOldTableName, $sNewTableName) + { + $aNewTables = array(); + while (list($sTableName, $aTableDef) = each($oProc->m_aTables)) + { + if ($sTableName == $sOldTableName) + $aNewTables[$sNewTableName] = $aTableDef; + else + $aNewTables[$sTableName] = $aTableDef; + } + + $oProc->m_aTables = $aNewTables; + + return true; + } + + function RenameColumn(&$oProc, $sTableName, $sOldColumnName, $sNewColumnName, $bCopyData = true) + { + if (IsSet($oProc->m_aTables[$sTableName])) + { + $aNewTableDef = array(); + reset($oProc->m_aTables[$sTableName]["fd"]); + while (list($sColumnName, $aColumnDef) = each($oProc->m_aTables[$sTableName]["fd"])) + { + if ($sColumnName == $sOldColumnName) + $aNewTableDef[$sNewColumnName] = $aColumnDef; + else + $aNewTableDef[$sColumnName] = $aColumnDef; + } + + $oProc->m_aTables[$sTableName]["fd"] = $aNewTableDef; + + reset($oProc->m_aTables[$sTableName]["pk"]); + while (list($key, $sColumnName) = each($oProc->m_aTables[$sTableName]["pk"])) + { + if ($sColumnName == $sOldColumnName) + $oProc->m_aTables[$sTableName]["pk"][$key] = $sNewColumnName; + } + + reset($oProc->m_aTables[$sTableName]["uc"]); + while (list($key, $sColumnName) = each($oProc->m_aTables[$sTableName]["uc"])) + { + if ($sColumnName == $sOldColumnName) + $oProc->m_aTables[$sTableName]["uc"][$key] = $sNewColumnName; + } + } + + return true; + } + + function AlterColumn(&$oProc, $sTableName, $sColumnName, &$aColumnDef, $bCopyData = true) + { + if (IsSet($oProc->m_aTables[$sTableName])) + { + if (IsSet($oProc->m_aTables[$sTableName]["fd"][$sColumnName])) + $oProc->m_aTables[$sTableName]["fd"][$sColumnName] = $aColumnDef; + } + + return true; + } + + function AddColumn(&$oProc, $sTableName, $sColumnName, &$aColumnDef) + { + if (IsSet($oProc->m_aTables[$sTableName])) + { + if (!IsSet($oProc->m_aTables[$sTableName]["fd"][$sColumnName])) + $oProc->m_aTables[$sTableName]["fd"][$sColumnName] = $aColumnDef; + } + + return true; + } + + function CreateTable(&$oProc, $sTableName, $aTableDef) + { + if (!IsSet($oProc->m_aTables[$sTableName])) + $oProc->m_aTables[$sTableName] = $aTableDef; + + return true; + } +} +?> diff --git a/setup/inc/phpgw_setup.inc.php b/setup/inc/phpgw_setup.inc.php index f2c05c0856..887780955a 100644 --- a/setup/inc/phpgw_setup.inc.php +++ b/setup/inc/phpgw_setup.inc.php @@ -182,7 +182,7 @@ $this->db->User = $phpgw_domain[$ConfigDomain]["db_user"]; $this->db->Password = $phpgw_domain[$ConfigDomain]["db_pass"]; -// $phpgw_schema_proc = new phpgw_schema_proc($phpgw_domain[$ConfigDomain]["db_type"]); + $phpgw_schema_proc = new phpgw_schema_proc($phpgw_domain[$ConfigDomain]["db_type"]); } function check_db()