OXID eShop CE  4.9.11
 All Classes Files Functions Variables Pages
oxDbMetaDataHandler Class Reference
+ Inheritance diagram for oxDbMetaDataHandler:
+ Collaboration diagram for oxDbMetaDataHandler:

Public Member Functions

 getFields ($sTableName)
 tableExists ($sTableName)
 fieldExists ($sFieldName, $sTableName)
 getAllTables ()
 getAllMultiTables ($sTable)
 getAddFieldSql ($sTable, $sField, $sNewField, $sPrevField, $sTableSet=null)
 getAddFieldIndexSql ($sTable, $sField, $sNewField, $sTableSet=null)
 getCurrentMaxLangId ()
 getNextLangId ()
 getMultilangFields ($sTable)
 getSinglelangFields ($sTable, $iLang)
 addNewMultilangField ($sTable)
 resetMultilangFields ($iLangId, $sTableName)
 addNewLangToDb ()
 resetLanguage ($iLangId)
 executeSql ($aSql)
 updateViews ($aTables=null)
- Public Member Functions inherited from oxSuperCfg
 __call ($sMethod, $aArgs)
 __construct ()
 getConfig ()
 setConfig ($oConfig)
 getSession ()
 setSession ($oSession)
 getUser ()
 setUser ($oUser)
 isAdmin ()
 setAdminMode ($blAdmin)

Protected Member Functions

 _getCreateTableSetSql ($sTable, $iLang)
 filterCoreFields ($aFields)
 safeGuardAdditionalMultiLanguageTables ()
 ensureMultiLanguageFields ($sTable, $iLanguageId)

Protected Attributes

 $_aDbTablesFields = null
 $_aTables = null
 $_iCurrentMaxLangId
 $_aSkipTablesOnReset = array("oxcountry")
 $aForceOriginalFields = array('OXID')

Additional Inherited Members

- Static Protected Attributes inherited from oxSuperCfg
static $_oConfig = null
static $_oSession = null
static $_oRights = null
static $_oActUser = null
static $_blIsAdmin = null

Detailed Description

Class for handling database related operations

Definition at line 7 of file oxdbmetadatahandler.php.

Member Function Documentation

oxDbMetaDataHandler::_getCreateTableSetSql (   $sTable,
  $iLang 
)
protected

Get sql for new multi-language table set creation

Parameters
string$sTablecore table name
string$iLanglanguage id
Returns
string

Definition at line 152 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::addNewLangToDb ( )

Add new language to database. Scans all tables and adds new multi-language fields

Definition at line 398 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::addNewMultilangField (   $sTable)

Add new multi-languages fields to table. Duplicates all multi-language fields and fields indexes with next available language ID

Parameters
string$sTabletable name

Definition at line 352 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::ensureMultiLanguageFields (   $sTable,
  $iLanguageId 
)
protected

Make sure that all *_set* tables with all required multilanguage fields are created.

Parameters
$sTable
$iLanguagaId
Returns
null

Definition at line 552 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::executeSql (   $aSql)

Executes array of sql strings

Parameters
array$aSqlSQL query array

Definition at line 447 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::fieldExists (   $sFieldName,
  $sTableName 
)

Check if field exists in table

Parameters
string$sFieldNamefield name
string$sTableNametable name
Returns
bool

Definition at line 85 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::filterCoreFields (   $aFields)
protected

Make sure that e.g. OXID is always used from core table when creating views. Otherwise we might have unwanted side effects from rows with OXIDs null in view tables.

Parameters
$fieldsLanguage fields array we need to filter for core fields.
Returns
array

Definition at line 507 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::getAddFieldIndexSql (   $sTable,
  $sField,
  $sNewField,
  $sTableSet = null 
)

Get sql for new multi-language field index creation

Parameters
string$sTablecore table name
string$sFieldfield name
string$sNewFieldnew field name
string$sTableSettable to change (if not set take core table)
Returns
string

Definition at line 212 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::getAddFieldSql (   $sTable,
  $sField,
  $sNewField,
  $sPrevField,
  $sTableSet = null 
)

Get sql for new multi-language field creation

Parameters
string$sTablecore table name
string$sFieldfield name
string$sNewFieldnew field name
string$sPrevFieldprevious field in table
string$sTableSettable to change (if not set take core table)
Returns
string

Definition at line 176 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::getAllMultiTables (   $sTable)

return all DB tables for the language sets

Parameters
string$sTabletable name to check
Returns
array

Definition at line 130 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::getAllTables ( )

Get all tables names from db. Views tables are not included in this list.

Returns
array

Definition at line 107 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::getCurrentMaxLangId ( )

Get max language ID used in shop. For checking is used table "oxarticle" field "oxtitle"

Returns
int

Definition at line 261 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::getFields (   $sTableName)

Get table fields

Parameters
string$sTableNametable name
Returns
array

Definition at line 49 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::getMultilangFields (   $sTable)

Get table multi-language fields

Parameters
string$sTabletable name
Returns
array

Definition at line 298 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::getNextLangId ( )

Get next available language ID

Returns
int

Definition at line 286 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::getSinglelangFields (   $sTable,
  $iLang 
)

Get single language fields

Parameters
string$sTabletable name
int$iLanglanguage id
Returns
array

Definition at line 320 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::resetLanguage (   $iLangId)

Resetting all multi-language fields with specific language id to default value in all tables. Only if language ID > 0.

Parameters
int$iLangIdLanguage id
Returns
null

Definition at line 421 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::resetMultilangFields (   $iLangId,
  $sTableName 
)

Resetting all multi-language fields with specific language id to default value in selected table

Parameters
int$iLangIdLanguage id
string$sTableNameTable name
Returns
null

Definition at line 367 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::safeGuardAdditionalMultiLanguageTables ( )
protected

Ensure that all *_set* tables for all tables in config parameter 'aMultiLangTables' are created.

Returns
null

Definition at line 523 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::tableExists (   $sTableName)

Check if table exists

Parameters
string$sTableNametable name
Returns
bool

Definition at line 69 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::updateViews (   $aTables = null)

Updates all views

Parameters
array$aTablesarray of DB table name that can store different data per shop like oxArticle
Returns
bool

Definition at line 468 of file oxdbmetadatahandler.php.

Member Data Documentation

oxDbMetaDataHandler::$_aDbTablesFields = null
protected

Definition at line 14 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::$_aSkipTablesOnReset = array("oxcountry")
protected

Definition at line 33 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::$_aTables = null
protected

Definition at line 21 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::$_iCurrentMaxLangId
protected

Definition at line 27 of file oxdbmetadatahandler.php.

oxDbMetaDataHandler::$aForceOriginalFields = array('OXID')
protected

Definition at line 40 of file oxdbmetadatahandler.php.


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