PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.5.8
Shortcodes and extra features for Phlox theme v2.5.8
2.17.21 2.17.20 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.6 1.0.9 1.1.0 1.3.0 1.3.1 1.3.10 1.3.14 1.3.2 1.3.3 1.3.6 1.4.0 1.4.1 1.4.2 1.5.0 1.5.2 1.6.0 1.6.2 1.6.4 1.7.0 1.7.2 2.10.0 2.10.1 2.10.3 2.10.5 2.10.7 2.10.8 2.10.9 2.11.0 2.11.1 2.11.2 2.12.0 2.14.0 2.15.0 2.15.2 2.15.4 2.15.5 2.15.6 2.15.7 2.15.8 2.15.9 2.16.0 2.16.1 2.16.2 2.16.3 2.16.4 2.17.0 2.17.1 2.17.12 2.17.13 2.17.14 2.17.15 2.17.16 2.17.2 2.17.3 2.17.4 2.17.5 2.17.6 2.17.8 2.17.9 2.4.12 2.4.13 2.4.14 2.4.16 2.4.18 2.4.19 2.4.9 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.14 2.5.15 2.5.16 2.5.17 2.5.19 2.5.2 2.5.20 2.5.3 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.10 2.6.12 2.6.13 2.6.14 2.6.15 2.6.16 2.6.17 2.6.19 2.6.2 2.6.20 2.6.4 2.6.5 2.6.7 2.7.0 2.7.1 2.7.10 2.7.11 2.7.12 2.7.13 2.7.14 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.9 2.9.0 2.9.12 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.19 2.9.2 2.9.20 2.9.21 2.9.22 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8
auxin-elements / includes / elementor / modules / settings / base / manager.php
auxin-elements / includes / elementor / modules / settings / base Last commit date
manager.php 6 years ago
manager.php
96 lines
1 <?php
2 namespace Auxin\Plugin\CoreElements\Elementor\Settings\Base;
3
4 use Elementor\Core\Base\Document;
5 use Elementor\Widget_Base;
6 use Elementor\Controls_Manager;
7 use Elementor\Group_Control_Image_Size;
8 use Elementor\Group_Control_Typography;
9 use Elementor\Scheme_Color;
10 use Elementor\Scheme_Typography;
11 use Elementor\Control_Media;
12 use Elementor\Group_Control_Border;
13 use Elementor\Group_Control_Box_Shadow;
14 use Elementor\Group_Control_Background;
15
16
17 abstract class Manager {
18
19 function __construct(){
20 $this->register_hooks();
21 }
22
23 protected function register_hooks(){
24 add_action( 'elementor/documents/register_controls', [ $this, 'register_controls' ] );
25 add_action( 'elementor/document/after_save', [ $this, 'on_save_settings' ], 10, 2 );
26 }
27
28 /**
29 * Register Document Controls
30 *
31 * Add New Controls to Elementor Page Options
32 * @param $document
33 */
34 abstract public function register_controls ( $document );
35
36 /**
37 * Stores the changed controllers
38 *
39 * @param array $settings list of settings for changes controllers
40 * @param Document $document Elementor base Document class
41 * @param array|null $data All document info passed for saving
42 * @return mixed
43 */
44 abstract protected function save_settings( array $settings, $document, $data = null );
45
46 /**
47 * Parsing custom control settings
48 *
49 * @param $document
50 * @param $data
51 */
52 public function on_save_settings( $document, $data ){
53 if( empty( $data['settings'] ) ){
54 return;
55 }
56 $settings_to_save = $this->get_settings_to_save( $data['settings'] );
57 $this->save_settings( $settings_to_save, $document, $data );
58 }
59
60 /**
61 * Default special page settings in Elementor document
62 *
63 * @return array
64 */
65 protected function get_special_settings_names(){
66 return [
67 'id',
68 'post_title',
69 'post_status',
70 'template',
71 'post_excerpt',
72 'post_featured_image',
73 ];
74 }
75
76 /**
77 * Get custom control settings which are changed
78 *
79 * @param array $settings
80 * @return array
81 */
82 private function get_settings_to_save( array $settings ){
83 $special_settings = $this->get_special_settings_names();
84
85 $settings_to_save = $settings;
86
87 foreach ( $special_settings as $special_setting ) {
88 if ( isset( $settings_to_save[ $special_setting ] ) ) {
89 unset( $settings_to_save[ $special_setting ] );
90 }
91 }
92
93 return $settings_to_save;
94 }
95 }
96