mirror of https://github.com/vtrois/kratos
				
				
				
			
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			PHP
		
	
	
<?php if (!defined('ABSPATH')) {
 | 
						|
  die;
 | 
						|
}
 | 
						|
/**
 | 
						|
 *
 | 
						|
 * Field: number
 | 
						|
 *
 | 
						|
 * @since 1.0.0
 | 
						|
 * @version 1.0.0
 | 
						|
 *
 | 
						|
 */
 | 
						|
if (!class_exists('CSF_Field_number')) {
 | 
						|
  class CSF_Field_number extends CSF_Fields
 | 
						|
  {
 | 
						|
 | 
						|
    public function __construct($field, $value = '', $unique = '', $where = '', $parent = '')
 | 
						|
    {
 | 
						|
      parent::__construct($field, $value, $unique, $where, $parent);
 | 
						|
    }
 | 
						|
 | 
						|
    public function render()
 | 
						|
    {
 | 
						|
 | 
						|
      $args = wp_parse_args($this->field, array(
 | 
						|
        'unit' => '',
 | 
						|
      ));
 | 
						|
 | 
						|
      echo $this->field_before();
 | 
						|
      echo '<div class="csf--wrap">';
 | 
						|
      echo '<input type="number" name="' . esc_attr($this->field_name()) . '" value="' . esc_attr($this->value) . '"' . $this->field_attributes(array('class' => 'csf-input-number')) . ' step="any" />';
 | 
						|
      echo (!empty($args['unit'])) ? '<span class="csf--unit">' . esc_attr($args['unit']) . '</span>' : '';
 | 
						|
      echo '</div>';
 | 
						|
      echo $this->field_after();
 | 
						|
    }
 | 
						|
 | 
						|
    public function output()
 | 
						|
    {
 | 
						|
 | 
						|
      $output    = '';
 | 
						|
      $elements  = (is_array($this->field['output'])) ? $this->field['output'] : array_filter((array) $this->field['output']);
 | 
						|
      $important = (!empty($this->field['output_important'])) ? '!important' : '';
 | 
						|
      $mode      = (!empty($this->field['output_mode'])) ? $this->field['output_mode'] : 'width';
 | 
						|
      $unit      = (!empty($this->field['unit'])) ? $this->field['unit'] : 'px';
 | 
						|
 | 
						|
      if (!empty($elements) && isset($this->value) && $this->value !== '') {
 | 
						|
        foreach ($elements as $key_property => $element) {
 | 
						|
          if (is_numeric($key_property)) {
 | 
						|
            if ($mode) {
 | 
						|
              $output = implode(',', $elements) . '{' . $mode . ':' . $this->value . $unit . $important . ';}';
 | 
						|
            }
 | 
						|
            break;
 | 
						|
          } else {
 | 
						|
            $output .= $element . '{' . $key_property . ':' . $this->value . $unit . $important . '}';
 | 
						|
          }
 | 
						|
        }
 | 
						|
      }
 | 
						|
 | 
						|
      $this->parent->output_css .= $output;
 | 
						|
 | 
						|
      return $output;
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 |