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

бага в localcopy.ocmod.xml


Recommended Posts

Есть очень часто используемая модификация 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 10
Link to post
Share on other sites

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

extension_uninstaller.ocmod.xml

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

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

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

 

extension_uninstaller.ocmod.xml

  • +1 2
Link to post
Share on other sites
  • 1 year later...

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

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

Link to post
Share on other sites
  • 1 month later...

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

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>

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

Link to post
Share on other sites
12 минут назад, Wild сказал:

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

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

Link to post
Share on other sites

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

Link to post
Share on other sites
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
);

 

Link to post
Share on other sites

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

 

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

 

Link to post
Share on other sites

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

Link to post
Share on other sites

Я все ручакми делаю. Анинстал юзал будучи начинающим.

 

Link to post
Share on other sites

  • 2 weeks later...

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

Link to post
Share on other sites
  • 5 months later...

А у меня никакая версия не встает. Всегда выдает ошибку "Internal server error" Ubuntu 18.04, Apache 2.4.18, PHP7.0. Куда копать?

Link to post
Share on other sites

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

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

Apache 2.4.18

 

Link to post
Share on other sites

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

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

Edited by BillyBons
Link to post
Share on other sites

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

|Extension Uninstaller by iSenseLabs

|Quickfix by iSenseLabs

 

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

Edited by Egor2014
Link to post
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
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • 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.