gidkom / php-openfire-restapi
使用 Rest Api 管理Open fire服务器
1.0.0
2018-01-31 14:17 UTC
Requires
- php: >=5.4.0
- ext-curl: *
- guzzlehttp/guzzle: ^5.3.1|^6.2.1
This package is auto-updated.
Last update: 2024-09-10 14:29:51 UTC
README
一个简单的PHP类,旨在与Openfire Rest Api插件协同工作。它用于远程管理Openfire服务器。
许可协议
php-openfire-restapi遵循MIT风格许可协议,有关更多信息,请参阅LICENCE。
依赖项
REST API插件需要在Openfire服务器上安装和配置。
需求
- PHP 5.4+
安装
通过Composer
最简单的方法是通过 composer 安装。创建以下 composer.json
文件并运行 composer.phar
install 命令以进行安装。
composer require gidkom/php-openfire-restapi:v1.1.0
或者
{ "require": { "gidkom/php-openfire-restapi": "v1.1.0" } }
示例
设置
include "vendor/autoload.php";
设置参数
# Create the Openfire Rest api object
$api = new Gidkom\OpenFireRestApi\OpenFireRestApi;
# Set the required config parameters
$api->secret = "MySecret";
$api->host = "jabber.myserver.com";
$api->port = "9090"; # default 9090
# Optional parameters (showing default values)
$api->useSSL = false;
$api->plugin = "/plugins/restapi/v1"; # plugin
响应格式
# Check result if command is succesful
if($result['status']) {
# Display result
print_r($result['data']);
} else {
# Something went wrong
echo 'Error: ';
echo $result['data'];
}
与用户相关的示例
# Retrieve users
$options = ['search'=> 'John']; # optional
$result = $api->getUsers($options);
# Retrieve a user
$result = $api->getUser($username);
# Add a new user to OpenFire and add to a group
$result = $api->addUser('Username', 'Password', 'Real Name', 'johndoe@domain.com', array('Group 1'));
#Delete a user from OpenFire
$result = $api->deleteUser($username);
# Update a user
# The $password, $name, $email, $groups arguments are optional
$result = $api->updateUser($username, $password, $name, $email, $groups);
# Add user to a group
$result = $api->addToGroup($username, $groupName);
# Delete user from a group
$result = $api->deleteFromGroup($username, $groupName);
# Disable/lockout a user
$result = $api->lockoutUser($username);
# Enable a user
$result = $api->unlockUser($username);
# Retrieve a user roster
$api->userRosters($username);
# Create a user roster entry
$api->addToRoster($username, $jid);
# Delete from roster
$api->deleteFromRoster($username, $jid);
# Update user roster
$api->updateRoster($username, $jid, $nickname, $subscription]);
聊天室相关端点
# Get all chat rooms
$api->getAllChatRooms();
# Retrieve a chat room
$api->getChatRoom($name);
# Create a chat room
# $params = ['naturalName'=>'myroom', 'roomName'=>'myroom', 'description'=>'my chat room'];
$api->createChatRoom($params);
# Delete a chat room
$api->deleteChatRoom($roomName);
# Update a chat room
# $params = ['naturalName'=>'myroom', 'roomName'=>'myroom', 'description'=>'my fav chat room'];
$api->createChatRoom($roomName =>$params);
# Add user with role to chat room
$api->addUserRoleToChatRoom($roomName, $name, $role);
系统相关端点
# Retrieve all system properties
$api->getSystemProperties();
# Retrieve a system property
$api->getSystemProperty('plugin.restapi.httpAuth');
# Create a system property
$api->createSystemProperty(['key'=>'test', 'value'=>'testname']);
# Update a system property
$api->updateSystemProperty(['key'=>'test', 'value'=>'testname']);
# Delete a system property
$api->deleteSystemProperty('test');
# Retrieve concurrent sessions
$api->getConcurrentSessons();
组相关端点
# Get all groups
$api->getGroups();
# Retrieve group
$api->getGroup($groupName);
# Create a group
$api->createGroup($groupName, $description);
# Update a group description
$api->updateGroup($groupName, $description);
# Delete a group
$api->deleteGroup($groupName);
会话相关端点
# Retrieve all users sessions
$api->getSessions();
# Retrieve all users sessions
$api->getUserSessions($username);
# Close all user sessions
$api->closeUserSessions($username);
消息相关端点
# Send a broadcast message to all online users
$api->broadcastMessage('hello');
联系
- gidkom yoroumah@gmail.com