kratos/inc/codestar-framework/fields/date/date.php

66 lines
1.9 KiB
PHP

<?php if (!defined('ABSPATH')) {
die;
}
/**
*
* Field: date
*
* @since 1.0.0
* @version 1.0.0
*
*/
if (!class_exists('CSF_Field_date')) {
class CSF_Field_date extends CSF_Fields
{
public function __construct($field, $value = '', $unique = '', $where = '', $parent = '')
{
parent::__construct($field, $value, $unique, $where, $parent);
}
public function render()
{
$default_settings = array(
'dateFormat' => 'mm/dd/yy',
);
$settings = (!empty($this->field['settings'])) ? $this->field['settings'] : array();
$settings = wp_parse_args($settings, $default_settings);
echo $this->field_before();
if (!empty($this->field['from_to'])) {
$args = wp_parse_args($this->field, array(
'text_from' => esc_html__('From', 'csf'),
'text_to' => esc_html__('To', 'csf'),
));
$value = wp_parse_args($this->value, array(
'from' => '',
'to' => '',
));
echo '<label class="csf--from">' . esc_attr($args['text_from']) . ' <input type="text" name="' . esc_attr($this->field_name('[from]')) . '" value="' . esc_attr($value['from']) . '"' . $this->field_attributes() . '/></label>';
echo '<label class="csf--to">' . esc_attr($args['text_to']) . ' <input type="text" name="' . esc_attr($this->field_name('[to]')) . '" value="' . esc_attr($value['to']) . '"' . $this->field_attributes() . '/></label>';
} else {
echo '<input type="text" name="' . esc_attr($this->field_name()) . '" value="' . esc_attr($this->value) . '"' . $this->field_attributes() . '/>';
}
echo '<div class="csf-date-settings" data-settings="' . esc_attr(json_encode($settings)) . '"></div>';
echo $this->field_after();
}
public function enqueue()
{
if (!wp_script_is('jquery-ui-datepicker')) {
wp_enqueue_script('jquery-ui-datepicker');
}
}
}
}