File "class-acf-field-textarea.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/advanced-custom-fields/includes/fields/class-acf-field-textarea.php
File size: 3.01 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

if (!class_exists('acf_field_textarea')) {
    class acf_field_textarea extends acf_field
    {
        function initialize()
        {
            $this->name = 'textarea';
            $this->label = __('Text Area', 'acf');
            $this->defaults = array('default_value' => '', 'new_lines' => '', 'maxlength' => '', 'placeholder' => '', 'rows' => '');
        }
        function render_field($field)
        {
            $atts = array();
            $keys = array('id', 'class', 'name', 'value', 'placeholder', 'rows', 'maxlength');
            $keys2 = array('readonly', 'disabled', 'required');
            if (!$field['rows']) {
                $field['rows'] = 8;
            }
            foreach ($keys as $k) {
                if (isset($field[$k])) {
                    $atts[$k] = $field[$k];
                }
            }
            foreach ($keys2 as $k) {
                if (!empty($field[$k])) {
                    $atts[$k] = $k;
                }
            }
            $atts = acf_clean_atts($atts);
            acf_textarea_input($atts);
        }
        function render_field_settings($field)
        {
            acf_render_field_setting($field, array('label' => __('Default Value', 'acf'), 'instructions' => __('Appears when creating a new post', 'acf'), 'type' => 'textarea', 'name' => 'default_value'));
            acf_render_field_setting($field, array('label' => __('Placeholder Text', 'acf'), 'instructions' => __('Appears within the input', 'acf'), 'type' => 'text', 'name' => 'placeholder'));
            acf_render_field_setting($field, array('label' => __('Character Limit', 'acf'), 'instructions' => __('Leave blank for no limit', 'acf'), 'type' => 'number', 'name' => 'maxlength'));
            acf_render_field_setting($field, array('label' => __('Rows', 'acf'), 'instructions' => __('Sets the textarea height', 'acf'), 'type' => 'number', 'name' => 'rows', 'placeholder' => 8));
            acf_render_field_setting($field, array('label' => __('New Lines', 'acf'), 'instructions' => __('Controls how new lines are rendered', 'acf'), 'type' => 'select', 'name' => 'new_lines', 'choices' => array('wpautop' => __('Automatically add paragraphs', 'acf'), 'br' => __('Automatically add &lt;br&gt;', 'acf'), '' => __('No Formatting', 'acf'))));
        }
        function format_value($value, $post_id, $field)
        {
            if (empty($value) || !is_string($value)) {
                return $value;
            }
            if ($field['new_lines'] == 'wpautop') {
                $value = wpautop($value);
            } elseif ($field['new_lines'] == 'br') {
                $value = nl2br($value);
            }
            return $value;
        }
        function validate_value($valid, $value, $field, $input)
        {
            if ($field['maxlength'] && acf_strlen($value) > $field['maxlength']) {
                return sprintf(__('Value must not exceed %d characters', 'acf'), $field['maxlength']);
            }
            return $valid;
        }
    }
    acf_register_field_type('acf_field_textarea');
}