Tutorial Extension  1.0.0
SellerDeck Extensions - Tutorial Extension
Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | List of all members
CDataBaseFactory Class Reference

Static Public Member Functions

static createAll ($aConfiguration)
 
static GetCatalogDB ($aConfiguration=[])
 
static GetShippingDB ($aConfiguration=[])
 
static createAccessDsnString ($sMdbFile)
 

Static Public Attributes

static $m_oCatalogDB = null
 
static $m_oShippingDB = null
 
static $m_bPDO = true
 

Static Protected Member Functions

static CreateConnection ($aConfiguration, $sDatabaseID=DB_CATALOG)
 
static createAccessDsn ($aConfiguration, $sDatabaseID=DB_CATALOG)
 
static createSQLServerDsn ($aConfiguration, $sDatabaseID=DB_CATALOG)
 

Detailed Description

Definition at line 14 of file CDataBaseFactory.php.

Member Function Documentation

static createAccessDsn (   $aConfiguration,
  $sDatabaseID = DB_CATALOG 
)
staticprotected

createAccessDsn - Creates MS Access DSN

protected

Parameters
array$aConfigurationConnection Details
string$sDatabaseIDDatabase ID
Returns
string

Definition at line 136 of file CDataBaseFactory.php.

137  {
138  $sMdbFile = "";
139  switch ($sDatabaseID)
140  {
141  case DB_CATALOG:
142  $sMdbFile = arr_get($aConfiguration, 'catalogdbfilepath', '');
143  break;
144  case DB_SHIPPING:
145  $sMdbFile = arr_get($aConfiguration, 'shippingdbfilepath', '');
146  break;
147  }
148  return static::createAccessDsnString($sMdbFile);
149  }
static createAccessDsnString (   $sMdbFile)
static

createAccessDsnString - Creates MS Access DSN

protected

Parameters
string$sMdbFileMDB File
Returns
string

Definition at line 158 of file CDataBaseFactory.php.

159  {
160  $sPrefix = static::$m_bPDO ? "odbc:" : "";
161  return $sPrefix . "Driver={Microsoft Access Driver (*.mdb)};Dbq=$sMdbFile;Uid=";
162  }
static createAll (   $aConfiguration)
static

createAll - Creates all Database connections

public

Parameters
string$aConfigurationDatabase Configuration
Returns
array Array of CDataBase objects

Definition at line 39 of file CDataBaseFactory.php.

40  {
41  return [
42  static::GetCatalogDB($aConfiguration),
43  static::GetShippingDB($aConfiguration),
44  ];
45  }
static CreateConnection (   $aConfiguration,
  $sDatabaseID = DB_CATALOG 
)
staticprotected

CreateConnection - Creates Database connection

protected

Parameters
array$aConfigurationConnection Details
string$sDatabaseIDDatabase ID
Returns
CDataBase DataBase object

Definition at line 87 of file CDataBaseFactory.php.

88  {
89  static::$m_bPDO = is_PDO();
90  $sDBType = arr_get($aConfiguration, 'dbtype', DB_TYPE_ACCESS);
91  $sDBAuthType = "";
92  switch ($sDBType)
93  {
94  case DB_TYPE_ACCESS:
95  $sDsn = static::createAccessDsn($aConfiguration, $sDatabaseID);
96  $sDriverClass = static::$m_bPDO ? DB_CLASS_ACCESS : DB_CLASS_ACCESS_NO_PDO;
97  $sUser = "";
98  $sPassword = "";
99  $aDataBases = [
100  DB_CATALOG => arr_get($aConfiguration, 'catalogdbfilepath', 'Site1\\ActinicCatalog.mdb'),
101  DB_SHIPPING => arr_get($aConfiguration, 'shippingdbfilepath', 'Site1\\ShipControl\\SimpleShipping.mdb'),
102  ];
103  break;
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', '');
110  $aDataBases = [
111  DB_CATALOG => arr_get($aConfiguration, 'catalogdbsqlname', 'NewSite_Catalog'),
112  DB_SHIPPING => arr_get($aConfiguration, 'shippingdbsqlname', 'NewSite_Shipping'),
113  ];
114  break;
115  }
116  $aConnectionDetails = [
117  'sDsn' => $sDsn,
118  'sUser' => $sUser,
119  'sPassword' => $sPassword,
120  'sDBAuthType' => $sDBAuthType,
121  'sDatabaseID' => $sDatabaseID,
122  'aDataBases' => $aDataBases,
123  ];
124  $sDriverClassWithNS = "SDExtension\DB\\$sDriverClass";
125  return new $sDriverClassWithNS($aConnectionDetails, $sDatabaseID);
126  }
static createSQLServerDsn (   $aConfiguration,
  $sDatabaseID = DB_CATALOG 
)
staticprotected

createSQLServerDsn - Creates MS SQL Server DSN

protected

Parameters
array$aConfigurationConnection Details
string$sDatabaseIDDatabase ID
Returns
string

Definition at line 172 of file CDataBaseFactory.php.

173  {
174  $sDBName = "";
175  switch ($sDatabaseID)
176  {
177  case DB_CATALOG:
178  $sDBName = arr_get($aConfiguration, 'catalogdbsqlname', '');
179  break;
180  case DB_SHIPPING:
181  $sDBName = arr_get($aConfiguration, 'shippingdbsqlname', '');
182  break;
183  }
184  $sServer = arr_get($aConfiguration, 'servername', '');
185  return "sqlsrv:server=$sServer;Database=$sDBName";
186  }
static GetCatalogDB (   $aConfiguration = [])
static

GetCatalogDB - Gets or Creates Catalog Database connection

public

Parameters
array$aConfigurationDatabase Configuration
Returns
CDataBase

Definition at line 54 of file CDataBaseFactory.php.

55  {
56  if (null == static::$m_oCatalogDB)
57  {
58  static::$m_oCatalogDB = static::CreateConnection($aConfiguration, DB_CATALOG);
59  }
60  return static::$m_oCatalogDB;
61  }
static GetShippingDB (   $aConfiguration = [])
static

GetShippingDB - Gets or Creates Shipping Database connection

public

Parameters
array$aConfigurationDatabase Configuration
Returns
CDataBase

Definition at line 70 of file CDataBaseFactory.php.

71  {
72  if (null == static::$m_oShippingDB)
73  {
74  static::$m_oShippingDB = static::CreateConnection($aConfiguration, DB_SHIPPING);
75  }
76  return static::$m_oShippingDB;
77  }

The documentation for this class was generated from the following file: