JUpdaterCollection/findUpdate
From Joomla! Documentation
< API16:JUpdaterCollection
The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.
Syntax[edit]
findUpdate($options)
Parameter Name | Default Value | Description |
---|---|---|
$options |
Defined in[edit]
libraries/joomla/updater/adapters/collection.php
Importing[edit]
jimport( 'joomla.updater.adapters.collection' );
Source Body[edit]
public function findUpdate($options)
{
$url = $options['location'];
$this->_update_site_id = $options['update_site_id'];
if(substr($url, -4) != '.xml') {
if(substr($url, -1) != '/') {
$url .= '/';
}
$url .= 'update.xml';
}
$this->base = new stdClass();
$this->update_sites = Array();
$this->updates = Array();
$dbo =& $this->parent->getDBO();
if (!($fp = @fopen($url, "r"))) {
// TODO: Add a 'mark bad' setting here somehow
JError::raiseWarning('101', JText::_('Update') .'::'. JText::_('Collection') .': '. JText::_('Could not open').' '. $url);
return false;
}
$this->xml_parser = xml_parser_create('');
xml_set_object($this->xml_parser, $this);
xml_set_element_handler($this->xml_parser, '_startElement', '_endElement');
//xml_set_character_data_handler($this->xml_parser, '_characterData');
while ($data = fread($fp, 8192)) {
if (!xml_parse($this->xml_parser, $data, feof($fp))) {
die(sprintf("XML error: %s at line %d",
xml_error_string(xml_get_error_code($this->xml_parser)),
xml_get_current_line_number($this->xml_parser)));
}
}
// TODO: Decrement the bad counter if non-zero
return Array('update_sites'=>$this->update_sites,'updates'=>$this->updates);
}
Examples[edit]
Code Examples[edit]