oxI18n Class Reference

Inheritance diagram for oxI18n:

Inheritance graph
[legend]
Collaboration diagram for oxI18n:

Collaboration graph
[legend]

List of all members.


Detailed Description

Class handling multilanguage data fields

Public Member Functions

 __construct ()
 setLanguage ($iLang=null)
 getLanguage ()
 setEnableMultilang ($blEmployMultilanguage)
 isMultilingualField ($sFieldName)
 isMultilang ()
 loadInLang ($iLanguage, $sOxid)
 modifyCacheKey ($sCacheKey, $blOverride=false)
 load ($sOXID)
 assign ($dbRecord)
 getAvailableInLangs ()
 getSqlFieldName ($sField)
 getSqlActiveSnippet ($blForceCoreTable=false)

Protected Member Functions

 _getFieldStatus ($sFieldName)
 _getNonCachedFieldNames ($blForceFullStructure=false)
 _getFieldLang ($sFieldName)
 _update ()

Protected Attributes

 $_sClassName = 'oxI18n'
 $_iLanguage = null
 $_blEmployMultilanguage = true

Constructor & Destructor Documentation

oxI18n.__construct (  ) 

Class constructor, initiates parent constructor (parent.oxBase()).

Reimplemented from oxBase.

Reimplemented in oxAttribute, oxCategory, oxContent, oxCountry, oxDelivery, oxDeliverySet, oxDiscount, oxLinks, oxMediaUrl, oxNews, oxPayment, oxShop, oxVendor, and oxWrapping.


Member Function Documentation

oxI18n.setLanguage ( iLang = null  ) 

Sets object language.

Parameters:
string $iLang string (default null)
Returns:
null;

oxI18n.getLanguage (  ) 

Returns object language

Returns:
int

oxI18n.setEnableMultilang ( blEmployMultilanguage  ) 

Object multilanguage mode setter (set true to enable multilang mode). This setter affects init() method so it should be called before init() is executed

Parameters:
bool $blEmployMultilanguage New $this->_blEmployMultilanguage value
Returns:
null;

oxI18n.isMultilingualField ( sFieldName  ) 

Checks if this field is multlingual (returns false if language = 0)

Parameters:
string $sFieldName Field name
Returns:
bool

oxI18n.isMultilang (  ) 

Returns true, if object has multilanguage fields. In oxi18n it is always returns true.

Returns:
bool

Reimplemented from oxBase.

oxI18n.loadInLang ( iLanguage,
sOxid 
)

Loads object data from DB in passed language, returns true on success.

Parameters:
integer $iLanguage Load this language compatible data
string $sOxid object ID
Returns:
bool

oxI18n.modifyCacheKey ( sCacheKey,
blOverride = false 
)

Lazy loading cache key modifier.

Parameters:
string $sCacheKey kache key
bool $blOverride marker to force override cache key
Returns:
null;

Reimplemented from oxBase.

oxI18n.load ( sOXID  ) 

Loads object data from DB (object data ID is passed to method). Returns true on success. Object is loaded in current shop language.

Parameters:
string $sOXID Object ID
Returns:
bool

Reimplemented from oxBase.

oxI18n.assign ( dbRecord  ) 

Handles multilanguage fields during assignment

Parameters:
array $dbRecord Associative data values array
Returns:
null

Reimplemented from oxBase.

Reimplemented in oxCategory, oxContent, oxNews, oxVendor, and oxWrapping.

oxI18n.getAvailableInLangs (  ) 

Returns an array of languages in which object multilanguage fields are already setted

Returns:
array

oxI18n.getSqlFieldName ( sField  ) 

Returns field name depending on object language.

Parameters:
string $sField Field name
Returns:
string

Reimplemented from oxBase.

oxI18n.getSqlActiveSnippet ( blForceCoreTable = false  ) 

Returns SQL select string with checks if items are available

Parameters:
bool $blForceCoreTable forces core table usage (optional)
Returns:
string

Reimplemented from oxBase.

Reimplemented in oxCategory.

oxI18n._getFieldStatus ( sFieldName  )  [protected]

Returns _aFieldName[] value. 0 means - non multilanguage, 1 - multilanguage field. This method is slow, so we should make sure it is called only when tmp dir is cleaned (and then the results are cached).

Parameters:
$sFieldName Field name
Returns:
int

Reimplemented from oxBase.

oxI18n._getNonCachedFieldNames ( blForceFullStructure = false  )  [protected]

Returns the list of fields. This function is slower and its result is normally cached. Basically we have 3 separate cases here: 1. We are in admin so we need extended info for all fields (name, field length and field type) 2. Object is not lazy loaded so we will return all data fields as simple array, as we nede only names 3. Object is lazy loaded so we will return empty array as all fields are loaded on request (in __get()).

Parameters:
bool $blForceFullStructure Whether to force loading of full data structure
Returns:
array

Reimplemented from oxBase.

oxI18n._getFieldLang ( sFieldName  )  [protected]

Gets multilanguage field language. In case of oxtitle_2 it will return 2. 0 is returned if language ending is not defined.

Parameters:
string $sFieldName Field name
Returns:
bool

oxI18n._update (  )  [protected]

Update this Object into the database, this function only works on the main table, it will not save any dependend tables, which might be loaded through oxlist.

Exceptions:
oxObjectException Throws on failure inserting
Returns:
bool

Reimplemented from oxBase.

Reimplemented in oxCategory, and oxNews.


Member Data Documentation

oxI18n.$_sClassName = 'oxI18n' [protected]

oxI18n.$_iLanguage = null [protected]

oxI18n.$_blEmployMultilanguage = true [protected]


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

Generated on Wed Oct 29 23:44:31 2008 for OXID eShop CE by  doxygen 1.5.5