| Server IP : 188.151.22.197 / Your IP : 216.73.217.74 Web Server : Apache/2.4.62 (Rocky Linux) OpenSSL/3.5.5 System : Linux wsten.se 5.14.0-687.30.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 27 13:09:21 UTC 2026 x86_64 User : apache ( 48) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/eric/vhost/eng/wp-content/plugins/elementor/modules/design-system-sync/classes/ |
Upload File : |
<?php
namespace Elementor\Modules\DesignSystemSync\Classes;
use Exception;
use WP_REST_Server;
use WP_REST_Response;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class Controller {
const API_NAMESPACE = 'elementor/v1';
const API_BASE = 'design-system-sync';
const HTTP_CREATED = 201;
const HTTP_INTERNAL_SERVER_ERROR = 500;
public function register_hooks() {
add_action( 'rest_api_init', [ $this, 'register_routes' ] );
}
public function register_routes() {
register_rest_route( self::API_NAMESPACE, '/' . self::API_BASE . '/stylesheet', [
'methods' => WP_REST_Server::CREATABLE,
'callback' => [ $this, 'generate' ],
'permission_callback' => [ $this, 'has_permission' ],
] );
}
public function generate(): WP_REST_Response {
try {
$stylesheet = new Stylesheet_Manager();
$result = $stylesheet->generate();
return new WP_REST_Response( $result, self::HTTP_CREATED );
} catch ( Exception $e ) {
return new WP_REST_Response(
[ 'message' => $e->getMessage() ],
self::HTTP_INTERNAL_SERVER_ERROR
);
}
}
public function has_permission(): bool {
return current_user_can( 'edit_posts' );
}
}