20 static $m_oCatalogDB = null;
25 static $m_oShippingDB = null;
30 static $m_bPDO =
true;
42 static::GetCatalogDB($aConfiguration),
43 static::GetShippingDB($aConfiguration),
56 if (null == static::$m_oCatalogDB)
58 static::$m_oCatalogDB = static::CreateConnection($aConfiguration, DB_CATALOG);
60 return static::$m_oCatalogDB;
72 if (null == static::$m_oShippingDB)
74 static::$m_oShippingDB = static::CreateConnection($aConfiguration, DB_SHIPPING);
76 return static::$m_oShippingDB;
89 static::$m_bPDO = is_PDO();
90 $sDBType = arr_get($aConfiguration,
'dbtype', DB_TYPE_ACCESS);
95 $sDsn = static::createAccessDsn($aConfiguration, $sDatabaseID);
96 $sDriverClass = static::$m_bPDO ? DB_CLASS_ACCESS : DB_CLASS_ACCESS_NO_PDO;
100 DB_CATALOG => arr_get($aConfiguration,
'catalogdbfilepath',
'Site1\\ActinicCatalog.mdb'),
101 DB_SHIPPING => arr_get($aConfiguration,
'shippingdbfilepath',
'Site1\\ShipControl\\SimpleShipping.mdb'),
104 case DB_TYPE_SQLSERVER:
105 $sDsn = static::createSQLServerDsn($aConfiguration, $sDatabaseID);
106 $sDriverClass = DB_CLASS_SQLSERVER;
107 $sUser = arr_get($aConfiguration,
'username',
'');
108 $sPassword = arr_get($aConfiguration,
'userpwd',
'');
109 $sDBAuthType = arr_get($aConfiguration,
'dbauthtype',
'');
111 DB_CATALOG => arr_get($aConfiguration,
'catalogdbsqlname',
'NewSite_Catalog'),
112 DB_SHIPPING => arr_get($aConfiguration,
'shippingdbsqlname',
'NewSite_Shipping'),
116 $aConnectionDetails = [
119 'sPassword' => $sPassword,
120 'sDBAuthType' => $sDBAuthType,
121 'sDatabaseID' => $sDatabaseID,
122 'aDataBases' => $aDataBases,
124 $sDriverClassWithNS =
"SDExtension\DB\\$sDriverClass";
125 return new $sDriverClassWithNS($aConnectionDetails, $sDatabaseID);
139 switch ($sDatabaseID)
142 $sMdbFile = arr_get($aConfiguration,
'catalogdbfilepath',
'');
145 $sMdbFile = arr_get($aConfiguration,
'shippingdbfilepath',
'');
148 return static::createAccessDsnString($sMdbFile);
160 $sPrefix = static::$m_bPDO ?
"odbc:" :
"";
161 return $sPrefix .
"Driver={Microsoft Access Driver (*.mdb)};Dbq=$sMdbFile;Uid=";
175 switch ($sDatabaseID)
178 $sDBName = arr_get($aConfiguration,
'catalogdbsqlname',
'');
181 $sDBName = arr_get($aConfiguration,
'shippingdbsqlname',
'');
184 $sServer = arr_get($aConfiguration,
'servername',
'');
185 return "sqlsrv:server=$sServer;Database=$sDBName";
static GetShippingDB($aConfiguration=[])
static createAccessDsnString($sMdbFile)
static createSQLServerDsn($aConfiguration, $sDatabaseID=DB_CATALOG)
static createAccessDsn($aConfiguration, $sDatabaseID=DB_CATALOG)
static GetCatalogDB($aConfiguration=[])
static createAll($aConfiguration)
static CreateConnection($aConfiguration, $sDatabaseID=DB_CATALOG)