设法更改代码以添加发布者信息。以下是相同的步骤。
1) 打开文件 src/mod_pubsub.erl
2) 找到如下函数
itemAttr(ItemId) -> [{<<"id">>, ItemId}].
3) 在上述函数下方添加一个新函数
itemAttr(ItemId, From) -> [{<<"id">>, ItemId},{<<"publisher">>, From}].
4) 接下来找到函数命名
broadcast_publish_item(Host, Node, Nidx, Type, NodeOptions, ItemId, From, Payload, Removed) ->
5) 替换
Stanza = event_stanza(
[#xmlel{name = <<"items">>, attrs = nodeAttr(Node),
children = [#xmlel{name = <<"item">>, attrs = itemAttr(ItemId),
children = Content}]}]),
与
Stanza = event_stanza(
[#xmlel{name = <<"items">>, attrs = nodeAttr(Node),
children = [#xmlel{name = <<"item">>, attrs = itemAttr(ItemId, jlib:jid_to_string(From)),
children = Content}]}]),
6) 使用重新编译代码
sudo make; sudo make install;
重新启动您的服务器,您应该会获得发布者信息以及正在发布的项目。