Class: I2CE MagicDataNode: Difference between revisions

From IHRIS Wiki
No edit summary
No edit summary
Line 7: Line 7:
** [[Class: I2CE_MagicData | I2CE_MagicData]]
** [[Class: I2CE_MagicData | I2CE_MagicData]]
*Location: Part of the module [[I2CE Module List#I2CE|I2CE]] in the package [https://launchpad.net/i2ce I2CE]
*Location: Part of the module [[I2CE Module List#I2CE|I2CE]] in the package [https://launchpad.net/i2ce I2CE]
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.1-release/annotate/head:/lib/I2CE_MagicDataNode.php lib/I2CE_MagicDataNode.php]
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L34 lib/I2CE_MagicDataNode.php] on line 34
Configuration class to lookup and save configuration options.
Configuration class to lookup and save configuration options.
==Constants==
==Constants==
Line 26: Line 26:
===$type===
===$type===
The type of this configuration setting.  Possible values are -1 = unset, 0 = parent object, 1 = scalar/value.
The type of this configuration setting.  Possible values are -1 = unset, 0 = parent object, 1 = scalar/value.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L60 i2ce/lib/I2CE_MagicDataNode.php] on line 60
*Type: protected integer $type
*Type: protected integer $type


===$name===
===$name===
The name of this configuration setting.
The name of this configuration setting.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L64 i2ce/lib/I2CE_MagicDataNode.php] on line 64
*Type: protected [http://www.php.net/manual/en/language.types.string.php string ] $name
*Type: protected [http://www.php.net/manual/en/language.types.string.php string ] $name


===$value===
===$value===
The value of this configuration setting.  This is only valid when type = 1.
The value of this configuration setting.  This is only valid when type = 1.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L69 i2ce/lib/I2CE_MagicDataNode.php] on line 69
*Type: protected [http://www.php.net/manual/en/language.types.string.php string ] $value
*Type: protected [http://www.php.net/manual/en/language.types.string.php string ] $value


===$children===
===$children===
All children configuration objects for this configuration group.  This is only valid when type = 0
All children configuration objects for this configuration group.  This is only valid when type = 0
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L73 i2ce/lib/I2CE_MagicDataNode.php] on line 73
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $children
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $children


===$parent===
===$parent===
The parent of this configuration.
The parent of this configuration.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L77 i2ce/lib/I2CE_MagicDataNode.php] on line 77
*Type: protected [[Class: I2CE_MagicDataNode | I2CE_MagicDataNode]] $parent
*Type: protected [[Class: I2CE_MagicDataNode | I2CE_MagicDataNode]] $parent


===$parentPath===
===$parentPath===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L78 i2ce/lib/I2CE_MagicDataNode.php] on line 78
*Type: protected $parentPath
*Type: protected $parentPath


===$parentPathTop===
===$parentPathTop===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L79 i2ce/lib/I2CE_MagicDataNode.php] on line 79
*Type: protected $parentPathTop
*Type: protected $parentPathTop


===$top===
===$top===
The top level of this configuration.
The top level of this configuration.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L83 i2ce/lib/I2CE_MagicDataNode.php] on line 83
*Type: protected [[Class: I2CE_MagicDataNode | I2CE_MagicDataNode]] $top
*Type: protected [[Class: I2CE_MagicDataNode | I2CE_MagicDataNode]] $top


===$volatile===
===$volatile===
.  True if the data is volatile.  Defaults to false
.  True if the data is volatile.  Defaults to false
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L88 i2ce/lib/I2CE_MagicDataNode.php] on line 88
*Type: protected [http://www.php.net/manual/en/language.types.boolean.php boolean ] $volatile
*Type: protected [http://www.php.net/manual/en/language.types.boolean.php boolean ] $volatile


===$attributes===
===$attributes===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1704 i2ce/lib/I2CE_MagicDataNode.php] on line 1704
*Type: protected $attributes
*Type: protected $attributes


Line 64: Line 74:
===__construct()===
===__construct()===
Construct a new configuration value or grouping.
Construct a new configuration value or grouping.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L190 i2ce/lib/I2CE_MagicDataNode.php] on line 190
*Signature: protected function __construct($name,$parent,$check_key)
*Signature: protected function __construct($name,$parent,$check_key)
*Parameters:
*Parameters:
Line 74: Line 85:
===__get()===
===__get()===
Get the value for a child configuration option.
Get the value for a child configuration option.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L987 i2ce/lib/I2CE_MagicDataNode.php] on line 987
*Signature: public function __get($path)
*Signature: public function __get($path)
*Parameters:
*Parameters:
Line 80: Line 92:
===__isset()===
===__isset()===
Check to see if a given key or path exists and the value is set
Check to see if a given key or path exists and the value is set
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1087 i2ce/lib/I2CE_MagicDataNode.php] on line 1087
*Signature: public function __isset($path)
*Signature: public function __isset($path)
*Parameters:
*Parameters:
Line 85: Line 98:
===__set()===
===__set()===
Set the value for a child configuration option.
Set the value for a child configuration option.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L956 i2ce/lib/I2CE_MagicDataNode.php] on line 956
*Signature: public function __set($path,$value)
*Signature: public function __set($path,$value)
*Parameters:
*Parameters:
Line 90: Line 104:
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $value
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $value
===__toString()===
===__toString()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1367 i2ce/lib/I2CE_MagicDataNode.php] on line 1367
*Signature: public function __toString()
*Signature: public function __toString()
===__unset()===
===__unset()===
Unset a given key in the children array.
Unset a given key in the children array.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1179 i2ce/lib/I2CE_MagicDataNode.php] on line 1179
*Signature: final public function __unset($key)
*Signature: final public function __unset($key)
*Parameters:
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $key
** [http://www.php.net/manual/en/language.types.string.php string ] $key
===_getAsArray()===
===_getAsArray()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1344 i2ce/lib/I2CE_MagicDataNode.php] on line 1344
*Signature: protected function _getAsArray($locale)
*Signature: protected function _getAsArray($locale)
*Parameters:
*Parameters:
Line 102: Line 119:
***Default Value: null
***Default Value: null
===_getAttribute()===
===_getAttribute()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1744 i2ce/lib/I2CE_MagicDataNode.php] on line 1744
*Signature: protected function _getAttribute($key,$prefix)
*Signature: protected function _getAttribute($key,$prefix)
*Parameters:
*Parameters:
Line 107: Line 125:
**$prefix  
**$prefix  
===_getAttributes()===
===_getAttributes()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1801 i2ce/lib/I2CE_MagicDataNode.php] on line 1801
*Signature: protected function _getAttributes($keys_only,$prefix)
*Signature: protected function _getAttributes($keys_only,$prefix)
*Parameters:
*Parameters:
Line 112: Line 131:
**$prefix  
**$prefix  
===_hasAttribute()===
===_hasAttribute()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1717 i2ce/lib/I2CE_MagicDataNode.php] on line 1717
*Signature: protected function _hasAttribute($key,$prefix)
*Signature: protected function _hasAttribute($key,$prefix)
*Parameters:
*Parameters:
Line 117: Line 137:
**$prefix  
**$prefix  
===_removeAttribute()===
===_removeAttribute()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1775 i2ce/lib/I2CE_MagicDataNode.php] on line 1775
*Signature: protected function _removeAttribute($prefix,$key)
*Signature: protected function _removeAttribute($prefix,$key)
*Parameters:
*Parameters:
Line 122: Line 143:
**$key  
**$key  
===_setAttribute()===
===_setAttribute()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1850 i2ce/lib/I2CE_MagicDataNode.php] on line 1850
*Signature: protected function _setAttribute($key,$val,$prefix)
*Signature: protected function _setAttribute($key,$val,$prefix)
*Parameters:
*Parameters:
Line 129: Line 151:
===checkKey()===
===checkKey()===
Check to make sure a given key is valid. It can be any combination of _-+.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
Check to make sure a given key is valid. It can be any combination of _-+.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L125 i2ce/lib/I2CE_MagicDataNode.php] on line 125
*Signature: static public function checkKey($key)
*Signature: static public function checkKey($key)
*Parameters:
*Parameters:
Line 134: Line 157:
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===count()===
===count()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1574 i2ce/lib/I2CE_MagicDataNode.php] on line 1574
*Signature: public function count()
*Signature: public function count()
===current()===
===current()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1590 i2ce/lib/I2CE_MagicDataNode.php] on line 1590
*Signature: public function current()
*Signature: public function current()
===erase()===
===erase()===
Erases the current node and all of its subnodes from the storage mechanism.
Erases the current node and all of its subnodes from the storage mechanism.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1246 i2ce/lib/I2CE_MagicDataNode.php] on line 1246
*Signature: public function erase($locale)
*Signature: public function erase($locale)
*Parameters:
*Parameters:
Line 146: Line 172:
===eraseChildren()===
===eraseChildren()===
Erases all children of the current node and all of its subnodes from the storage mechanism.
Erases all children of the current node and all of its subnodes from the storage mechanism.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1200 i2ce/lib/I2CE_MagicDataNode.php] on line 1200
*Signature: public function eraseChildren($locale)
*Signature: public function eraseChildren($locale)
*Parameters:
*Parameters:
Line 153: Line 180:
===getAsArray()===
===getAsArray()===
Return an array of all the child values for this object.
Return an array of all the child values for this object.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1324 i2ce/lib/I2CE_MagicDataNode.php] on line 1324
*Signature: public function getAsArray($path,$locale)
*Signature: public function getAsArray($path,$locale)
*Parameters:
*Parameters:
Line 162: Line 190:
===getAttribute()===
===getAttribute()===
Gets an attribute
Gets an attribute
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1739 i2ce/lib/I2CE_MagicDataNode.php] on line 1739
*Signature: public function getAttribute($key)
*Signature: public function getAttribute($key)
*Parameters:
*Parameters:
Line 168: Line 197:
===getAttributes()===
===getAttributes()===
Get the attributes
Get the attributes
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1797 i2ce/lib/I2CE_MagicDataNode.php] on line 1797
*Signature: public function getAttributes($keys_only)
*Signature: public function getAttributes($keys_only)
*Parameters:
*Parameters:
Line 174: Line 204:
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]
===getChildren()===
===getChildren()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1692 i2ce/lib/I2CE_MagicDataNode.php] on line 1692
*Signature: public function getChildren()
*Signature: public function getChildren()
===getKeys()===
===getKeys()===
Return an array of all child keys for this object.
Return an array of all child keys for this object.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1289 i2ce/lib/I2CE_MagicDataNode.php] on line 1289
*Signature: public function getKeys($path,$attrs)
*Signature: public function getKeys($path,$attrs)
*Parameters:
*Parameters:
Line 186: Line 218:
===getName()===
===getName()===
Return the name of this configuration setting.
Return the name of this configuration setting.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L180 i2ce/lib/I2CE_MagicDataNode.php] on line 180
*Signature: public function getName()
*Signature: public function getName()
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]
===getParent()===
===getParent()===
Get the parent magic data node
Get the parent magic data node
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1077 i2ce/lib/I2CE_MagicDataNode.php] on line 1077
*Signature: public function getParent()
*Signature: public function getParent()
*Returns: [[Class: I2CE_MagicDataNode | I2CE_MagicDataNode]]
*Returns: [[Class: I2CE_MagicDataNode | I2CE_MagicDataNode]]
===getPath()===
===getPath()===
Return the full path to this configuration setting.
Return the full path to this configuration setting.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L151 i2ce/lib/I2CE_MagicDataNode.php] on line 151
*Signature: public function getPath($show_top)
*Signature: public function getPath($show_top)
*Parameters:
*Parameters:
Line 201: Line 236:
===getSaveValue()===
===getSaveValue()===
Return the direct scalar value for this node.
Return the direct scalar value for this node.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L890 i2ce/lib/I2CE_MagicDataNode.php] on line 890
*Signature: public function getSaveValue()
*Signature: public function getSaveValue()
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]
===getTranslation()===
===getTranslation()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L503 i2ce/lib/I2CE_MagicDataNode.php] on line 503
*Signature: public function getTranslation($locale,$resolve,$path)
*Signature: public function getTranslation($locale,$resolve,$path)
*Parameters:
*Parameters:
Line 213: Line 250:
===getTranslations()===
===getTranslations()===
Get the translations for the current node
Get the translations for the current node
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L392 i2ce/lib/I2CE_MagicDataNode.php] on line 392
*Signature: public function getTranslations($locales_only,$include_default_locale)
*Signature: public function getTranslations($locales_only,$include_default_locale)
*Parameters:
*Parameters:
Line 222: Line 260:
===getType()===
===getType()===
Return the type of this node.
Return the type of this node.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L701 i2ce/lib/I2CE_MagicDataNode.php] on line 701
*Signature: public function getType()
*Signature: public function getType()
*Returns: [http://www.php.net/manual/en/language.types.integer.php int ]<br/>or false on failure
*Returns: [http://www.php.net/manual/en/language.types.integer.php int ]<br/>or false on failure
===getValue()===
===getValue()===
Return the value of this configuration object if the type == 1 and the current object if type is anything else.
Return the value of this configuration object if the type == 1 and the current object if type is anything else.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L330 i2ce/lib/I2CE_MagicDataNode.php] on line 330
*Signature: public function getValue()
*Signature: public function getValue()
*Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]
*Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]
===hasAttribute()===
===hasAttribute()===
Checks to see if an attribute is present
Checks to see if an attribute is present
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1712 i2ce/lib/I2CE_MagicDataNode.php] on line 1712
*Signature: public function hasAttribute($key)
*Signature: public function hasAttribute($key)
*Parameters:
*Parameters:
Line 236: Line 277:
===hasChildren()===
===hasChildren()===
whether the current key has children or not. this is _not_ whether this has a children or not
whether the current key has children or not. this is _not_ whether this has a children or not
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1682 i2ce/lib/I2CE_MagicDataNode.php] on line 1682
*Signature: public function hasChildren()
*Signature: public function hasChildren()
===isScalar()===
===isScalar()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L91 i2ce/lib/I2CE_MagicDataNode.php] on line 91
*Signature: private function isScalar()
*Signature: private function isScalar()
===is_indeterminate()===
===is_indeterminate()===
Check to see if the value at the specified path is indeterminate @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
Check to see if the value at the specified path is indeterminate @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L840 i2ce/lib/I2CE_MagicDataNode.php] on line 840
*Signature: public function is_indeterminate($path)
*Signature: public function is_indeterminate($path)
*Parameters:
*Parameters:
Line 248: Line 292:
===is_parent()===
===is_parent()===
Check to see if the value at the specified path is set and is a parent node. @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
Check to see if the value at the specified path is set and is a parent node. @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L865 i2ce/lib/I2CE_MagicDataNode.php] on line 865
*Signature: public function is_parent($path)
*Signature: public function is_parent($path)
*Parameters:
*Parameters:
Line 255: Line 300:
===is_populated()===
===is_populated()===
Check to see if the value at the specified path is populated @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
Check to see if the value at the specified path is populated @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L795 i2ce/lib/I2CE_MagicDataNode.php] on line 795
*Signature: protected function is_populated($path)
*Signature: protected function is_populated($path)
*Parameters:
*Parameters:
Line 261: Line 307:
*Returns: boolean.<br/>True if it is a scalar value
*Returns: boolean.<br/>True if it is a scalar value
===is_root()===
===is_root()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L814 i2ce/lib/I2CE_MagicDataNode.php] on line 814
*Signature: public function is_root($path)
*Signature: public function is_root($path)
*Parameters:
*Parameters:
Line 267: Line 314:
===is_scalar()===
===is_scalar()===
Check to see if the value at the specified path is set and is a scalar. @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
Check to see if the value at the specified path is set and is a scalar. @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L716 i2ce/lib/I2CE_MagicDataNode.php] on line 716
*Signature: public function is_scalar($path)
*Signature: public function is_scalar($path)
*Parameters:
*Parameters:
Line 274: Line 322:
===is_translatable()===
===is_translatable()===
Checked to see if the node referenced is translatable
Checked to see if the node referenced is translatable
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L359 i2ce/lib/I2CE_MagicDataNode.php] on line 359
*Signature: public function is_translatable($path)
*Signature: public function is_translatable($path)
*Parameters:
*Parameters:
Line 281: Line 330:
===is_translated()===
===is_translated()===
Checked to see if the node referenced is translated ito the given locale
Checked to see if the node referenced is translated ito the given locale
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L412 i2ce/lib/I2CE_MagicDataNode.php] on line 412
*Signature: public function is_translated($locale,$path)
*Signature: public function is_translated($locale,$path)
*Parameters:
*Parameters:
Line 288: Line 338:
*Returns: boolean.
*Returns: boolean.
===key()===
===key()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1604 i2ce/lib/I2CE_MagicDataNode.php] on line 1604
*Signature: public function key()
*Signature: public function key()
===krsort()===
===krsort()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1958 i2ce/lib/I2CE_MagicDataNode.php] on line 1958
*Signature: public function krsort($sort_flags,$recurse)
*Signature: public function krsort($sort_flags,$recurse)
*Parameters:
*Parameters:
Line 297: Line 349:
***Default Value: false
***Default Value: false
===ksort()===
===ksort()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1928 i2ce/lib/I2CE_MagicDataNode.php] on line 1928
*Signature: public function ksort($sort_flags,$recurse)
*Signature: public function ksort($sort_flags,$recurse)
*Parameters:
*Parameters:
Line 305: Line 358:
===newAttribute()===
===newAttribute()===
Make a new attribute this object with the given key.  The $nosave flag should only be set when populating a parent node from storage.
Make a new attribute this object with the given key.  The $nosave flag should only be set when populating a parent node from storage.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1896 i2ce/lib/I2CE_MagicDataNode.php] on line 1896
*Signature: protected function newAttribute($key,$save,$prefix)
*Signature: protected function newAttribute($key,$save,$prefix)
*Parameters:
*Parameters:
Line 313: Line 367:
===newChild()===
===newChild()===
Make a new child for this object with the given key.  The $nosave flag should only be set when populating a parent node from storage.
Make a new child for this object with the given key.  The $nosave flag should only be set when populating a parent node from storage.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L910 i2ce/lib/I2CE_MagicDataNode.php] on line 910
*Signature: protected function newChild($key,$save)
*Signature: protected function newChild($key,$save)
*Parameters:
*Parameters:
Line 320: Line 375:
*Returns: [[Class: I2CE_MagicDataNode | I2CE_MagicDataNode]]<br/>The child that was created or null on failure
*Returns: [[Class: I2CE_MagicDataNode | I2CE_MagicDataNode]]<br/>The child that was created or null on failure
===next()===
===next()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1613 i2ce/lib/I2CE_MagicDataNode.php] on line 1613
*Signature: public function next()
*Signature: public function next()
===offsetExists()===
===offsetExists()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1479 i2ce/lib/I2CE_MagicDataNode.php] on line 1479
*Signature: public function offsetExists($key)
*Signature: public function offsetExists($key)
*Parameters:
*Parameters:
**$key  
**$key  
===offsetGet()===
===offsetGet()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1502 i2ce/lib/I2CE_MagicDataNode.php] on line 1502
*Signature: public function offsetGet($key)
*Signature: public function offsetGet($key)
*Parameters:
*Parameters:
**$key  
**$key  
===offsetSet()===
===offsetSet()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1528 i2ce/lib/I2CE_MagicDataNode.php] on line 1528
*Signature: public function offsetSet($key,$val)
*Signature: public function offsetSet($key,$val)
*Parameters:
*Parameters:
Line 335: Line 394:
**$val  
**$val  
===offsetUnset()===
===offsetUnset()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1550 i2ce/lib/I2CE_MagicDataNode.php] on line 1550
*Signature: public function offsetUnset($key)
*Signature: public function offsetUnset($key)
*Parameters:
*Parameters:
Line 340: Line 400:
===pathDivider()===
===pathDivider()===
Return the path divider for this MagicDataNode object
Return the path divider for this MagicDataNode object
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L144 i2ce/lib/I2CE_MagicDataNode.php] on line 144
*Signature: protected function pathDivider()
*Signature: protected function pathDivider()
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]
===pathExists()===
===pathExists()===
Check to see if a given key  key or path exists
Check to see if a given key  key or path exists
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1113 i2ce/lib/I2CE_MagicDataNode.php] on line 1113
*Signature: public function pathExists($path)
*Signature: public function pathExists($path)
*Parameters:
*Parameters:
Line 349: Line 411:
===pop()===
===pop()===
Pop a value off the end of a parent/indeterminate node. @param mixed.  Scalar value if the node is scalar, an array if it is a parent, otherwise null.
Pop a value off the end of a parent/indeterminate node. @param mixed.  Scalar value if the node is scalar, an array if it is a parent, otherwise null.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1440 i2ce/lib/I2CE_MagicDataNode.php] on line 1440
*Signature: public function pop()
*Signature: public function pop()
===populate()===
===populate()===
Populate any stored data based on the storage objects set in the top node.
Populate any stored data based on the storage objects set in the top node.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L252 i2ce/lib/I2CE_MagicDataNode.php] on line 252
*Signature: protected function populate()
*Signature: protected function populate()
*Returns: true<br/>on success.
*Returns: true<br/>on success.
===push()===
===push()===
Push a value onto the end of a parent/indeterminate node.
Push a value onto the end of a parent/indeterminate node.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1419 i2ce/lib/I2CE_MagicDataNode.php] on line 1419
*Signature: public function push($val)
*Signature: public function push($val)
*Parameters:
*Parameters:
Line 362: Line 427:
===raiseError()===
===raiseError()===
Raise an error and redirect the user for any critical errors. The default redirect will go to the home page for the site. @param string/mixed $message The error message.
Raise an error and redirect the user for any critical errors. The default redirect will go to the home page for the site. @param string/mixed $message The error message.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L2031 i2ce/lib/I2CE_MagicDataNode.php] on line 2031
*Signature: static public function raiseError($message,$type,$redirect)
*Signature: static public function raiseError($message,$type,$redirect)
*Parameters:
*Parameters:
Line 371: Line 437:
===removeAttribute()===
===removeAttribute()===
Removes an attribute
Removes an attribute
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1770 i2ce/lib/I2CE_MagicDataNode.php] on line 1770
*Signature: public function removeAttribute($key)
*Signature: public function removeAttribute($key)
*Parameters:
*Parameters:
Line 376: Line 443:
*Returns: true<br/>if the attribute was removed.  false if the attribute did not exist
*Returns: true<br/>if the attribute was removed.  false if the attribute did not exist
===removeTranslation()===
===removeTranslation()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1231 i2ce/lib/I2CE_MagicDataNode.php] on line 1231
*Signature: public function removeTranslation($locale)
*Signature: public function removeTranslation($locale)
*Parameters:
*Parameters:
**$locale  
**$locale  
===rewind()===
===rewind()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1626 i2ce/lib/I2CE_MagicDataNode.php] on line 1626
*Signature: public function rewind()
*Signature: public function rewind()
===save()===
===save()===
Call all the storage methods associated with this configuration.
Call all the storage methods associated with this configuration.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1379 i2ce/lib/I2CE_MagicDataNode.php] on line 1379
*Signature: protected function save($recurse)
*Signature: protected function save($recurse)
*Parameters:
*Parameters:
Line 388: Line 458:
***Default Value: false
***Default Value: false
===setAttribute()===
===setAttribute()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1835 i2ce/lib/I2CE_MagicDataNode.php] on line 1835
*Signature: public function setAttribute($key,$val)
*Signature: public function setAttribute($key,$val)
*Parameters:
*Parameters:
Line 394: Line 465:
===setIfIsSet()===
===setIfIsSet()===
If the data referenced by that path is set, we set the value of $data to that data
If the data referenced by that path is set, we set the value of $data to that data
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1141 i2ce/lib/I2CE_MagicDataNode.php] on line 1141
*Signature: public function setIfIsSet($data,$path,$as_array)
*Signature: public function setIfIsSet($data,$path,$as_array)
*Parameters:
*Parameters:
Line 403: Line 475:
===setTranslatable()===
===setTranslatable()===
Sets the translatable attribute for the referenced node @param boolean $transtable. Defaults to true
Sets the translatable attribute for the referenced node @param boolean $transtable. Defaults to true
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L443 i2ce/lib/I2CE_MagicDataNode.php] on line 443
*Signature: public function setTranslatable($path,$translatable)
*Signature: public function setTranslatable($path,$translatable)
*Parameters:
*Parameters:
Line 411: Line 484:
*Returns: true<br/>on success, false on failure
*Returns: true<br/>on success, false on failure
===setTranslation()===
===setTranslation()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L469 i2ce/lib/I2CE_MagicDataNode.php] on line 469
*Signature: public function setTranslation($locale,$translation,$path)
*Signature: public function setTranslation($locale,$translation,$path)
*Parameters:
*Parameters:
Line 419: Line 493:
===setType()===
===setType()===
Set the type for this object.  The nosave flag should be set to true if the calling function is going to save so that it doesn't get saved twice.
Set the type for this object.  The nosave flag should be set to true if the calling function is going to save so that it doesn't get saved twice.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L688 i2ce/lib/I2CE_MagicDataNode.php] on line 688
*Signature: protected function setType($type)
*Signature: protected function setType($type)
*Parameters:
*Parameters:
Line 425: Line 500:
===setValue()===
===setValue()===
Set the scalar value for this object.
Set the scalar value for this object.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L553 i2ce/lib/I2CE_MagicDataNode.php] on line 553
*Signature: public function setValue($value,$locale,$set_default_locale)
*Signature: public function setValue($value,$locale,$set_default_locale)
*Parameters:
*Parameters:
Line 435: Line 511:
===set_parent()===
===set_parent()===
Set the magic data node at the specified  path to be a parent node if is indeterminate @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
Set the magic data node at the specified  path to be a parent node if is indeterminate @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L768 i2ce/lib/I2CE_MagicDataNode.php] on line 768
*Signature: public function set_parent($path)
*Signature: public function set_parent($path)
*Parameters:
*Parameters:
Line 442: Line 519:
===set_scalar()===
===set_scalar()===
Set the magic data node at the specified  path to be scalar if is indeterminate @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
Set the magic data node at the specified  path to be scalar if is indeterminate @param strign $key. A key or path in the magic data.  If null (default) then we are checking on the node itself
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L740 i2ce/lib/I2CE_MagicDataNode.php] on line 740
*Signature: public function set_scalar($path)
*Signature: public function set_scalar($path)
*Parameters:
*Parameters:
Line 449: Line 527:
===traverse()===
===traverse()===
Traverse magic data by a given path
Traverse magic data by a given path
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1005 i2ce/lib/I2CE_MagicDataNode.php] on line 1005
*Signature: public function traverse($path,$create,$return_value)
*Signature: public function traverse($path,$create,$return_value)
*Parameters:
*Parameters:
Line 458: Line 537:
*Returns: mixed.<br/>String, if the path is valid and refers to a leaf node. I2CE_MagicDataNode  if the path is valid but not a leaf node, or  null on ffailure (invalid path/path not set)
*Returns: mixed.<br/>String, if the path is valid and refers to a leaf node. I2CE_MagicDataNode  if the path is valid but not a leaf node, or  null on ffailure (invalid path/path not set)
===uksort()===
===uksort()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1988 i2ce/lib/I2CE_MagicDataNode.php] on line 1988
*Signature: public function uksort($cmp_function,$recurse)
*Signature: public function uksort($cmp_function,$recurse)
*Parameters:
*Parameters:
Line 464: Line 544:
***Default Value: false
***Default Value: false
===unpopulate()===
===unpopulate()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L220 i2ce/lib/I2CE_MagicDataNode.php] on line 220
*Signature: public function unpopulate($deep)
*Signature: public function unpopulate($deep)
*Parameters:
*Parameters:
Line 469: Line 550:
***Default Value: true
***Default Value: true
===valid()===
===valid()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L1636 i2ce/lib/I2CE_MagicDataNode.php] on line 1636
*Signature: public function valid()
*Signature: public function valid()
===volatile()===
===volatile()===
Check/set whether this magic data is volatile or not
Check/set whether this magic data is volatile or not
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0.2-release/annotate/head:/lib/I2CE_MagicDataNode.php#L105 i2ce/lib/I2CE_MagicDataNode.php] on line 105
*Signature: public function volatile($volatile)
*Signature: public function volatile($volatile)
*Parameters:
*Parameters:

Revision as of 09:51, 10 November 2009

This article describes the class I2CE_MagicDataNode.

Configuration class to lookup and save configuration options.

Constants

I2CE_MagicDataNode::TYPE_NOT_POPULATED

Constant type value when this data set hasn't tried to

populate from storage yet.

Defined as: -2

I2CE_MagicDataNode::TYPE_INDETERMINATE

Constant type value when this data set hasn't been defined. Defined as: -1

I2CE_MagicDataNode::TYPE_PARENT

Constant type value when this data set is a parent node. Defined as: 0

I2CE_MagicDataNode::TYPE_STRING_VALUE

Constant type value when this data set is a string value. Defined as: 1

Variables

$type

The type of this configuration setting. Possible values are -1 = unset, 0 = parent object, 1 = scalar/value.

$name

The name of this configuration setting.

$value

The value of this configuration setting. This is only valid when type = 1.

$children

All children configuration objects for this configuration group. This is only valid when type = 0

$parent

The parent of this configuration.

$parentPath

$parentPathTop

$top

The top level of this configuration.

$volatile

. True if the data is volatile. Defaults to false

$attributes

Methods

__construct()

Construct a new configuration value or grouping.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 190
  • Signature: protected function __construct($name,$parent,$check_key)
  • Parameters:
    • string $name
      The name of this configuration setting.
      • Default Value: null
    • I2CE_MagicDataNode $parent
      The parent of this configuration setting.
      • Default Value: null
    • boolean $check_key
      Defaults to true in which case we check that the key is valid.
      • Default Value: true

__get()

Get the value for a child configuration option.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 987
  • Signature: public function __get($path)
  • Parameters:
    • $path
  • Returns: mixed.
    Null if the path was invalid. I2CE_MagicDataNode or string on success

__isset()

Check to see if a given key or path exists and the value is set

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1087
  • Signature: public function __isset($path)
  • Parameters:
    • mixed $path
      {@see traverse()} returns mixed. Booolean true or false if the magic data referenced by the given path is set. null on failure (invalid path)

__set()

Set the value for a child configuration option.

__toString()

__unset()

Unset a given key in the children array.

_getAsArray()

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1344
  • Signature: protected function _getAsArray($locale)
  • Parameters:
    • string $locale
      The locale we wish to get the values for. Defaults to null meaning we are not getting tranlsated values.
      • Default Value: null

_getAttribute()

_getAttributes()

_hasAttribute()

_removeAttribute()

_setAttribute()

checkKey()

Check to make sure a given key is valid. It can be any combination of _-+.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

count()

current()

erase()

Erases the current node and all of its subnodes from the storage mechanism.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1246
  • Signature: public function erase($locale)
  • Parameters:
    • string $locale
      The locale we wish to erase the values for. Defaults to null meaning we erase all values/locales
      • Default Value: null
  • Returns: boolean
    true on success

eraseChildren()

Erases all children of the current node and all of its subnodes from the storage mechanism.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1200
  • Signature: public function eraseChildren($locale)
  • Parameters:
    • string $locale
      The locale we wish to erase the values for. Defaults to null meaning we erase all values/locales
      • Default Value: null
  • Returns: boolean
    true on success

getAsArray()

Return an array of all the child values for this object.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1324
  • Signature: public function getAsArray($path,$locale)
  • Parameters:
    • mixed $path
      {@see traverse()}. Defaults to null which means we get at this node
      • Default Value: null
    • string $locale
      The locale we wish to get the values for. Defaults to null meaning we are not getting tranlsated values.
      • Default Value: null
  • Returns: array

getAttribute()

Gets an attribute

getAttributes()

Get the attributes

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1797
  • Signature: public function getAttributes($keys_only)
  • Parameters:
    • boolean $keys_only
      Defaults to false. If true returns only the attribute names that are set. If true returns associative array of attribute=>value pairs
      • Default Value: false
  • Returns: array

getChildren()

getKeys()

Return an array of all child keys for this object.

getName()

Return the name of this configuration setting.

getParent()

Get the parent magic data node

getPath()

Return the full path to this configuration setting.

getSaveValue()

Return the direct scalar value for this node.

getTranslation()

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 503
  • Signature: public function getTranslation($locale,$resolve,$path)
  • Parameters:
    • $locale
    • $resolve
      • Default Value: true
    • $path
      • Default Value: null

getTranslations()

Get the translations for the current node

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 392
  • Signature: public function getTranslations($locales_only,$include_default_locale)
  • Parameters:
    • boolean $locales_only
      Defaults to false. If true returns only the loclaes for which a translation exists If true returns associative array of locale=>translation pairs
      • Default Value: false
    • boolean $include_default_locale
      Defaults to true in which case we include the nodes values under the default locale
      • Default Value: true
  • Returns: array

getType()

Return the type of this node.

getValue()

Return the value of this configuration object if the type == 1 and the current object if type is anything else.

hasAttribute()

Checks to see if an attribute is present

hasChildren()

whether the current key has children or not. this is _not_ whether this has a children or not

isScalar()

is_indeterminate()

Check to see if the value at the specified path is indeterminate @param strign $key. A key or path in the magic data. If null (default) then we are checking on the node itself

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 840
  • Signature: public function is_indeterminate($path)
  • Parameters:
    • $path
      • Default Value: null
  • Returns: boolean.
    True if it is a scalar value

is_parent()

Check to see if the value at the specified path is set and is a parent node. @param strign $key. A key or path in the magic data. If null (default) then we are checking on the node itself

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 865
  • Signature: public function is_parent($path)
  • Parameters:
    • $path
      • Default Value: null
  • Returns: boolean.
    True if it is a scalar value

is_populated()

Check to see if the value at the specified path is populated @param strign $key. A key or path in the magic data. If null (default) then we are checking on the node itself

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 795
  • Signature: protected function is_populated($path)
  • Parameters:
    • $path
      • Default Value: null
  • Returns: boolean.
    True if it is a scalar value

is_root()

is_scalar()

Check to see if the value at the specified path is set and is a scalar. @param strign $key. A key or path in the magic data. If null (default) then we are checking on the node itself

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 716
  • Signature: public function is_scalar($path)
  • Parameters:
    • $path
      • Default Value: null
  • Returns: boolean.
    True if it is a scalar value

is_translatable()

Checked to see if the node referenced is translatable

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 359
  • Signature: public function is_translatable($path)
  • Parameters:
    • string $path
      Defaults to null, meaning the current node.
      • Default Value: null
  • Returns: boolean.

is_translated()

Checked to see if the node referenced is translated ito the given locale

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 412
  • Signature: public function is_translated($locale,$path)
  • Parameters:
    • string $locale
    • string $path
      Defaults to null, meaning the current node.
      • Default Value: null
  • Returns: boolean.

key()

krsort()

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1958
  • Signature: public function krsort($sort_flags,$recurse)
  • Parameters:
    • $sort_flags
      • Default Value: SORT_REGULAR
    • $recurse
      • Default Value: false

ksort()

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1928
  • Signature: public function ksort($sort_flags,$recurse)
  • Parameters:
    • $sort_flags
      • Default Value: SORT_REGULAR
    • $recurse
      • Default Value: false

newAttribute()

Make a new attribute this object with the given key. The $nosave flag should only be set when populating a parent node from storage.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1896
  • Signature: protected function newAttribute($key,$save,$prefix)
  • Parameters:
    • scalar $key
      the key
    • boolean $save
      Set to true to not save the parent and attribute
    • $prefix
  • Returns: mixed.
    false on failure, the attribute created on succes

newChild()

Make a new child for this object with the given key. The $nosave flag should only be set when populating a parent node from storage.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 910
  • Signature: protected function newChild($key,$save)
  • Parameters:
    • scalar $key
      If a boolean and true, we add to the end of the array. Otherwise we use the given key as a key.
    • boolean $save
      Set to true to not save the parent after creating this child.
      • Default Value: TRUE
  • Returns: I2CE_MagicDataNode
    The child that was created or null on failure

next()

offsetExists()

offsetGet()

offsetSet()

offsetUnset()

pathDivider()

Return the path divider for this MagicDataNode object

pathExists()

Check to see if a given key key or path exists

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1113
  • Signature: public function pathExists($path)
  • Parameters:
    • mixed $path
      {@see traverse()} returns mixed. Booolean true or false if the magic data referenced by the given path is set. null on failure (invalid path)

pop()

Pop a value off the end of a parent/indeterminate node. @param mixed. Scalar value if the node is scalar, an array if it is a parent, otherwise null.

populate()

Populate any stored data based on the storage objects set in the top node.

push()

Push a value onto the end of a parent/indeterminate node.

raiseError()

Raise an error and redirect the user for any critical errors. The default redirect will go to the home page for the site. @param string/mixed $message The error message.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 2031
  • Signature: static public function raiseError($message,$type,$redirect)
  • Parameters:
    • $message
    • integer $type
      The error type.
      • Default Value: E_USER_NOTICE
    • string $redirect
      The page to redirect to for critical errors. @global array
      • Default Value: ""

removeAttribute()

Removes an attribute

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1770
  • Signature: public function removeAttribute($key)
  • Parameters:
  • Returns: true
    if the attribute was removed. false if the attribute did not exist

removeTranslation()

rewind()

save()

Call all the storage methods associated with this configuration.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1379
  • Signature: protected function save($recurse)
  • Parameters:
    • boolean $recurse
      Defaults to false. If true, and we were able to succesfully save this node, we recrusively save all the populated children of this node as well.
      • Default Value: false

setAttribute()

setIfIsSet()

If the data referenced by that path is set, we set the value of $data to that data

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1141
  • Signature: public function setIfIsSet($data,$path,$as_array)
  • Parameters:
    • mixed &$data
      where you wish to store the magic data if it is set
    • mixed $path
      {@see traverse()}. Defaults to null which means we get at this node
    • boolean $as_array
      defaults to false. If true, will set $data to be the result of calling getAsArray() on the magic data referenced by $path. If false then we only set $data if the magic data node refrenced by $path is a leaf node/value
      • Default Value: false
  • Returns: boolean.
    true if the value was set

setTranslatable()

Sets the translatable attribute for the referenced node @param boolean $transtable. Defaults to true

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 443
  • Signature: public function setTranslatable($path,$translatable)
  • Parameters:
    • string $path
      Defaults to null, meaning the current node
      • Default Value: null
    • $translatable
      • Default Value: true
  • Returns: true
    on success, false on failure

setTranslation()

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 469
  • Signature: public function setTranslation($locale,$translation,$path)
  • Parameters:
    • $locale
    • $translation
    • $path
      • Default Value: null

setType()

Set the type for this object. The nosave flag should be set to true if the calling function is going to save so that it doesn't get saved twice.

setValue()

Set the scalar value for this object.

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 553
  • Signature: public function setValue($value,$locale,$set_default_locale)
  • Parameters:
    • mixed $value
    • string $locale
      The locale we wish to set the value for. Defaults to null meaning we are not setting tranlsated values.
      • Default Value: null
    • boolean $set_default_locale
      Defautls to true. When setting values, make sure the default locale is set.
      • Default Value: true
  • Returns: true
    on sucess

set_parent()

Set the magic data node at the specified path to be a parent node if is indeterminate @param strign $key. A key or path in the magic data. If null (default) then we are checking on the node itself

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 768
  • Signature: public function set_parent($path)
  • Parameters:
    • $path
      • Default Value: null
  • Returns: boolean.
    True on success

set_scalar()

Set the magic data node at the specified path to be scalar if is indeterminate @param strign $key. A key or path in the magic data. If null (default) then we are checking on the node itself

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 740
  • Signature: public function set_scalar($path)
  • Parameters:
    • $path
      • Default Value: null
  • Returns: boolean.
    True on success

traverse()

Traverse magic data by a given path

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1005
  • Signature: public function traverse($path,$create,$return_value)
  • Parameters:
    • array $path
      A string which is a path e.g. '/some/magic/data/path' or an array of path components e.g. array('some','magic','data','path). There are three special path components, , '.' and '..' The first two mean don't go anywhere, while the third means go to the parent node.
    • boolean $create
      Defaults to false. If true, it will create the magic data path as it goes. If false, it will return null if the path is not already set.
      • Default Value: false
    • boolean $return_value
      Defaults to true. If true returns the value of of a leaf node rather than the node itself
      • Default Value: true
  • Returns: mixed.
    String, if the path is valid and refers to a leaf node. I2CE_MagicDataNode if the path is valid but not a leaf node, or null on ffailure (invalid path/path not set)

uksort()

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 1988
  • Signature: public function uksort($cmp_function,$recurse)
  • Parameters:
    • $cmp_function
    • $recurse
      • Default Value: false

unpopulate()

valid()

volatile()

Check/set whether this magic data is volatile or not

  • Defined in i2ce/lib/I2CE_MagicDataNode.php on line 105
  • Signature: public function volatile($volatile)
  • Parameters:
    • boolean $volatile
      If set, we set the volatility of this node (does not apply to subnodes). If not set we return the volatility state of this node. Defaults to not set (null). Recursively sets all sub-nodes to volatile.
      • Default Value: null
  • Returns: mixed