JRegistryFormatINI/objectToString: Difference between revisions
From Joomla! Documentation
No edit summary |
m removing red link to edit, no existant pages |
||
| Line 5: | Line 5: | ||
<span class="editsection" style="font-size:76%;"> | <span class="editsection" style="font-size:76%;"> | ||
<nowiki>[< | <nowiki>[<! removed edit link to red link >]</nowiki> | ||
</span> | </span> | ||
<! removed transcluded page call, red link never existed > | |||
===Syntax=== | ===Syntax=== | ||
| Line 90: | Line 90: | ||
<span class="editsection" style="font-size:76%;"> | <span class="editsection" style="font-size:76%;"> | ||
<nowiki>[< | <nowiki>[<! removed edit link to red link >]</nowiki> | ||
</span> | </span> | ||
<! removed transcluded page call, red link never existed > | |||
===Examples=== | ===Examples=== | ||
| Line 105: | Line 105: | ||
format= ,,, | format= ,,, | ||
</dpl> | </dpl> | ||
[[Category:Archived pages API15]] | |||
Revision as of 18:44, 12 May 2013
Description
Converts an object into an INI formatted string Unfortunately, there is no way to have ini values nested further than two levels deep. Therefore we will only go through the first two levels of the object.
[<! removed edit link to red link >]
<! removed transcluded page call, red link never existed >
Syntax
objectToString(&$object, $params)
| Parameter Name | Default Value | Description |
|---|---|---|
| &$object | $object Data Source Object | |
| $params | $param Parameters used by the formatter |
Returns
string INI Formatted String
Defined in
libraries/joomla/registry/format/ini.php
Importing
jimport( 'joomla.registry.format.ini' );
Source Body
function objectToString( &$object, $params )
{
// Initialize variables
$retval = '';
$prepend = '';
// First handle groups (or first level key/value pairs)
foreach (get_object_vars( $object ) as $key => $level1)
{
if (is_object($level1))
{
// This field is an object, so we treat it as a section
$retval .= "[".$key."]\n";
foreach (get_object_vars($level1) as $key => $level2)
{
if (!is_object($level2) && !is_array($level2))
{
// Join lines
$level2 = str_replace('|', '\|', $level2);
$level2 = str_replace(array("\r\n", "\n"), '\\n', $level2);
$retval .= $key."=".$level2."\n";
}
}
$retval .= "\n";
}
elseif (is_array($level1))
{
foreach ($level1 as $k1 => $v1)
{
// Escape any pipe characters before storing
$level1[$k1] = str_replace('|', '\|', $v1);
$level1[$k1] = str_replace(array("\r\n", "\n"), '\\n', $v1);
}
// Implode the array to store
$prepend .= $key."=".implode('|', $level1)."\n";
}
else
{
// Join lines
$level1 = str_replace('|', '\|', $level1);
$level1 = str_replace(array("\r\n", "\n"), '\\n', $level1);
$prepend .= $key."=".$level1."\n";
}
}
return $prepend."\n".$retval;
}
[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >
Examples
<CodeExamplesForm />