Invalid extension update

The support for Joomla 2.5 ended on December 31, 2014. Possible bugs in Joomla 2.5 will not be patched anymore. This forum has been closed. Please update your website to Joomla 3.x

Moderator: ooffick

Forum rules
Please use the official Bug Tracker to report a bug: https://issues.joomla.org
Locked
bitsparki
Joomla! Fledgling
Joomla! Fledgling
Posts: 3
Joined: Thu May 23, 2013 7:52 pm

Invalid extension update

Post by bitsparki » Fri May 24, 2013 8:13 am

hi all,
Ive been trying to get my plugins, modules, libraries, components to update via the joomla 2.5.11 update mechanism. All are reported in the admin backend as being available to update, but all report 'Invalid extension update' when I actually try and update.

Iam missing something.

All the action occurs within these two files:
(file1) libraries\joomla\updater\update.php
(file2) administrator\components\com_installer\models\update.php

The 'Invalid extension update' message is emitted here (file2 line 190):

Code: Select all

	private function install($update)
	{
		$app = JFactory::getApplication();

		if (isset($update->get('downloadurl')->_data)) {
			$url = trim($update->downloadurl->_data);
		} else {
			JError::raiseWarning('', JText::_('COM_INSTALLER_INVALID_EXTENSION_UPDATE'));
			return false;
		}
	//etc
	}
So '$update->downloadurl->_data' is not being set, where $update is of class JUpdate.

From what I can understand it is meant to be set when JUpdate::loadFromXML is called earlier. But JUpdate doesnt write the contents of the parsed xml to the root of its object. It only writes it to JUpdate::_current_update and JUpdate::_latest, so JUpdate::downloadurl is never and cannot be written to as it currently stands.

To test this I hacked 'libraries\joomla\updater\update.php' to write to JUpdate::downloadurl as follows (~line 308):

Code: Select all

	public function loadFromXML($url)
	{
//snip....to ~line 308
		xml_parser_free($this->xml_parser);
// begin hack
		if (isset($this->_latest->downloadurl->_data))
			$this->downloadurl = $this->_latest->downloadurl;
// end hack
		return true;
	}
and hey presto once I write to the objects root '$this->downloadurl' the result of successfully reading from the upate servers xml file, all my modules, libraries and plugins update successfully.

Surely Iam missing something, otherwise the joomla extension update mechanism doesnt work at all for anyone.

Ive compared it with Joomla3.11 code and it looks functionally the same...if so it doesnt work for Joomla 3.x either.

Searching around for similar reports of 'Invalid extension update' threw up some talk of other developers not using the update mechanism, others falling back to manual installs, but nonetheless very few reports, suggesting everyone else gets along fine with it....Iam confused!!

Any help gratefully received...

Locked

Return to “Joomla! 2.5 Bug Reporting”