SmartLiving.ru

Обсуждение проекта
 
Текущее время: Ср июн 28, 2017 6:46 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Чт окт 06, 2016 11:44 am 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 28, 2013 8:14 am
Сообщения: 2340
Откуда: Екатеринбург
Благодарил (а): 80 раз.
Поблагодарили: 443 раз.
Ребят...помогите с написанием модуля немножко....
Короче...есть json-строка вот такого формата
Код:
{"deviceList":[{"name":"RM Pro 1","type":"RM2","mac":"a1:b1:c1:d1:e1:f1"}, 
{"name":"RM mini 3","type":"RMmini3","mac":"a2:b2:c2:d2:e2:f2"}, 
{"name":"SP mini 1","type":"SPmini","mac":"a3:b3:c3:d3:e3:f3"}]}

Через json_decode() строка превращается в массив, в котором 1 элемент deviceList, содержащий несколько подмассивов, в которых есть второй уровень подмассивов...

Задача - нужно выпадающее меню в админке (select) заполнить содержимым, например name....
из строки вида
Код:
[{"name":"RM Pro 1","type":"RM2","mac":"a1:b1:c1:d1:e1:f1"}, 
{"name":"RM mini 3","type":"RMmini3","mac":"a2:b2:c2:d2:e2:f2"}, 
{"name":"SP mini 1","type":"SPmini","mac":"a3:b3:c3:d3:e3:f3"}]

Это получается без проблем...а как из начальной строки это сделать? Весь мозг себе сломал...не запихивать же отдельно элемент массива в json, и потом опять декодировать его...это же бред....а по-другому - не придумывается как(( Помогите плс.

_________________
Raspberry Pi3 + Broadlink + esp8266 (blynk) + Arduino Mega (AMS)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт ноя 18, 2016 12:44 pm 
Не в сети

Зарегистрирован: Вт апр 23, 2013 5:16 pm
Сообщения: 286
Откуда: Брянск
Благодарил (а): 18 раз.
Поблагодарили: 78 раз.
Я возможно не совсем понял что не получается, но добраться до конечных элементов можно так:
Код:

$json 
'{"deviceList":[{"name":"RM Pro 1","type":"RM2","mac":"a1:b1:c1:d1:e1:f1"}, 
{"name":"RM mini 3","type":"RMmini3","mac":"a2:b2:c2:d2:e2:f2"}, 
{"name":"SP mini 1","type":"SPmini","mac":"a3:b3:c3:d3:e3:f3"}]}'
;

$array json_decode($jsonTRUE);
$deviceList $array['deviceList'];

foreach (
$deviceList as $value) {
    
var_dump($value['name']);
}
 

Код выводит имена всех элементов.

_________________
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт дек 09, 2016 11:32 am 
Не в сети

Зарегистрирован: Чт мар 19, 2015 10:27 pm
Сообщения: 37
Благодарил (а): 6 раз.
Поблагодарили: 12 раз.
Не знаю насколько я по адресу, но предложение такое.
Есть много модулей для отправки уведомлений через телеграм, смс, твиттер, pushbullet и прочих способов, но нет решения, работающего из коробки по отправке обычной электронной почты. Есть сценарии со стандартными командами PHP, но это скорее уровень программиста, тем более не все почтовые серверы принимают такие сообщения, в идеале, нужно себе создать ящик на каком-то сервисе и дом должен отправлять письма через него, причем желательно командой типа say с парой аргументов, или как сделано в смс, отправлять адресатам все выше какого-то уровня сообщений, одним словом, реализовать что-то подобное нужно.
Я вот сейчас разбираюсь с решением PHP mailer (https://github.com/PHPMailer/PHPMailer), но не всякий пользователь будет это делать, нужно что-то проще в удобной обертке, иначе обидно, что с такой продвинутой платформы отправить обычное письмо затруднительно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт дек 09, 2016 2:16 pm 
Не в сети
Site Admin

Зарегистрирован: Пн сен 05, 2011 6:48 pm
Сообщения: 3897
Откуда: Минск, Беларусь
Благодарил (а): 62 раз.
Поблагодарили: 999 раз.
есть две функции:
SendMail($from, $to, $subj, $body, $attach = "")
SendMail_HTML($from, $to, $subj, $body, $attach = "")

но их работа зависит от работы встроенной функции mail в php и не во всякой системе она правильно настроена "из коробки"

_________________

Сергей Джейгало, разработчик MajorDoMo
Обо мне | Сотрудничество | Профиль Connect


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт дек 09, 2016 5:14 pm 
Не в сети

Зарегистрирован: Чт мар 19, 2015 10:27 pm
Сообщения: 37
Благодарил (а): 6 раз.
Поблагодарили: 12 раз.
sergejey писал(а):
есть две функции:
SendMail($from, $to, $subj, $body, $attach = "")
SendMail_HTML($from, $to, $subj, $body, $attach = "")

но их работа зависит от работы встроенной функции mail в php и не во всякой системе она правильно настроена "из коробки"


Ну вот именно это я и считаю проблемой, что оно не везде работает нормально, тем более, что отправка письма в таком случае происходит не с зарегистрированного ящика, а с самого устройства с подстановкой произвольных атрибутов $from, только такие письма принимают даже не все серверы, они элементарно могут лететь в спам, даже если корректно отправятся. Или я не прав?
Многие пишут, что используют PHPMailer, может стоит сделать для него какую-то обертку? Оформить в отдельный модуль? Я вот сегодня не разобрался как его прикрутить в систему, конечно, поковыряюсь и все заработает, но для масс это не так удобно...
Может я чего-то не понимаю...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср янв 11, 2017 1:14 pm 
Не в сети

Зарегистрирован: Чт июн 02, 2016 9:33 pm
Сообщения: 242
Благодарил (а): 57 раз.
Поблагодарили: 14 раз.
Подскажите как свой модуль добавить в МД? Нажимаю кнопку "Добавить\Обновить" в самом низу на странице "Маркет дополнений" и белый лист.

_________________
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср янв 11, 2017 1:56 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 28, 2013 8:14 am
Сообщения: 2340
Откуда: Екатеринбург
Благодарил (а): 80 раз.
Поблагодарили: 443 раз.
В панели управления - модули - ищите папку со своим модулем, тыкаете на него, нажимаете инсталл/реинстал модуль. Модуль предварительно распаковать в htdocs

_________________
Raspberry Pi3 + Broadlink + esp8266 (blynk) + Arduino Mega (AMS)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср янв 11, 2017 5:56 pm 
Не в сети

Зарегистрирован: Чт июн 02, 2016 9:33 pm
Сообщения: 242
Благодарил (а): 57 раз.
Поблагодарили: 14 раз.
я проюовал подкладыватьть и в htdocs и в htdocs\modules , но в маркете дополнений он не появляется. Использовал http://majordomo.smartliving.ru/mbuilder/
что может быть не так?

_________________
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Ср янв 11, 2017 7:05 pm 
Не в сети
Site Admin

Зарегистрирован: Пн сен 05, 2011 6:48 pm
Сообщения: 3897
Откуда: Минск, Беларусь
Благодарил (а): 62 раз.
Поблагодарили: 999 раз.
В маркете модули сами по себе не появляются -- маркет это для опубликованных модулей. Если вы хотите получить в системе свой модуль, созданный в mbuilder-е, то просто распаковывайте его как есть в папку htdocs -- там уже будут подпапки modules и templates. Затем можете в панели управления в меню Система->Модули найти свой модуль, зайти в него и проинсталлировать. Либо просто перезапустите систему -- сейчас при старте автоматически устанавливаются имеющиеся, но не установленные модули.

_________________

Сергей Джейгало, разработчик MajorDoMo
Обо мне | Сотрудничество | Профиль Connect


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пт янв 13, 2017 12:35 pm 
Не в сети

Зарегистрирован: Чт июн 02, 2016 9:33 pm
Сообщения: 242
Благодарил (а): 57 раз.
Поблагодарили: 14 раз.
о, спасибо, разобрался
вот хотел бы ещё порекомендовать отличное вводное видео от форуичанина nick7zmail
https://www.youtube.com/watch?v=_NL3r_CzwzY

_________________
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB