а его никак не найти потом чтоли?
по логину, например?
--
в KVMmanager тоже идентификаторы юзаются
обошёлся поиском по логину и вытаскиванием идентификатора
Интеграция с панелью ISPConfig
- alezhen
- Сообщения: 119
- Зарегистрирован: 2015-02-16 12:22:03
- Откуда: Россия
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
- Контактная информация:
Интеграция с панелью ISPConfig
Можно по логину запросить. Но потом парсить XML с кучей параметров нужно. Да и лишняя нагрузка получается. Было-бы неплохо добавить переменную в заказ. Но если никак, то буду парсить.
Отправлено спустя 1 час 45 минут 26 секунд:
Может тогда подскажете, как мне получить ИД отсюда:
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="/remote/index.php" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://xml.apache.org/xml-soap" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:client_get_by_usernameResponse><return xsi:type="ns2:Map"><item><key xsi:type="xsd:string">userid</key><value xsi:type="xsd:string">36</value></item><item><key xsi:type="xsd:string">sys_userid</key><value xsi:type="xsd:string">1</value></item><item><key xsi:type="xsd:string">sys_groupid</key><value xsi:type="xsd:string">1</value></item><item><key xsi:type="xsd:string">sys_perm_user</key><value xsi:type="xsd:string">riud</value></item><item><key xsi:type="xsd:string">sys_perm_group</key><value xsi:type="xsd:string">riud</value></item><item><key xsi:type="xsd:string">sys_perm_other</key><value xsi:type="xsd:string"></value></item><item><key xsi:type="xsd:string">username</key><value xsi:type="xsd:string">tester</value></item><item><key xsi:type="xsd:string">passwort</key><value xsi:type="xsd:string">бла-бла-бла</value></item><item><key xsi:type="xsd:string">modules</key><value xsi:type="xsd:string">dashboard,mail,sites,dns,tools,help</value></item><item><key xsi:type="xsd:string">startmodule</key><value xsi:type="xsd:string">dashboard</value></item><item><key xsi:type="xsd:string">app_theme</key><value xsi:type="xsd:string">default</value></item><item><key xsi:type="xsd:string">typ</key><value xsi:type="xsd:string">user</value></item><item><key xsi:type="xsd:string">active</key><value xsi:type="xsd:string">1</value></item><item><key xsi:type="xsd:string">language</key><value xsi:type="xsd:string">ru</value></item><item><key xsi:type="xsd:string">groups</key><value xsi:type="xsd:string">36</value></item><item><key xsi:type="xsd:string">default_group</key><value xsi:type="xsd:string">36</value></item><item><key xsi:type="xsd:string">client_id</key><value xsi:type="xsd:string">35</value></item><item><key xsi:type="xsd:string">id_rsa</key><value xsi:type="xsd:string"></value></item><item><key xsi:type="xsd:string">ssh_rsa</key><value xsi:type="xsd:string"></value></item></return></ns1:client_get_by_usernameResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
Отправлено спустя 1 час 45 минут 26 секунд:
Может тогда подскажете, как мне получить ИД отсюда:
Код: Выделить всё
<return xsi:type="ns2:Map"><item><key xsi:type="xsd:string">userid</key><value xsi:type="xsd:string">36</value></item>
Интеграция с панелью ISPConfig
парсинг xml в библиотеках ISPmanager есть
с его серверами, общение как раз по xml и идёт
вам надо чё-то про
с его серверами, общение как раз по xml и идёт
Код: Выделить всё
cat /tmp/a.txt | xmllint --format -
...........
<item>
<key xsi:type="xsd:string">default_group</key>
<value xsi:type="xsd:string">36</value>
</item>
<item>
<key xsi:type="xsd:string">client_id</key>
<value xsi:type="xsd:string">35</value>
</item>
<item>
<key xsi:type="xsd:string">id_rsa</key>
<value xsi:type="xsd:string"/>
</item>
...........
вам надо чё-то про
Код: Выделить всё
$XML = $XML->ToArray('item');
Убей их всех! Бог потом рассортирует...
- alezhen
- Сообщения: 119
- Зарегистрирован: 2015-02-16 12:22:03
- Откуда: Россия
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
- Контактная информация:
Интеграция с панелью ISPConfig
как вывести результат в debug или в лог? например результат разбора этого
Код: Выделить всё
$XML = $XML->ToArray('item');
Интеграция с панелью ISPConfig
открываем многострадальную ./hosts/hosting/system/libs/IspManager5.php
и в строкке 58 видим такое
вопросы? замечания? предложения? =)
--
строки можно просто выводить, а вот массивы через print_r(...,true)
Отправлено спустя 1 минуту 5 секунд:
какбы не просто так говорил про то что с нуля писать не стоит...
там почти везде есть отладка, в либах, и далеко не вся она закомметирована...
и в строкке 58 видим такое
Код: Выделить всё
#Debug(SPrintF('[system/libs/IspManager5.php]: Resellers = %s',print_r($Resellers,true)));
вопросы? замечания? предложения? =)
--
строки можно просто выводить, а вот массивы через print_r(...,true)
Отправлено спустя 1 минуту 5 секунд:
какбы не просто так говорил про то что с нуля писать не стоит...
там почти везде есть отладка, в либах, и далеко не вся она закомметирована...
Убей их всех! Бог потом рассортирует...
- alezhen
- Сообщения: 119
- Зарегистрирован: 2015-02-16 12:22:03
- Откуда: Россия
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
- Контактная информация:
Интеграция с панелью ISPConfig
Код: Выделить всё
String_XML_Parse($Response);
может иметь параметры? в IspManager не нашел. а то она мне отдает в массив только последнее item
Код: Выделить всё
Array
(
[SOAP-ENV:Envelope] => Array
(
[SOAP-ENV:Body] => Array
(
[ns1:client_get_by_usernameResponse] => Array
(
[return] => Array
(
[item] => Array
(
[key] => ssh_rsa
[value] =>
)
)
)
)
)
)
из всего полученного выше постом xml
Отправлено спустя 9 минут 23 секунды:
В каком файле она вообще лежит?
Код: Выделить всё
String_XML_Parse();
Отправлено спустя 18 минут 29 секунд:
все, нашел ее. там кроме установки кеширования ничего нет
- alezhen
- Сообщения: 119
- Зарегистрирован: 2015-02-16 12:22:03
- Откуда: Россия
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
- Контактная информация:
Интеграция с панелью ISPConfig
Все вопрос снят. Обошелся без String_XML_Parse();
Сделал своими силами:
Сделал своими силами:
Код: Выделить всё
$p = xml_parser_create();
xml_parse_into_struct($p, $Response, $vals);
xml_parser_free($p);
echo $vals[6][value];
Интеграция с панелью ISPConfig
alezhen писал(а):Источник цитаты $XML = $XML->ToArray('item');
Не работает чтоли?
Убей их всех! Бог потом рассортирует...
- alezhen
- Сообщения: 119
- Зарегистрирован: 2015-02-16 12:22:03
- Откуда: Россия
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
- Контактная информация:
Интеграция с панелью ISPConfig
Alex Keda писал(а):alezhen писал(а):Источник цитаты $XML = $XML->ToArray('item');
Не работает чтоли?
переменная в массив!
а переменная откуда? сначала парсим xml. а при парсинге отдает только последний item
выше уже описал-же проблему.
в любом случае, проблема решена.
Интеграция с панелью ISPConfig
открываем многострадальную ./hosts/hosting/system/libs/IspManager5.php .....
и буквально на десяток строк выше, чем в предыдущей отсылке к ней же, видим
что не понятного в этом коде?
распарсили XML, получили объект.
объект преобразовали в массив, с разборкой по параметру elem
вам требовалось сделать тоже самое, только по параметру item
===
могу в четвёртый, помоему, раз, повториться - не надо изобретать с нуля велосипед с квадратными колёсами.
берёте готовую либу и просто подправляете функции под свои нужды.
елси у вас есть сервер где тестить - на день-два работы, вместе с вылизыванием кода.
и буквально на десяток строк выше, чем в предыдущей отсылке к ней же, видим
Код: Выделить всё
$Response = Trim($Response['Body']);
#-----------------------------------------------------------------------------
$XML = String_XML_Parse($Response);
if(Is_Exception($XML))
return new gException('WRONG_SERVER_ANSWER',$Response,$XML);
#-----------------------------------------------------------------------------
$XML = $XML->ToArray('elem');
что не понятного в этом коде?
распарсили XML, получили объект.
объект преобразовали в массив, с разборкой по параметру elem
вам требовалось сделать тоже самое, только по параметру item
===
могу в четвёртый, помоему, раз, повториться - не надо изобретать с нуля велосипед с квадратными колёсами.
берёте готовую либу и просто подправляете функции под свои нужды.
елси у вас есть сервер где тестить - на день-два работы, вместе с вылизыванием кода.
Убей их всех! Бог потом рассортирует...
Вернуться в «Запрос улучшений»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя