Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

[Поддержка] Fix Extensions Uninstaller - исправление деинсталлятора дополнений в Opencart 3x


 Share

Recommended Posts

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


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


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

 

В Opencart 3x сделано удобное удаление установленных дополнений через встроенный деинсталлятор.

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

 

Проблема в том, что при удалении через деинсталлятор совершенно не учитывается уникальность файлов и папок дополнений.


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


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

 

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

 

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

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

 

 

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

 

Особенности:

- актуален для движков Opencart версий 3000-303х

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

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

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

 

Установка:

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

 

 

Другие дополнения:

-----------------------------

AO Tooltips - HTML-подсказки для атрибутов и опций

CartKeeper - хранение и управление корзинами покупателей

AutoComplete 3x - улучшенный поиск товаров в админке для Opencart 3x

SearchOrder 3x - предпросмотр и поиск в заказах для Opencart 3x


  • Добавил
  • Добавлено
    06.03.2019
  • Категория
  • Системные требования
  • Метод активации
    Без активации
  • Ioncube Loader
    Нет
  • ocStore
    3.0
  • OpenCart.Pro, ocShop
  • Обращение к серверу разработчика
    Нет

 

Link to comment
Share on other sites

  • 10 months later...

Добрый день. Подскажите, может это не совсем по теме Вашего модуля но у меня при установке Extension Uninstaller by iSenseLabs. Не Вашего "производства")) выскакивает ошибка

NOT FOUND!
CODE: $json['error'] = sprintf($this->language->get('error_exists'), $modification_info['name']);
FILE: admin/controller/extension/installer.php
MOD: |Extension Uninstaller by iSenseLabs

У меня стоит Ocstore 2.3 и установлен установщик дополнений OCMOD. Я честно говоря не знаю всех тонкостей, но возможно ли что они конфликтуют? Может Ваш модуль это исправить? И встанет ли он на Ocstore 2.3. или может совет дадите?!

 

Link to comment
Share on other sites


4 часа назад, electrobar сказал:

Подскажите, может это не совсем по теме Вашего модуля

совсем не по теме, даже не рядом

 

NOT FOUND! - не ошибка, а информация

модуль предназначенный именно для движка 3х - не будет работать на 2х

 

совет простой - начните с изучения азов движка

Link to comment
Share on other sites

  • 2 years later...
30.03.2022 в 17:19, rim1105 сказал:

Здравствуйте. Не устанавливается на ocStore 3.0.3.7.

Не совместим?

Здравствуйте

 

совместим

ищите причину в правках кода движка / других используемых дополнениях

Link to comment
Share on other sites

совместим

ищите причину в правках кода движка / других используемых дополнениях

 

А как модуль отражается в админке? Где его можно обнаружить?

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.