phpejabberdvcf-vcardejabberd-api

how can I add VCard details of an existing user in ejabberd database using php


I am trying to write a php script to add VCard details of an existing user, registered to our ejabberd server. In the vcard table, there is a field vcard. I understand it is populated by an XML-data. Could you please guide me as to how I should implement this feature, adding VCard using php. I tried a few sample examples available in the internet, none of them works. can this be done without using ejabberd-xmlrpc module? Are there any php library where the feature is already implemented?


Solution

  • $ 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