PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.17.4
Shortcodes and extra features for Phlox theme v2.17.4
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 / widgets / theme-elements / current-time.php
auxin-elements / includes / elementor / widgets / theme-elements Last commit date
breadcrumbs.php 1 year ago copyright.php 1 year ago current-time.php 1 year ago logo.php 1 year ago menu.php 1 year ago modern-search.php 1 year ago search.php 1 year ago select.php 1 year ago shopping-cart.php 1 year ago site-title.php 1 year ago
current-time.php
220 lines
1 <?php
2 namespace Auxin\Plugin\CoreElements\Elementor\Elements\Theme_Elements;
3
4 use Elementor\Plugin;
5 use Elementor\Widget_Base;
6 use Elementor\Controls_Manager;
7 use Elementor\Group_Control_Typography;
8 use Elementor\Core\Kits\Documents\Tabs\Global_Typography;
9 use Elementor\Group_Control_Text_Shadow;
10
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit; // Exit if accessed directly.
14 }
15
16 /**
17 * Elementor 'Current_Time' widget.
18 *
19 * Elementor widget that displays an 'Current_Time'.
20 *
21 * @since 1.0.0
22 */
23 class Current_Time extends Widget_Base {
24
25 /**
26 * Get widget name.
27 *
28 * Retrieve 'Current_Time' widget name.
29 *
30 * @since 1.0.0
31 * @access public
32 *
33 * @return string Widget name.
34 */
35 public function get_name() {
36 return 'aux_current_time';
37 }
38
39 /**
40 * Get widget title.
41 *
42 * Retrieve 'Current_Time' widget title.
43 *
44 * @since 1.0.0
45 * @access public
46 *
47 * @return string Widget title.
48 */
49 public function get_title() {
50 return __('Current Time', 'auxin-elements' );
51 }
52
53 /**
54 * Get widget icon.
55 *
56 * Retrieve 'Current_Time' widget icon.
57 *
58 * @since 1.0.0
59 * @access public
60 *
61 * @return string Widget icon.
62 */
63 public function get_icon() {
64 return 'eicon-date auxin-badge';
65 }
66
67 /**
68 * Get widget categories.
69 *
70 * Retrieve 'Current_Time' widget icon.
71 *
72 * @since 1.0.0
73 * @access public
74 *
75 * @return string Widget icon.
76 */
77 public function get_categories() {
78 return array( 'auxin-core', 'auxin-theme-elements' );
79 }
80
81 /**
82 * Register 'Current_Time' widget controls.
83 *
84 * Adds different input fields to allow the user to change and customize the widget settings.
85 *
86 * @since 1.0.0
87 * @access protected
88 */
89 protected function register_controls() {
90
91 /*-----------------------------------------------------------------------------------*/
92 /* button_section
93 /*-----------------------------------------------------------------------------------*/
94
95 $this->start_controls_section(
96 'general',
97 array(
98 'label' => __('General', 'auxin-elements' ),
99 )
100 );
101
102 $this->add_control(
103 'type',
104 array(
105 'label' => __('Type of time', 'auxin-elements'),
106 'type' => Controls_Manager::SELECT,
107 'default' => 'custom',
108 'options' => array(
109 'custom' => __('Custom' , 'auxin-elements' ),
110 'mysql' => __('MySql' , 'auxin-elements' ),
111 'timestamp' => __('TimeStamp' , 'auxin-elements' )
112 )
113 )
114 );
115
116 $this->add_control(
117 'date_format',
118 array(
119 'label' => __('Date Format String','auxin-elements' ),
120 'type' => Controls_Manager::TEXT,
121 'default' => get_option( 'date_format' ),
122 'condition' => array(
123 'type' => array('custom'),
124 )
125 )
126 );
127
128 $this->add_responsive_control(
129 'align',
130 array(
131 'label' => __('Align','auxin-elements'),
132 'type' => Controls_Manager::CHOOSE,
133 'options' => array(
134 'left' => array(
135 'title' => __( 'Left', 'auxin-elements' ),
136 'icon' => 'eicon-text-align-left',
137 ),
138 'center' => array(
139 'title' => __( 'Center', 'auxin-elements' ),
140 'icon' => 'eicon-text-align-center',
141 ),
142 'right' => array(
143 'title' => __( 'Right', 'auxin-elements' ),
144 'icon' => 'eicon-text-align-right',
145 ),
146 ),
147 'toggle' => true,
148 'selectors' => array(
149 '{{WRAPPER}}' => 'text-align: {{VALUE}}',
150 )
151 )
152 );
153
154 $this->end_controls_section();
155
156 /*-----------------------------------------------------------------------------------*/
157 /* style
158 /*-----------------------------------------------------------------------------------*/
159
160 $this->start_controls_section(
161 'text_section',
162 array(
163 'label' => __('Text', 'auxin-elements' ),
164 'tab' => Controls_Manager::TAB_STYLE,
165 )
166 );
167
168
169 $this->add_control(
170 'text_color',
171 array(
172 'label' => __( 'Color', 'auxin-elements' ),
173 'type' => Controls_Manager::COLOR,
174 'selectors' => array(
175 '{{WRAPPER}} .aux-current-time' => 'color: {{VALUE}};',
176 )
177 )
178 );
179
180 $this->add_group_control(
181 Group_Control_Text_Shadow::get_type(),
182 array(
183 'name' => 'text_shadow',
184 'label' => __( 'Text Shadow', 'auxin-elements' ),
185 'selector' => '{{WRAPPER}} .aux-current-time',
186 )
187 );
188
189 $this->add_group_control(
190 Group_Control_Typography::get_type(),
191 array(
192 'name' => 'text_typography',
193 'global' => [
194 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
195 ],
196 'selector' => '{{WRAPPER}} .aux-current-time'
197 )
198 );
199
200 $this->end_controls_section();
201 }
202
203 /**
204 * Render image box widget output on the frontend.
205 *
206 * Written in PHP and used to generate the final HTML.
207 *
208 * @since 1.0.0
209 * @access protected
210 */
211 protected function render() {
212
213 $settings = $this->get_settings_for_display();
214 $type = $settings['type'] === 'custom' ? $settings['date_format'] : $settings['type'];
215
216 echo sprintf( '<div class="aux-current-time">%s</div>', current_time( esc_html( $type ) ) );
217 }
218
219 }
220