Расшифруйте ПЛЗ мне функцию

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

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

Расшифруйте ПЛЗ мне функцию

Сообщение tarasfrompir » Чт июл 19, 2018 9:17 pm

Код: Выделить всё

function addDevice($device_type, $options=0) {
     $this->setDictionary();
     $type_details=$this->getTypeDetails($rec['TYPE']);
     if (!is_array($options)) {
         $options=array();
     }
     if (!is_array($this->device_types[$device_type])) {
         return 0;
     }
$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']).$this->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']) {
         $this->addDeviceToSourceTable($options['TABLE'],$table_rec['ID'],$rec['ID']);
     }
     if ($options['ADD_MENU']) {
         $this->addDeviceToMenu($rec['ID']);
     }
     if ($options['ADD_SCENE']) {
         $this->addDeviceToScene($rec['ID']);
     }
     return 1;
 }
Вот в этой функции строка № 3 - $type_details=$this->getTypeDetails($rec['TYPE']);
ГДЕ она возмет $rec['TYPE'] ???
Или я чего то не понимаю....???
Спасибо нам ПОМОЖЕТ..!
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Расшифруйте ПЛЗ мне функцию

Сообщение skysilver » Чт июл 19, 2018 10:20 pm

Полагаю, ф-я getTypeDetails сама вернет нужное значение и запишет в $rec['TYPE']
См. "передача по ссылке" http://php.net/manual/ru/language.references.pass.php
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Расшифруйте ПЛЗ мне функцию

Сообщение tarasfrompir » Чт июл 19, 2018 10:26 pm

А как же это - ??? Начиная с PHP 5.4.0 передача переменной по ссылке стала невозможна, поэтому использование этого приема приведет к фатальной ошибке.
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Расшифруйте ПЛЗ мне функцию

Сообщение tarasfrompir » Чт июл 19, 2018 10:41 pm

И еще вот вызываемая функция -

function getTypeDetails($type) {
return $this->device_types[$type];
}

Я так понимаю что $rec['TYPE'] для нее это данные для вычисления функции
Спасибо нам ПОМОЖЕТ..!
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Расшифруйте ПЛЗ мне функцию

Сообщение olehs » Сб июл 21, 2018 4:15 pm

Так а разве вы это не исправили 29 дней назад?
https://github.com/sergejey/majordomo/c ... 3ace78c770
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Расшифруйте ПЛЗ мне функцию

Сообщение tarasfrompir » Сб июл 21, 2018 8:28 pm

Да но все вернули назад - поэтому и вопрос почему вернули и может что-то я не понимаю. И вообще почему же с такой уверенностью все изменено назад! И вот же вопрос возник Почему? И или может все же это сделано правильно? И может я чего не догоняют???
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: Расшифруйте ПЛЗ мне функцию

Сообщение nightwind » Сб июл 21, 2018 8:36 pm

Возможно в области видимости этой функции существует т $rec['TYPE']. там и возьмет
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Расшифруйте ПЛЗ мне функцию

Сообщение olehs » Сб июл 21, 2018 11:23 pm

Думаю Сергей случайно потер изменения в альфе. В мастере остались правки
Ответить