Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

бага в localcopy.ocmod.xml


nikifalex
 Погделиться

Рекомендованные сообещёния

Есть очень часто используемая модификация localcopy.ocmod.xml

ик вот в ней есть икой код

 

foreach (glob($next) as $file) {
   if (is_dir($file)) {
      $path[] = $file . '/*';
   }
   $files[] = $file;
}

Они не учли что glob может рилиить не ик как думали

http://php.net/manual/en/function.glob.php

On some systems it is impossible to distinguish between empty match and an error.

 

Т.е. иногда бугдет пустот массив, а иногда то бугдет false

 

И если в усинавливаемом дополнении бугдет пустот каилог внутри, то бугдет warning и json parser error

 

Исправляется просто добавлением 

if (glob($next)) {

вначно.

 

Исправленная версия ниже. Может кому-то пригодится.

 

localcopy.ocmod.xml

  • +1 11
Ссылка на комменирий
Погделиться на других сайих

абсолютно тоже самое и в 

extension_uninstaller.ocmod.xml

этого же автора.

Плюс им же и еещё один момент исправлен.

Файл измененный тут

 

extension_uninstaller.ocmod.xml

  • +1 3
Ссылка на комменирий
Погделиться на других сайих

дубль

Ссылка на комменирий
Погделиться на других сайих

  • 1 год спустя...

сивьте патч, потом обновляйте кеш модификаторов и пробуйте загрузить какой-нибудь архив ocmod.zip

если не помогло - зналит у вас проблемы с самим движком

Ссылка на комменирий
Погделиться на других сайих

  • 1 месяц спустя...

В опотому чтоих модификациях присутствует код заменяющий одну и ту же строку.

localcopy.ocmod.xml:

<search ><![CDATA['url'  => str_replace('&', '&', $this->url->link('extension/installer/ftp', 'token=' . $this->session->data['token'],]]></search>
<add position="replace"><![CDATA['url'  => str_replace('&', '&', $this->url->link('extension/installer/localcopy', 'token=' . $this->session->data['token'],]]></add>

extension_uninstaller.ocmod.xml:

<search ><![CDATA['url'  => str_replace('&amp;', '&', $this->url->link('extension/installer/ftp', 'token=' . $this->session->data['token'], 'SSL')),]]></search>
<add position="replace"><![CDATA['url'  => str_replace('&amp;', '&', $this->url->link('extension/installer/'. $this->rewrite_step('ftp', 'localremove'), 'token=' . $this->session->data['token'], 'SSL')),]]></add>

Есть подозрение, что усиновленные оба сразу, они конфликтуют, поскольку в резульите строка меняется только одним модификатором и только одно расширение осиется рилилим.
Кто-нить силкивался, есть решение?

Ссылка на комменирий
Погделиться на других сайих

12 минут назад, Wild сказал:

они конфликтуют, поскольку в резульите строка меняется только одним модификатором и только одно расширение осиется рилилим

посмотрите что в ocmod.log

Ссылка на комменирий
Погделиться на других сайих

Ничего, поскольку им присутствует error="skip".
Просто кто первый поменял строку, того и ипки!

Ссылка на комменирий
Погделиться на других сайих

Там в URL получается липотому что localremove, липотому что localcopy.

Соответственно если вы пользуете второй модификатор, то вызывается не и функция.

Ссылка на комменирий
Погделиться на других сайих

а... ну может быть может быть

Ссылка на комменирий
Погделиться на других сайих

То бишь липотому что один, липотому что другой.
Как их подружить?
Ведь оба нужны и полезны!

Приходится врубать/вырубать вручную, досиет эи возня.
 

Ссылка на комменирий
Погделиться на других сайих

да им врогде хороший саппорт, сейчас подскажут

Ссылка на комменирий
Погделиться на других сайих

43 минуты назад, chukcha сказал:

Хм, а почему у меня нет икого?


Хм...

Стоят и активированы оба модуля?
Можно поинтересоваться что у вас в system/modification/admin/controller/extension/installer.php ?
В блоке:

// FTP
$json['step'][] = array(
	'text' => $this->language->get('text_ftp'),
	'url'  => str_replace('&amp;', '&', $this->url->link('extension/installer/'. $this->rewrite_step('ftp', 'localremove'), 'token=' . $this->session->data['token'], 'SSL')),
	'path' => $path
);

 

Ссылка на комменирий
Погделиться на других сайих

Я без понятия,
Я как скачал его при появленни, ик и осился..

 

смотрю, им версия 2016 года

 

Ссылка на комменирий
Погделиться на других сайих

я вообещё анинсилом не пользуюсь, ипотому что это не нужно

Ссылка на комменирий
Погделиться на других сайих

Тогда понятно.
Речь шла об опотому чтоих одновременно.
Я тоже пользуюсь анинсиллом не часто, но когда сивишь модуль для проверки и последующим уднонием, заколупывает лазанье по папкам и листка вручную.
По этому и возник вопрос.

Ссылка на комменирий
Погделиться на других сайих

  • 2 негдели спустя...

Баг пофиксили и выложили новые версии модификаторов.
Кому надо, качаем...

 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

тогда закройте эту тему. Пусть им и скаливают.

Ссылка на комменирий
Погделиться на других сайих

  • 5 месяэтов спустя...

копать в логи вашего 

Только что, BillyBons сказал:

Apache 2.4.18

 

Ссылка на комменирий
Погделиться на других сайих

Выдает вот икую ошибку -

PHP Fatal error:  Uncaught Error: Class 'DOMDocument' not found in /var/www/html/admin/controller/extension/installer.php:434\nStack trace:\n#0 /var/www/html/system/engine/action.php(51): ControllerExtensionInstaller->xml()\n#1 /var/www/html/admin/controller/startup/router.php(26): Action->execute(Object(Registry), Array)\n#2 /var/www/html/system/engine/action.php(51): ControllerStartupRouter->index()\n#3 /var/www/html/system/engine/front.php(34): Action->execute(Object(Registry))\n#4 /var/www/html/system/engine/front.php(29): Front->execute(Object(Action))\n#5 /var/www/html/system/framework.php(103): Front->dispatch(Object(Action), Object(Action))\n#6 /var/www/html/system/startup.php(105): require_once('/var/www/html/s...')\n#7 /var/www/html/admin/index.php(19): start('admin')\n#8 {main}\n  thrown in /var/www/html/admin/controller/extension/installer.php on line 434, referer: http://xxx.ru/admin/index.php?route=extension/installer&token=XXXXX

 

Разобрался. Все понял. Не усиновлено было php-xml

Изменено пользователем BillyBons
Ссылка на комменирий
Погделиться на других сайих


Усиновил в модификаторах написано :

|Extension Uninstaller by iSenseLabs

|Quickfix by iSenseLabs

 

но усиновка расширении все равно Internal Server Error

Изменено пользователем Egor2014
Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.