/var/www/html_uk/wp-content/plugins/automatewoo/includes/Fields/Time.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
// phpcs:ignoreFile

namespace AutomateWoo\Fields;

use 
AutomateWoo\Clean;

if ( ! 
defined'ABSPATH' ) ) exit;

/**
 * @class Text
 */
class Time extends Field {

    protected 
$name 'time';

    protected 
$type 'text';

    protected 
$show_24hr_note true;

    
/**
     * Set the maximum value for the hours field.
     *
     * @var int
     */
    
public $max_hours 23;

    function 
__construct() {
        
parent::__construct();
        
$this->title __'Time''automatewoo' );
    }

    
/**
     * @param $show
     * @return $this
     */
    
function set_show_24hr_note$show ) {
        
$this->show_24hr_note $show;
        return 
$this;
    }


    
/**
     * @param array $value
     */
    
function render$value ) {
         if ( 
$value ) {
             
$value Clean::recursive( (array) $value );
         }
         else {
             
$value = [''''];
         }

         
?>
        <div class="automatewoo-time-field-group">
            <div class="automatewoo-time-field-group__fields">
        <?php

         $field 
= new Number();
         
$field
             
->set_name_base$this->get_name_base() )
             ->
set_name$this->get_name() )
             ->
set_min)
             ->
set_max$this->max_hours )
             ->
set_multiple()
             ->
set_placeholder_x'HH''time field''automatewoo' ) )
             ->
set_required$this->get_required() )
             ->
render$value[0] );

         echo 
'<div class="automatewoo-time-field-group__sep">:</div>';

         
$field = new Number();
         
$field
             
->set_name_base$this->get_name_base() )
             ->
set_name$this->get_name() )
             ->
set_min)
             ->
set_max(59)
             ->
set_multiple()
             ->
set_placeholder_x'MM''time field''automatewoo' ) )
             ->
set_required$this->get_required() )
             ->
render$value[1] );

         
?>

            </div>

        <?php if ( $this->show_24hr_note ): ?>
            <span class="automatewoo-time-field-group__24hr-note"><?php esc_html_e'(24 hour time)''automatewoo' ?></span>
        <?php endif; ?>

        </div>

        <?php
    
}


    
/**
     * Sanitizes the value of the field.
     *
     * @since 4.4.0
     *
     * @param array $value
     *
     * @return array
     */
    
function sanitize_value$value ) {
        
$value Clean::recursive$value );

        
$value[0] = min$this->max_hours$value[0] );

        return 
$value;
    }

}