XTRO

bug report ...что ли

Recommended Posts

sitebill 1.5.2
потеряна языковая константа L_FILE
apps\language\language\en\frontend.ini 

L_FILE="Add file"

apps\language\language\ru\frontend.ini 

L_FILE="Добавить файл"

Поделиться сообщением


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

модуль clients.

Поскольку через редатор форм может быть организована любая форма, мыло получим с жёстко прописанным "Новая заявка от клиента на расчёт".  А если это не расчёт?

тогда в apps\client\admin\client_order.php меняем на:

$subject = $_SERVER['SERVER_NAME'].': '.Multilanguage::_('L_EMAIL_CUSTOM_TITLE');

и добавляем лэнги, например :

apps\language\language\ru\backend.ini

L_EMAIL_CUSTOM_TITLE="Новая заявка от клиента"

аналогично в EN.

Хотя правильнее в apps\client\language\ru\dictionary.ini, но у меня class Multilanguage не захотел парсить этот файл.

Поделиться сообщением


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

для uploadify потеряна картинка uploadify-cancel.png

fix:  в apps\system\js\uploadify\uploadify.css в с.74 меняем путь на  background: url('uploadify-cancel.png') 0 0 no-repeat;

Изменено пользователем XTRO

Поделиться сообщением


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

app:system [3.6.1]

# system\lib\system\apps\apps_processor.php
    ::update_apps_cache

кажется тут баг в коде (:625)

if (file_exists(SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $apps_name . '/site/site.php')) {
    require_once ($admin_path);
    $local_site_path = $this->apps_dir . '/' . $apps_name . '/site/site.php';
    require_once ($local_site_path);
    $app_class_name = $apps_name . '_site';
}

это

$local_site_path = $this->apps_dir . '/' . $apps_name . '/site/site.php';

Нужно заменить на

$local_site_path = SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $apps_name . '/site/site.php';

ЗЫ

pS02iaNSHGk.jpg

Также непонятно почему закомментирован (:610) вызов

$local_admin_path = SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $apps_name . '/admin/admin.php';
//require_once ($local_admin_path);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
$this->apps_dir

Тут все правильно, это локальная переменная также показывает на apps_dir

Там где закомментили  уж не помню почему, но где-то выше у нас уже инициируются эти локальные классы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
24 минуты назад, rumantic сказал:

$this->apps_dir

Тут все правильно, это локальная переменная также показывает на apps_dir

я не увидел, что в apps_processor.php между :616 и :629 происходит изменение переменной apps_dir. А значит в обоих условиях - один и тот же вывод, что не соответствует условиям в if'ах

Так или иначе, тогда вопрос: где и при каких условии должен исполнится вот этот модуль - /template/frontend/realia/apps/custom/site/site.php ?

Поделиться сообщением


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

Ошибка логики

при отключении пункта "Менеджер настроек"(config) из правого верхнего менюбара, этот пункт также пропадает и в левом боковом сайдбаре:
потому что в /apps/admin/admin/template1/sidebar.tpl:103 адрес
берется из верхнего бара ($admin_menua.apps.childs.config) а не из левого
как у остальных пунктов ($admin_menua.sitebill).

Решение:

- нужно в sidebar.tpl заменить {if $admin_menua.apps.childs.config} на {if $admin_menua.config}

- и в /apps/system/lib/admin/sitebill_krascap_editor.php для функции ::getAdminMenuArray (:1039) продублировать 'config' (между 'structure' и 'sitebill')

$menu['config']['title'] = Multilanguage::_('L_ADMIN_MENU_SETTINGS');
$menu['config']['href'] = 'index.php?action=config';
if ( isset($_REQUEST['action']) AND ($_REQUEST['action'] == 'config') ) {
    $menu['config']['active'] = 1;
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 15.12.2018 в 22:18, DimWeb сказал:

Ошибка логики

при отключении пункта "Менеджер настроек"(config) из правого верхнего менюбара, этот пункт также пропадает и в левом боковом сайдбаре:
потому что в /apps/admin/admin/template1/sidebar.tpl:103 адрес
берется из верхнего бара ($admin_menua.apps.childs.config) а не из левого
как у остальных пунктов ($admin_menua.sitebill).

Решение:

- нужно в sidebar.tpl заменить {if $admin_menua.apps.childs.config} на {if $admin_menua.config}

- и в /apps/system/lib/admin/sitebill_krascap_editor.php для функции ::getAdminMenuArray (:1039) продублировать 'config' (между 'structure' и 'sitebill')


$menu['config']['title'] = Multilanguage::_('L_ADMIN_MENU_SETTINGS');
$menu['config']['href'] = 'index.php?action=config';
if ( isset($_REQUEST['action']) AND ($_REQUEST['action'] == 'config') ) {
    $menu['config']['active'] = 1;
}

 

А зачем его отключать?

Вообще если человек выключил модуль, то его надо везде прятать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, rumantic сказал:

А зачем его отключать?

1 Не модуль, а пункт меню, присутствие модуля - атрибут active и он прячется везде как и положено тут нарушения нету, я показал про ошибку при котором пункт меню отключается не в том месте где должен. Ни один из остальных модулей не пропадает из админки после отключения пункта меню, кроме именно этого.

2 Вопрос "зачем" не обосновывает разногласие в поведении блока

PS по предыдущему вопросу будет ответ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, rumantic сказал:

 

 

С локальным обработчиком и так все понятно. Я про ту часть кода о которой указал с самого начала, где именно в КОДЕ происходит require модуля?

В 13.12.2018 в 08:20, DimWeb сказал:

# system\lib\system\apps\apps_processor.php
    ::update_apps_cache

А также в этом блоке -

В 13.12.2018 в 14:39, DimWeb сказал:

я не увидел, что в apps_processor.php между :616 и :629 происходит изменение переменной apps_dir. А значит в обоих условиях - один и тот же вывод, что не соответствует условиям в if'ах

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 21.12.2018 в 13:03, DimWeb сказал:

 

С локальным обработчиком и так все понятно. Я про ту часть кода о которой указал с самого начала, где именно в КОДЕ происходит require модуля?

А также в этом блоке -

 

Screenshot_2.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
13 минуты назад, rumantic сказал:

Screenshot_2.png

И какое значение в этой переменной ?

я тут в упор не вижу require для условного "/template/frontend/realia/apps/custom/site/site.php"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, DimWeb сказал:

И какое значение в этой переменной ?

я тут в упор не вижу require для условного "/template/frontend/realia/apps/custom/site/site.php"

Сорри, не туда показал.

Ниже

Screenshot_3.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, rumantic сказал:

Сорри, не туда показал.

Ниже

Screenshot_3.png

я тут в упор не вижу require для условного "/template/frontend/realia/apps/custom/site/site.php"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
9 минут назад, DimWeb сказал:

я тут в упор не вижу require для условного "/template/frontend/realia/apps/custom/site/site.php"

$local_site_path = SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $apps_name . '/site/local_site.php';

и после делаем require

 require_once ($local_site_path);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, rumantic сказал:

$local_site_path = SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $apps_name . '/site/local_site.php';

и после делаем require


 require_once ($local_site_path);

 

...site/site.php !!!

а не local_site

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, DimWeb сказал:

...site/site.php !!!

а не local_site

да, но именно так и описано в инструкции

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, rumantic сказал:

да, но именно так и описано в инструкции

при чём тут инструкция и ошибка в логике в строчках :625. В инструкции ни слова про site/site.php (смотрим внимательно строчку :623)

я же описал что:

В 13.12.2018 в 14:39, DimWeb сказал:

не увидел, что в apps_processor.php между :616 и :629 происходит изменение переменной apps_dir. А значит в обоих условиях - один и тот же вывод, что не соответствует условиям в if'ах

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, DimWeb сказал:

при чём тут инструкция и ошибка в логике в строчках :625. В инструкции ни слова про site/site.php (смотрим внимательно строчку :623)

я же описал что:

 

Нет теперь поддержки site/site.php, есть только поддержка local_site.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, rumantic сказал:

Нет теперь поддержки site/site.php, есть только поддержка local_site.php

1. Как её может не быть если есть конкретный код:

в \apps\system\lib\system\apps\apps_processor.php (update_apps_cache:623)

if (file_exists(SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $apps_name . '/site/site.php')) {

в \apps\system\lib\system\apps\apps_processor.php (run_preload:281)

if (file_exists(SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $app_dir . '/site/site.php')) {
    require_once (SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $app_dir . '/site/site.php');

в \apps\system\lib\system\apps\apps_processor.php (run_frontend:377)

} elseif (file_exists(SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $app_dir . '/site/site.php')) {
    require_once (SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $app_dir . '/site/site.php');

в \apps\sitemap\admin\admin.php (getSitemapItemsHTML:268)

} elseif (file_exists(SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $app_dir . '/site/site.php')) {
    require_once (SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $app_dir . '/site/site.php');
    $app_class_name = $app_dir . '_site';

в \apps\sitemap\admin\admin.php (getSitemapItems:535)

} elseif (file_exists(SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $app_dir . '/site/site.php')) {
    require_once (SITEBILL_DOCUMENT_ROOT . '/template/frontend/' . $this->getConfigValue('theme') . '/apps/' . $app_dir . '/site/site.php');
    $app_class_name = $app_dir . '_site';

 

2. даже если, то как отсутствие поддержки объясняет двойной require в update_apps_cache из изначального вопроса?:

 

Поделиться сообщением


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

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

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

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

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

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

Войти

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

Войти сейчас