Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor-lms-elementor-addons/classes/AddonsTrait.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + /**
3 + * TutorLMS Elementor Traits
4 + *
5 + * @category Elementor
6 + * @package TutorLMS_Addons
7 + * @author Themeum <www.themeum.com>
8 + * @copyright 2020 Themeum <www.themeum.com>
9 + * @version Release: @1.0.0
10 + * @since 1.0.0
11 + */
12 +
13 + namespace TutorLMS\Elementor;
14 +
15 + defined( 'ABSPATH' ) || exit;
16 +
17 + trait AddonsTrait {
18 +
19 + /**
20 + * Layout for Tutor LMS Elementor.
21 + *
22 + * @param string $default_layout default value left (optional).
23 + *
24 + * @return array layout options for left,up
25 + */
26 + public function etlms_layout( $default_layout = 'left' ) {
27 + return array(
28 + 'label' => __( 'Layout', 'tutor-lms-elementor-addons' ),
29 + 'type' => \Elementor\Controls_Manager::CHOOSE,
30 + 'options' => array(
31 + 'left' => array(
32 + 'title' => __( 'Left', 'tutor-lms-elementor-addons' ),
33 + 'icon' => 'eicon-h-align-left',
34 + ),
35 + 'up' => array(
36 + 'title' => __( 'Up', 'tutor-lms-elementor-addons' ),
37 + 'icon' => 'eicon-v-align-top',
38 + ),
39 +
40 + ),
41 + 'prefix_class' => self::$prefix_class_layout . '%s',
42 + 'default' => $default_layout,
43 +
44 + 'toggle' => false,
45 + );
46 + }
47 +
48 + /**
49 + * Alignment.
50 + *
51 + * @param string $default_alignment default value left (optional).
52 + *
53 + * @return array layout options for left,right,center
54 + */
55 + public function etlms_alignment( $default_alignment = 'left' ) {
56 + return array(
57 + 'label' => __( 'Alignment', 'tutor-lms-elementor-addons' ),
58 + 'type' => \Elementor\Controls_Manager::CHOOSE,
59 + 'options' => array(
60 + 'left' => array(
61 + 'title' => __( 'Left', 'tutor-lms-elementor-addons' ),
62 + 'icon' => 'eicon-text-align-left',
63 + ),
64 + 'center' => array(
65 + 'title' => __( 'Center', 'tutor-lms-elementor-addons' ),
66 + 'icon' => 'eicon-text-align-center',
67 + ),
68 + 'right' => array(
69 + 'title' => __( 'Right', 'tutor-lms-elementor-addons' ),
70 + 'icon' => 'eicon-text-align-right',
71 + ),
72 + ),
73 + 'prefix_class' => self::$prefix_class_alignment . '%s',
74 + 'default' => $default_alignment,
75 + );
76 + }
77 +
78 + /**
79 + * Icon alignment.
80 + *
81 + * @param string $prefix_class prefix class.
82 + * @param string $default_layout default layout.
83 + *
84 + * @return array
85 + */
86 + public function etlms_icon_align( $prefix_class, $default_layout = 'right' ) {
87 + return array(
88 + 'label' => __( 'Icon Position', 'tutor-lms-elementor-addons' ),
89 + 'type' => \Elementor\Controls_Manager::CHOOSE,
90 + 'options' => array(
91 + 'left' => array(
92 + 'title' => __( 'Left', 'tutor-lms-elementor-addons' ),
93 + 'icon' => 'eicon-h-align-left',
94 + ),
95 + 'right' => array(
96 + 'title' => __( 'Right', 'tutor-lms-elementor-addons' ),
97 + 'icon' => 'eicon-h-align-right',
98 + ),
99 +
100 + ),
101 + 'prefix_class' => $prefix_class . '%s',
102 + 'default' => $default_layout,
103 +
104 + 'toggle' => false,
105 + );
106 + }
107 +
108 + /**
109 + * Align with justify.
110 + *
111 + * @param string $default_alignment default alignment.
112 + *
113 + * @return array
114 + */
115 + public function etlms_align_with_justify( $default_alignment = 'left' ) {
116 + return array(
117 + 'label' => __( 'Alignment', 'tutor-lms-elementor-addons' ),
118 + 'type' => \Elementor\Controls_Manager::CHOOSE,
119 + 'options' => array(
120 + 'left' => array(
121 + 'title' => __( 'Left', 'tutor-lms-elementor-addons' ),
122 + 'icon' => 'eicon-text-align-left',
123 + ),
124 + 'center' => array(
125 + 'title' => __( 'Center', 'tutor-lms-elementor-addons' ),
126 + 'icon' => 'eicon-text-align-center',
127 + ),
128 + 'right' => array(
129 + 'title' => __( 'Right', 'tutor-lms-elementor-addons' ),
130 + 'icon' => 'eicon-text-align-right',
131 + ),
132 + 'justify' => array(
133 + 'title' => __( 'Justified', 'tutor-lms-elementor-addons' ),
134 + 'icon' => 'eicon-text-align-justify',
135 + ),
136 + ),
137 + 'prefix_class' => self::$prefix_class_alignment . '%s',
138 + 'default' => $default_alignment,
139 + );
140 + }
141 +
142 + /**
143 + * Non responsive layout.
144 + *
145 + * @param string $default_layout default layout.
146 + *
147 + * @return array
148 + */
149 + public function etlms_non_responsive_layout( $default_layout = 'left' ) {
150 + return array(
151 + 'label' => __( 'Layout', 'tutor-lms-elementor-addons' ),
152 + 'type' => \Elementor\Controls_Manager::CHOOSE,
153 + 'options' => array(
154 + 'left' => array(
155 + 'title' => __( 'Left', 'tutor-lms-elementor-addons' ),
156 + 'icon' => 'eicon-h-align-left',
157 + ),
158 + 'up' => array(
159 + 'title' => __( 'Center', 'tutor-lms-elementor-addons' ),
160 + 'icon' => 'eicon-v-align-top',
161 + ),
162 +
163 + ),
164 + 'prefix_class' => self::$prefix_class_layout,
165 + 'default' => $default_layout,
166 +
167 + 'toggle' => false,
168 + );
169 + }
170 +
171 + /**
172 + * Non responsive alignment.
173 + *
174 + * @param string $default_alignment default alignment.
175 + *
176 + * @return array
177 + */
178 + public function etlms_non_responsive_alignment( $default_alignment = 'left' ) {
179 + return array(
180 + 'label' => __( 'Alignment', 'tutor-lms-elementor-addons' ),
181 + 'type' => \Elementor\Controls_Manager::CHOOSE,
182 + 'options' => array(
183 + 'left' => array(
184 + 'title' => __( 'Left', 'tutor-lms-elementor-addons' ),
185 + 'icon' => 'eicon-text-align-left',
186 + ),
187 + 'center' => array(
188 + 'title' => __( 'Center', 'tutor-lms-elementor-addons' ),
189 + 'icon' => 'eicon-text-align-center',
190 + ),
191 + 'right' => array(
192 + 'title' => __( 'Right', 'tutor-lms-elementor-addons' ),
193 + 'icon' => 'eicon-text-align-right',
194 + ),
195 + ),
196 + 'prefix_class' => self::$prefix_class_alignment,
197 + 'default' => $default_alignment,
198 + );
199 + }
200 +
201 + /**
202 + * Get alignments with default selectors
203 + *
204 + * @param array $selectors CSS selectors.
205 + * @param string $align alignment.
206 + *
207 + * @return array
208 + */
209 + protected function title_alignment_with_selectors( array $selectors, string $align = 'left' ) {
210 + $align = $this->etlms_alignment( $align );
211 + $align['selectors'] = $selectors;
212 + return $align;
213 + }
214 +
215 + /**
216 + * Check is elementor editor mode or not
217 + *
218 + * @since v2.0.0
219 + *
220 + * return bool, true if editor otherwise false
221 + */
222 + public function is_elementor_editor() {
223 + return \Elementor\Plugin::instance()->editor->is_edit_mode() ? true : false;
224 + }
225 + }
226 +