Как я могу добавить детали VCard существующего пользователя в базе данных ejabberd, используя php
Я пытаюсь написать php
скрипт для добавления данных VCard существующего пользователя, зарегистрированного в нашем ejabberd server
, в vcard table
есть поле vcard
, Я понимаю, что это населено XML-data
, Не могли бы вы рассказать мне, как мне следует реализовать эту функцию, adding VCard using php
, Я попробовал несколько примеров, доступных в интернете, но ни один из них не работает. это можно сделать без использования ejabberd-xmlrpc
модуль? Есть ли php
библиотека, где функция уже реализована?
2 ответа
Решение
$ ejabberdctl set_vcard user1 localhost NICKNAME "User 1"
$ ejabberdctl get_vcard user1 localhost NICKNAME
User 1
$ ejabberdctl help set_vcard
Command Name: set_vcard
Arguments: user::binary
host::binary
name::binary
content::binary
Returns: res::rescode
Tags: vcard
Description: Set content in a vCard field
Some vcard field names in get/set_vcard are:
FN - Full Name
NICKNAME - Nickname
BDAY - Birthday
TITLE - Work: Position
ROLE - Work: Role
Some vcard field names and subnames in get/set_vcard2 are:
N FAMILY - Family name
N GIVEN - Given name
N MIDDLE - Middle name
ADR CTRY - Address: Country
ADR LOCALITY - Address: City
TEL HOME - Telephone: Home
TEL CELL - Telephone: Cellphone
TEL WORK - Telephone: Work
TEL VOICE - Telephone: Voice
EMAIL USERID - E-Mail Address
ORG ORGNAME - Work: Company
ORG ORGUNIT - Work: Department
For a full list of vCard fields check XEP-0054: vcard-temp at
http://www.xmpp.org/extensions/xep-0054.html
ejabberdctl help set_vcard2
Command Name: set_vcard2
Arguments: user::binary
host::binary
name::binary
subname::binary
content::binary
Returns: res::rescode
Tags: vcard
Module: mod_admin_extra
Description: Set content in a vCard subfield
Some vcard field names and subnames in get/set_vcard2 are:
* N FAMILY - Family name
* N GIVEN - Given name
* N MIDDLE - Middle name
* ADR CTRY - Address: Country
* ADR LOCALITY - Address: City
* TEL HOME - Telephone: Home
* TEL CELL - Telephone: Cellphone
* TEL WORK - Telephone: Work
* TEL VOICE - Telephone: Voice
* EMAIL USERID - E-Mail Address
* ORG ORGNAME - Work: Company
* ORG ORGUNIT - Work: Department
For a full list of vCard fields check XEP-0054: vcard-temp at https://xmpp.org/extensions/xep-0054.html
Установить номер телефона:
Установить название компании:
# ejabberdctl set_vcard2 some_username some.host TEL HOME "+1(234) 567-89-01"