Skip to content

Commit

Permalink
Merge branch '4.4-dev' into 4.4-dev
Browse files Browse the repository at this point in the history
  • Loading branch information
Quy committed Dec 19, 2023
2 parents 6cafaf6 + 291c565 commit 0333afc
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 9 deletions.
11 changes: 9 additions & 2 deletions libraries/src/Installer/Adapter/FileAdapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,11 @@ protected function finaliseInstall()
*/
protected function finaliseUninstall(): bool
{
File::delete(JPATH_MANIFESTS . '/files/' . $this->extension->element . '.xml');
$manifest = JPATH_MANIFESTS . '/files/' . $this->extension->element . '.xml';

if (is_file($manifest)) {
File::delete($manifest);
}

$extensionId = $this->extension->extension_id;

Expand Down Expand Up @@ -283,7 +287,10 @@ protected function removeExtensionFiles()
$folderList[] = $targetFolder . '/' . $eFileName;
} else {
$fileName = $targetFolder . '/' . $eFileName;
File::delete($fileName);

if (is_file($fileName)) {
File::delete($fileName);
}
}
}
}
Expand Down
6 changes: 5 additions & 1 deletion libraries/src/Installer/Adapter/LibraryAdapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,11 @@ public function prepareDiscoverInstall()
protected function removeExtensionFiles()
{
$this->parent->removeFiles($this->getManifest()->files, -1);
File::delete(JPATH_MANIFESTS . '/libraries/' . $this->extension->element . '.xml');
$manifest = JPATH_MANIFESTS . '/libraries/' . $this->extension->element . '.xml';

if (is_file($manifest)) {
File::delete($manifest);
}

// @todo: Change this so it walked up the path backwards so we clobber multiple empties
// If the folder is empty, let's delete it
Expand Down
6 changes: 5 additions & 1 deletion libraries/src/Installer/Adapter/PackageAdapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,11 @@ protected function finaliseUninstall(): bool
$update->delete($uid);
}

File::delete(JPATH_MANIFESTS . '/packages/' . $this->extension->element . '.xml');
$file = JPATH_MANIFESTS . '/packages/' . $this->extension->element . '.xml';

if (is_file($file)) {
File::delete($file);
}

$folder = $this->parent->getPath('extension_root');

Expand Down
20 changes: 16 additions & 4 deletions libraries/src/Installer/Installer.php
Original file line number Diff line number Diff line change
Expand Up @@ -525,12 +525,16 @@ public function abort($msg = null, $type = null)
switch ($step['type']) {
case 'file':
// Remove the file
$stepval = File::delete($step['path']);
if (is_file($step['path']) && !($stepval = File::delete($step['path']))) {
Log::add(Text::sprintf('JLIB_INSTALLER_ERROR_FILE_FOLDER', $step['path']), Log::WARNING, 'jerror');
}
break;

case 'folder':
// Remove the folder
$stepval = Folder::delete($step['path']);
if (Folder::exists($step['path']) && !($stepval = Folder::delete($step['path']))) {
Log::add(Text::sprintf('JLIB_INSTALLER_ERROR_FILE_FOLDER', $step['path']), Log::WARNING, 'jerror');
}
break;

case 'query':
Expand Down Expand Up @@ -1429,11 +1433,19 @@ public function parseFiles(\SimpleXMLElement $element, $cid = 0, $oldFiles = nul
$deletions = $this->findDeletedFiles($oldEntries, $element->children());

foreach ($deletions['folders'] as $deleted_folder) {
Folder::delete($destination . '/' . $deleted_folder);
$folder = $destination . '/' . $deleted_folder;

if (Folder::exists($folder) && !Folder::delete($folder)) {
Log::add(Text::sprintf('JLIB_INSTALLER_ERROR_FILE_FOLDER', $folder), Log::WARNING, 'jerror');
}
}

foreach ($deletions['files'] as $deleted_file) {
File::delete($destination . '/' . $deleted_file);
$file = $destination . '/' . $deleted_file;

if (is_file($file) && !File::delete($file)) {
Log::add(Text::sprintf('JLIB_INSTALLER_ERROR_FILE_FOLDER', $file), Log::WARNING, 'jerror');
}
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion libraries/src/Installer/InstallerScript.php
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ public function removeFiles()
{
if (!empty($this->deleteFiles)) {
foreach ($this->deleteFiles as $file) {
if (file_exists(JPATH_ROOT . $file) && !File::delete(JPATH_ROOT . $file)) {
if (is_file(JPATH_ROOT . $file) && !File::delete(JPATH_ROOT . $file)) {
echo Text::sprintf('JLIB_INSTALLER_ERROR_FILE_FOLDER', $file) . '<br>';
}
}
Expand Down

0 comments on commit 0333afc

Please sign in to comment.