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

Ціна 0 ₽
Додатково від автора:
Що б завантажити цей безкоштовний товар, його не потрібно замовляти, просто увійдіть під своїм логіном.
Виробник AlexDW Написати автору
Покупка: 2 (Середня оцінка 0 на основании 0 отзывов)
Потрібна платна допомога? Написати адміністрації сайту
Сумісність:
OpenCart 3.*LiveStore 3.*OCStore 3.*

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

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

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


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

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

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

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


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


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

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

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


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

Другие полезные дополнения
Способ распространения:
Бесплатно
Сумісність:
OpenCart 3.*LiveStore 3.*OCStore 3.*
VQmod:
Нет
Ocmod:
Да
Events:
Нет
Завантажений:
06.03.2019
Оновлення:
17.04.2023
Перегляд:
4941
Покупка:
2

Написати відгук

Ваше Ім’я:


Ваш відгук: Примітка:HTML теги не дозволені! Використовуйте звичайний текст.

Рейтинг Погано           Добре

Введіть код, вказаний на зображенні:




Що б завантажити цей безкоштовний товар, його не потрібно замовляти, просто увійдіть під своїм логіном.


Ще ніхто не залишив коментарів до цього запису.
Написати новий коментар (для відповіді використовуйте посилання під потрібним коментарем)