如何使用php在ejabberd数据库中添加现有用户的VCard详细信息

时间:2018-09-11 17:52:33

标签: php ejabberd vcard ejabberd-api

我正在尝试编写一个php脚本来添加已注册到我们的ejabberd server的现有用户的VCard详细信息。在vcard table中,有一个字段vcard。我了解它由XML-data填充。您能否指导我如何实现此功能adding VCard using php。我尝试了互联网上的一些示例示例,但都没有用。不使用ejabberd-xmlrpc模块就可以做到吗?有没有php库已经在其中实现了该功能?

1 个答案:

答案 0 :(得分:0)

$ 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