Блютуз и доработка модуля HOSTS ONLINE

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Блютуз и доработка модуля HOSTS ONLINE

Сообщение tarasfrompir » Вт июл 04, 2017 8:27 am

ТОЛЬКО ДЛЯ ВИНДОВС
Понадобилось мне тут проверить толи мои блютуз устройства (колонка с микрофоном для мультирума) в онлайне или оффлайне (сел акумулятор или чтото подобное).
Да и еще модуль работает нормально - но я так и не добился быстрого срабатывания..
(Все срабатывает через время)
Немного поколупав код и посмотрев все что смог понять сделал такое -
1. Скопировал в папку apps комплект программ (архив прилагаю)..
2. Добавил функцию в general.class.php - (после функции пинга )
После вот таких строчек -
СпойлерПоказать
/**
* Ping host
* @param mixed $host Host address
* @return bool
*/
function ping($host)
{
if (IsWindowsOS())
exec(sprintf('ping -n 1 %s', escapeshellarg($host)), $res, $rval);
elseif (substr(php_uname(), 0, 7) === "FreeBSD")
exec(sprintf('ping -c 1 -t 5 %s', escapeshellarg($host)), $res, $rval);
else
exec(sprintf('ping -c 1 -W 5 %s', escapeshellarg($host)), $res, $rval);

return $rval === 0 && preg_match('/ttl/is', join('', $res));
}
добавил вот такие строчки
СпойлерПоказать
/**
* Ping bluetooth host
* @param mixed $host Host address
* @return bool
*/
function pingbt($host)
{
if (IsWindowsOS()){
$answer='';
$connect = shell_exec(SERVER_ROOT . '/apps/blutoothscan/btdiscovery -d%a%%c%');
$PCREpattern = '/\r\n|\r|\n/u';
$connected = preg_replace($PCREpattern, '', $connect);
$pos = stripos($connected, $host);
$answer = substr($connected, $pos+18,3); // возвращает "Yes or No"
if ($answer == "Yes") {
$result=1;
} else {
$result=0;
}
}
return $result;
}
3. в файле pinghosts.class.php - добавил вот такое :
вместо - Define('DEF_TYPE_OPTIONS', '0=PING (HOST)|1=WEB PAGE (URL));
вставил - Define('DEF_TYPE_OPTIONS', '0=PING (HOST)|1=WEB PAGE (URL)|2=BLUETOOTH (MAC)');
и еще вместо такого
СпойлерПоказать
if (!$host['TYPE']) {
//ping host
$online=ping(processTitle($host['HOSTNAME']));
} else {
//web host
$online=getURL(processTitle($host['HOSTNAME']), 0);
SaveFile("./cached/host_".$host['ID'].'.html', $online);
if ($host['SEARCH_WORD']!='' && !is_integer(strpos($online, $host['SEARCH_WORD']))) {
$online=0;
}
if ($online) {
$online=1;
}
вставил такое
СпойлерПоказать
$online=0;
// checking
if ($host['TYPE']==0) {
//ping host
$online=ping(processTitle($host['HOSTNAME']));
} elseif ($host['TYPE']==1) {
//web host
$online=getURL(processTitle($host['HOSTNAME']), 0);
SaveFile("./cached/host_".$host['ID'].'.html', $online);
if ($host['SEARCH_WORD']!='' && !is_integer(strpos($online, $host['SEARCH_WORD']))) {
$online=0;
}
if ($online) {
$online=1;
}
} elseif ($host['TYPE']==2) {
$online =0;
$online=pingbt(processTitle($host['HOSTNAME']));
}
ВНИМАТЕЛЬНО ПЕРЕСМОТРИТЕ ФИГУРНЫЕ КАВЫЧКИ

Теперь в модуле производится проверка подключенности устройства блютуз по МАК-адресу...
Для линукса - я думаю тоже стоит доработать эту функцию
Не обещаю но ставить и пробовать делать буду...
СПС за внимание...
Вложения
apps.rar
Архивчик
(6.53 МБ) 268 скачиваний
Последний раз редактировалось tarasfrompir Чт сен 05, 2019 10:49 am, всего редактировалось 1 раз.
За это сообщение автора tarasfrompir поблагодарили (всего 2):
Logrus (Сб авг 31, 2019 12:08 am) • Samir77 (Пт май 29, 2020 1:10 pm)
Рейтинг: 2.33%
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Блютуз и доработка модуля HOSTS ONLINE

Сообщение Gelezako » Ср ноя 01, 2017 5:36 pm

я уверен что намеренно вы не выкладивали зловред, но вы могли не знать что файл заражён. У меня привычка проверять все ехе файлы из интернета. Сканирование файла btftp.exe показало что он может быть заражен
https://www.virustotal.com/ru/file/0e9e ... /analysis/
Ругнулся только один антивирь и скорей всего в ним всё нормально. Я так подозреваю что ехе файлы вы сами собирали. Не осталось ли у вас исходников что бы собрать файл заново?
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Блютуз и доработка модуля HOSTS ONLINE

Сообщение tarasfrompir » Ср ноя 01, 2017 5:38 pm

Не качал с сайте оригинала - так что тут без вариантов...
Может и ругнулся но случайно...

ПС
Качал отсюда - http://bluetoothinstaller.com/
Спасибо нам ПОМОЖЕТ..!
Ответить