PluginProbe
Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder & Template Kits / 3.2.3
Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder & Template Kits v3.2.3
3.2.2 3.2.3 3.2.1 3.2.0 3.1.9 3.1.8 3.1.7 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.9 trunk 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.3 1.1.4 1.1.5 All 174 releases
master-addons / addons / content / ma-comments / ma-comments.php

ma-comments.php in Master Addons for Elementor – Elementor Addons, Widgets, Mega Menu Builder, Popup Builder, Widget Builder & Template Kits 3.2.3, at addons/content/ma-comments/ma-comments.php

2,847 lines 89.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace MasterAddons\Addons;
4
5 // Elementor Classes
6 use MasterAddons\Inc\Classes\Base\Master_Widget;
7 use \Elementor\Utils;
8 use \Elementor\Icons_Manager;
9 use \Elementor\Controls_Manager;
10 use \Elementor\Repeater;
11 use \Elementor\Switcher;
12 use \Elementor\Group_Control_Border;
13 use \Elementor\Group_Control_Typography;
14 use \Elementor\Core\Kits\Documents\Tabs\Global_Typography;
15 use \Elementor\Group_Control_Image_Size;
16 use \Elementor\Group_Control_Background;
17 use \Elementor\Group_Control_Box_Shadow;
18 use \Elementor\Group_Control_Text_Shadow;
19 use \Elementor\Group_Control_Css_Filter;
20 use \Elementor\Core\Kits\Documents\Tabs\Global_Colors;
21 use MasterAddons\Inc\Classes\Helper;
22 use MasterAddons\Inc\Admin\Theme_Builder\Comments\Comments_Builder;
23 use MasterAddons\Inc\Admin\Config;
24
25 /**
26 * Author Name: Liton Arefin
27 * Author URL : https: //jeweltheme.com
28 * Date : 22/06/2020
29 */
30
31 // Exit if accessed directly.
32 if (!defined('ABSPATH')) {
33 exit;
34 }
35
36 /**
37 * Master Comments: Master Addons Element
38 */
39
40 class Comments extends Master_Widget
41 {
42 use \MasterAddons\Inc\Traits\Widget_Notice;
43 use \MasterAddons\Inc\Traits\Widget_Assets_Trait;
44
45 public function get_name()
46 {
47 return 'jltma-comments';
48 }
49
50 public function get_title()
51 {
52 return esc_html__('MA Comments', 'master-addons' );
53 }
54
55 public function get_categories()
56 {
57 return ['general', 'master-addons'];
58 }
59
60 public function get_icon()
61 {
62 return 'jltma-icon ' . Config::get_addon_icon($this->get_name());
63 }
64
65 public function get_keywords()
66 {
67 return [
68 'comments',
69 'comments',
70 'disquss',
71 'facebook',
72 'jetpack',
73 'discussion'
74 ];
75 }
76
77 public function get_custom_help_url()
78 {
79 return 'https://master-addons.com/demos/comments-builder';
80 }
81
82 protected function register_controls()
83 {
84
85 /*
86 * MA Comments Section
87 */
88 $this->start_controls_section(
89 'jltma_comment_section_start',
90 [
91 'label' => esc_html__('Comments', 'master-addons' ),
92 ]
93 );
94
95 $this->add_control(
96 'jltma_comment_style_preset',
97 [
98 'label' => esc_html__('Design Presets', 'master-addons' ),
99 'type' => Controls_Manager::SELECT,
100 'default' => 'style_one',
101 'options' => [
102 'style_one' => esc_html__('Modern Style', 'master-addons' ),
103 'style_two' => esc_html__('Lounge Style', 'master-addons' ),
104 'style_three' => esc_html__('Facebook Style', 'master-addons' )
105 ],
106 'style_transfer' => true,
107 ]
108 );
109
110 $this->add_control(
111 'jltma_comment_total_number',
112 [
113 'label' => esc_html__('Total Number of Comments', 'master-addons' ),
114 'type' => Controls_Manager::SWITCHER,
115 'default' => 'show',
116 'label_on' => esc_html__('Show', 'master-addons' ),
117 'label_off' => esc_html__('Hide', 'master-addons' ),
118 'return_value' => 'show',
119 'style_transfer' => true,
120 ]
121 );
122
123 $this->add_control(
124 'jltma_comment_no_comment_text',
125 [
126 'label' => esc_html__('No Comments Text', 'master-addons' ),
127 'type' => Controls_Manager::TEXT,
128 'default' => esc_html__('No Comments', 'master-addons' ),
129 'style_transfer' => true,
130 'condition' => [
131 'jltma_comment_total_number' => 'show'
132 ],
133
134 ]
135 );
136
137 $this->add_control(
138 'jltma_comment_single_comment_text',
139 [
140 'label' => esc_html__('One Comment Text', 'master-addons' ),
141 'type' => Controls_Manager::TEXT,
142 'default' => esc_html__('One Comment', 'master-addons' ),
143 'style_transfer' => true,
144 'condition' => [
145 'jltma_comment_total_number' => 'show'
146 ],
147
148 ]
149 );
150 $this->add_control(
151 'jltma_comment_plural_comment_text',
152 [
153 'label' => esc_html__('Multiple Comments Text', 'master-addons' ),
154 'type' => Controls_Manager::TEXT,
155 'default' => esc_html__('Comments', 'master-addons' ),
156 'style_transfer' => true,
157 'condition' => [
158 'jltma_comment_total_number' => 'show'
159 ],
160
161 ]
162 );
163
164 $this->add_control(
165 'jltma_comment_gravatar',
166 [
167 'label' => esc_html__('Show Gravatar', 'master-addons' ),
168 'type' => Controls_Manager::SWITCHER,
169 'default' => 'show',
170 'label_on' => esc_html__('Hide', 'master-addons' ),
171 'label_off' => esc_html__('Show', 'master-addons' ),
172 'return_value' => 'show',
173 'style_transfer' => true,
174 ]
175 );
176
177 $this->add_control(
178 'jltma_comment_replies',
179 [
180 'label' => esc_html__('Show / Hide Replies', 'master-addons' ),
181 'type' => Controls_Manager::SWITCHER,
182 'default' => 'show',
183 'label_on' => esc_html__('Hide', 'master-addons' ),
184 'label_off' => esc_html__('Show', 'master-addons' ),
185 'return_value' => 'show',
186 'style_transfer' => true,
187 ]
188 );
189
190 $this->add_control(
191 'jltma_comment_ratings',
192 [
193 'label' => esc_html__('Comment Rating', 'master-addons' ),
194 'type' => Controls_Manager::SWITCHER,
195 'default' => 'show',
196 'label_on' => esc_html__('Show', 'master-addons' ),
197 'label_off' => esc_html__('Hide', 'master-addons' ),
198 'return_value' => 'show',
199 'style_transfer' => true,
200 ]
201 );
202
203 $this->add_control(
204 'jltma_comment_pagination',
205 [
206 'label' => esc_html__('Enable Pagination', 'master-addons' ),
207 'type' => Controls_Manager::SWITCHER,
208 'default' => 'yes',
209 'label_on' => esc_html__('Yes', 'master-addons' ),
210 'label_off' => esc_html__('No', 'master-addons' ),
211 'return_value' => 'yes',
212 'style_transfer' => true,
213 ]
214 );
215
216 $this->add_control(
217 'jltma_comment_spam_protection_enable',
218 [
219 'label' => esc_html__('Enable reCaptcha', 'master-addons' ),
220 'type' => Controls_Manager::SWITCHER,
221 'default' => 'no',
222 'label_on' => esc_html__('Enable', 'master-addons' ),
223 'label_off' => esc_html__('Disable', 'master-addons' ),
224 'return_value' => 'yes',
225 'style_transfer' => true,
226 ]
227 );
228 $this->add_control(
229 'jltma_comment_extra_fields_enable',
230 [
231 'label' => esc_html__('Enable Extra Comment Fields', 'master-addons' ),
232 'type' => Controls_Manager::SWITCHER,
233 'default' => 'no',
234 'label_on' => esc_html__('Enable', 'master-addons' ),
235 'label_off' => esc_html__('Disable', 'master-addons' ),
236 'return_value' => 'yes',
237 'style_transfer' => true,
238 ]
239 );
240
241 $this->add_responsive_control(
242 'jltma_comment_pagination_items',
243 [
244 'label' => esc_html__('Number Of Comments Per Page', 'master-addons' ),
245 'type' => Controls_Manager::SLIDER,
246 'default' => ['size' => 10],
247 'range' => [
248 'px' => [
249 'min' => 1,
250 'max' => 100,
251 'step' => 1,
252 ],
253 ],
254 'size_units' => '',
255 'condition' => [
256 'jltma_comment_pagination' => 'yes'
257 ],
258 ]
259 );
260 $this->end_controls_section();
261
262 /**
263 * Content Tab: Display Settings
264 */
265 $this->start_controls_section(
266 'jltma_comment_section_customization',
267 [
268 'label' => esc_html__('Customization Settings', 'master-addons' ),
269 ]
270 );
271
272 $this->add_control(
273 'jltma_comment_before_notes',
274 [
275 'label' => esc_html__('Before Notes Text', 'master-addons' ),
276 'type' => Controls_Manager::TEXTAREA,
277 'placeholder' => esc_html__('Your email address will not be published.', 'master-addons' ),
278 ]
279 );
280
281 $this->add_control(
282 'jltma_comment_after_notes',
283 [
284 'label' => esc_html__('After Notes Text', 'master-addons' ),
285 'type' => Controls_Manager::TEXTAREA,
286 'placeholder' => esc_html__('Your email address will not be published.', 'master-addons' )
287 ]
288 );
289
290 $this->add_control(
291 'jltma_comment_label',
292 [
293 'label' => esc_html__('Comment Label', 'master-addons' ),
294 'type' => Controls_Manager::TEXT,
295 'default' => esc_html__('Leave A Comment', 'master-addons' ),
296 ]
297 );
298
299 $this->add_control(
300 'jltma_comment_reply_label',
301 [
302 'label' => esc_html__('Reply Button Label', 'master-addons' ),
303 'type' => Controls_Manager::TEXT,
304 'default' => esc_html__('Reply', 'master-addons' ),
305 'condition' => [
306 'jltma_comment_replies' => 'show',
307 ]
308
309 ]
310 );
311
312 $this->add_control(
313 'jltma_comment_show_reply_label',
314 [
315 'label' => esc_html__('Show Reply Label', 'master-addons' ),
316 'type' => Controls_Manager::TEXT,
317 'placeholder' => esc_html__('Show Replies', 'master-addons' ),
318 'condition' => [
319 'jltma_comment_replies' => 'show',
320 ]
321
322 ]
323 );
324 $this->add_control(
325 'jltma_comment_hide_reply_label',
326 [
327 'label' => esc_html__('Hide Reply Label', 'master-addons' ),
328 'type' => Controls_Manager::TEXT,
329 'placeholder' => esc_html__('Hide Replies', 'master-addons' ),
330 'condition' => [
331 'jltma_comment_replies' => 'show',
332 ]
333
334 ]
335 );
336
337 $this->add_control(
338 'jltma_comment_cancel_reply_label',
339 [
340 'label' => esc_html__('Cancel Reply Label', 'master-addons' ),
341 'type' => Controls_Manager::TEXT,
342 'default' => esc_html__('Cancel Reply', 'master-addons' )
343 ]
344 );
345
346 $this->add_control(
347 'jltma_comment_form_submit_label',
348 [
349 'label' => esc_html__('Comment Form Submit Label', 'master-addons' ),
350 'type' => Controls_Manager::TEXT,
351 'default' => esc_html__('Post Comment', 'master-addons' )
352 ]
353 );
354
355 $this->end_controls_section();
356
357 /**
358 * Content Tab: SPAM Protection
359 */
360 $this->start_controls_section(
361 'jltma_comment_section_spam_protection',
362 [
363 'label' => esc_html__('SPAM Protection', 'master-addons' ),
364 'condition' => [
365 'jltma_comment_spam_protection_enable' => 'yes',
366 ]
367 ]
368 );
369
370 // Spam Protection - Pro feature via filter (pass $this for Pro to add controls)
371 $spam_control_added = apply_filters('master_addons/extensions/header_footer/commen_addon/spam_protection', false, $this);
372
373 if (!$spam_control_added) {
374 $this->add_control(
375 'jltma_comment_spam_protection',
376 [
377 'label' => esc_html__('Enable SPAM Protection', 'master-addons'),
378 'type' => Controls_Manager::CHOOSE,
379 'options' => [
380 '1' => [
381 'title' => '',
382 'icon' => 'eicon-lock',
383 ],
384 ],
385 'default' => '1',
386 'description' => '<span class="pro-feature"> Upgrade to <a href="https://master-addons.com/pricing/" target="_blank">Pro Version</a> to unlock this Option.</span>'
387 ]
388 );
389 }
390
391 $this->end_controls_section();
392
393 /**
394 * Content Tab: Fields Settins
395 */
396 $this->start_controls_section(
397 'jltma_comment_section_fields',
398 [
399 'label' => esc_html__('Fields Settings', 'master-addons' ),
400 ]
401 );
402
403 $this->start_controls_tabs('jltma_comment_section_fields_tab');
404 $this->start_controls_tab('jltma_comment_fields_name_tab', [
405 'label' => esc_html__('Name', 'master-addons' )
406 ]);
407
408 $this->add_control(
409 'jltma_comment_fields_name_label_display',
410 [
411 'label' => esc_html__('Display Label?', 'master-addons' ),
412 'type' => Controls_Manager::SWITCHER,
413 'default' => 'show',
414 'label_on' => esc_html__('Show', 'master-addons' ),
415 'label_off' => esc_html__('Hide', 'master-addons' ),
416 'return_value' => 'show',
417 'style_transfer' => true,
418 ]
419 );
420
421 $this->add_control(
422 'jltma_comment_fields_name_label',
423 [
424 'label' => esc_html__('Name', 'master-addons' ),
425 'type' => Controls_Manager::TEXT,
426 'default' => esc_html__('Name', 'master-addons' ),
427 'condition' => [
428 'jltma_comment_fields_name_label_display' => 'show',
429 ]
430 ]
431 );
432
433 $this->add_control(
434 'jltma_comment_fields_name_label_placeholder',
435 [
436 'label' => esc_html__('Placeholder', 'master-addons' ),
437 'type' => Controls_Manager::TEXT,
438 'default' => esc_html__('Enter your Name', 'master-addons' )
439 ]
440 );
441 $this->end_controls_tab();
442
443 //Email
444 $this->start_controls_tab('jltma_comment_fields_email_tab', [
445 'label' => esc_html__('Email', 'master-addons' )
446 ]);
447
448 $this->add_control(
449 'jltma_comment_fields_email_label_display',
450 [
451 'label' => esc_html__('Display Label?', 'master-addons' ),
452 'type' => Controls_Manager::SWITCHER,
453 'default' => 'show',
454 'label_on' => esc_html__('Show', 'master-addons' ),
455 'label_off' => esc_html__('Hide', 'master-addons' ),
456 'return_value' => 'show',
457 'style_transfer' => true,
458 ]
459 );
460
461 $this->add_control(
462 'jltma_comment_fields_email_label',
463 [
464 'label' => esc_html__('Email', 'master-addons' ),
465 'type' => Controls_Manager::TEXT,
466 'default' => esc_html__('Email', 'master-addons' ),
467 'condition' => [
468 'jltma_comment_fields_email_label_display' => 'show',
469 ]
470 ]
471 );
472
473 $this->add_control(
474 'jltma_comment_fields_email_label_placeholder',
475 [
476 'label' => esc_html__('Placeholder', 'master-addons' ),
477 'type' => Controls_Manager::TEXT,
478 'default' => esc_html__('Enter your Email', 'master-addons' )
479 ]
480 );
481
482 $this->end_controls_tab();
483
484 //Website
485 $this->start_controls_tab('jltma_comment_fields_url_tab', [
486 'label' => esc_html__('Website', 'master-addons' )
487 ]);
488
489 $this->add_control(
490 'jltma_comment_fields_url_display',
491 [
492 'label' => esc_html__('Display Field?', 'master-addons' ),
493 'type' => Controls_Manager::SWITCHER,
494 'default' => 'show',
495 'label_on' => esc_html__('Show', 'master-addons' ),
496 'label_off' => esc_html__('Hide', 'master-addons' ),
497 'return_value' => 'show',
498 'style_transfer' => true,
499 ]
500 );
501
502 $this->add_control(
503 'jltma_comment_fields_url_label_display',
504 [
505 'label' => esc_html__('Display Label?', 'master-addons' ),
506 'type' => Controls_Manager::SWITCHER,
507 'default' => 'show',
508 'label_on' => esc_html__('Show', 'master-addons' ),
509 'label_off' => esc_html__('Hide', 'master-addons' ),
510 'return_value' => 'show',
511 'style_transfer' => true,
512 'condition' => [
513 'jltma_comment_fields_url_display' => 'show',
514 ]
515 ]
516 );
517
518 $this->add_control(
519 'jltma_comment_fields_url_label',
520 [
521 'label' => esc_html__('Website', 'master-addons' ),
522 'type' => Controls_Manager::TEXT,
523 'default' => esc_html__('Website', 'master-addons' ),
524 'condition' => [
525 'jltma_comment_fields_url_label_display' => 'show',
526 'jltma_comment_fields_url_display' => 'show',
527 ]
528 ]
529 );
530
531 $this->add_control(
532 'jltma_comment_fields_url_label_placeholder',
533 [
534 'label' => esc_html__('Placeholder', 'master-addons' ),
535 'type' => Controls_Manager::TEXT,
536 'default' => esc_html__('Enter your Website', 'master-addons' ),
537 'condition' => [
538 'jltma_comment_fields_url_display' => 'show',
539 ]
540 ]
541 );
542
543 $this->end_controls_tab();
544
545 //Comment Box
546 $this->start_controls_tab('jltma_comment_fields_textarea_tab', [
547 'label' => esc_html__('Comment', 'master-addons' )
548 ]);
549
550 $this->add_control(
551 'jltma_comment_fields_textarea_label_display',
552 [
553 'label' => esc_html__('Display Label?', 'master-addons' ),
554 'type' => Controls_Manager::SWITCHER,
555 'default' => 'show',
556 'label_on' => esc_html__('Show', 'master-addons' ),
557 'label_off' => esc_html__('Hide', 'master-addons' ),
558 'return_value' => 'show',
559 'style_transfer' => true,
560 ]
561 );
562
563 $this->add_control(
564 'jltma_comment_fields_textarea_label',
565 [
566 'label' => esc_html__('Comment Box', 'master-addons' ),
567 'type' => Controls_Manager::TEXT,
568 'default' => esc_html__('Comments', 'master-addons' ),
569 'condition' => [
570 'jltma_comment_fields_textarea_label_display' => 'show',
571 ]
572 ]
573 );
574
575 $this->add_control(
576 'jltma_comment_fields_textarea_label_placeholder',
577 [
578 'label' => esc_html__('Placeholder', 'master-addons' ),
579 'type' => Controls_Manager::TEXT,
580 'default' => esc_html__('Enter your Comments', 'master-addons' )
581 ]
582 );
583
584 $this->add_control(
585 'jltma_comment_fields_textarea_notice',
586 [
587 'label' => esc_html__('Display Notice?', 'master-addons' ),
588 'type' => Controls_Manager::SWITCHER,
589 'default' => 'hide',
590 'label_on' => esc_html__('Show', 'master-addons' ),
591 'label_off' => esc_html__('Hide', 'master-addons' ),
592 'return_value' => 'show',
593 'style_transfer' => true,
594 ]
595 );
596
597 $this->add_control(
598 'jltma_comment_fields_textarea_notice_content',
599 [
600 'label' => esc_html__('Content', 'master-addons' ),
601 'type' => Controls_Manager::WYSIWYG,
602 'default' => esc_html__('Comments are moderated and will only be made live if they add to the discussion in a constructive way. If you disagree with a point, be polite. This should be a conversation between professional people with the aim that we all learn.', 'master-addons' ),
603 'condition' => [
604 'jltma_comment_fields_textarea_notice' => 'show',
605 ],
606 ]
607 );
608
609 $this->add_control(
610 'jltma_comment_fields_textarea_notice_align',
611 [
612 'label' => esc_html__('Alignment', 'master-addons' ),
613 'type' => Controls_Manager::CHOOSE,
614 'label_block' => false,
615 'options' => [
616 'left' => [
617 'title' => esc_html__('Left', 'master-addons' ),
618 'icon' => 'eicon-h-align-left',
619 ],
620 'right' => [
621 'title' => esc_html__('Right', 'master-addons' ),
622 'icon' => 'eicon-h-align-right',
623 ],
624 ],
625 'default' => 'right',
626 'style_transfer' => true,
627 'condition' => [
628 'jltma_comment_fields_textarea_notice' => 'show',
629 ],
630 ]
631 );
632
633 $this->end_controls_tab();
634
635 $this->end_controls_tabs();
636
637 $this->end_controls_section();
638
639 /**
640 * Extra Comments Fields: Dynamic Custom Fields Settings
641 */
642 $this->start_controls_section(
643 'jltma_comment_extra_fields_sections',
644 [
645 'label' => esc_html__('Extra Comment Fields', 'master-addons' ),
646 'condition' => [
647 'jltma_comment_extra_fields_enable' => 'yes',
648 ]
649 ]
650 );
651
652 // Extra Fields - Pro feature via filter
653 $extra_fields_config = apply_filters('master_addons/extensions/header_footer/commen_addon/extra_fields_items', []);
654
655 if (!empty($extra_fields_config)) {
656 $this->add_control('jltma_comment_extra_fields_items', $extra_fields_config);
657 } else {
658 $this->add_responsive_control(
659 'jltma_comment_extra_fields_section_repeater',
660 [
661 'label' => __('Comment Extra Fields', 'master-addons'),
662 'type' => Controls_Manager::CHOOSE,
663 'options' => [
664 '1' => [
665 'title' => '',
666 'icon' => 'eicon-lock',
667 ],
668 ],
669 'default' => '1',
670 'description' => '<span class="pro-feature"> Upgrade to <a href="' . ma_el_fs()->get_upgrade_url() . '" target="_blank">Pro Version</a> to unlock this Option.</span>'
671 ]
672 );
673 }
674
675 $this->end_controls_section();
676
677 /* Master Comment: Style Tab */
678 $this->start_controls_section(
679 'jltma_comments_style_start',
680 [
681 'label' => esc_html__('Comment Box', 'master-addons' ),
682 'tab' => Controls_Manager::TAB_STYLE
683 ]
684 );
685
686 $this->add_control(
687 'jltma_comments_bg_color',
688 [
689 'label' => esc_html__('Background Color', 'master-addons' ),
690 'type' => Controls_Manager::COLOR,
691 'default' => '',
692 'selectors' => [
693 '{{WRAPPER}} .jltma-comments-wrap' => 'background: {{VALUE}};'
694 ]
695 ]
696 );
697
698 $this->add_control(
699 'jltma_comments_total',
700 [
701 'label' => esc_html__('Total Number Comments', 'master-addons' ),
702 'type' => Controls_Manager::HEADING,
703 'separator' => 'before',
704 ]
705 );
706 $this->add_group_control(
707 Group_Control_Typography::get_type(),
708 [
709 'name' => 'jltma_comments_total_typography',
710 'selector' => '{{WRAPPER}} .jltma-comments-title',
711 'global' => [
712 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
713 ],
714 ]
715 );
716
717 $this->add_control(
718 'jltma_comments_total_color',
719 [
720 'label' => esc_html__('Total Comments Color', 'master-addons' ),
721 'type' => Controls_Manager::COLOR,
722 'global' => [
723 'default' => Global_Colors::COLOR_SECONDARY,
724 ],
725 'default' => '#000',
726 'selectors' => [
727 '{{WRAPPER}} .jltma-comments-title' => 'color: {{VALUE}};'
728 ],
729 ]
730 );
731
732 $this->add_responsive_control(
733 'jltma_comments_pading',
734 [
735 'label' => esc_html__('Padding', 'master-addons' ),
736 'type' => Controls_Manager::DIMENSIONS,
737 'size_units' => ['px', 'em', '%'],
738 'separator' => 'before',
739 'selectors' => [
740 '{{WRAPPER}} .jltma-comments-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
741 ]
742 ]
743 );
744
745 $this->add_responsive_control(
746 'jltma_comments_margin',
747 [
748 'label' => esc_html__('Margin', 'master-addons' ),
749 'type' => Controls_Manager::DIMENSIONS,
750 'size_units' => ['px', 'em', '%'],
751 'selectors' => [
752 '{{WRAPPER}} .jltma-comments-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
753 ]
754 ]
755 );
756
757 $this->add_group_control(
758 Group_Control_Border::get_type(),
759 [
760 'name' => 'jltma_comments_border',
761 'selector' => '{{WRAPPER}} .jltma-comments-wrap'
762 ]
763 );
764
765 $this->add_responsive_control(
766 'jltma_comments_border_radius',
767 [
768 'label' => esc_html__('Border Radius', 'master-addons' ),
769 'type' => Controls_Manager::DIMENSIONS,
770 'size_units' => ['px', '%', 'em'],
771 'selectors' => [
772 '{{WRAPPER}} .jltma-comments-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
773 ]
774 ]
775 );
776
777 $this->add_group_control(
778 Group_Control_Box_Shadow::get_type(),
779 [
780 'label' => esc_html__('Box Shadow', 'master-addons' ),
781 'name' => 'jltma_comments_box_shadow',
782 'selector' => '{{WRAPPER}} .jltma-comments-wrap'
783 ]
784 );
785
786 $this->end_controls_section();
787
788 /* Master Comment Item: Style Tab */
789 $this->start_controls_section(
790 'jltma_comment_style_start',
791 [
792 'label' => esc_html__('Comment Item', 'master-addons' ),
793 'tab' => Controls_Manager::TAB_STYLE
794 ]
795 );
796
797 $this->add_control(
798 'jltma_comment_bg_color',
799 [
800 'label' => esc_html__('Background Color', 'master-addons' ),
801 'type' => Controls_Manager::COLOR,
802 'default' => '',
803 'selectors' => [
804 '{{WRAPPER}} .jltma-comment-listing-wrapper .jltma-comment-list' => 'background: {{VALUE}};'
805 ]
806 ]
807 );
808
809 // Comment Item Styles
810 $this->start_controls_tabs('jltma_comment_author_section');
811
812 $this->start_controls_tab('jltma_comment_author_tab_style', [
813 'label' => esc_html__('Author', 'master-addons' )
814 ]);
815 $this->add_group_control(
816 Group_Control_Typography::get_type(),
817 [
818 'name' => 'jltma_comment_author_name_typography',
819 'label' => esc_html__('Author Name Typography', 'master-addons' ),
820 'selector' => '{{WRAPPER}} .jltma-comment-listing-wrapper .jltma-comment-list .jltma-author-name',
821 'global' => [
822 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
823 ],
824 ]
825 );
826
827 $this->add_control(
828 'jltma_comment_author_name_color',
829 [
830 'label' => esc_html__('Author Name Color', 'master-addons' ),
831 'type' => Controls_Manager::COLOR,
832 'global' => [
833 'default' => Global_Colors::COLOR_SECONDARY,
834 ],
835 'default' => '#46494c',
836 'selectors' => [
837 '{{WRAPPER}} .jltma-comment-listing-wrapper .jltma-comment-list .jltma-author-name' => 'color: {{VALUE}};'
838 ],
839 ]
840 );
841
842 $this->add_group_control(
843 Group_Control_Text_Shadow::get_type(),
844 [
845 'label' => esc_html__('Box Shadow', 'master-addons' ),
846 'name' => 'jltma_comment_author_name_text_shadow',
847 'selector' => '{{WRAPPER}} .jltma-comment-listing-wrapper .jltma-comment-list .jltma-author-name'
848 ]
849 );
850
851 $this->end_controls_tab();
852
853 // Gravatar
854 $this->start_controls_tab('jltma_comment_gravatar_tab_style', [
855 'label' => esc_html__('Gravatar', 'master-addons' )
856 ]);
857
858 $this->add_responsive_control(
859 'jltma_comment_gravatar_size',
860 [
861 'label' => esc_html__('Size', 'master-addons' ),
862 'type' => Controls_Manager::SLIDER,
863 'default' => [
864 'size' => 130
865 ],
866 'range' => [
867 'px' => [
868 'min' => 1,
869 'max' => 350,
870 'step' => 1,
871 ],
872 ],
873 'size_units' => '',
874 'condition' => [
875 'jltma_comment_gravatar' => 'show'
876 ],
877 'selectors' => [
878 '{{WRAPPER}} .jltma-comment-list .jltma-comment-gravatar' => "width: {{SIZE}}{{UNIT}}; height: {{SIZE}}{{UNIT}};"
879 ]
880 ]
881 );
882
883 $this->add_responsive_control(
884 'jltma_comment_gravatar_pading',
885 [
886 'label' => esc_html__('Padding', 'master-addons' ),
887 'type' => Controls_Manager::DIMENSIONS,
888 'size_units' => ['px', 'em', '%'],
889 'separator' => 'before',
890 'selectors' => [
891 '{{WRAPPER}} .jltma-comment-list .jltma-comment-gravatar img' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
892 ]
893 ]
894 );
895
896 $this->add_responsive_control(
897 'jltma_comment_gravatar_margin',
898 [
899 'label' => esc_html__('Margin', 'master-addons' ),
900 'type' => Controls_Manager::DIMENSIONS,
901 'size_units' => ['px', 'em', '%'],
902 'selectors' => [
903 '{{WRAPPER}} .jltma-comment-list .jltma-comment-gravatar' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
904 ]
905 ]
906 );
907
908 $this->add_group_control(
909 Group_Control_Border::get_type(),
910 [
911 'name' => 'jltma_comment_gravatar_border',
912 'selector' => '{{WRAPPER}} .jltma-comment-list .jltma-comment-gravatar img'
913 ]
914 );
915
916 $this->add_responsive_control(
917 'jltma_comment_gravatar_border_radius',
918 [
919 'label' => esc_html__('Border Radius', 'master-addons' ),
920 'type' => Controls_Manager::DIMENSIONS,
921 'size_units' => ['px', '%', 'em'],
922 'selectors' => [
923 '{{WRAPPER}} .jltma-comment-list .jltma-comment-gravatar img' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
924 ]
925 ]
926 );
927
928 $this->add_group_control(
929 Group_Control_Box_Shadow::get_type(),
930 [
931 'label' => esc_html__('Box Shadow', 'master-addons' ),
932 'name' => 'jltma_comment_gravatar_box_shadow',
933 'selector' => '{{WRAPPER}} .jltma-comment-list .jltma-comment-gravatar img'
934 ]
935 );
936
937 $this->end_controls_tab();
938
939 // Comment Text
940 $this->start_controls_tab('jltma_comment_author_commentstyle', [
941 'label' => esc_html__('Comments', 'master-addons' )
942 ]);
943
944 $this->add_group_control(
945 Group_Control_Typography::get_type(),
946 [
947 'name' => 'jltma_comment_author_comment_typography',
948 'selector' => '{{WRAPPER}} .jltma-comment-listing-wrapper .jltma-comment-list .jltma-comment',
949 'global' => [
950 'default' => Global_Typography::TYPOGRAPHY_TEXT,
951 ],
952 ]
953 );
954
955 $this->add_control(
956 'jltma_comment_author_comment_color',
957 [
958 'label' => esc_html__('Total Comments Color', 'master-addons' ),
959 'type' => Controls_Manager::COLOR,
960 'global' => [
961 'default' => Global_Colors::COLOR_SECONDARY,
962 ],
963 'default' => '#5a5e63',
964 'selectors' => [
965 '{{WRAPPER}} .jltma-comment-listing-wrapper .jltma-comment-list .jltma-comment' => 'color: {{VALUE}};'
966 ],
967 ]
968 );
969
970 $this->add_group_control(
971 Group_Control_Text_Shadow::get_type(),
972 [
973 'label' => esc_html__('Box Shadow', 'master-addons' ),
974 'name' => 'jltma_comment_author_comment_text_shadow',
975 'selector' => '{{WRAPPER}} .jltma-comment-listing-wrapper .jltma-comment-list .jltma-comment'
976 ]
977 );
978
979 $this->end_controls_tab();
980
981 $this->end_controls_tabs();
982
983 $this->add_control(
984 'jltma_comments_time_settings',
985 [
986 'label' => esc_html__('Comment Datetime Settings', 'master-addons' ),
987 'type' => Controls_Manager::HEADING,
988 'separator' => 'before',
989 ]
990 );
991
992 $this->add_control(
993 'jltma_comments_time_type',
994 array(
995 'label' => esc_html__('Type of Datetime', 'master-addons' ),
996 'type' => Controls_Manager::SELECT,
997 'default' => 'custom',
998 'options' => array(
999 'custom' => esc_html__('Custom', 'master-addons' ),
1000 'mysql' => esc_html__('MySql', 'master-addons' ),
1001 'timestamp' => esc_html__('TimeStamp', 'master-addons' )
1002 )
1003 )
1004 );
1005
1006 $this->add_control(
1007 'jltma_comments_time_format',
1008 array(
1009 'label' => esc_html__('Datetime Format String', 'master-addons' ),
1010 'type' => Controls_Manager::TEXT,
1011 'default' => get_option('date_format'),
1012 'description' => '<span class="pro-feature"> <a href="' . esc_url_raw('https://wordpress.org/support/article/formatting-date-and-time/') . '" target="_blank">Date Time Format Examples </a> </span>',
1013 'condition' => array(
1014 'jltma_comments_time_type' => array('custom'),
1015 )
1016 )
1017 );
1018
1019 $this->add_control(
1020 'jltma_comments_time_color',
1021 [
1022 'label' => esc_html__('Datetime Color', 'master-addons' ),
1023 'type' => Controls_Manager::COLOR,
1024 'global' => [
1025 'default' => Global_Colors::COLOR_SECONDARY,
1026 ],
1027 'default' => '',
1028 'selectors' => [
1029 '{{WRAPPER}} .jltma-title-date .jltma-date-time' => 'color: {{VALUE}};'
1030 ],
1031 ]
1032 );
1033
1034 $this->add_group_control(
1035 Group_Control_Typography::get_type(),
1036 [
1037 'name' => 'jltma_comments_time_typography',
1038 'separator' => 'after',
1039 'selector' => '{{WRAPPER}} .jltma-title-date .jltma-date-time',
1040 'global' => [
1041 'default' => Global_Typography::TYPOGRAPHY_TEXT,
1042 ],
1043 ]
1044 );
1045
1046 $this->add_control(
1047 'jltma_comments_like_dislike_settings',
1048 [
1049 'label' => esc_html__('Like/Dislike Settings', 'master-addons' ),
1050 'type' => Controls_Manager::HEADING,
1051 'separator' => 'before',
1052 'condition' => [
1053 'jltma_comment_ratings' => 'show'
1054 ],
1055 ]
1056 );
1057
1058 $this->add_control(
1059 'jltma_comments_like_dislike_icon_color',
1060 [
1061 'label' => esc_html__('Like/Dislike Icon Color', 'master-addons' ),
1062 'type' => Controls_Manager::COLOR,
1063 'global' => [
1064 'default' => Global_Colors::COLOR_SECONDARY,
1065 ],
1066 'default' => '#393c3f',
1067 'selectors' => [
1068 '{{WRAPPER}} .jltma-like-dislike-wrapper .fa' => 'color: {{VALUE}};'
1069 ],
1070 'condition' => [
1071 'jltma_comment_ratings' => 'show'
1072 ]
1073 ]
1074 );
1075
1076 $this->add_control(
1077 'jltma_comments_like_dislike_number_color',
1078 [
1079 'label' => esc_html__('Like/Dislike Number Color', 'master-addons' ),
1080 'type' => Controls_Manager::COLOR,
1081 'global' => [
1082 'default' => Global_Colors::COLOR_SECONDARY,
1083 ],
1084 'default' => '',
1085 'selectors' => [
1086 '{{WRAPPER}} .jltma-like-dislike-wrapper .jltma-like-count-wrap,
1087 {{WRAPPER}} .jltma-like-dislike-wrapper .jltma-dislike-count-wrap' => 'color: {{VALUE}};'
1088 ],
1089 'condition' => [
1090 'jltma_comment_ratings' => 'show'
1091 ]
1092 ]
1093 );
1094
1095 $this->add_responsive_control(
1096 'jltma_comment_pading',
1097 [
1098 'label' => esc_html__('Padding', 'master-addons' ),
1099 'type' => Controls_Manager::DIMENSIONS,
1100 'size_units' => ['px', 'em', '%'],
1101 'separator' => 'before',
1102 'selectors' => [
1103 '{{WRAPPER}} .jltma-comments-wrap' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1104 ]
1105 ]
1106 );
1107
1108 $this->add_responsive_control(
1109 'jltma_comment_margin',
1110 [
1111 'label' => esc_html__('Margin', 'master-addons' ),
1112 'type' => Controls_Manager::DIMENSIONS,
1113 'size_units' => ['px', 'em', '%'],
1114 'selectors' => [
1115 '{{WRAPPER}} .jltma-comments-wrap' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1116 ]
1117 ]
1118 );
1119
1120 $this->add_group_control(
1121 Group_Control_Border::get_type(),
1122 [
1123 'name' => 'jltma_comments_comment_border',
1124 'selector' => '{{WRAPPER}} .jltma-comment-listing-wrapper > ul.jltma-comment-list'
1125 ]
1126 );
1127
1128 $this->add_responsive_control(
1129 'jltma_comment_border_radius',
1130 [
1131 'label' => esc_html__('Border Radius', 'master-addons' ),
1132 'type' => Controls_Manager::DIMENSIONS,
1133 'size_units' => ['px', '%', 'em'],
1134 'selectors' => [
1135 '{{WRAPPER}} .jltma-comments-wrap' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1136 ]
1137 ]
1138 );
1139
1140 $this->add_group_control(
1141 Group_Control_Box_Shadow::get_type(),
1142 [
1143 'label' => esc_html__('Box Shadow', 'master-addons' ),
1144 'name' => 'jltma_comment_box_shadow',
1145 'selector' => '{{WRAPPER}} .jltma-comments-wrap'
1146 ]
1147 );
1148
1149 $this->end_controls_section();
1150
1151 // Reply Settings
1152 $this->start_controls_section(
1153 'jltma_comments_reply_section_start',
1154 [
1155 'label' => esc_html__('Reply Settings', 'master-addons' ),
1156 'tab' => Controls_Manager::TAB_STYLE
1157 ]
1158 );
1159
1160 $this->add_control(
1161 'jltma_comments_child_reply_settings',
1162 [
1163 'label' => esc_html__('Children Replies Settings', 'master-addons' ),
1164 'type' => Controls_Manager::HEADING,
1165 'separator' => 'before'
1166 ]
1167 );
1168
1169 $this->add_control(
1170 'jltma_comments_replies_bg_color',
1171 [
1172 'label' => esc_html__('Replies Background', 'master-addons' ),
1173 'type' => Controls_Manager::COLOR,
1174 'global' => [
1175 'default' => Global_Colors::COLOR_SECONDARY,
1176 ],
1177 'default' => '',
1178 'selectors' => [
1179 '{{WRAPPER}} .jltma-children.jltma-comment-list' => 'background: {{VALUE}} !important;'
1180 ]
1181 ]
1182 );
1183
1184 $this->add_responsive_control(
1185 'jltma_comments_replies_pading',
1186 [
1187 'label' => esc_html__('Replies Padding', 'master-addons' ),
1188 'type' => Controls_Manager::DIMENSIONS,
1189 'size_units' => ['px', 'em', '%'],
1190 'separator' => 'before',
1191 'selectors' => [
1192 '{{WRAPPER}} .jltma-children.jltma-comment-list' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1193 ]
1194 ]
1195 );
1196
1197 $this->add_responsive_control(
1198 'jltma_comments_replies_margin',
1199 [
1200 'label' => esc_html__('Replies Margin', 'master-addons' ),
1201 'type' => Controls_Manager::DIMENSIONS,
1202 'size_units' => ['px', 'em', '%'],
1203 'default' => [
1204 'top' => 0,
1205 'right' => 0,
1206 'bottom' => 40,
1207 'left' => 40,
1208 'isLinked' => true,
1209 ],
1210 'selectors' => [
1211 '{{WRAPPER}} .jltma-children.jltma-comment-list' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1212 ]
1213 ]
1214 );
1215
1216 $this->add_group_control(
1217 Group_Control_Border::get_type(),
1218 [
1219 'name' => 'jltma_comments_replies_border',
1220 'selector' => '{{WRAPPER}} .jltma-children.jltma-comment-list'
1221 ]
1222 );
1223
1224 $this->add_responsive_control(
1225 'jltma_comments_replies_border_radius',
1226 [
1227 'label' => esc_html__('Repies Border Radius', 'master-addons' ),
1228 'type' => Controls_Manager::DIMENSIONS,
1229 'size_units' => ['px', '%', 'em'],
1230 'selectors' => [
1231 '{{WRAPPER}} .jltma-children.jltma-comment-list' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1232 ]
1233 ]
1234 );
1235
1236 $this->add_group_control(
1237 Group_Control_Box_Shadow::get_type(),
1238 [
1239 'label' => esc_html__('Repies Box Shadow', 'master-addons' ),
1240 'name' => 'jltma_comments_replies_box_shadow',
1241 'selector' => '{{WRAPPER}} .jltma-children.jltma-comment-list'
1242 ]
1243 );
1244
1245 $this->add_control(
1246 'jltma_comments_reply_settings',
1247 [
1248 'label' => esc_html__('Reply Button Settings', 'master-addons' ),
1249 'type' => Controls_Manager::HEADING,
1250 'separator' => 'before'
1251 ]
1252 );
1253
1254 $this->start_controls_tabs('jltma_comments_reply_tabs');
1255
1256 $this->start_controls_tab('jltma_comments_reply_tab', [
1257 'label' => esc_html__('Normal', 'master-addons' )
1258 ]);
1259
1260 $this->add_control(
1261 'jltma_comments_reply_btn_bg_color',
1262 [
1263 'label' => esc_html__('Reply BG Color', 'master-addons' ),
1264 'type' => Controls_Manager::COLOR,
1265 'global' => [
1266 'default' => Global_Colors::COLOR_SECONDARY,
1267 ],
1268 'default' => '',
1269 'selectors' => [
1270 '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button,
1271 {{WRAPPER}} .jltma-comment-footer a.jltma-show-replies-trigger' => 'background: {{VALUE}};'
1272 ]
1273 ]
1274 );
1275
1276 $this->add_control(
1277 'jltma_comments_reply_text_color',
1278 [
1279 'label' => esc_html__('Reply Text Color', 'master-addons' ),
1280 'type' => Controls_Manager::COLOR,
1281 'global' => [
1282 'default' => Global_Colors::COLOR_SECONDARY,
1283 ],
1284 'default' => '#78909c',
1285 'selectors' => [
1286 '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button,
1287 {{WRAPPER}} .jltma-comment-footer a.jltma-show-replies-trigger' => 'color: {{VALUE}};'
1288 ],
1289 ]
1290 );
1291
1292 $this->add_group_control(
1293 Group_Control_Typography::get_type(),
1294 [
1295 'name' => 'jltma_comments_reply_typography',
1296 'label' => esc_html__('Reply Typography', 'master-addons' ),
1297 'selector' => '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button, {{WRAPPER}} .jltma-comment-footer a.jltma-show-replies-trigger',
1298 'global' => [
1299 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
1300 ],
1301 ]
1302 );
1303
1304 $this->add_group_control(
1305 Group_Control_Border::get_type(),
1306 [
1307 'name' => 'jltma_comments_reply_border',
1308 'selector' => '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button, {{WRAPPER}} .jltma-comment-footer a.jltma-show-replies-trigger'
1309 ]
1310 );
1311
1312 $this->add_responsive_control(
1313 'jltma_comments_reply_border_radius',
1314 [
1315 'label' => esc_html__('Border Radius', 'master-addons' ),
1316 'type' => Controls_Manager::DIMENSIONS,
1317 'size_units' => ['px', '%', 'em'],
1318 'selectors' => [
1319 '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button,
1320 {{WRAPPER}} .jltma-comment-footer a.jltma-show-replies-trigger' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1321 ]
1322 ]
1323 );
1324
1325 $this->add_group_control(
1326 Group_Control_Box_Shadow::get_type(),
1327 [
1328 'label' => esc_html__('Box Shadow', 'master-addons' ),
1329 'name' => 'jltma_comments_reply_shadow',
1330 'selector' => '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button, {{WRAPPER}} .jltma-comment-footer a.jltma-show-replies-trigger'
1331 ]
1332 );
1333
1334 $this->end_controls_tab();
1335
1336 //Hover
1337 $this->start_controls_tab('jltma_comments_reply_hover_tabs', [
1338 'label' => esc_html__('Hover', 'master-addons' )
1339 ]);
1340 $this->add_control(
1341 'jltma_comments_reply_hover_btn_bg_color',
1342 [
1343 'label' => esc_html__('Reply BG Color', 'master-addons' ),
1344 'type' => Controls_Manager::COLOR,
1345 'global' => [
1346 'default' => Global_Colors::COLOR_SECONDARY,
1347 ],
1348 'default' => '',
1349 'selectors' => [
1350 '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button:hover,
1351 {{WRAPPER}} .jltma-comment-style_one .jltma-comment-footer a.jltma-show-replies-trigger:hover' => 'background: {{VALUE}};'
1352 ]
1353 ]
1354 );
1355
1356 $this->add_control(
1357 'jltma_comments_reply_hover_text_color',
1358 [
1359 'label' => esc_html__('Reply Text Color', 'master-addons' ),
1360 'type' => Controls_Manager::COLOR,
1361 'global' => [
1362 'default' => Global_Colors::COLOR_SECONDARY,
1363 ],
1364 'default' => '#fff',
1365 'selectors' => [
1366 '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button:hover,
1367 {{WRAPPER}} .jltma-comment-style_one .jltma-comment-footer a.jltma-show-replies-trigger:hover' => 'color: {{VALUE}};'
1368 ],
1369 ]
1370 );
1371
1372 $this->add_group_control(
1373 Group_Control_Typography::get_type(),
1374 [
1375 'name' => 'jltma_comments_reply_hover_typography',
1376 'label' => esc_html__('Reply Typography', 'master-addons' ),
1377 'selector' => '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button:hover, {{WRAPPER}} .jltma-comment-style_one .jltma-comment-footer a.jltma-show-replies-trigger:hover',
1378 'global' => [
1379 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
1380 ],
1381 ]
1382 );
1383
1384 $this->add_group_control(
1385 Group_Control_Border::get_type(),
1386 [
1387 'name' => 'jltma_comments_reply_hover_border',
1388 'selector' => '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button:hover, {{WRAPPER}} .jltma-comment-footer a.jltma-show-replies-trigger:hover'
1389 ]
1390 );
1391
1392 $this->add_responsive_control(
1393 'jltma_comments_reply_hover_border_radius',
1394 [
1395 'label' => esc_html__('Border Radius', 'master-addons' ),
1396 'type' => Controls_Manager::DIMENSIONS,
1397 'size_units' => ['px', '%', 'em'],
1398 'selectors' => [
1399 '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button:hover,
1400 {{WRAPPER}} .jltma-comment-footer a.jltma-show-replies-trigger:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1401 ]
1402 ]
1403 );
1404
1405 $this->add_group_control(
1406 Group_Control_Box_Shadow::get_type(),
1407 [
1408 'label' => esc_html__('Box Shadow', 'master-addons' ),
1409 'name' => 'jltma_comments_reply_hover_shadow',
1410 'selector' => '{{WRAPPER}} .jltma-comment-footer .jltma-reply-button:hover, {{WRAPPER}} .jltma-comment-footer a.jltma-show-replies-trigger:hover'
1411 ]
1412 );
1413
1414 $this->end_controls_tab();
1415 $this->end_controls_tabs();
1416
1417 $this->add_control(
1418 'jltma_comments_show_reply_heading',
1419 [
1420 'label' => esc_html__('Reply/Show Replies Button', 'master-addons' ),
1421 'type' => Controls_Manager::HEADING,
1422 'separator' => 'before',
1423 ]
1424 );
1425
1426 $this->add_responsive_control(
1427 'jltma_comments_reply_show_pading',
1428 [
1429 'label' => esc_html__('Padding', 'master-addons' ),
1430 'type' => Controls_Manager::DIMENSIONS,
1431 'size_units' => ['px', 'em', '%'],
1432 'separator' => 'before',
1433 'selectors' => [
1434 '{{WRAPPER}} .jltma-comment-style_one .jltma-body .jltma-edit-comments-wrapper,
1435 {{WRAPPER}} .jltma-comment-style_one .jltma-body .jltma-reply-button,
1436 {{WRAPPER}} .jltma-comment-style_two .jltma-body .jltma-reply-button' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1437 ]
1438 ]
1439 );
1440
1441 $this->end_controls_section();
1442
1443 // Comment Form
1444 $this->start_controls_section(
1445 'jltma_comments_form_start',
1446 [
1447 'label' => esc_html__('Comment Form', 'master-addons' ),
1448 'tab' => Controls_Manager::TAB_STYLE
1449 ]
1450 );
1451
1452 $this->add_group_control(
1453 Group_Control_Background::get_type(),
1454 [
1455 'name' => 'jltma_comments_form_background',
1456 'label' => esc_html__('Background', 'master-addons' ),
1457 'types' => ['classic', 'gradient'],
1458 'selector' => '{{WRAPPER}} .jltma-comments-wrap .comment-respond',
1459 ]
1460 );
1461
1462 $this->add_group_control(
1463 Group_Control_Typography::get_type(),
1464 [
1465 'name' => 'jltma_comments_form_typography',
1466 'selector' => '{{WRAPPER}} .jltma-comments-wrap .comment-respond',
1467 'global' => [
1468 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
1469 ],
1470 ]
1471 );
1472
1473 $this->add_control(
1474 'jltma_comments_form_width',
1475 [
1476 'label' => esc_html__('Form Width', 'master-addons' ),
1477 'type' => Controls_Manager::SLIDER,
1478 'size_units' => ['px', 'em', '%'],
1479 'range' => [
1480 'px' => [
1481 'min' => 10,
1482 'max' => 1500,
1483 ],
1484 'em' => [
1485 'min' => 1,
1486 'max' => 80,
1487 ],
1488 ],
1489 'default' => [
1490 'unit' => '%',
1491 'size' => '100'
1492 ],
1493 'selectors' => [
1494 '{{WRAPPER}} .jltma-comments-wrap .comment-respond' => 'width: {{SIZE}}{{UNIT}};',
1495 ],
1496 ]
1497 );
1498
1499 $this->add_responsive_control(
1500 'jltma_comments_form_pading',
1501 [
1502 'label' => esc_html__('Padding', 'master-addons' ),
1503 'type' => Controls_Manager::DIMENSIONS,
1504 'size_units' => ['px', 'em', '%'],
1505 'separator' => 'before',
1506 'selectors' => [
1507 '{{WRAPPER}} .jltma-comments-wrap .comment-respond' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1508 ]
1509 ]
1510 );
1511
1512 $this->add_responsive_control(
1513 'jltma_comments_form_margin',
1514 [
1515 'label' => esc_html__('Margin', 'master-addons' ),
1516 'type' => Controls_Manager::DIMENSIONS,
1517 'size_units' => ['px', 'em', '%'],
1518 'selectors' => [
1519 '{{WRAPPER}} .jltma-comments-wrap .comment-respond' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1520 ]
1521 ]
1522 );
1523
1524 $this->add_group_control(
1525 Group_Control_Border::get_type(),
1526 [
1527 'name' => 'jltma_comments_form_border',
1528 'selector' => '{{WRAPPER}} .jltma-comments-wrap .comment-respond'
1529 ]
1530 );
1531
1532 $this->add_responsive_control(
1533 'jltma_comments_form_border_radius',
1534 [
1535 'label' => esc_html__('Border Radius', 'master-addons' ),
1536 'type' => Controls_Manager::DIMENSIONS,
1537 'size_units' => ['px', '%', 'em'],
1538 'selectors' => [
1539 '{{WRAPPER}} .jltma-comments-wrap .comment-respond' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1540 ]
1541 ]
1542 );
1543
1544 $this->add_group_control(
1545 Group_Control_Box_Shadow::get_type(),
1546 [
1547 'label' => esc_html__('Box Shadow', 'master-addons' ),
1548 'name' => 'jltma_comments_form_box_shadow',
1549 'separator' => 'after',
1550 'selector' => '{{WRAPPER}} .jltma-comments-wrap .comment-respond'
1551 ]
1552 );
1553
1554 $this->start_controls_tabs('jltma_comments_form_section_fields_tab');
1555 $this->start_controls_tab('jltma_comments_form_fields_name_tab', [
1556 'label' => esc_html__('Name', 'master-addons' ),
1557 ]);
1558
1559 $this->add_control(
1560 'jltma_comments_form_fields_name_width',
1561 [
1562 'label' => esc_html__('Field Width', 'master-addons' ),
1563 'type' => Controls_Manager::SLIDER,
1564 'size_units' => ['px', 'em', '%'],
1565 'range' => [
1566 'px' => [
1567 'min' => 10,
1568 'max' => 1500,
1569 ],
1570 'em' => [
1571 'min' => 1,
1572 'max' => 80,
1573 ],
1574 ],
1575 'default' => [
1576 'unit' => '%',
1577 'size' => '100'
1578 ],
1579 'selectors' => [
1580 '{{WRAPPER}} .jltma-comment-form .jltma-name' => 'width: {{SIZE}}{{UNIT}};',
1581 ],
1582 ]
1583 );
1584
1585 $this->add_responsive_control(
1586 'jltma_comments_form_fields_name_pading',
1587 [
1588 'label' => esc_html__('Padding', 'master-addons' ),
1589 'type' => Controls_Manager::DIMENSIONS,
1590 'size_units' => ['px', 'em', '%'],
1591 'selectors' => [
1592 '{{WRAPPER}} .jltma-comment-form .jltma-name' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1593 ]
1594 ]
1595 );
1596
1597 $this->add_responsive_control(
1598 'jltma_comments_form_fields_name_margin',
1599 [
1600 'label' => esc_html__('Margin', 'master-addons' ),
1601 'type' => Controls_Manager::DIMENSIONS,
1602 'size_units' => ['px', 'em', '%'],
1603 'selectors' => [
1604 '{{WRAPPER}} .jltma-comment-form .jltma-name' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1605 ]
1606 ]
1607 );
1608
1609 $this->add_group_control(
1610 Group_Control_Border::get_type(),
1611 [
1612 'name' => 'jltma_comments_form_fields_name_border',
1613 'selector' => '{{WRAPPER}} .jltma-comment-form .jltma-name #author'
1614 ]
1615 );
1616
1617 $this->add_responsive_control(
1618 'jltma_comments_form_fields_name_border_radius',
1619 [
1620 'label' => esc_html__('Border Radius', 'master-addons' ),
1621 'type' => Controls_Manager::DIMENSIONS,
1622 'size_units' => ['px', '%', 'em'],
1623 'selectors' => [
1624 '{{WRAPPER}} .jltma-comment-form .jltma-name #author' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1625 ]
1626 ]
1627 );
1628
1629 $this->add_group_control(
1630 Group_Control_Box_Shadow::get_type(),
1631 [
1632 'label' => esc_html__('Box Shadow', 'master-addons' ),
1633 'name' => 'jltma_comments_form_fields_name_box_shadow',
1634 'selector' => '{{WRAPPER}} .jltma-comment-form .jltma-name #author'
1635 ]
1636 );
1637
1638 $this->end_controls_tab();
1639
1640 //Email
1641 $this->start_controls_tab('jltma_comments_form_fields_email_tabs', [
1642 'label' => esc_html__('Email', 'master-addons' )
1643 ]);
1644
1645 $this->add_control(
1646 'jltma_comments_form_fields_email_width',
1647 [
1648 'label' => esc_html__('Field Width', 'master-addons' ),
1649 'type' => Controls_Manager::SLIDER,
1650 'size_units' => ['px', 'em', '%'],
1651 'range' => [
1652 'px' => [
1653 'min' => 10,
1654 'max' => 1500,
1655 ],
1656 'em' => [
1657 'min' => 1,
1658 'max' => 80,
1659 ],
1660 ],
1661 'default' => [
1662 'unit' => '%',
1663 'size' => '100'
1664 ],
1665 'selectors' => [
1666 '{{WRAPPER}} .jltma-comment-form .jltma-email' => 'width: {{SIZE}}{{UNIT}};',
1667 ],
1668 ]
1669 );
1670
1671 $this->add_responsive_control(
1672 'jltma_comments_form_fields_email_pading',
1673 [
1674 'label' => esc_html__('Padding', 'master-addons' ),
1675 'type' => Controls_Manager::DIMENSIONS,
1676 'size_units' => ['px', 'em', '%'],
1677 'selectors' => [
1678 '{{WRAPPER}} .jltma-comment-form .jltma-email' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1679 ]
1680 ]
1681 );
1682
1683 $this->add_responsive_control(
1684 'jltma_comments_form_fields_email_margin',
1685 [
1686 'label' => esc_html__('Margin', 'master-addons' ),
1687 'type' => Controls_Manager::DIMENSIONS,
1688 'size_units' => ['px', 'em', '%'],
1689 'selectors' => [
1690 '{{WRAPPER}} .jltma-comment-form .jltma-email' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1691 ]
1692 ]
1693 );
1694
1695 $this->add_group_control(
1696 Group_Control_Border::get_type(),
1697 [
1698 'name' => 'jltma_comments_form_fields_email_border',
1699 'selector' => '{{WRAPPER}} .jltma-comment-form .jltma-email #email'
1700 ]
1701 );
1702
1703 $this->add_responsive_control(
1704 'jltma_comments_form_fields_email_border_radius',
1705 [
1706 'label' => esc_html__('Border Radius', 'master-addons' ),
1707 'type' => Controls_Manager::DIMENSIONS,
1708 'size_units' => ['px', '%', 'em'],
1709 'selectors' => [
1710 '{{WRAPPER}} .jltma-comment-form .jltma-email #email' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1711 ]
1712 ]
1713 );
1714
1715 $this->add_group_control(
1716 Group_Control_Box_Shadow::get_type(),
1717 [
1718 'label' => esc_html__('Box Shadow', 'master-addons' ),
1719 'name' => 'jltma_comments_form_fields_email_box_shadow',
1720 'selector' => '{{WRAPPER}} .jltma-comment-form .jltma-email #email'
1721 ]
1722 );
1723
1724 $this->end_controls_tab();
1725
1726 //Website
1727 $this->start_controls_tab('jltma_comments_form_fields_url_tab', [
1728 'label' => esc_html__('Website', 'master-addons' )
1729 ]);
1730
1731 $this->add_control(
1732 'jltma_comments_form_fields_url_width',
1733 [
1734 'label' => esc_html__('Field Width', 'master-addons' ),
1735 'type' => Controls_Manager::SLIDER,
1736 'size_units' => ['px', 'em', '%'],
1737 'range' => [
1738 'px' => [
1739 'min' => 10,
1740 'max' => 1500,
1741 ],
1742 'em' => [
1743 'min' => 1,
1744 'max' => 80,
1745 ],
1746 ],
1747 'default' => [
1748 'unit' => '%',
1749 'size' => '100'
1750 ],
1751 'selectors' => [
1752 '{{WRAPPER}} .jltma-comment-form .jltma-url' => 'width: {{SIZE}}{{UNIT}};',
1753 ],
1754 ]
1755 );
1756
1757 $this->add_responsive_control(
1758 'jltma_comments_form_fields_url_pading',
1759 [
1760 'label' => esc_html__('Padding', 'master-addons' ),
1761 'type' => Controls_Manager::DIMENSIONS,
1762 'size_units' => ['px', 'em', '%'],
1763 'selectors' => [
1764 '{{WRAPPER}} .jltma-comment-form .jltma-url' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1765 ]
1766 ]
1767 );
1768
1769 $this->add_responsive_control(
1770 'jltma_comments_form_fields_url_margin',
1771 [
1772 'label' => esc_html__('Margin', 'master-addons' ),
1773 'type' => Controls_Manager::DIMENSIONS,
1774 'size_units' => ['px', 'em', '%'],
1775 'selectors' => [
1776 '{{WRAPPER}} .jltma-comment-form .jltma-url' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1777 ]
1778 ]
1779 );
1780
1781 $this->add_group_control(
1782 Group_Control_Border::get_type(),
1783 [
1784 'name' => 'jltma_comments_form_fields_url_border',
1785 'selector' => '{{WRAPPER}} .jltma-comment-form .jltma-url #url'
1786 ]
1787 );
1788
1789 $this->add_responsive_control(
1790 'jltma_comments_form_fields_url_border_radius',
1791 [
1792 'label' => esc_html__('Border Radius', 'master-addons' ),
1793 'type' => Controls_Manager::DIMENSIONS,
1794 'size_units' => ['px', '%', 'em'],
1795 'selectors' => [
1796 '{{WRAPPER}} .jltma-comment-form .jltma-url #url' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1797 ]
1798 ]
1799 );
1800
1801 $this->add_group_control(
1802 Group_Control_Box_Shadow::get_type(),
1803 [
1804 'label' => esc_html__('Box Shadow', 'master-addons' ),
1805 'name' => 'jltma_comments_form_fields_url_box_shadow',
1806 'selector' => '{{WRAPPER}} .jltma-comment-form .jltma-url #url'
1807 ]
1808 );
1809
1810 $this->end_controls_tab();
1811
1812 //Comment Box
1813 $this->start_controls_tab('jltma_comments_form_fields_textarea_tab', [
1814 'label' => esc_html__('Comment', 'master-addons' )
1815 ]);
1816
1817 $this->add_control(
1818 'jltma_comments_form_fields_textarea_width',
1819 [
1820 'label' => esc_html__('Field Width', 'master-addons' ),
1821 'type' => Controls_Manager::SLIDER,
1822 'size_units' => ['px', 'em', '%'],
1823 'range' => [
1824 'px' => [
1825 'min' => 10,
1826 'max' => 1500,
1827 ],
1828 'em' => [
1829 'min' => 1,
1830 'max' => 80,
1831 ],
1832 ],
1833 'default' => [
1834 'unit' => '%',
1835 'size' => '100'
1836 ],
1837 'selectors' => [
1838 '{{WRAPPER}} .jltma-comment-form .jltma-comment' => 'width: {{SIZE}}{{UNIT}};',
1839 ],
1840 ]
1841 );
1842
1843 $this->add_responsive_control(
1844 'jltma_comments_form_fields_textarea_pading',
1845 [
1846 'label' => esc_html__('Padding', 'master-addons' ),
1847 'type' => Controls_Manager::DIMENSIONS,
1848 'size_units' => ['px', 'em', '%'],
1849 'selectors' => [
1850 '{{WRAPPER}} .jltma-comment-form .jltma-comment' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1851 ]
1852 ]
1853 );
1854
1855 $this->add_responsive_control(
1856 'jltma_comments_form_fields_textarea_margin',
1857 [
1858 'label' => esc_html__('Margin', 'master-addons' ),
1859 'type' => Controls_Manager::DIMENSIONS,
1860 'size_units' => ['px', 'em', '%'],
1861 'selectors' => [
1862 '{{WRAPPER}} .jltma-comment-form .jltma-comment' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1863 ]
1864 ]
1865 );
1866
1867 $this->add_group_control(
1868 Group_Control_Border::get_type(),
1869 [
1870 'name' => 'jltma_comments_form_fields_textarea_border',
1871 'selector' => '{{WRAPPER}} .jltma-comment-form .jltma-comment #comment'
1872 ]
1873 );
1874
1875 $this->add_responsive_control(
1876 'jltma_comments_form_fields_textarea_border_radius',
1877 [
1878 'label' => esc_html__('Border Radius', 'master-addons' ),
1879 'type' => Controls_Manager::DIMENSIONS,
1880 'size_units' => ['px', '%', 'em'],
1881 'selectors' => [
1882 '{{WRAPPER}} .jltma-comment-form .jltma-comment #comment' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1883 ]
1884 ]
1885 );
1886
1887 $this->add_group_control(
1888 Group_Control_Box_Shadow::get_type(),
1889 [
1890 'label' => esc_html__('Box Shadow', 'master-addons' ),
1891 'name' => 'jltma_comments_form_fields_textarea_box_shadow',
1892 'selector' => '{{WRAPPER}} .jltma-comment-form .jltma-comment #comment'
1893 ]
1894 );
1895 $this->end_controls_tab();
1896
1897 $this->end_controls_tabs();
1898
1899 $this->end_controls_section();
1900
1901 // Comment Submit
1902 $this->start_controls_section(
1903 'jltma_comments_submit_start',
1904 [
1905 'label' => esc_html__('Comment Submit Button', 'master-addons' ),
1906 'tab' => Controls_Manager::TAB_STYLE
1907 ]
1908 );
1909
1910 $this->add_group_control(
1911 Group_Control_Background::get_type(),
1912 [
1913 'name' => 'jltma_comments_submit_background',
1914 'label' => esc_html__('Background', 'master-addons' ),
1915 'types' => ['classic', 'gradient'],
1916 'selector' => '{{WRAPPER}} .jltma-comment-style_one .jltma-form-submit input.jltma-comment-form-submit',
1917 ]
1918 );
1919
1920 $this->add_group_control(
1921 Group_Control_Typography::get_type(),
1922 [
1923 'name' => 'jltma_comments_submit_typography',
1924 'selector' => '{{WRAPPER}} .jltma-comment-style_one .jltma-form-submit input.jltma-comment-form-submit',
1925 'global' => [
1926 'default' => Global_Typography::TYPOGRAPHY_PRIMARY,
1927 ],
1928 ]
1929 );
1930
1931 $this->add_responsive_control(
1932 'jltma_comments_submit_pading',
1933 [
1934 'label' => esc_html__('Padding', 'master-addons' ),
1935 'type' => Controls_Manager::DIMENSIONS,
1936 'size_units' => ['px', 'em', '%'],
1937 'separator' => 'before',
1938 'selectors' => [
1939 '{{WRAPPER}} .jltma-comment-style_one .jltma-form-submit input.jltma-comment-form-submit' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1940 ]
1941 ]
1942 );
1943
1944 $this->add_responsive_control(
1945 'jltma_comments_submit_margin',
1946 [
1947 'label' => esc_html__('Margin', 'master-addons' ),
1948 'type' => Controls_Manager::DIMENSIONS,
1949 'size_units' => ['px', 'em', '%'],
1950 'selectors' => [
1951 '{{WRAPPER}} .jltma-comment-style_one .jltma-form-submit input.jltma-comment-form-submit' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1952 ]
1953 ]
1954 );
1955
1956 $this->add_group_control(
1957 Group_Control_Border::get_type(),
1958 [
1959 'name' => 'jltma_comments_submit_border',
1960 'selector' => '{{WRAPPER}} .jltma-comment-style_one .jltma-form-submit input.jltma-comment-form-submit'
1961 ]
1962 );
1963
1964 $this->add_responsive_control(
1965 'jltma_comments_submit_border_radius',
1966 [
1967 'label' => esc_html__('Border Radius', 'master-addons' ),
1968 'type' => Controls_Manager::DIMENSIONS,
1969 'size_units' => ['px', '%', 'em'],
1970 'selectors' => [
1971 '{{WRAPPER}} .jltma-comment-style_one .jltma-form-submit input.jltma-comment-form-submit' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
1972 ]
1973 ]
1974 );
1975
1976 $this->add_group_control(
1977 Group_Control_Box_Shadow::get_type(),
1978 [
1979 'label' => esc_html__('Box Shadow', 'master-addons' ),
1980 'name' => 'jltma_comments_submit_box_shadow',
1981 'separator' => 'after',
1982 'selector' => '{{WRAPPER}} .jltma-comment-style_one .jltma-form-submit input.jltma-comment-form-submit'
1983 ]
1984 );
1985 $this->end_controls_section();
1986
1987 /*
1988 * MA Comments Pagination
1989 */
1990 $this->start_controls_section(
1991 'jltma_comment_pagination_section_start',
1992 [
1993 'label' => esc_html__('Pagination', 'master-addons' ),
1994 'tab' => Controls_Manager::TAB_STYLE,
1995 'condition' => [
1996 'jltma_comment_pagination' => 'yes'
1997 ],
1998 ]
1999 );
2000
2001 $this->add_responsive_control(
2002 'jltma_comment_pagination_pading',
2003 [
2004 'label' => esc_html__('Padding', 'master-addons' ),
2005 'type' => Controls_Manager::DIMENSIONS,
2006 'size_units' => ['px', 'em', '%'],
2007 'separator' => 'before',
2008 'selectors' => [
2009 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2010 ]
2011 ]
2012 );
2013
2014 $this->add_responsive_control(
2015 'jltma_comment_pagination_margin',
2016 [
2017 'label' => esc_html__('Margin', 'master-addons' ),
2018 'type' => Controls_Manager::DIMENSIONS,
2019 'size_units' => ['px', 'em', '%'],
2020 'selectors' => [
2021 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number' => 'margin: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2022 ]
2023 ]
2024 );
2025
2026 $this->start_controls_tabs('jltma_comments_pagination_tabs');
2027
2028 $this->start_controls_tab('jltma_comments_pagination_tab', [
2029 'label' => esc_html__('Normal', 'master-addons' )
2030 ]);
2031
2032 $this->add_control(
2033 'jltma_comments_pagination_btn_bg_color',
2034 [
2035 'label' => esc_html__('BG Color', 'master-addons' ),
2036 'type' => Controls_Manager::COLOR,
2037 'global' => [
2038 'default' => Global_Colors::COLOR_SECONDARY,
2039 ],
2040 'default' => '',
2041 'selectors' => [
2042 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a' => 'background: {{VALUE}};'
2043 ]
2044 ]
2045 );
2046
2047 $this->add_control(
2048 'jltma_comments_pagination_text_color',
2049 [
2050 'label' => esc_html__('Text Color', 'master-addons' ),
2051 'type' => Controls_Manager::COLOR,
2052 'global' => [
2053 'default' => Global_Colors::COLOR_SECONDARY,
2054 ],
2055 'default' => '',
2056 'selectors' => [
2057 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a' => 'color: {{VALUE}};'
2058 ],
2059 ]
2060 );
2061
2062 $this->add_group_control(
2063 Group_Control_Border::get_type(),
2064 [
2065 'name' => 'jltma_comments_pagination_border',
2066 'selector' => '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a'
2067 ]
2068 );
2069
2070 $this->add_responsive_control(
2071 'jltma_comments_pagination_border_radius',
2072 [
2073 'label' => esc_html__('Border Radius', 'master-addons' ),
2074 'type' => Controls_Manager::DIMENSIONS,
2075 'size_units' => ['px', '%', 'em'],
2076 'selectors' => [
2077 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2078 ]
2079 ]
2080 );
2081
2082 $this->add_group_control(
2083 Group_Control_Box_Shadow::get_type(),
2084 [
2085 'label' => esc_html__('Box Shadow', 'master-addons' ),
2086 'name' => 'jltma_comments_pagination_shadow',
2087 'selector' => '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a'
2088 ]
2089 );
2090
2091 $this->end_controls_tab();
2092
2093 //Hover
2094 $this->start_controls_tab('jltma_comments_pagination_hover_tabs', [
2095 'label' => esc_html__('Hover', 'master-addons' )
2096 ]);
2097
2098 $this->add_control(
2099 'jltma_comments_pagination_hover_btn_bg_color',
2100 [
2101 'label' => esc_html__('BG Color', 'master-addons' ),
2102 'type' => Controls_Manager::COLOR,
2103 'global' => [
2104 'default' => Global_Colors::COLOR_SECONDARY,
2105 ],
2106 'default' => '',
2107 'selectors' => [
2108 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a:hover' => 'background: {{VALUE}};'
2109 ]
2110 ]
2111 );
2112
2113 $this->add_control(
2114 'jltma_comments_pagination_hover_text_color',
2115 [
2116 'label' => esc_html__('Text Color', 'master-addons' ),
2117 'type' => Controls_Manager::COLOR,
2118 'global' => [
2119 'default' => Global_Colors::COLOR_SECONDARY,
2120 ],
2121 'default' => '',
2122 'selectors' => [
2123 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a:hover' => 'color: {{VALUE}};'
2124 ],
2125 ]
2126 );
2127
2128 $this->add_group_control(
2129 Group_Control_Border::get_type(),
2130 [
2131 'name' => 'jltma_comments_pagination_hover_border',
2132 'selector' => '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a:hover'
2133 ]
2134 );
2135
2136 $this->add_responsive_control(
2137 'jltma_comments_pagination_hover_border_radius',
2138 [
2139 'label' => esc_html__('Border Radius', 'master-addons' ),
2140 'type' => Controls_Manager::DIMENSIONS,
2141 'size_units' => ['px', '%', 'em'],
2142 'selectors' => [
2143 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a:hover' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2144 ]
2145 ]
2146 );
2147
2148 $this->add_group_control(
2149 Group_Control_Box_Shadow::get_type(),
2150 [
2151 'label' => esc_html__('Box Shadow', 'master-addons' ),
2152 'name' => 'jltma_comments_pagination_hover_shadow',
2153 'selector' => '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a:hover'
2154 ]
2155 );
2156
2157 $this->end_controls_tab();
2158
2159 //Active
2160 $this->start_controls_tab('jltma_comments_pagination_active_tabs', [
2161 'label' => esc_html__('Active', 'master-addons' )
2162 ]);
2163
2164 $this->add_control(
2165 'jltma_comments_pagination_active_btn_bg_color',
2166 [
2167 'label' => esc_html__('BG Color', 'master-addons' ),
2168 'type' => Controls_Manager::COLOR,
2169 'global' => [
2170 'default' => Global_Colors::COLOR_SECONDARY,
2171 ],
2172 'default' => '',
2173 'selectors' => [
2174 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a.jltma-current-page' => 'background: {{VALUE}};'
2175 ]
2176 ]
2177 );
2178
2179 $this->add_control(
2180 'jltma_comments_pagination_active_text_color',
2181 [
2182 'label' => esc_html__('Text Color', 'master-addons' ),
2183 'type' => Controls_Manager::COLOR,
2184 'global' => [
2185 'default' => Global_Colors::COLOR_SECONDARY,
2186 ],
2187 'default' => '',
2188 'selectors' => [
2189 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a.jltma-current-page' => 'color: {{VALUE}};'
2190 ],
2191 ]
2192 );
2193
2194 $this->add_group_control(
2195 Group_Control_Border::get_type(),
2196 [
2197 'name' => 'jltma_comments_pagination_active_border',
2198 'selector' => '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a.jltma-current-page'
2199 ]
2200 );
2201
2202 $this->add_responsive_control(
2203 'jltma_comments_pagination_active_border_radius',
2204 [
2205 'label' => esc_html__('Border Radius', 'master-addons' ),
2206 'type' => Controls_Manager::DIMENSIONS,
2207 'size_units' => ['px', '%', 'em'],
2208 'selectors' => [
2209 '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a.jltma-current-page' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};'
2210 ]
2211 ]
2212 );
2213
2214 $this->add_group_control(
2215 Group_Control_Box_Shadow::get_type(),
2216 [
2217 'label' => esc_html__('Box Shadow', 'master-addons' ),
2218 'name' => 'jltma_comments_pagination_active_shadow',
2219 'selector' => '{{WRAPPER}} .jltma-comment-pagination-wrapper.jltma-page-number li a.jltma-current-page'
2220 ]
2221 );
2222
2223 $this->end_controls_tab();
2224
2225 $this->end_controls_tabs();
2226
2227 $this->end_controls_section();
2228 }
2229
2230 public function jltma_comment_form($args = array(), $post_id = null)
2231 {
2232
2233 if (null === $post_id)
2234 $post_id = get_the_ID();
2235
2236 // Exit the function when comments for the post are closed.
2237 if (!comments_open($post_id)) {
2238 do_action('comment_form_comments_closed');
2239 return;
2240 }
2241
2242 $commenter = wp_get_current_commenter();
2243 $user = wp_get_current_user();
2244 $user_identity = $user->exists() ? $user->display_name : '';
2245
2246 $args = wp_parse_args($args);
2247 if (!isset($args['format']))
2248 $args['format'] = current_theme_supports('html5', 'comment-form') ? 'html5' : 'xhtml';
2249
2250 $req = get_option('require_name_email');
2251
2252 $aria_req = ($req ? " aria-required='true'" : '');
2253 $html_req = ($req ? " required='required'" : '');
2254 $html5 = 'html5' === $args['format'];
2255
2256 $fields = array(
2257 'author' => '<p class="jltma-comment-form-author">' . '<label for="author">' . esc_html__('Name', 'master-addons') . ($req ? ' <span class="required">*</span>' : '') . '</label> ' .
2258 '<input id="author" name="author" type="text" value="' . esc_attr($commenter['comment_author']) . '" size="30" maxlength="245"' . esc_attr($aria_req) . esc_attr(
2259 $html_req
2260 ) . ' /></p>',
2261
2262 'email' => '<p class="jltma-comment-form-email"><label for="email">' . esc_html__('Email', 'master-addons') . ($req ? ' <span class="required">*</span>' : '') . '</label> ' .
2263 '<input id="email" name="email" ' . ($html5 ? 'type="email"' : 'type="text"') . ' value="' . esc_attr($commenter['comment_author_email']) . '" size="30" maxlength="100" aria-describedby="email-notes"' . esc_attr($aria_req) . esc_attr($html_req) . ' /></p>',
2264
2265 'url' => '<p class="jltma-comment-form-url"><label for="url">' . esc_html__('Website', 'master-addons') . '</label> ' .
2266 '<input id="url" name="url" ' . ($html5 ? 'type="url"' : 'type="text"') . ' value="' . esc_url($commenter['comment_author_url']) . '" size="30" maxlength="200" /></p>',
2267 );
2268
2269 /* translators: %s is the required field marker (HTML span). */
2270 $required_text = sprintf(' ' . esc_html__('Required fields are marked %s', 'master-addons'), '<span class="required">*</span>');
2271
2272 $fields = apply_filters('comment_form_default_fields', $fields);
2273
2274 $defaults = array(
2275 'fields' => $fields,
2276 'comment_field' => '<p class="comment-form-comment"><label for="comment">' . _x('Comment', 'noun', 'master-addons') . '</label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" aria-required="true" required="required"></textarea></p>',
2277 'must_log_in' => '<p class="must-log-in">' . sprintf(
2278 /* translators: %s is the login URL. */
2279 esc_html__('You must be <a href="%s">logged in</a> to post a comment.', 'master-addons'),
2280 wp_login_url(apply_filters('the_permalink', get_permalink($post_id), $post_id))
2281 ) . '</p>',
2282 'logged_in_as' => '<p class="logged-in-as">' . sprintf(
2283 /* translators: %1$s is the user profile URL, %2$s is the aria-label, %3$s is the user's name, %4$s is the logout URL. */
2284 esc_html__('<a href="%1$s" aria-label="%2$s">Logged in as %3$s</a>. <a href="%4$s">Log out?</a>', 'master-addons'),
2285 get_edit_user_link(),
2286 /* translators: %s is the user's display name. */
2287 esc_attr(sprintf(__('Logged in as %s. Edit your profile.', 'master-addons'), $user_identity)),
2288 $user_identity,
2289 wp_logout_url(apply_filters('the_permalink', get_permalink($post_id), $post_id))
2290 ) . '</p>',
2291 'comment_notes_before' => '<p class="comment-notes"><span id="email-notes">' . esc_html__('Your email address will not be published.', 'master-addons') . '</span>' . ($req ? $required_text : '') . '</p>',
2292 'comment_notes_after' => '',
2293 'action' => site_url('/wp-comments-post.php'),
2294 'id_form' => 'commentform',
2295 'id_submit' => 'submit',
2296 'class_form' => 'comment-form',
2297 'class_submit' => 'submit',
2298 'name_submit' => 'submit',
2299 'title_reply' => esc_html__('Leave a Reply', 'master-addons' ),
2300 /* translators: %s is a reply-to name. */
2301 'title_reply_to' => esc_html__('Leave a Reply to %s', 'master-addons'),
2302 'title_reply_before' => '<h3 id="reply-title" class="comment-reply-title clearfix">',
2303 'title_reply_after' => '</h3>',
2304 'cancel_reply_before' => ' <small>',
2305 'cancel_reply_after' => '</small>',
2306 'cancel_reply_link' => esc_html__('Cancel reply', 'master-addons' ),
2307 'label_submit' => esc_html__('Post Comment', 'master-addons' ),
2308 'submit_button' => '<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />',
2309 'submit_field' => '<p class="form-submit">%1$s %2$s</p>',
2310 'format' => 'xhtml',
2311 );
2312 $args = wp_parse_args($args, apply_filters('comment_form_defaults', $defaults));
2313
2314 $args = array_merge($defaults, $args);
2315
2316 do_action('comment_form_before');
2317
2318 ?>
2319
2320 <div id="respond" class="comment-respond">
2321 <?php
2322 echo wp_kses_post($args['title_reply_before']);
2323
2324 comment_form_title($args['title_reply'], $args['title_reply_to']);
2325
2326 echo wp_kses_post($args['cancel_reply_before']);
2327
2328 cancel_comment_reply_link($args['cancel_reply_link']);
2329
2330 echo wp_kses_post($args['cancel_reply_after']);
2331
2332 echo wp_kses_post($args['title_reply_after']);
2333
2334 if (get_option('comment_registration') && !is_user_logged_in()) :
2335 echo wp_kses_post($args['must_log_in']);
2336 do_action('comment_form_must_log_in_after');
2337 else :
2338 ?>
2339 <form action="<?php echo esc_url($args['action']); ?>" method="post" id="<?php echo esc_attr($args['id_form']); ?>" class="<?php echo esc_attr($args['class_form']); ?>" <?php echo esc_attr($html5) ? ' novalidate' : ''; ?>>
2340 <?php
2341 do_action('comment_form_top');
2342
2343 if (is_user_logged_in()) :
2344
2345 echo wp_kses_post( apply_filters('comment_form_logged_in', $args['logged_in_as'], $commenter, $user_identity) );
2346 do_action('comment_form_logged_in_after', $commenter, $user_identity);
2347
2348 else :
2349
2350 echo wp_kses_post($args['comment_notes_before']);
2351
2352 endif;
2353
2354 $comment_fields = array('comment' => $args['comment_field']) + (array) $args['fields'];
2355
2356 $comment_fields = apply_filters('comment_form_fields', $comment_fields);
2357
2358 $comment_field_keys = array_diff(array_keys($comment_fields), array('comment'));
2359
2360 $first_field = reset($comment_field_keys);
2361
2362 $last_field = end($comment_field_keys);
2363
2364 foreach ($comment_fields as $name => $field) {
2365
2366 if (!is_user_logged_in()) {
2367
2368 if ($first_field === $name) {
2369 do_action('comment_form_before_fields');
2370 }
2371
2372 echo wp_kses_post( apply_filters("comment_form_field_{$name}", $field) ) . "\n";
2373
2374 if ($last_field === $name) {
2375 do_action('comment_form_after_fields');
2376 }
2377 } elseif (is_user_logged_in() && Comments_Builder::jltma_comment_elementor_preview_mode()) {
2378
2379 do_action('comment_form_before_fields');
2380
2381 echo wp_kses_post( apply_filters("comment_form_field_{$name}", $field) ) . "\n";
2382
2383 if ($last_field === $name) {
2384 do_action('comment_form_after_fields');
2385 }
2386 } else {
2387
2388 if ($first_field === $name) {
2389 do_action('comment_form_before_fields');
2390 }
2391 if ($name != 'name' && $name != 'email' && $name != 'url') {
2392 echo wp_kses_post( apply_filters("comment_form_field_{$name}", $field) ) . "\n";
2393 }
2394
2395 if ($last_field === $name) {
2396 do_action('comment_form_after_fields');
2397 }
2398 }
2399 }
2400
2401 echo wp_kses_post($args['comment_notes_after']);
2402
2403 $submit_button = sprintf(
2404 $args['submit_button'],
2405 esc_attr($args['name_submit']),
2406 esc_attr($args['id_submit']),
2407 esc_attr($args['class_submit']),
2408 esc_attr($args['label_submit'])
2409 );
2410 $submit_button = apply_filters('comment_form_submit_button', $submit_button, $args);
2411
2412 $submit_field = sprintf(
2413 $args['submit_field'],
2414 $submit_button,
2415 get_comment_id_fields($post_id)
2416 );
2417 echo wp_kses_post( apply_filters('comment_form_submit_field', $submit_field, $args) );
2418 do_action('jltma_comment_form', $post_id);
2419 do_action('comment_form', $post_id); // required for _wp_unfiltered_html_comment_disabled nonce
2420 ?>
2421 </form>
2422 <?php endif; ?>
2423 </div>
2424
2425 <?php
2426 }
2427
2428 public function jltma_frontend_form_build()
2429 {
2430 $settings = $this->get_settings_for_display();
2431
2432 if (comments_open()) {
2433 $commenter = wp_get_current_commenter();
2434 $user = wp_get_current_user();
2435 $user_identity = $user->exists() ? $user->display_name : '';
2436
2437 $fields = '';
2438
2439 // Name Field
2440 $jltma_cf_name_required = esc_html__('(Required)', 'master-addons' );
2441
2442 $jltma_cf_name_label_container = "";
2443 if ($settings['jltma_comment_fields_name_label_display'] == "show") {
2444 $jltma_cf_name_label = ($settings['jltma_comment_fields_name_label'] != '') ? esc_attr($settings['jltma_comment_fields_name_label']) : '';
2445
2446 if ($jltma_cf_name_label) {
2447 $jltma_cf_name_label_container = '<div class="jltma-name-div">
2448 <label>' . esc_attr($jltma_cf_name_label) . '</label>
2449 </div>';
2450 }
2451 }
2452
2453 $jltma_cf_name_placeholder = ($settings['jltma_comment_fields_name_label_placeholder'] != '') ? esc_attr($settings['jltma_comment_fields_name_label_placeholder']) : '';
2454
2455 $jltma_cf_name_style = "";
2456
2457 $jltma_cf_name_ft = (isset($settings['jltma_field_type']) && $settings['jltma_field_type']) ? esc_attr($settings['jltma_field_type']) : "text";
2458
2459 $fields .= '<div class="jltma-name-value-div jltma-name">
2460 ' . $jltma_cf_name_label_container . '
2461 <div class="jltma-value-div">
2462 <input class="form-control" type="' . esc_attr($jltma_cf_name_ft) . '" name="author" id="author" value="" placeholder="' . esc_attr($jltma_cf_name_placeholder) . '" ' . esc_attr($jltma_cf_name_style) . '/>
2463 </div>
2464 </div>';
2465
2466 // Email Field
2467 $jltma_cf_email_required = esc_html__('(Required)', 'master-addons' );
2468
2469 $jltma_cf_email_label_container = "";
2470 if ($settings['jltma_comment_fields_email_label_display'] == "show") {
2471
2472 $jltma_cf_email_label = ($settings['jltma_comment_fields_email_label'] != '') ? esc_attr($settings['jltma_comment_fields_email_label']) : '';
2473
2474 if ($jltma_cf_email_label) {
2475 $jltma_cf_email_label_container = '<div class="jltma-email-div">
2476 <label>' . esc_attr($jltma_cf_email_label) . '</label>
2477 </div>';
2478 }
2479 }
2480
2481 $jltma_cf_email_placeholder = ($settings['jltma_comment_fields_email_label_placeholder'] != '') ? esc_attr($settings['jltma_comment_fields_email_label_placeholder']) : '';
2482
2483 $jltma_cf_email_style = "";
2484
2485 $jltma_cf_email_ft = (isset($settings['jltma_field_type']) && $settings['jltma_field_type']) ? esc_attr($settings['jltma_field_type']) : "email";
2486
2487 $fields .= '<div class="jltma-email-value-div jltma-email">
2488 ' . $jltma_cf_email_label_container . '
2489 <div class="jltma-value-div">
2490 <input class="form-control" type="' . esc_attr($jltma_cf_email_ft) . '" id="email" name="email" value="" placeholder="' . esc_attr($jltma_cf_email_placeholder) . '" ' . esc_attr($jltma_cf_email_style) . '/>
2491 </div>
2492 </div>';
2493
2494 // URL Field
2495 $jltma_cf_url_required = esc_html__('(Required)', 'master-addons' );
2496
2497 if ($settings['jltma_comment_fields_url_display'] == 'show') {
2498 $jltma_cf_url_label_container = "";
2499 if ($settings['jltma_comment_fields_url_label_display'] == "show") {
2500 $jltma_cf_url_label = ($settings['jltma_comment_fields_url_label'] != '') ? esc_attr($settings['jltma_comment_fields_url_label']) : '';
2501
2502 if ($jltma_cf_url_label) {
2503 $jltma_cf_url_label_container = '<div class="jltma-url-div">
2504 <label>' . esc_html($jltma_cf_url_label) . '</label>
2505 </div>';
2506 }
2507 }
2508
2509 $jltma_cf_url_placeholder = ($settings['jltma_comment_fields_url_label_placeholder'] != '') ? esc_attr($settings['jltma_comment_fields_url_label_placeholder']) : '';
2510
2511 $jltma_cf_url_style = "";
2512
2513 $jltma_cf_url_ft = (isset($settings['jltma_field_type']) && $settings['jltma_field_type']) ? esc_attr($settings['jltma_field_type']) : "text";
2514
2515 $fields .= '<div class="jltma-url-value-div jltma-url">
2516 ' . $jltma_cf_url_label_container . '
2517 <div class="jltma-value-div">
2518 <input class="form-control" type="' . esc_attr($jltma_cf_url_ft) . '" id="url" name="url" value="" placeholder="' . esc_attr($jltma_cf_url_placeholder) . '" ' . esc_attr($jltma_cf_url_style) . '/>
2519 </div>
2520 </div>';
2521 }
2522
2523 // Textarea Field
2524 $jltma_ta_required = esc_html__('(Required)', 'master-addons' );
2525
2526 $jltma_ta_label_container = "";
2527 if ($settings['jltma_comment_fields_textarea_label_display'] == "show") {
2528
2529 $jltma_ta_label = ($settings['jltma_comment_fields_textarea_label'] != '') ? esc_attr($settings['jltma_comment_fields_textarea_label']) : '';
2530
2531 if ($jltma_ta_label) {
2532 $jltma_ta_label_container = '<div class="jltma-title-div">
2533 <label>' . esc_html($jltma_ta_label) . '</label>
2534 </div>';
2535 }
2536 }
2537
2538 // Notice
2539 $jltma_ta_notice_container = "";
2540 if ($settings['jltma_comment_fields_textarea_notice'] == "show") {
2541
2542 $jltma_ta_label = ($settings['jltma_comment_fields_textarea_label'] != '') ? esc_attr($settings['jltma_comment_fields_textarea_label']) : '';
2543 $jltma_ta_notice_content = ($settings['jltma_comment_fields_textarea_notice_content'] != "") ? $settings['jltma_comment_fields_textarea_notice_content'] : '';
2544 $jltma_ta_notice_align = ($settings['jltma_comment_fields_textarea_notice_align'] != "") ? $settings['jltma_comment_fields_textarea_notice_align'] : 'right';
2545
2546 $jltma_ta_notice_container = '<div class="field-description">
2547 <span class = "jltma-comment-description_tooltip ' . esc_attr($jltma_ta_notice_align) . '">' . esc_html($jltma_ta_notice_content) . '</span>
2548 </div>';
2549 }
2550
2551 $jltma_ta_placeholder = ($settings['jltma_comment_fields_textarea_label_placeholder'] != '') ? esc_attr($settings['jltma_comment_fields_textarea_label_placeholder']) : '';
2552
2553 $jltma_ta_style = "";
2554
2555 $jltma_cta_ft = (isset($settings['jltma_field_type'])) ? $settings['jltma_field_type'] : "";
2556
2557 $comment_ta_field = '<div class="jltma-title-value-div jltma-comment">
2558 ' . $jltma_ta_label_container . '
2559 <div class = "jltma-value-div">
2560 <textarea class = "form-control" name = "comment" id = "comment" cols = "45" rows = "8" class = "textarea-comment" placeholder = "' . esc_attr($jltma_ta_placeholder) . '" ' . esc_attr($jltma_cta_ft) . '></textarea>
2561 </div>' . esc_html($jltma_ta_notice_container) . '</div>';
2562
2563 $comment_notes_before = ($settings['jltma_comment_before_notes'] != '') ? esc_attr($settings['jltma_comment_before_notes']) : "";
2564
2565 $comment_notes_after = (isset($settings['jltma_comment_after_notes']) && $settings['jltma_comment_after_notes'] != '') ? esc_attr($settings['jltma_comment_after_notes']) : "";
2566
2567 $title_reply = (isset($settings['jltma_comment_label']) && $settings['jltma_comment_label'] != '') ? esc_attr($settings['jltma_comment_label']) : esc_html__('Leave a Comment', 'master-addons' );
2568
2569 $title_reply_to = (isset($settings['jltma_comment_reply_label']) && $settings['jltma_comment_reply_label'] != '') ? esc_attr($settings['jltma_comment_reply_label']) : esc_html__('Leave a Reply', 'master-addons' );
2570
2571 $cancel_reply_link = (isset($settings['jltma_comment_cancel_reply_label']) && $settings['jltma_comment_cancel_reply_label'] != '') ? esc_attr($settings['jltma_comment_cancel_reply_label']) : esc_html__('Cancel Reply', 'master-addons' );
2572
2573 $label_submit = (isset($settings['jltma_comment_form_submit_label']) && $settings['jltma_comment_form_submit_label'] != '') ? esc_attr($settings['jltma_comment_form_submit_label']) : esc_html__('Post Comment', 'master-addons' );
2574
2575 // API Settings
2576 $jltma_api_settings = get_option('jltma_api_save_settings');
2577 $submit_field = '';
2578 $comment_spam_protection = (isset($settings['jltma_comment_spam_protection']) && $settings['jltma_comment_spam_protection'] == "yes") ? $settings['jltma_comment_spam_protection'] : '';
2579
2580 if (!is_user_logged_in()) {
2581 if ( !empty( $comment_spam_protection ) ) {
2582 $submit_field .= '<div class="g-recaptcha" data-sitekey="' . esc_attr(!empty( $jltma_api_settings['recaptcha_site_key'] ) ? $jltma_api_settings['recaptcha_site_key'] : '') . '" data-badge="inline" render="explicit" style="padding-top:30px;"></div>';
2583 }
2584 }
2585
2586 if (is_user_logged_in() && Comments_Builder::jltma_comment_elementor_preview_mode()) {
2587 echo esc_html__('Check Frontend Comment Form for reCaptcha', 'master-addons' );
2588 }
2589
2590 $submit_field .= '<div class="jltma-form-submit">%1$s %2$s</div>';
2591
2592 $comments_args = array(
2593 'fields' => apply_filters('comment_form_default_fields', $fields),
2594 'comment_field' => '',
2595 'title_reply' => $title_reply,
2596 'title_reply_to' => $title_reply_to,
2597
2598 'must_log_in' => '<p class="must-log-in">' . /* translators: 1: Anchor tag start, 2: Anchor tag end. */ sprintf(esc_html__('You must be %1$slogged in%2$s to post a comment.', 'master-addons' ), '<a href="' . wp_login_url(apply_filters('the_permalink', get_permalink())) . '">', '</a>') . '</p>',
2599
2600 'logged_in_as' => '<p class="logged-in-as">' . /* translators: 1: Profile link, 2: Log Out Link. */ sprintf(esc_html__('Logged in as %1$s. %2$sLog out &raquo;%3$s', 'master-addons' ), '<a href="' . esc_url(admin_url('profile.php')) . '">' . esc_html($user_identity) . '</a>', '<a href="' . wp_logout_url(apply_filters('the_permalink', get_permalink())) . '" title="' . esc_html__('Log out of this account', 'master-addons' ) . '">', '</a>') . '</p>',
2601
2602 'comment_notes_before' => $comment_notes_before,
2603 'comment_notes_after' => $comment_notes_after,
2604 'cancel_reply_link' => $cancel_reply_link,
2605 'id_submit' => 'jltma-comment-submit',
2606 'class_submit' => 'jltma-comment-form-submit',
2607 'label_submit' => $label_submit,
2608 'submit_button' => '<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />',
2609 // 'submit_field' => '<div class="jltma-form-submit">%1$s %2$s</div>',
2610 'submit_field' => $submit_field,
2611 'id_form' => 'jltma-commentform',
2612 'id_submit' => 'jltma-submit',
2613 'class_form' => 'jltma-comment-form clearfix',
2614 'comment_field' => $comment_ta_field
2615 );
2616
2617 $this->jltma_comment_form($comments_args);
2618 }
2619 }
2620
2621 public function jltma_comment_listing_inner_template()
2622 {
2623
2624 global $wpdb, $post;
2625
2626 $settings = $this->get_settings_for_display();
2627
2628 $page_number = empty($page_number) ? 1 : $page_number;
2629
2630 $template = ($settings['jltma_comment_style_preset'] != "") ? esc_attr($settings['jltma_comment_style_preset']) : 'style_one';
2631
2632 $pagination = ($settings['jltma_comment_pagination'] == "yes") ? esc_attr($settings['jltma_comment_pagination']) : '';
2633
2634 $items_per_page = isset($settings['jltma_comment_pagination_items']['size']) ? esc_attr($settings['jltma_comment_pagination_items']['size']) : '10';
2635
2636 $pagination_type = 'page_number';
2637 $sort_type = 'default';
2638 $post_id = $post->ID;
2639 ?>
2640
2641 <input type="hidden" id="jltma-current-post-id" value="<?php echo (int) $post_id; ?>">
2642
2643 <div class="jltma-comment-list-inner">
2644 <?php
2645 $db_table_name = $wpdb->prefix . "comments";
2646 $comment_listing = Comments_Builder::jltma_recursive_array_builder(
2647 $db_table_name = $wpdb->prefix . "comments",
2648 $parent = 0,
2649 $parent_child = true,
2650 $post_id,
2651 $sort_type,
2652 $pagination,
2653 $items_per_page,
2654 $pagination_type,
2655 $page_number
2656 );
2657 ?>
2658 <div class="jltma-comment-listing-wrapper">
2659 <?php
2660 $class = 'jltma-comment-list';
2661 $css = "";
2662 $child = 0;
2663 $jltma_list_comments = new Comments_Builder();
2664 $jltma_list_comments->jltma_list_comments($comment_listing, $class, $css, $template, $settings);
2665 ?>
2666 </div>
2667 </div>
2668
2669 <?php
2670 if ($settings['jltma_comment_pagination'] == 'yes') {
2671
2672 $this->jltma_comment_pagination_wrapper($comment_listing, $post_id, $settings);
2673 }
2674 ?>
2675
2676 <?php }
2677
2678 public function jltma_comment_pagination_wrapper($comment_listing, $post_id, $settings)
2679 {
2680 global $post;
2681
2682 $page_number = empty($page_number) ? 1 : $page_number;
2683 $items_per_page = $settings['jltma_comment_pagination_items']['size'];
2684 $all_comments_approved = Comments_Builder::parent_comment_counter($post_id);
2685
2686 $total = ceil($all_comments_approved / $items_per_page);
2687
2688 $pagination_type = 'page-number';
2689
2690 $jltma_comment_settings = new Comments_Builder();
2691 $jltma_comment_settings->jltma_comment_pagination($settings);
2692
2693 ?>
2694
2695 <div class="jltma-comment-pagination-wrapper jltma-pagination-not-demo jltma-<?php echo esc_attr($pagination_type); ?> ">
2696 <?php
2697 ?>
2698 <ul>
2699 <?php
2700 for ($i = 1; $i <= $total - 1; $i++) {
2701 ?>
2702 <li>
2703 <a href="javascript:void(0);" data-total-page="<?php echo esc_attr($total); ?>" id="jltma-page-number" data-page-number="<?php echo esc_attr($i); ?>" data-pagination-type="page-number" class="<?php echo ($i == 1) ? 'jltma-current-page' : ''; ?> jltma-page-link">
2704 <?php echo esc_attr($i); ?>
2705 </a>
2706 </li>
2707 <?php
2708 }
2709 if ($total > 1) {
2710 ?>
2711 <li class="jltma-next-page-wrap"><a href="javascript:void(0);" data-total-page="<?php echo esc_attr($total); ?>" data-page-number="2" data-pagination-type="page-number" class="jltma-next-page"><i class="fa fa-angle-right"></i></a></li>
2712 <?php } ?>
2713 </ul>
2714 <img src="<?php echo esc_url( \JLTMA_URL . '/assets/images/ajax-loader.gif' ); ?>" class="jltma-page-number-loader" style="display:none;">
2715 <?php
2716 ?>
2717 </div>
2718
2719 <?php }
2720
2721 public function jltma_comment_list_template()
2722 {
2723 $settings = $this->get_settings_for_display();
2724
2725 $page_number = empty($page_number) ? 1 : $page_number;
2726 $template = ($settings['jltma_comment_style_preset'] != "") ? esc_attr($settings['jltma_comment_style_preset']) : 'style_one';
2727 $pagination = ($settings['jltma_comment_pagination'] == "yes") ? esc_attr($settings['jltma_comment_pagination']) : '';
2728
2729 $items_per_page = isset($settings['jltma_comment_pagination_items']['size']) ? esc_attr($settings['jltma_comment_pagination_items']['size']) : '10';
2730 $pagination_type = 'page_number';
2731 ?>
2732
2733 <div class="jltma-comment-listing-wrap" id="jltma-comment-listing-wrap">
2734
2735 <?php
2736 // Demo Contents for Elementor Template Preivew
2737 if (is_user_logged_in() && Comments_Builder::jltma_comment_elementor_preview_mode()) {
2738 echo '<h5 class="alert alert-info">These Comments Data\'s are only for Live Preview on Elementor Backend</h5><br>';
2739 }
2740
2741 if (isset($settings['jltma_comment_total_number']) && $settings['jltma_comment_total_number'] == 'show') {
2742
2743 // Demo Contents for Elementor Template Preivew
2744 if (is_user_logged_in() && Comments_Builder::jltma_comment_elementor_preview_mode()) {
2745
2746 if ($settings['jltma_comment_plural_comment_text'] != "") {
2747 $backend_comment_text = $settings['jltma_comment_plural_comment_text'];
2748 } elseif ($settings['jltma_comment_single_comment_text'] != "") {
2749 $backend_comment_text = $settings['jltma_comment_single_comment_text'];
2750 } elseif ($settings['jltma_comment_plural_comment_text'] != "") {
2751 $backend_comment_text = $settings['jltma_comment_plural_comment_text'];
2752 } else {
2753 $backend_comment_text = $settings['jltma_comment_no_comment_text'];
2754 }
2755 echo "<h3 class='jltma-comments-title'>";
2756 echo '5 ' . esc_html( $backend_comment_text ) . ' on ' . esc_html( get_the_title() );
2757 echo "</h3>";
2758 } else {
2759
2760 $no_comment = $settings['jltma_comment_no_comment_text'];
2761 $one_comment = $settings['jltma_comment_single_comment_text'];
2762 $plural_comment = $settings['jltma_comment_plural_comment_text'];
2763
2764 echo "<h3 class='jltma-comments-title'>";
2765
2766 $comments_number = comments_number($no_comment, $one_comment, sprintf('%1$s %2$s', '%', $plural_comment));
2767
2768 echo esc_html( $comments_number ) . ' on ' . esc_html( get_the_title() );
2769 echo "</h3>";
2770 }
2771 }
2772
2773 $this->jltma_comment_listing_inner_template();
2774 ?>
2775 </div>
2776
2777 <?php }
2778
2779 public function jltma_comment_template()
2780 {
2781
2782 global $post, $comments;
2783 $settings = $this->get_settings_for_display();
2784 $jltma_id = 'jltma-comment-' . $this->get_id();
2785
2786 $jltma_comment_style_preset = ($settings['jltma_comment_style_preset']) ? $settings['jltma_comment_style_preset'] : "style_one";
2787
2788 $this->add_render_attribute([
2789 'jltma_comments_wrap' => [
2790 'id' => esc_attr($jltma_id),
2791 'class' => implode(' ', [
2792 'jltma-comments-wrap',
2793 'jltma-comment-' . esc_attr($jltma_comment_style_preset),
2794 absint($jltma_id)
2795 ]),
2796 'data-jltma-comment-settings' => [
2797 wp_json_encode(array_filter([
2798 "container_id" => esc_attr($this->get_id()),
2799 "template" => $jltma_comment_style_preset,
2800 "reCaptchaprotected" => $settings['jltma_comment_spam_protection'] == "yes" ? $settings['jltma_comment_spam_protection'] : 'no',
2801 ]))
2802 ]
2803 ]
2804 ]);
2805
2806 if (isset($settings['jltma_comment_spam_protection']) && $settings['jltma_comment_spam_protection'] == "yes") {
2807
2808 $jltma_api_settings = get_option('jltma_api_save_settings');
2809
2810 $jltma_spam_protection = [
2811 'sitekey' => (is_array($jltma_api_settings) && !empty($jltma_api_settings['recaptcha_site_key'])) ? $jltma_api_settings['recaptcha_site_key'] : '',
2812 'theme' => "light"
2813 ];
2814
2815 $this->add_render_attribute(['jltma_comments_wrap' => [
2816 'data-recaptcha' => wp_json_encode($jltma_spam_protection)
2817 ]]);
2818 } ?>
2819
2820 <div <?php echo $this->get_render_attribute_string('jltma_comments_wrap'); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Elementor get_render_attribute_string() returns safely escaped HTML attributes ?>>
2821
2822 <?php if (comments_open() && Comments_Builder::jltma_comment_elementor_preview_mode()) {
2823
2824 $this->jltma_comment_list_template();
2825
2826 $this->jltma_frontend_form_build();
2827 } else {
2828
2829 $this->jltma_comment_list_template();
2830
2831 $this->jltma_frontend_form_build();
2832 } ?>
2833 </div>
2834
2835 <?php }
2836
2837 protected function render()
2838 {
2839
2840 $settings = $this->get_settings_for_display();
2841
2842 $jltma_settings = new Comments_Builder($settings);
2843
2844 $this->jltma_comment_template();
2845 }
2846 }
2847