JApplicationHelper/parseXMLInstallFile: Difference between revisions
From Joomla! Documentation
New page: ===Description===
Parse a XML install manifest file.
<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[Description:JApplicationHelper/parseXMLInstallFile|Edit Desc... |
No edit summary |
||
| Line 1: | Line 1: | ||
<span class="editsection" style="font-size:76%;"> | <span class="editsection" style="font-size:76%;"> | ||
| Line 9: | Line 7: | ||
===Syntax=== | ===Syntax=== | ||
<source lang="php"> | <source lang="php">parseXMLInstallFile($path)</source> | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 19: | Line 17: | ||
| $path | | $path | ||
| | | | ||
| | | | ||
|} | |} | ||
===Defined in=== | ===Defined in=== | ||
| Line 32: | Line 27: | ||
===Source Body=== | ===Source Body=== | ||
<source lang="php"> | <source lang="php"> | ||
function parseXMLInstallFile($path) | |||
{ | { | ||
// Read the file to see if it's a valid component XML file | // Read the file to see if it's a valid component XML file | ||
$xml = & JFactory::getXMLParser('Simple'); | |||
if (!$xml->loadFile($path)) { | |||
unset($xml); | |||
return false; | return false; | ||
} | } | ||
| Line 43: | Line 40: | ||
* Check for a valid XML root tag. | * Check for a valid XML root tag. | ||
* | * | ||
* Should be 'install', but for backward compatability we will accept ' | * Should be 'install', but for backward compatability we will accept 'mosinstall'. | ||
*/ | */ | ||
if($xml-> | if ( !is_object($xml->document) || ($xml->document->name() != 'install' && $xml->document->name() != 'mosinstall')) { | ||
unset($xml); | unset($xml); | ||
return false; | return false; | ||
| Line 55: | Line 48: | ||
$data = array(); | $data = array(); | ||
$data['legacy'] = $xml->document->name() == 'mosinstall'; | |||
$element = & $xml->document->name[0]; | |||
$data['name'] = $element ? $element->data() : ''; | |||
$data['type'] = $element ? $xml->document->attributes("type") : ''; | |||
$element = & $xml->document->creationDate[0]; | |||
$data['creationdate'] = $element ? $element->data() : JText::_('Unknown'); | |||
$element = & $xml->document->author[0]; | |||
$data['author'] = $element ? $element->data() : JText::_('Unknown'); | |||
$element = & $xml->document->copyright[0]; | |||
$data['copyright'] = $element ? $element->data() : ''; | |||
$data[' | $element = & $xml->document->authorEmail[0]; | ||
$data['authorEmail'] = $element ? $element->data() : ''; | |||
$data[' | $element = & $xml->document->authorUrl[0]; | ||
$data['authorUrl'] = $element ? $element->data() : ''; | |||
$element = & $xml->document->version[0]; | |||
$data[' | $data['version'] = $element ? $element->data() : ''; | ||
$ | $element = & $xml->document->description[0]; | ||
$data[' | $data['description'] = $element ? $element->data() : ''; | ||
$ | $element = & $xml->document->group[0]; | ||
$data['group'] = $element ? $element->data() : ''; | |||
$data[' | |||
return $data; | return $data; | ||
Revision as of 22:09, 22 March 2010
Template:Description:JApplicationHelper/parseXMLInstallFile
Syntax
parseXMLInstallFile($path)
| Parameter Name | Default Value | Description |
|---|---|---|
| $path |
Defined in
libraries/joomla/application/helper.php
Importing
jimport( 'joomla.application.helper' );
Source Body
function parseXMLInstallFile($path)
{
// Read the file to see if it's a valid component XML file
$xml = & JFactory::getXMLParser('Simple');
if (!$xml->loadFile($path)) {
unset($xml);
return false;
}
/*
* Check for a valid XML root tag.
*
* Should be 'install', but for backward compatability we will accept 'mosinstall'.
*/
if ( !is_object($xml->document) || ($xml->document->name() != 'install' && $xml->document->name() != 'mosinstall')) {
unset($xml);
return false;
}
$data = array();
$data['legacy'] = $xml->document->name() == 'mosinstall';
$element = & $xml->document->name[0];
$data['name'] = $element ? $element->data() : '';
$data['type'] = $element ? $xml->document->attributes("type") : '';
$element = & $xml->document->creationDate[0];
$data['creationdate'] = $element ? $element->data() : JText::_('Unknown');
$element = & $xml->document->author[0];
$data['author'] = $element ? $element->data() : JText::_('Unknown');
$element = & $xml->document->copyright[0];
$data['copyright'] = $element ? $element->data() : '';
$element = & $xml->document->authorEmail[0];
$data['authorEmail'] = $element ? $element->data() : '';
$element = & $xml->document->authorUrl[0];
$data['authorUrl'] = $element ? $element->data() : '';
$element = & $xml->document->version[0];
$data['version'] = $element ? $element->data() : '';
$element = & $xml->document->description[0];
$data['description'] = $element ? $element->data() : '';
$element = & $xml->document->group[0];
$data['group'] = $element ? $element->data() : '';
return $data;
}
[Edit See Also] Template:SeeAlso:JApplicationHelper/parseXMLInstallFile
Examples
<CodeExamplesForm />