Joomla 3.5.1
When you click button Discover in view
administrator/index.php?option=com_installer&view=discover
all entries in database table xy_extensions with state = -1 ("not installed yet") should be deleted before webspace is checked for not installed extensions.
When a folder with not installed extension is removed from webspace after it was found with button Discover it's always displayed in view
administrator/index.php?option=com_installer&view=discover
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.5" type="plugin" group="content" method="upgrade">
<name>discovertest</name>
<files>
<filename plugin="discovertest">discovertest.php</filename>
</files>
</extension>
You'll see an entry (highest extension_id) with state -1 and name discovertest.
Delete new folder above.
None of the methods discover() (libraries/cms/installer/[adapter] or com_installer itself) is calling a purge() method. All are just setting state = -1 but never remove them if outdated.
This solution doesn't output any error message if purge() returns a false. I don't know if the discover procedure should stop then or not, output a message or not.
EDIT: Or if a
if (!$model->purge())
{
...
}
would be better in controller;
https://github.com/joomla/joomla-cms/blob/staging/administrator/components/com_installer/controllers/discover.php#L29
with a
$model->_message
inside setRedirect();
Anyone creates the PR?
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2016-05-19 15:01:28 |
Closed_By | ⇒ | bertmert |
Labels |
Added:
?
|
Add
$this->purge();
here https://github.com/joomla/joomla-cms/blob/staging/administrator/components/com_installer/models/discover.php#L139
Was removed by mistake.