Поискал, поискал, ничего толкового не нашел. Пришлось написать самому. Выложил на GitHub. Описание актуального API Zabbix тут.
Пример использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
include_once 'zabbix.php'; $url="https://my_zabbix.ru/api_jsonrpc1.php"; $login="weoriufeowiuf"; $password="owerierfoiewroi"; @include_once 'config.php'; // инициализация класса true/false - вывод в режиме debug $zab=new Tzabbix(false); $zab->SetCurlOpt(CURLOPT_URL,$url); echo "-получаем api-key\n"; $res=$zab->Auth($login, $password); if (isset($res->result)==true){ if ($res->result!==false){ $res=$zab->Execute("host.get", ["output"=>["hostid","host"],"selectInterfaces"=>["interfaceid","ip"]]); var_dump($res); } else { var_dump($res); die(-1); }; } else { echo "--не понятная ошибка. попробуйте переключить в debug=true"; }; |
1С удивительная платформа. Иногда спотыкаешься на ровном месте на пару часов и не знаешь ты дурак или нет.. Ну вот казалось бы простая вещь — сделать список выбора на управляемой форме, а застрял из-за одного нюанса, из-за которого то что выбрал в списке не отображалось в поле выбора..
Теперь пошагово:
- Создаем реквизит, например «Категория». ВАЖНО! — тип — произвольный:
У меня был затык именно на этом месте.
- Далее ставим галочку «Режим выбора из списка» и назначаем обработку начала выбора на клиенте

- Собственно сама обработка:
|
&НаКлиенте Процедура КатегорияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) Элементы.Категория.СписокВыбора.Очистить(); Элементы.Категория.СписокВыбора.Добавить(0,"1"); Элементы.Категория.СписокВыбора.Добавить(1,"2"); Элементы.Категория.СписокВыбора.Добавить(2,"Тест"); КонецПроцедуры |
В чём была моя ошибка? Тип реквизита выбирал текст. Ну да, только когда я добавлял в список выбора цифры в Элементы.Категория.СписокВыбора.Добавить(0,»1″), то 1С их преобразовывала с цифры..
Иногда проще бывает встроить «базовую» авторизацию в скрипт, чем «пилить» что-то специальное под авторизацию. К счастью протокол HTTP позволяет это сделать — а именно перед открытием страницы можно спросить у пользователя…ну например банальное логин-пароль. Например так:
|
if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: Basic realm="Enter login and passowrd"'); header('HTTP/1.0 401 Unauthorized'); echo 'Без авторизации нельзя!'; exit; } else { if (($_SERVER['PHP_AUTH_USER']=="pavel") and ($_SERVER['PHP_AUTH_PW']=="lkeslek")){ } else { die("Логин пароль не верен!"); }; |
1) Яндекс
https://geocode-maps.yandex.ru/1.x/?geocode=$address&format=json&results=1
Минусы: Быстро банит, при превышении какого-то количества запросов
2) Гугл
https://maps.googleapis.com/maps/api/geocode/json?address=Вологда&key=YOUR_API_KEY
Минусы: нужно получать ключ
3) Спутник
http://search.maps.sputnik.ru/search/addr?q=$address
Минусы: для части адресов, с которыми Яндекс справляется отлично, тут безбожно врёт.
После обновления Ubuntu вдруг стала выходить такая ошибка в PHPNyAdmin в варнингах. Все не доходили руки посмотреть, да вот дошли. Это ошибка в файле /usr/share/phpmyadmin/libraries/sql.lib.php. Нужно найти сточку:
|
|| (count($analyzed_sql_results['select_expr'] == 1) |
И исправить её на:
|
|| ((count($analyzed_sql_results['select_expr']) == 1) |
Не правильно скобочки поставили разработчики 😉
Жизнь замечательных грибов