User tests: Successful: Unsuccessful:
Pull Request for Issue #34992.
Currently, if we uninstall a plugin which was deleted for some reasons (or at least the manifest file was deleted), we will get fatal error because in the PluginAdater, we have code which didn't handle the case manifest not found.
This PR just adds some check to prevent these fatal error and allows these plugins still be uninstalled properly (mean the folder being deleted, the record is deleted from extensions table).
I think we can do it better. For example, in getElement, we can just return $this->extension->folder
(it's plugin group) and in the code to detect plugin group, we can use $this->extension->folder
, too, instead of getting these information from manifest object. But this is just handle some special case, so I think it is fine.
Status | New | ⇒ | Pending |
Category | ⇒ | Libraries |
I have tested this item
If complete folder is missing, a warning alert "Joomla\CMS\Filesystem\Folder::delete: Path is not a folder." is shown.
If only the manifest XML is missing, a warning alert "JInstaller: :Install: Can't find XML setup file." is shown.
In both cases the plugin has been properly uninstalled.
I have tested this item
Status | Pending | ⇒ | Ready to Commit |
RTC
Status | Ready to Commit | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2021-08-02 09:31:02 |
Closed_By | ⇒ | wilsonge | |
Labels |
Added:
?
?
|
Fair enough. I'm down with that. Thankyou!
Grr, I had forgotten to select test result.