Extension Plugin Skeleton

Version 1.9.3

<?php
/**
 * Plugin Name: My Awedesk Extension
 * Description: Example extension for Awedesk.
 * Version: 0.1.0
 */

defined('ABSPATH') || exit;

add_action('plugins_loaded', function (): void {
    if (!class_exists('ALSP')) {
        return;
    }

    require_once __DIR__ . '/includes/class-my-awedesk-extension.php';
    My_Awedesk_Extension::boot();
});
<?php
final class My_Awedesk_Extension {
    public static function boot(): void {
        add_action('alsp_ticket_new', [__CLASS__, 'ticket_created'], 10, 2);
        add_filter('alsp_frontend_data', [__CLASS__, 'frontend_data']);
    }

    public static function ticket_created(int $ticket_id, int $message_id): void {
        error_log(sprintf('Awedesk ticket %d was created with message %d', $ticket_id, $message_id));
    }

    public static function frontend_data(array $data): array {
        $data['my_extension'] = [
            'enabled' => current_user_can('read'),
        ];
        return $data;
    }
}