PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0-beta3
Elementor Website Builder – more than just a page builder v4.3.0-beta3
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 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
elementor / core / kits / documents / tabs / settings-agents.php

settings-agents.php in Elementor Website Builder – more than just a page builder 4.3.0-beta3, at core/kits/documents/tabs/settings-agents.php

81 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Core\Kits\Documents\Tabs;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit;
7 }
8
9 class Settings_Agents extends Tab_Base {
10
11 public function get_id() {
12 return 'settings-agents';
13 }
14
15 public function get_title() {
16 return esc_html__( 'Agents', 'elementor' );
17 }
18
19 public function get_group() {
20 return 'agents';
21 }
22
23 public function get_icon() {
24 return 'eicon-ai';
25 }
26
27 public function before_save( array $data ) {
28 if ( empty( $data['settings'] ) ) {
29 return $data;
30 }
31
32 $llms = $this->extract_llms_from_settings( $data['settings'] );
33
34 if ( null === $llms ) {
35 return $data;
36 }
37
38 unset( $data['settings']['agents_llms'] );
39
40 $agents = is_array( $data['settings']['agents'] ?? null ) ? $data['settings']['agents'] : [];
41
42 if ( '' !== $llms ) {
43 $agents['llms'] = $llms;
44 $data['settings']['agents'] = $agents;
45 } else {
46 unset( $agents['llms'] );
47
48 if ( empty( $agents ) ) {
49 unset( $data['settings']['agents'] );
50 } else {
51 $data['settings']['agents'] = $agents;
52 }
53 }
54
55 return $data;
56 }
57
58 protected function register_tab_controls() {}
59
60 /**
61 * @param array $settings
62 *
63 * @return string|null Sanitized llms content, or null when llms was not in the payload.
64 */
65 private function extract_llms_from_settings( array $settings ): ?string {
66 if ( isset( $settings['agents_llms'] ) ) {
67 return is_string( $settings['agents_llms'] )
68 ? sanitize_textarea_field( $settings['agents_llms'] )
69 : '';
70 }
71
72 if ( ! isset( $settings['agents']['llms'] ) ) {
73 return null;
74 }
75
76 return is_string( $settings['agents']['llms'] )
77 ? sanitize_textarea_field( $settings['agents']['llms'] )
78 : '';
79 }
80 }
81