PluginProbe ʕ •ᴥ•ʔ
Shortcodes and extra features for Phlox theme / 2.5.13
Shortcodes and extra features for Phlox theme v2.5.13
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 6 years ago copyright.php 6 years ago current-time.php 6 years ago logo.php 6 years ago menu.php 6 years ago modern-search.php 6 years ago search.php 6 years ago shopping-cart.php 6 years ago site-title.php 6 years ago
current-time.php
218 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\Scheme_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' => 'fa fa-align-left',
137 ),
138 'center' => array(
139 'title' => __( 'Center', 'auxin-elements' ),
140 'icon' => 'fa fa-align-center',
141 ),
142 'right' => array(
143 'title' => __( 'Right', 'auxin-elements' ),
144 'icon' => 'fa fa-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 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
194 'selector' => '{{WRAPPER}} .aux-current-time'
195 )
196 );
197
198 $this->end_controls_section();
199 }
200
201 /**
202 * Render image box widget output on the frontend.
203 *
204 * Written in PHP and used to generate the final HTML.
205 *
206 * @since 1.0.0
207 * @access protected
208 */
209 protected function render() {
210
211 $settings = $this->get_settings_for_display();
212 $type = $settings['type'] === 'custom' ? $settings['date_format'] : $settings['type'];
213
214 echo sprintf( '<div class="aux-current-time">%s</div>', current_time( esc_html( $type ) ) );
215 }
216
217 }
218