PluginProbe
Elementor Website Builder – more than just a page builder / 4.1.0-dev3
Elementor Website Builder – more than just a page builder v4.1.0-dev3
4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 All 455 releases
← All changes | modules/mcp/abilities/ability-definition.php +4 -27 4.3.2 → 4.1.0-dev3 View file →
@@ -33,16 +33,10 @@
33 33 $this->permission_callback = $permission_callback;
34 34 $this->input_schema = $input_schema;
35 35 }
36 36
37 - public static function empty_object_input_schema(): array {
38 - return [
39 - 'type' => 'object',
40 - ];
41 - }
42 -
43 37 public function to_array(): array {
44 - return [
38 + $definition = [
45 39 'label' => $this->label,
46 40 'description' => $this->description,
47 41 'category' => $this->category,
48 42 'output_schema' => $this->output_schema,
@@ -47,30 +41,13 @@
47 41 'category' => $this->category,
48 42 'output_schema' => $this->output_schema,
49 43 'meta' => $this->meta,
50 44 'permission_callback' => $this->permission_callback,
51 - 'input_schema' => $this->normalized_input_schema(),
52 45 ];
53 - }
54 46
55 - private function normalized_input_schema(): array {
56 - if ( empty( $this->input_schema ) ) {
57 - return self::empty_object_input_schema();
47 + if ( ! empty( $this->input_schema ) ) {
48 + $definition['input_schema'] = $this->input_schema;
58 49 }
59 50
60 - $schema = $this->input_schema;
61 -
62 - if (
63 - array_key_exists( 'properties', $schema )
64 - && is_array( $schema['properties'] )
65 - && empty( $schema['properties'] )
66 - ) {
67 - unset( $schema['properties'] );
68 - }
69 -
70 - if ( ! isset( $schema['type'] ) ) {
71 - $schema['type'] = 'object';
72 - }
73 -
74 - return $schema;
51 + return $definition;
75 52 }
76 53 }