В движках Opencart 3x наконец-то появился встроенный деинсталлятор дополнений.
Удобная штука, которая при установке дополнения запоминает создаваемые им файлы и папки, а при удалении дополнения - автоматом удаляет его модификатор и созданные файлы/папки.
Но есть нюанс - при создании многие авторы часто используют отдельные папки, общие для файлов своих дополнений (например для своих библиотек в system/library, скриптов в catalog/view/javascript и тд)
или используют универсальные файлы, содержащиеся в каждом их дополнении.
Беда в том, что при удалении через деинсталлятор - совершенно не учитывается уникальность файлов и папок дополнений.
И если происходит удаление дополнения, содержащего какие-либо общие файлы и/или папки с другими имеющимися дополнениями - такие файлы и папки будут удалены, что может привести к неработоспособности других дополнений.
Ладно, если пользователь переустанавливает или ставит новую версию дополнения, содержащую эти же файлы - тогда они просто будут добавлены заново.
В случае же, если дополнение просто удаляется за ненадобностью или в его новой версии уже нет таких файлов - их отсутствие просто приведет к неработоспособности других использующих их модулей.
Данный патч устраняет эти проблемы
после его применения при удалении дополнений через штатный деинсталлятор будет учитываться уникальность использования удаляемых файлов/папок другими имеющимися дополнениями.
Особенности:
актуален для движков Opencart версий 3000-303х
- в том числе для ocStore 3020 (а также вероятно и для прочих сборок, существующих на момент выхода патча)
проверка на уникальность использования файлов и папок при удалении дополнения
- если такие файлы и папки используются другими установленными дополнениями - они будут сохранены
Страница модуля