Actions

API16

JUpdaterCollection/findUpdate

From Joomla! Documentation

< API16:JUpdaterCollection
Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

[Edit Descripton]

Description:JUpdaterCollection/findUpdate

Contents

Syntax

findUpdate($options)
Parameter Name Default Value Description
$options

Defined in

libraries/joomla/updater/adapters/collection.php

Importing

jimport( 'joomla.updater.adapters.collection' );

Source Body

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);
}

[Edit See Also] SeeAlso:JUpdaterCollection/findUpdate

Examples

<CodeExamplesForm />