Re: Модуль "MegaD"
Добавлено: Пн май 07, 2018 10:47 pm
исправьте пожалуйста отображение модуля
Все баги надо в коннекте писать (чем подробнее, тем лучше). На форуме, скорее всего, затеряется и останется без внимания.
у этого модуля нет "страницы проекта" куда я мог бы отправить баг(
Пиши в ядро системы - https://connect.smartliving.ru/tasks/1.htmlwebms писал(а): Пн май 07, 2018 11:13 pm у этого модуля нет "страницы проекта" куда я мог бы отправить баг(
Код: Выделить всё
Меняем в html\modules\megad\readconfig.inc.php
строчки:
$url = BASE_URL . '/modules/megad/megad-cfg.php';
$url .= '?ip=' . urlencode($record['IP']) . '&read-conf=' . urlencode(ROOT . 'cached/megad.cfg') . '&p=' . urlencode($record['PASSWORD']);
$data = getURL($url, 0);
на:
//получаем все интерфейсы //get all interfaces
$config_list_ip = shell_exec("/sbin/ifconfig");
//подготавливаем дополнение к запросу в url //prepare an addition to the request in url
$local_ip_server_for_megad='&local-ip=';
//выделяем все ip из конфига // select all ip from config
if (preg_match_all("/[0-9]{1,3}[\.][0-9]{1,3}[\.][0-9]{1,3}[\.][0-9]{1,3}/", $config_list_ip,$all_ip)===false )
{$local_ip_server_for_megad='';}
else
{
//select the submask from ip megaD
if (!preg_match("/[0-9]{1,3}[\.][0-9]{1,3}[\.][0-9]{1,3}/", $record['IP'],$mask_ip_megaD) )
{$local_ip_server_for_megad='';}
else{
//ищем по подмаске ip из массива конфигов //search for submask IP from the configs array
// если совпадений более 1, то отказываемся от скрипта //if more than 1 matches, then refuse the script
$count_entry_ip=0;
foreach ($all_ip[0] as $value) {
$pos_find_ip = strpos($value, $mask_ip_megaD[0]);
if ($pos_find_ip === false) {
} else {
$local_ip_server_for_megad= $local_ip_server_for_megad.urlencode($value);
$count_entry_ip++;
}
};
}
}
//проверяем нашлось ли совпадение //check if there was a match
if ($count_entry_ip!=1)
{$local_ip_server_for_megad='';}
$url = BASE_URL . '/modules/megad/megad-cfg.php';
$url .= '?ip=' . urlencode($record['IP']) . $local_ip_server_for_megad.'&read-conf=' . urlencode(ROOT . 'cached/megad.cfg') . '&p=' . urlencode($record['PASSWORD']);
$data = getURL($url, 0);