ServerEvent events
51 FeatherPanel plugin events on ServerEvent (49 emitted by the core): the event names, the arguments each listener gets, where they fire and a PHP listener for each.
Last synced from FeatherPanel 15b94e9 on .
On this page
Part of the plugin events reference. Listeners get the payload values as positional arguments in the order shown, cannot cancel the action, and must catch their own exceptions. 2 of these events are declared but no code emits them yet; they are marked not emitted.
Setup
Import ServerEvent in your entry class and register listeners in processEvents():
<?php
namespace App\Addons\myplugin;
use App\App;
use App\Plugins\AppPlugin;
use App\Plugins\PluginEvents;
use App\Plugins\Events\Events\ServerEvent;
class MyPlugin implements AppPlugin
{
public static function processEvents(PluginEvents $event): void
{
$event->on(ServerEvent::onServerAllocationCreated(), function ($userUuid, $serverUuid, $allocationId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:allocation:create ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'allocation_id' => $allocationId]));
});
}
public static function pluginInstall(): void
{
}
public static function pluginUninstall(): void
{
}
}ServerEvent::onServerAllocationCreated()
Docblock: string user uuid, string server uuid, int allocation id.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | allocation_id | $allocationId | intfrom docblock |
When it fires (2 sites)
$event->on(ServerEvent::onServerAllocationCreated(), function ($userUuid, $serverUuid, $allocationId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:allocation:create ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'allocation_id' => $allocationId]));
});ServerEvent::onServerAllocationUpdated()
Docblock: string user uuid, string server uuid, int allocation id.
$event->on(ServerEvent::onServerAllocationUpdated(), function (...$args): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:allocation:update ' . json_encode($args));
});No code emits this event yet, so the arguments are unknown. The listener accepts any.
ServerEvent::onServerBackupLocked()
Docblock: string user uuid, string server uuid, string backup uuid.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | backup_uuid | $backupUuid | string |
When it fires (1 site)
$event->on(ServerEvent::onServerBackupLocked(), function ($userUuid, $serverUuid, $backupUuid): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:backup:lock ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});ServerEvent::onServerBackupUnlocked()
Docblock: string user uuid, string server uuid, string backup uuid.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | backup_uuid | $backupUuid | string |
When it fires (1 site)
$event->on(ServerEvent::onServerBackupUnlocked(), function ($userUuid, $serverUuid, $backupUuid): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:backup:unlock ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});ServerEvent::onServerCreated()
Docblock: int server id, array server data, array created by.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | server_id | $serverId | intfrom docblock |
| 2 | server_data | $serverData | arrayfrom docblock |
| 3 | created_by | $createdBy | arrayfrom docblock |
When it fires (2 sites)
$event->on(ServerEvent::onServerCreated(), function ($serverId, $serverData, $createdBy): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:created ' . json_encode(['server_id' => $serverId, 'server_data' => $serverData, 'created_by' => $createdBy]));
});ServerEvent::onServerDeleted()
Docblock: string user uuid, string server uuid.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | server | $server | stringfrom docblock |
| 2 | deleted_by | $deletedBy | stringfrom docblock |
| Arguments passed | Emitted from |
|---|---|
server, deleted_by | ServersController::deleteServerUserController::deleteServer |
server, deleted_by, hard_delete | ServersController::hardDelete |
When it fires (3 sites)
$event->on(ServerEvent::onServerDeleted(), function ($server, $deletedBy, ...$rest): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:delete ' . json_encode(['server' => $server, 'deleted_by' => $deletedBy]));
});ServerEvent::onServerFileCompressed()
Docblock: string user uuid, string server uuid, string file path.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | file_path | $filePath | stringfrom docblock |
When it fires (2 sites)
$event->on(ServerEvent::onServerFileCompressed(), function ($userUuid, $serverUuid, $filePath): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:file:compress ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath]));
});ServerEvent::onServerFileDecompressed()
Docblock: string user uuid, string server uuid, string file path.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | file_path | $filePath | stringfrom docblock |
When it fires (2 sites)
$event->on(ServerEvent::onServerFileDecompressed(), function ($userUuid, $serverUuid, $filePath): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:file:decompress ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath]));
});ServerEvent::onServerFilePermissionsChanged()
Docblock: string user uuid, string server uuid, string file path, string permissions.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | file_path | $filePath | stringfrom docblock |
| 4 | permissions | $permissions | array |
When it fires (1 site)
$event->on(ServerEvent::onServerFilePermissionsChanged(), function ($userUuid, $serverUuid, $filePath, $permissions): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:file:permissions ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath, 'permissions' => $permissions]));
});ServerEvent::onServerFilesCopied()
Docblock: string user uuid, string server uuid, array file paths.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | file_paths | $filePaths | array |
When it fires (2 sites)
$event->on(ServerEvent::onServerFilesCopied(), function ($userUuid, $serverUuid, $filePaths): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:files:copy ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_paths' => $filePaths]));
});ServerEvent::onServerLifecycleHookCompleted()
Docblock: string user uuid, string server uuid, string power action, int hook id, string hook type.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | power_action | $powerAction | string |
| 4 | hook_id | $hookId | intfrom docblock |
| 5 | hook_type | $hookType | stringfrom docblock |
When it fires (1 site)
LifecycleHookExecutorService::executeHookPipelineviaemitHookEvent()
$event->on(ServerEvent::onServerLifecycleHookCompleted(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:completed ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'power_action' => $powerAction, 'hook_id' => $hookId, 'hook_type' => $hookType]));
});ServerEvent::onServerLifecycleHookFailed()
Docblock: string user uuid, string server uuid, string power action, int hook id, string hook type, string error. (the emitter passes 7 values, see the table)
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | not declared |
| 2 | server_uuid | $serverUuid | not declared |
| 3 | power_action | $powerAction | string |
| 4 | hook_id | $hookId | not declared |
| 5 | hook_type | $hookType | not declared |
| 6 | step_id | $stepId | not declared |
| 7 | error | $error | not declared |
When it fires (1 site)
LifecycleHookExecutorService::executeHookPipelineviaemitHookEvent()
$event->on(ServerEvent::onServerLifecycleHookFailed(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType, $stepId, $error): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:failed ' . json_encode(['power_action' => $powerAction]));
});ServerEvent::onServerLifecycleHookStarted()
Docblock: string user uuid, string server uuid, string power action, int hook id, string hook type.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | power_action | $powerAction | string |
| 4 | hook_id | $hookId | intfrom docblock |
| 5 | hook_type | $hookType | stringfrom docblock |
When it fires (1 site)
LifecycleHookExecutorService::executeHookPipelineviaemitHookEvent()
$event->on(ServerEvent::onServerLifecycleHookStarted(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:started ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'power_action' => $powerAction, 'hook_id' => $hookId, 'hook_type' => $hookType]));
});ServerEvent::onServerLifecycleHookStepCompleted()
Docblock: string user uuid, string server uuid, string power action, int hook id, int step id, string task type. (the emitter passes 7 values, see the table)
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | not declared |
| 2 | server_uuid | $serverUuid | not declared |
| 3 | power_action | $powerAction | string |
| 4 | hook_id | $hookId | not declared |
| 5 | hook_type | $hookType | not declared |
| 6 | step_id | $stepId | not declared |
| 7 | task_type | $taskType | not declared |
When it fires (1 site)
LifecycleHookExecutorService::executeStepviaemitHookEvent()
$event->on(ServerEvent::onServerLifecycleHookStepCompleted(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType, $stepId, $taskType): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:step:completed ' . json_encode(['power_action' => $powerAction]));
});ServerEvent::onServerLifecycleHookStepFailed()
Docblock: string user uuid, string server uuid, string power action, int hook id, int step id, string task type, string error. (the emitter passes 9 values, see the table)
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | not declared |
| 2 | server_uuid | $serverUuid | not declared |
| 3 | power_action | $powerAction | string |
| 4 | hook_id | $hookId | not declared |
| 5 | hook_type | $hookType | not declared |
| 6 | step_id | $stepId | not declared |
| 7 | task_type | $taskType | not declared |
| 8 | error | $error | not declared |
| 9 | continued | $continued | not declared |
When it fires (1 site)
LifecycleHookExecutorService::executeStepviaemitHookEvent()
$event->on(ServerEvent::onServerLifecycleHookStepFailed(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType, $stepId, $taskType, $error, $continued): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:step:failed ' . json_encode(['power_action' => $powerAction]));
});ServerEvent::onServerLifecycleHookStepStarted()
Docblock: string user uuid, string server uuid, string power action, int hook id, int step id, string task type. (the emitter passes 8 values, see the table)
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | not declared |
| 2 | server_uuid | $serverUuid | not declared |
| 3 | power_action | $powerAction | string |
| 4 | hook_id | $hookId | not declared |
| 5 | hook_type | $hookType | not declared |
| 6 | step_id | $stepId | not declared |
| 7 | task_type | $taskType | not declared |
| 8 | sequence_id | $sequenceId | not declared |
When it fires (1 site)
LifecycleHookExecutorService::executeStepviaemitHookEvent()
$event->on(ServerEvent::onServerLifecycleHookStepStarted(), function ($userUuid, $serverUuid, $powerAction, $hookId, $hookType, $stepId, $taskType, $sequenceId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:lifecycle-hook:step:started ' . json_encode(['power_action' => $powerAction]));
});ServerEvent::onServerPowerAction()
Docblock: string user uuid, string server uuid, string action.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | action | $action | string |
When it fires (2 sites)
$event->on(ServerEvent::onServerPowerAction(), function ($userUuid, $serverUuid, $action): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:power:action ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'action' => $action]));
});ServerEvent::onServerReinstalled()
Docblock: string user uuid, string server uuid.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuidnot at every site | stringfrom docblock |
| 2 | server_uuid | $serverUuidnot at every site | stringfrom docblock |
| Arguments passed | Emitted from |
|---|---|
user_uuid, server_uuid | ServerUserController::updateServerServerUserController::reinstallServer |
server, updated_by | ServersController::update |
When it fires (3 sites)
$event->on(ServerEvent::onServerReinstalled(), function (...$rest): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:reinstall');
});ServerEvent::onServerScheduleStatusToggled()
Docblock: string user uuid, string server uuid, int schedule id.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | schedule_id | $scheduleId | int |
When it fires (1 site)
$event->on(ServerEvent::onServerScheduleStatusToggled(), function ($userUuid, $serverUuid, $scheduleId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:schedule:status:toggle ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId]));
});ServerEvent::onServerSuspended()
Docblock: array server data, array suspended by.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | server | $server | arrayfrom docblock |
| 2 | suspended_by | $suspendedBy | array |
When it fires (2 sites)
$event->on(ServerEvent::onServerSuspended(), function ($server, $suspendedBy): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:suspended ' . json_encode(['server' => $server, 'suspended_by' => $suspendedBy]));
});ServerEvent::onServerTaskStatusToggled()
Docblock: string user uuid, string server uuid, int schedule id, int task id.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | schedule_id | $scheduleId | int |
| 4 | task_id | $taskId | int |
When it fires (1 site)
$event->on(ServerEvent::onServerTaskStatusToggled(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:task:status:toggle ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});ServerEvent::onServerTransferCancelled()
Docblock: array server data, array cancelled_by.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | server | $server | arrayfrom docblock |
| 2 | cancelled_by | $cancelledBy | arrayfrom docblock |
When it fires (1 site)
$event->on(ServerEvent::onServerTransferCancelled(), function ($server, $cancelledBy): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transfer:cancelled ' . json_encode(['server' => $server, 'cancelled_by' => $cancelledBy]));
});ServerEvent::onServerTransferCompleted()
Docblock: array server data, bool successful, int|null destination_node_id.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | server | $server | arrayfrom docblock |
| 2 | successful | $successful | bool |
| 3 | destination_node_id | $destinationNodeId | int|nullfrom docblock |
| Arguments passed | Emitted from |
|---|---|
server, successful, destination_node_id | WingsTransferStatusController::setTransferStatus |
server, successful, destination_node_id, old_node_id | WingsTransferStatusController::transferSuccess |
When it fires (2 sites)
$event->on(ServerEvent::onServerTransferCompleted(), function ($server, $successful, $destinationNodeId, ...$rest): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transfer:completed ' . json_encode(['server' => $server, 'successful' => $successful, 'destination_node_id' => $destinationNodeId]));
});ServerEvent::onServerTransferFailed()
Docblock: array server data, bool successful, string|null error.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | server | $server | arrayfrom docblock |
| 2 | successful | $successful | bool |
| 3 | error | $error | string|nullfrom docblock |
| Arguments passed | Emitted from |
|---|---|
server, successful, error | WingsTransferStatusController::setTransferStatus |
server, successful, error, source_node_id | WingsTransferStatusController::transferFailure |
When it fires (2 sites)
$event->on(ServerEvent::onServerTransferFailed(), function ($server, $successful, $error, ...$rest): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transfer:failed ' . json_encode(['server' => $server, 'successful' => $successful, 'error' => $error]));
});ServerEvent::onServerTransferInitiated()
Docblock: array server data, array source_node, array destination_node, array initiated_by.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | server | $server | arrayfrom docblock |
| 2 | source_node | $sourceNode | arrayfrom docblock |
| 3 | destination_node | $destinationNode | arrayfrom docblock |
| 4 | initiated_by | $initiatedBy | array |
When it fires (1 site)
$event->on(ServerEvent::onServerTransferInitiated(), function ($server, $sourceNode, $destinationNode, $initiatedBy): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transfer:initiated ' . json_encode(['server' => $server, 'source_node' => $sourceNode, 'destination_node' => $destinationNode, 'initiated_by' => $initiatedBy]));
});ServerEvent::onServerTransferred()
Docblock: array server data, array transferred by.
$event->on(ServerEvent::onServerTransferred(), function (...$args): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:transferred ' . json_encode($args));
});No code emits this event yet, so the arguments are unknown. The listener accepts any.
ServerEvent::onServerUnsuspended()
Docblock: array server data, array unsuspended by.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | server | $server | arrayfrom docblock |
| 2 | unsuspended_by | $unsuspendedBy | arrayfrom docblock |
When it fires (1 site)
$event->on(ServerEvent::onServerUnsuspended(), function ($server, $unsuspendedBy): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:unsuspended ' . json_encode(['server' => $server, 'unsuspended_by' => $unsuspendedBy]));
});ServerEvent::onServerUpdated()
Docblock: string user uuid, string server uuid.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuidnot at every site | stringfrom docblock |
| 2 | server_uuid | $serverUuidnot at every site | stringfrom docblock |
| Arguments passed | Emitted from |
|---|---|
user_uuid, server_uuid | ServerFirewallController::createRuleServerFirewallController::updateRuleServerFirewallController::deleteRuleServerFirewallController::syncRulesUpdateServerTool::execute |
user_uuid, server_uuid, hook_type, step_id, action | ServerLifecycleHookController::createStepServerLifecycleHookController::updateStepServerLifecycleHookController::deleteStep |
server, updated_data, updated_by | ServersController::update |
user_uuid, server_uuid, import_id | ServerImportController::importServer |
user_uuid, server_uuid, hook_type, action | ServerLifecycleHookController::upsertHook |
user_uuid, server_uuid, hook_type, step_id, sequence_id, action | ServerLifecycleHookController::updateStepSequence |
When it fires (12 sites)
ServersController::updatePATCH /api/admin/servers/{id}ServerFirewallController::createRuleviaemitEvent()POST /api/user/servers/{uuidShort}/firewallServerFirewallController::updateRuleviaemitEvent()PUT /api/user/servers/{uuidShort}/firewall/{ruleId}ServerFirewallController::deleteRuleviaemitEvent()DELETE /api/user/servers/{uuidShort}/firewall/{ruleId}ServerFirewallController::syncRulesviaemitEvent()POST /api/user/servers/{uuidShort}/firewall/syncServerImportController::importServerviaemitEvent()POST /api/user/servers/{uuidShort}/importServerLifecycleHookController::upsertHookviaemitEvent()PUT /api/user/servers/{uuidShort}/lifecycle-hooks/{hookType}ServerLifecycleHookController::createStepviaemitEvent()POST /api/user/servers/{uuidShort}/lifecycle-hooks/{hookType}/stepsServerLifecycleHookController::updateStepviaemitEvent()PUT /api/user/servers/{uuidShort}/lifecycle-hooks/{hookType}/steps/{stepId}ServerLifecycleHookController::updateStepSequenceviaemitEvent()PUT /api/user/servers/{uuidShort}/lifecycle-hooks/{hookType}/steps/{stepId}/sequenceServerLifecycleHookController::deleteStepviaemitEvent()DELETE /api/user/servers/{uuidShort}/lifecycle-hooks/{hookType}/steps/{stepId}UpdateServerTool::execute
$event->on(ServerEvent::onServerUpdated(), function (...$rest): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:server:update');
});ServerEvent::onServerAllocationDeleted()
Docblock: string user uuid, string server uuid, int allocation id.
Same event name as ServerAllocationEvent::onServerAllocationDeleted(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | allocation_id | $allocationId | int |
When it fires (2 sites)
$event->on(ServerEvent::onServerAllocationDeleted(), function ($userUuid, $serverUuid, $allocationId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:allocation:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'allocation_id' => $allocationId]));
});ServerEvent::onServerBackupCreated()
Docblock: string user uuid, string server uuid, string backup uuid.
Same event name as ServerBackupEvent::onServerBackupCreated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | backup_uuid | $backupUuid | stringfrom docblock |
| Arguments passed | Emitted from |
|---|---|
user_uuid, server_uuid, backup_uuid | ServerBackupController::createBackup |
user_uuid, server_uuid, backup_uuid, type | ServerBackupController::createFullBackup |
user_uuid, server_uuid, backup_uuid, backup_data | CreateBackupTool::execute |
When it fires (3 sites)
$event->on(ServerEvent::onServerBackupCreated(), function ($userUuid, $serverUuid, $backupUuid, ...$rest): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:backup:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});ServerEvent::onServerBackupDeleted()
Docblock: string user uuid, string server uuid, string backup uuid.
Same event name as ServerBackupEvent::onServerBackupDeleted(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | backup_uuid | $backupUuid | string |
When it fires (3 sites)
$event->on(ServerEvent::onServerBackupDeleted(), function ($userUuid, $serverUuid, $backupUuid): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:backup:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});ServerEvent::onServerBackupRestored()
Docblock: string user uuid, string server uuid, string backup uuid.
Same event name as ServerBackupEvent::onServerBackupRestored(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | backup_uuid | $backupUuid | string |
When it fires (1 site)
$event->on(ServerEvent::onServerBackupRestored(), function ($userUuid, $serverUuid, $backupUuid): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:backup:restored ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'backup_uuid' => $backupUuid]));
});ServerEvent::onServerDatabaseCreated()
Docblock: string user uuid, string server uuid, int database id.
Same event name as ServerDatabaseEvent::onServerDatabaseCreated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | database_id | $databaseId | intfrom docblock |
When it fires (2 sites)
$event->on(ServerEvent::onServerDatabaseCreated(), function ($userUuid, $serverUuid, $databaseId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:database:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'database_id' => $databaseId]));
});ServerEvent::onServerDatabaseDeleted()
Docblock: string user uuid, string server uuid, int database id.
Same event name as ServerDatabaseEvent::onServerDatabaseDeleted(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | database_id | $databaseId | int |
| Arguments passed | Emitted from |
|---|---|
user_uuid, server_uuid, database_id | ServerDatabaseController::deleteServerDatabaseDeleteDatabaseTool::execute |
user_uuid, server_uuid, database_id, bulk | ServerDatabaseController::bulkDeleteServerDatabases |
When it fires (3 sites)
$event->on(ServerEvent::onServerDatabaseDeleted(), function ($userUuid, $serverUuid, $databaseId, ...$rest): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:database:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'database_id' => $databaseId]));
});ServerEvent::onServerDatabaseUpdated()
Docblock: string user uuid, string server uuid, int database id.
Same event name as ServerDatabaseEvent::onServerDatabaseUpdated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | database_id | $databaseId | int |
When it fires (2 sites)
$event->on(ServerEvent::onServerDatabaseUpdated(), function ($userUuid, $serverUuid, $databaseId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:database:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'database_id' => $databaseId]));
});ServerEvent::onServerDirectoryCreated()
Docblock: string user uuid, string server uuid, string directory path.
Same event name as ServerFilesEvent::onServerDirectoryCreated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | directory_path | $directoryPath | stringfrom docblock |
When it fires (2 sites)
$event->on(ServerEvent::onServerDirectoryCreated(), function ($userUuid, $serverUuid, $directoryPath): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:directory:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'directory_path' => $directoryPath]));
});ServerEvent::onServerFileRenamed()
Docblock: string user uuid, string server uuid, string old path, string new path.
Same event name as ServerFilesEvent::onServerFileRenamed(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | root | $rootnot at every site | stringfrom docblock |
| 4 | files | $filesnot at every site | stringfrom docblock |
| Arguments passed | Emitted from |
|---|---|
user_uuid, server_uuid, root, files | ServerFilesController::renameFileOrFolder |
user_uuid, server_uuid, file_path, new_path | RenameFileTool::execute |
When it fires (2 sites)
$event->on(ServerEvent::onServerFileRenamed(), function ($userUuid, $serverUuid, ...$rest): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:file:renamed ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid]));
});ServerEvent::onServerFileWritten()
Docblock: string user uuid, string server uuid, string file path.
Same event name as ServerFilesEvent::onServerFileSaved(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | file_path | $filePath | stringfrom docblock |
When it fires (2 sites)
$event->on(ServerEvent::onServerFileWritten(), function ($userUuid, $serverUuid, $filePath): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:file:saved ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath]));
});ServerEvent::onServerFileUploaded()
Docblock: string user uuid, string server uuid, string file path.
Same event name as ServerFilesEvent::onServerFileUploaded(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | file_path | $filePath | stringfrom docblock |
When it fires (1 site)
$event->on(ServerEvent::onServerFileUploaded(), function ($userUuid, $serverUuid, $filePath): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:file:uploaded ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'file_path' => $filePath]));
});ServerEvent::onServerFilesDeleted()
Docblock: string user uuid, string server uuid.
Same event name as ServerFilesEvent::onServerFilesDeleted(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| Arguments passed | Emitted from |
|---|---|
user_uuid, server_uuid | ServerFilesController::deleteFilesServerFilesController::wipeAllFiles |
user_uuid, server_uuid, files | DeleteFilesTool::execute |
When it fires (3 sites)
$event->on(ServerEvent::onServerFilesDeleted(), function ($userUuid, $serverUuid, ...$rest): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:files:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid]));
});ServerEvent::onServerPullProcessDeleted()
Docblock: string user uuid, string server uuid, string pull id.
Same event name as ServerFilesEvent::onServerPullProcessDeleted(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | pull_id | $pullId | string |
When it fires (1 site)
$event->on(ServerEvent::onServerPullProcessDeleted(), function ($userUuid, $serverUuid, $pullId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:pull:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'pull_id' => $pullId]));
});ServerEvent::onServerScheduleCreated()
Docblock: string user uuid, string server uuid, int schedule id.
Same event name as ServerScheduleEvent::onServerScheduleCreated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | schedule_id | $scheduleId | intfrom docblock |
When it fires (3 sites)
$event->on(ServerEvent::onServerScheduleCreated(), function ($userUuid, $serverUuid, $scheduleId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:schedule:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId]));
});ServerEvent::onServerScheduleDeleted()
Docblock: string user uuid, string server uuid, int schedule id.
Same event name as ServerScheduleEvent::onServerScheduleDeleted(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | schedule_id | $scheduleId | int |
When it fires (2 sites)
$event->on(ServerEvent::onServerScheduleDeleted(), function ($userUuid, $serverUuid, $scheduleId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:schedule:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId]));
});ServerEvent::onServerScheduleUpdated()
Docblock: string user uuid, string server uuid, int schedule id.
Same event name as ServerScheduleEvent::onServerScheduleUpdated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | schedule_id | $scheduleId | int |
When it fires (3 sites)
$event->on(ServerEvent::onServerScheduleUpdated(), function ($userUuid, $serverUuid, $scheduleId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:schedule:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId]));
});ServerEvent::onServerSubuserCreated()
Docblock: string user uuid, string server uuid, int subuser id.
Same event name as ServerSubuserEvent::onServerSubuserCreated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | subuser_id | $subuserId | intfrom docblock |
When it fires (2 sites)
$event->on(ServerEvent::onServerSubuserCreated(), function ($userUuid, $serverUuid, $subuserId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:subuser:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'subuser_id' => $subuserId]));
});ServerEvent::onServerSubuserDeleted()
Docblock: string user uuid, string server uuid, int subuser id.
Same event name as ServerSubuserEvent::onServerSubuserDeleted(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | subuser_id | $subuserId | int |
When it fires (1 site)
$event->on(ServerEvent::onServerSubuserDeleted(), function ($userUuid, $serverUuid, $subuserId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:subuser:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'subuser_id' => $subuserId]));
});ServerEvent::onServerSubuserUpdated()
Docblock: string user uuid, string server uuid, int subuser id.
Same event name as ServerSubuserEvent::onServerSubuserUpdated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | subuser_id | $subuserId | int |
When it fires (1 site)
$event->on(ServerEvent::onServerSubuserUpdated(), function ($userUuid, $serverUuid, $subuserId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:subuser:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'subuser_id' => $subuserId]));
});ServerEvent::onServerTaskCreated()
Docblock: string user uuid, string server uuid, int schedule id, int task id.
Same event name as ServerTaskEvent::onServerTaskCreated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | schedule_id | $scheduleId | int |
| 4 | task_id | $taskId | intfrom docblock |
When it fires (2 sites)
$event->on(ServerEvent::onServerTaskCreated(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:task:created ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});ServerEvent::onServerTaskDeleted()
Docblock: string user uuid, string server uuid, int schedule id, int task id.
Same event name as ServerTaskEvent::onServerTaskDeleted(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | schedule_id | $scheduleId | int |
| 4 | task_id | $taskId | int |
When it fires (2 sites)
$event->on(ServerEvent::onServerTaskDeleted(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:task:deleted ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});ServerEvent::onServerTaskSequenceUpdated()
Docblock: string user uuid, string server uuid, int schedule id, int task id.
Same event name as ServerTaskEvent::onServerTaskSequenceUpdated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | schedule_id | $scheduleId | int |
| 4 | task_id | $taskId | int |
When it fires (1 site)
$event->on(ServerEvent::onServerTaskSequenceUpdated(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:task:sequence:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});ServerEvent::onServerTaskUpdated()
Docblock: string user uuid, string server uuid, int schedule id, int task id.
Same event name as ServerTaskEvent::onServerTaskUpdated(). A listener on either method receives the emits of both.
| # | Payload key | Listener parameter | Type |
|---|---|---|---|
| 1 | user_uuid | $userUuid | stringfrom docblock |
| 2 | server_uuid | $serverUuid | stringfrom docblock |
| 3 | schedule_id | $scheduleId | int |
| 4 | task_id | $taskId | int |
When it fires (2 sites)
$event->on(ServerEvent::onServerTaskUpdated(), function ($userUuid, $serverUuid, $scheduleId, $taskId): void {
App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:server:task:updated ' . json_encode(['user_uuid' => $userUuid, 'server_uuid' => $serverUuid, 'schedule_id' => $scheduleId, 'task_id' => $taskId]));
});