[Модуль] SSDP Finder (ssdp_finder)
Модератор: immortal
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: [Модуль] SSDP Finder (ssdp_finder)
запусти htdocs\modules\ssdp_finder\test.php и ответ сюда
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 120
- Зарегистрирован: Вт дек 18, 2018 3:26 pm
- Откуда: Москва
- Благодарил (а): 35 раз
- Поблагодарили: 4 раза
Re: [Модуль] SSDP Finder (ssdp_finder)
это?tarasfrompir писал(а): ↑Сб апр 20, 2019 9:06 amзапусти htdocs\modules\ssdp_finder\test.php и ответ сюда
Код: Выделить всё
<?php
require('upnp/vendor/autoload.php');
use jalder\Upnp\Upnp;
$upnp = new Upnp();
print('searching...'.PHP_EOL);
$everything = $upnp->discover_3rddevice();
if(!count($everything)){
print_r('no upnp devices found'.PHP_EOL);
}
foreach($everything as $device){
print_r($device);
print_r("\r\n");
//u ncomment to see all available array elements for a device.
// $info = $device['description']['device'];
// $summary = $info['friendlyName'].', '.$info['modelName'].', '.$info['UDN'];
// print($summary.PHP_EOL);
}
function startsWith($haystack, $needle)
{
$length = strlen($needle);
return (substr($haystack, 0, $length) === $needle);
}
function getServices($dev){
$services = $dev["serviceList"]["service"];
$result = array();
if($services){
$servType = $services["serviceType"];
//print "Serv Type: " . $servType;
if(startsWith($servType,"urn") ){ // && empty($servType)
//print "First cond->";
$name = explode(":", $servType)[3];
array_push($result,$name);
}
else{
foreach($services as $k => $v){
$value = $v["serviceType"];
$name = explode(":", $value)[3];
array_push($result,$name);
}
}
}
return implode(",",$result);
}
function endsWith($haystack, $needle)
{
return $needle === '' || substr_compare($haystack, $needle, -strlen($needle)) === 0;
}
function SearchArray($array, $searchIndex, $searchValue)
{
if (!is_array($array) || $searchIndex == '')
return false;
foreach ($array as $k => $v)
{
if (is_array($v) && array_key_exists($searchIndex, $v) && $v[$searchIndex] == $searchValue)
return $k;
}
return false;
}
function getDefImg($dev)
{
$baseUrl = $dev["presentationURL"];
print "BAse URL:" . $baseUrl;
if( !empty($baseUrl) && endsWith($baseUrl,"/")){
print "First improove ->";
$baseUrl= rtrim($baseUrl,"/");//$baseUrl . ;
}
else if( $dev["location"]){
print "Second improove ->";
$img_url = str_replace('\\','', $dev["location"]);
$parsed_url = parse_url($img_url);
$baseUrl = $parsed_url['scheme'].'://'.$parsed_url['host'].':'.$parsed_url['port'];//.$dev["iconList"]["icon"]["0"]["url"];
}
print "Base url after improove:" . $baseUrl;
if( $dev["iconList"]["icon"]["0"]["url"]){
/*$icons = $dev["iconList"]["icon"];
$searchedValue = 48; // Value to search.
$index48 = SearchArray($icons,"width",48);
$img48 =""; //empty by def
if($index48 !=false){
$img48 = $icons[$index48]["url"];
}else{
$img48 = $icons[0]["url"];
}
return $baseUrl . $img48;*/
return $baseUrl . $dev["iconList"]["icon"]["0"]["url"];
}else{
$type =explode(":", $dev["deviceType"])[3];
return "/templates/SSDPFinder/img/".$type. ".png";//"Icons not found... (((";
}
}
?>
Win10
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: [Модуль] SSDP Finder (ssdp_finder)
ага...kosem писал(а): ↑Сб апр 20, 2019 12:39 pmэто?tarasfrompir писал(а): ↑Сб апр 20, 2019 9:06 amзапусти htdocs\modules\ssdp_finder\test.php и ответ сюдаКод: Выделить всё
<?php require('upnp/vendor/autoload.php'); use jalder\Upnp\Upnp; $upnp = new Upnp(); print('searching...'.PHP_EOL); $everything = $upnp->discover_3rddevice(); if(!count($everything)){ print_r('no upnp devices found'.PHP_EOL); } foreach($everything as $device){ print_r($device); print_r("\r\n"); //u ncomment to see all available array elements for a device. // $info = $device['description']['device']; // $summary = $info['friendlyName'].', '.$info['modelName'].', '.$info['UDN']; // print($summary.PHP_EOL); } function startsWith($haystack, $needle) { $length = strlen($needle); return (substr($haystack, 0, $length) === $needle); } function getServices($dev){ $services = $dev["serviceList"]["service"]; $result = array(); if($services){ $servType = $services["serviceType"]; //print "Serv Type: " . $servType; if(startsWith($servType,"urn") ){ // && empty($servType) //print "First cond->"; $name = explode(":", $servType)[3]; array_push($result,$name); } else{ foreach($services as $k => $v){ $value = $v["serviceType"]; $name = explode(":", $value)[3]; array_push($result,$name); } } } return implode(",",$result); } function endsWith($haystack, $needle) { return $needle === '' || substr_compare($haystack, $needle, -strlen($needle)) === 0; } function SearchArray($array, $searchIndex, $searchValue) { if (!is_array($array) || $searchIndex == '') return false; foreach ($array as $k => $v) { if (is_array($v) && array_key_exists($searchIndex, $v) && $v[$searchIndex] == $searchValue) return $k; } return false; } function getDefImg($dev) { $baseUrl = $dev["presentationURL"]; print "BAse URL:" . $baseUrl; if( !empty($baseUrl) && endsWith($baseUrl,"/")){ print "First improove ->"; $baseUrl= rtrim($baseUrl,"/");//$baseUrl . ; } else if( $dev["location"]){ print "Second improove ->"; $img_url = str_replace('\\','', $dev["location"]); $parsed_url = parse_url($img_url); $baseUrl = $parsed_url['scheme'].'://'.$parsed_url['host'].':'.$parsed_url['port'];//.$dev["iconList"]["icon"]["0"]["url"]; } print "Base url after improove:" . $baseUrl; if( $dev["iconList"]["icon"]["0"]["url"]){ /*$icons = $dev["iconList"]["icon"]; $searchedValue = 48; // Value to search. $index48 = SearchArray($icons,"width",48); $img48 =""; //empty by def if($index48 !=false){ $img48 = $icons[$index48]["url"]; }else{ $img48 = $icons[0]["url"]; } return $baseUrl . $img48;*/ return $baseUrl . $dev["iconList"]["icon"]["0"]["url"]; }else{ $type =explode(":", $dev["deviceType"])[3]; return "/templates/SSDPFinder/img/".$type. ".png";//"Icons not found... ((("; } } ?>
- За это сообщение автора tarasfrompir поблагодарил:
- Unripe (Сб апр 20, 2019 9:26 pm)
- Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: [Модуль] SSDP Finder (ssdp_finder)
ну так что там с ответами...kosem писал(а): ↑Сб апр 20, 2019 12:39 pmэто?tarasfrompir писал(а): ↑Сб апр 20, 2019 9:06 amзапусти htdocs\modules\ssdp_finder\test.php и ответ сюдаКод: Выделить всё
<?php require('upnp/vendor/autoload.php'); use jalder\Upnp\Upnp; $upnp = new Upnp(); print('searching...'.PHP_EOL); $everything = $upnp->discover_3rddevice(); if(!count($everything)){ print_r('no upnp devices found'.PHP_EOL); } foreach($everything as $device){ print_r($device); print_r("\r\n"); //u ncomment to see all available array elements for a device. // $info = $device['description']['device']; // $summary = $info['friendlyName'].', '.$info['modelName'].', '.$info['UDN']; // print($summary.PHP_EOL); } function startsWith($haystack, $needle) { $length = strlen($needle); return (substr($haystack, 0, $length) === $needle); } function getServices($dev){ $services = $dev["serviceList"]["service"]; $result = array(); if($services){ $servType = $services["serviceType"]; //print "Serv Type: " . $servType; if(startsWith($servType,"urn") ){ // && empty($servType) //print "First cond->"; $name = explode(":", $servType)[3]; array_push($result,$name); } else{ foreach($services as $k => $v){ $value = $v["serviceType"]; $name = explode(":", $value)[3]; array_push($result,$name); } } } return implode(",",$result); } function endsWith($haystack, $needle) { return $needle === '' || substr_compare($haystack, $needle, -strlen($needle)) === 0; } function SearchArray($array, $searchIndex, $searchValue) { if (!is_array($array) || $searchIndex == '') return false; foreach ($array as $k => $v) { if (is_array($v) && array_key_exists($searchIndex, $v) && $v[$searchIndex] == $searchValue) return $k; } return false; } function getDefImg($dev) { $baseUrl = $dev["presentationURL"]; print "BAse URL:" . $baseUrl; if( !empty($baseUrl) && endsWith($baseUrl,"/")){ print "First improove ->"; $baseUrl= rtrim($baseUrl,"/");//$baseUrl . ; } else if( $dev["location"]){ print "Second improove ->"; $img_url = str_replace('\\','', $dev["location"]); $parsed_url = parse_url($img_url); $baseUrl = $parsed_url['scheme'].'://'.$parsed_url['host'].':'.$parsed_url['port'];//.$dev["iconList"]["icon"]["0"]["url"]; } print "Base url after improove:" . $baseUrl; if( $dev["iconList"]["icon"]["0"]["url"]){ /*$icons = $dev["iconList"]["icon"]; $searchedValue = 48; // Value to search. $index48 = SearchArray($icons,"width",48); $img48 =""; //empty by def if($index48 !=false){ $img48 = $icons[$index48]["url"]; }else{ $img48 = $icons[0]["url"]; } return $baseUrl . $img48;*/ return $baseUrl . $dev["iconList"]["icon"]["0"]["url"]; }else{ $type =explode(":", $dev["deviceType"])[3]; return "/templates/SSDPFinder/img/".$type. ".png";//"Icons not found... ((("; } } ?>
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 120
- Зарегистрирован: Вт дек 18, 2018 3:26 pm
- Откуда: Москва
- Благодарил (а): 35 раз
- Поблагодарили: 4 раза
Re: [Модуль] SSDP Finder (ssdp_finder)
Решил переустановить МД. Скорей всего, я чего-то наковырял и теперь все приблуды или работают криво или, как эта, вообще не работает...
Win10
-
- Сообщения: 120
- Зарегистрирован: Вт дек 18, 2018 3:26 pm
- Откуда: Москва
- Благодарил (а): 35 раз
- Поблагодарили: 4 раза
Re: [Модуль] SSDP Finder (ssdp_finder)
дело было не в бобине...
переустановил - результат тот же - ничего не находит
так еще появилась какая-то ошибка после установок, обновлений и настроек модулей:
Fatal error: Maximum execution time of 60 seconds exceeded in C:\_majordomo\htdocs\modules\ssdp_finder\ssdp_devices_scan.inc.php on line 301
htdocs\modules\ssdp_finder\test.php выдает:
Fatal error: Uncaught Error: Undefined constant 'htdocs\modules\ssdp_finder\test' in C:\_majordomo\htdocs\modules\inc_panel_ajax.php(17) : eval()'d code:1
Stack trace:
#0 C:\_majordomo\htdocs\modules\inc_panel_ajax.php(17): eval()
#1 C:\_majordomo\htdocs\modules\panel.class.php(116): include_once('C:\\_majordomo\\h...')
#2 C:\_majordomo\htdocs\admin.php(34): panel->run()
#3 {main}
thrown in C:\_majordomo\htdocs\modules\inc_panel_ajax.php(17) : eval()'d code on line 1
переустановил - результат тот же - ничего не находит
так еще появилась какая-то ошибка после установок, обновлений и настроек модулей:
Fatal error: Maximum execution time of 60 seconds exceeded in C:\_majordomo\htdocs\modules\ssdp_finder\ssdp_devices_scan.inc.php on line 301
htdocs\modules\ssdp_finder\test.php выдает:
Fatal error: Uncaught Error: Undefined constant 'htdocs\modules\ssdp_finder\test' in C:\_majordomo\htdocs\modules\inc_panel_ajax.php(17) : eval()'d code:1
Stack trace:
#0 C:\_majordomo\htdocs\modules\inc_panel_ajax.php(17): eval()
#1 C:\_majordomo\htdocs\modules\panel.class.php(116): include_once('C:\\_majordomo\\h...')
#2 C:\_majordomo\htdocs\admin.php(34): panel->run()
#3 {main}
thrown in C:\_majordomo\htdocs\modules\inc_panel_ajax.php(17) : eval()'d code on line 1
Win10
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: [Модуль] SSDP Finder (ssdp_finder)
естественно - надо запускать такkosem писал(а): ↑Вс апр 21, 2019 3:04 pmдело было не в бобине...
переустановил - результат тот же - ничего не находит
так еще появилась какая-то ошибка после установок, обновлений и настроек модулей:
Fatal error: Maximum execution time of 60 seconds exceeded in C:\_majordomo\htdocs\modules\ssdp_finder\ssdp_devices_scan.inc.php on line 301
htdocs\modules\ssdp_finder\test.php выдает:
Fatal error: Uncaught Error: Undefined constant 'htdocs\modules\ssdp_finder\test' in C:\_majordomo\htdocs\modules\inc_panel_ajax.php(17) : eval()'d code:1
Stack trace:
#0 C:\_majordomo\htdocs\modules\inc_panel_ajax.php(17): eval()
#1 C:\_majordomo\htdocs\modules\panel.class.php(116): include_once('C:\\_majordomo\\h...')
#2 C:\_majordomo\htdocs\admin.php(34): panel->run()
#3 {main}
thrown in C:\_majordomo\htdocs\modules\inc_panel_ajax.php(17) : eval()'d code on line 1
http://ip-majordomo/modules/ssdp_finder/test.php
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 120
- Зарегистрирован: Вт дек 18, 2018 3:26 pm
- Откуда: Москва
- Благодарил (а): 35 раз
- Поблагодарили: 4 раза
Re: [Модуль] SSDP Finder (ssdp_finder)
прошу прощения, за свою бестолковость, но никак не пойму, где и как надо запустить этот test.phptarasfrompir писал(а): ↑Вс апр 21, 2019 3:23 pm
естественно - надо запускать так
http://ip-majordomo/modules/ssdp_finder/test.php
Первый раз запустил в браузере хром по строке C:/_majordomo/htdocs/modules/ssdp_finder/test.php (полный путь до файла) и похоже просто его открыл.
Затем htdocs\modules\ssdp_finder\test.php запустил в консоли МД - тоже что-то не то.
Теперь перепробовал все возможные варианты в хроме с http://ip-majordomo/modules/ssdp_finder/test.php (вместо ip - localhost и 192.168... и полный путь) в результате "404".
Напишите, пожалуйста, полный синтаксис и где его запускать?
Win10
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: [Модуль] SSDP Finder (ssdp_finder)
в адресной строке браузера http://192.168.0.100/modules/ssdp_finder/test.php
- За это сообщение автора tarasfrompir поблагодарил:
- kosem (Вс апр 21, 2019 10:33 pm)
- Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз