Permalink
Browse files

Merge pull request #208 from tarasfrompir/master

Исправлено функцию добавления устройств
  • Loading branch information...
T-REX-XP committed Jul 21, 2018
2 parents 9f5e95e + 78dd069 commit 954e763ba459cafe566bb08921076f909b27cd4f
Showing with 53 additions and 2 deletions.
  1. +53 −2 modules/ssdp_finder/ssdp_finder.class.php
@@ -232,8 +232,59 @@ function add_to_SSDPdevices($id) {
$options['LOCATION_ID']=$ssdpdevice['LOCATION']; // ID расположения (не обязательно)
//$options['ADD_MENU']=1; // добавлять интерфейс работы с устройством в меню (не обязательно)
//$options['ADD_SCENE']=1; // добавлять интерфейс работы с устройством на сцену (не обязательно)
$result=$dev->addDevice($device_type, $options); // добавляем устройство -- возвращает 1 в случае успешного добавления
//$result=$dev->addDevice($device_type, $options); // добавляем устройство -- возвращает 1 в случае успешного добавления
// novaya vstavka
$dev->setDictionary();
$type_details=$dev->getTypeDetails($device_type);
if (!is_array($options)) {
$options=array();
}
if (!is_array($dev->device_types[$device_type])) {
return 0;
}
if ($options['TABLE'] && $options['TABLE_ID']) {
$table_rec=SQLSelectOne("SELECT * FROM ".$options['TABLE']." WHERE ID=".$options['TABLE_ID']);
if (!$table_rec['ID']) {
return 0;
}
}
if ($options['LINKED_OBJECT']!='') {
$old_device=SQLSelectOne("SELECT ID FROM devices WHERE LINKED_OBJECT LIKE '".DBSafe($options['LINKED_OBJECT'])."'");
if ($old_device['ID']) return $old_device['ID'];
$rec['LINKED_OBJECT']=$options['LINKED_OBJECT'];
}
$rec=array();
$rec['TYPE']=$device_type;
if ($options['TITLE']) {
$rec['TITLE']=$options['TITLE'];
} else {
$rec['TITLE']='New device '.date('H:i');
}
if ($options['LOCATION_ID']) {
$rec['LOCATION_ID']=$options['LOCATION_ID'];
}
$rec['ID']=SQLInsert('devices',$rec);
if ($rec['LOCATION_ID']) {
$location_title=getRoomObjectByLocation($rec['LOCATION_ID'],1);
}
if (!$rec['LINKED_OBJECT']) {
$new_object_title=ucfirst($rec['TYPE']).$dev->getNewObjectIndex($type_details['CLASS']);
$object_id=addClassObject($type_details['CLASS'],$new_object_title,'sdevice'.$rec['ID']);
$rec['LINKED_OBJECT']=$new_object_title;
if (preg_match('/New device .+/',$rec['TITLE'])) {
$rec['TITLE']=$rec['LINKED_OBJECT'];
}
SQLUpdate('devices',$rec);
}
if ($table_rec['ID']) {
$dev->addDeviceToSourceTable($options['TABLE'],$table_rec['ID'],$rec['ID']);
}
$result = 1;
// novaya vstavka konec
// если устройство создано то заполняем данные о нем в остальных таблицах - чтобы вручную не вводить
if ($result){
// zapolnyaem dannie ob ustroystve в обьектах

0 comments on commit 954e763

Please sign in to comment.