Fix Extensions Uninstaller - исправление деинсталлятора дополнений в Opencart 3x 1.01


В Opencart 3x сделано удобное удаление установленных дополнений через встроенный деинсталлятор.
Удаление дополнения происходит в один клик и пользователям теперь не нужно вычищать его файлы вручную.

При создании дополнений многие авторы используют отдельные папки, общие для файлов своих дополнений (например для своих библиотек в system/library, скриптов в catalog/view/jаvascript и тд)
или используют универсальные файлы, содержащиеся в каждом их дополнении.

Проблема в том, что при удалении через деинсталлятор совершенно не учитывается уникальность файлов и папок дополнений.
И если происходит удаление дополнения, содержащего какие-либо общие файлы и/или папки с другими имеющимися дополнениями - такие файлы и папки будут удалены, что может привести к неработоспособности других дополнений.


Баги деинсталлятора в Opencart 3x:
1. Если ряд дополнений использует свою собственную общую папку, которой нет в движке по умолчанию - такая папка создается при установке первого дополнения и привязывается к нему в таблице oc_extension_path в момент создания.
При этом, при установке последующих дополнений, использующих данную папку - привязки не происходит, так как папка уже есть

Но при удалении именно того дополнения, к которому произошла привязка папки - ПАПКА БУДЕТ УДАЛЕНА СО ВСЕМ СОДЕРЖИМЫМ, т.е. фактически со всеми другими файлами, которые могут не иметь отношения к удаляемому дополнению, и использовать эту общую папку для хранения своих файлов.

2. Если в ряде дополнений используются какие-либо общие файлы (например универсальные вспомогательные классы, библиотеки и тд) - удаление такого дополнения через деинсталлятор приведет к удалению этих общих файлов

Ладно, если пользователь переустанавливает или ставит новую версию дополнения, содержащую эти же файлы - тогда они просто будут добавлены заново.
В случае же, если дополнение просто удаляется за ненадобностью или в его новой версии уже нет таких файлов - их отсутствие просто приведет к неработоспособности всех использующих их модулей.


Данный патч устраняет эти проблемы
после его применения при удалении дополнений через штатный деинсталлятор будет учитываться уникальность использования удаляемых файлов/папок другими имеющимися дополнениями


Особенности:
- актуален для движков Opencart версий 3000-303х
в том числе для ocStore 3020 (а также вероятно и для прочих сборок, существующих на момент выхода патча)

- проверка на уникальность использования файлов и папок при удалении дополнения
если такие файлы и папки используются другими установленными дополнениями - они будут сохранены

- не создает дополнительных таблиц и полей в БД
- не меняет стандартные файлы движка (используется OCMOD)


Установка:
1. Загрузить архив fix-extensions-uninstaller.ocmod.zip в Extensions > Installer
2. Обновить кеш модификаторов в Extensions > Modifications

[attachment=14914:fix_extensions_uninstaller_1_01.zip]

Fix Extensions Uninstaller - исправление деинсталлятора дополнений в Opencart 3x 1.01

3-04-2022, 09:15
.zip

Комментарии
Комментариев пока нет..
Ты можешь быть первым, кто оставит комментарий к публикации!


Вы не зарегистрированы

Fix Extensions Uninstaller - исправление деинсталлятора дополнений в Opencart 3x 1.01


Автор публикации
Дата публикации
3-04-2022, 09:15
Просмотров
347
Комментариев
0

Каталог
Внимание! Данный материал предоставлен сайтом VIPAdmin.Club исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое
Fix Extensions Uninstaller - исправление деинсталлятора дополнений в Opencart 3x 1.01
3-04-2022, 09:15
347

Fix Extensions Uninstaller - исправление деинсталлятора дополнений в Opencart 3x 1.01

Информация
Версия
v1.405
Версия CMS
v15.0
Тематика
Новости, Блог, Каталог
Фреймворк
Bootstrap v5

Описание


В Opencart 3x сделано удобное удаление установленных дополнений через встроенный деинсталлятор.
Удаление дополнения происходит в один клик и пользователям теперь не нужно вычищать его файлы вручную.

При создании дополнений многие авторы используют отдельные папки, общие для файлов своих дополнений (например для своих библиотек в system/library, скриптов в catalog/view/jаvascript и тд)
или используют универсальные файлы, содержащиеся в каждом их дополнении.

Проблема в том, что при удалении через деинсталлятор совершенно не учитывается уникальность файлов и папок дополнений.
И если происходит удаление дополнения, содержащего какие-либо общие файлы и/или папки с другими имеющимися дополнениями - такие файлы и папки будут удалены, что может привести к неработоспособности других дополнений.


Баги деинсталлятора в Opencart 3x:
1. Если ряд дополнений использует свою собственную общую папку, которой нет в движке по умолчанию - такая папка создается при установке первого дополнения и привязывается к нему в таблице oc_extension_path в момент создания.
При этом, при установке последующих дополнений, использующих данную папку - привязки не происходит, так как папка уже есть

Но при удалении именно того дополнения, к которому произошла привязка папки - ПАПКА БУДЕТ УДАЛЕНА СО ВСЕМ СОДЕРЖИМЫМ, т.е. фактически со всеми другими файлами, которые могут не иметь отношения к удаляемому дополнению, и использовать эту общую папку для хранения своих файлов.

2. Если в ряде дополнений используются какие-либо общие файлы (например универсальные вспомогательные классы, библиотеки и тд) - удаление такого дополнения через деинсталлятор приведет к удалению этих общих файлов

Ладно, если пользователь переустанавливает или ставит новую версию дополнения, содержащую эти же файлы - тогда они просто будут добавлены заново.
В случае же, если дополнение просто удаляется за ненадобностью или в его новой версии уже нет таких файлов - их отсутствие просто приведет к неработоспособности всех использующих их модулей.


Данный патч устраняет эти проблемы
после его применения при удалении дополнений через штатный деинсталлятор будет учитываться уникальность использования удаляемых файлов/папок другими имеющимися дополнениями


Особенности:
- актуален для движков Opencart версий 3000-303х
в том числе для ocStore 3020 (а также вероятно и для прочих сборок, существующих на момент выхода патча)

- проверка на уникальность использования файлов и папок при удалении дополнения
если такие файлы и папки используются другими установленными дополнениями - они будут сохранены

- не создает дополнительных таблиц и полей в БД
- не меняет стандартные файлы движка (используется OCMOD)


Установка:
1. Загрузить архив fix-extensions-uninstaller.ocmod.zip в Extensions > Installer
2. Обновить кеш модификаторов в Extensions > Modifications

[attachment=14914:fix_extensions_uninstaller_1_01.zip]
[xfgiven_images]
Изображения
[/xfgiven_images]
Автор публикации
wad
Комментарии и отзывы
  • Пустота..
    Людям пока лень писать тут отзывы и комментарии..


  • Вы не зарегистрированы

Лучшие статьи

Скрипты казино