54 lines
1.9 KiB
PHP
54 lines
1.9 KiB
PHP
<?php if ( ! defined( 'ABSPATH' ) ) exit;
|
|
|
|
/**
|
|
* Class NF_Field_Textarea
|
|
*/
|
|
class NF_Fields_Textarea extends NF_Abstracts_Input
|
|
{
|
|
protected $_name = 'textarea';
|
|
|
|
protected $_section = 'common';
|
|
|
|
protected $_icon = 'paragraph';
|
|
|
|
protected $_type = 'textarea';
|
|
|
|
protected $_templates = 'textarea';
|
|
|
|
protected $_test_value = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.';
|
|
|
|
protected $_settings = array( 'input_limit_set', 'rte_enable', 'rte_media', 'rte_mobile', 'disable_browser_autocomplete', 'textarea_rte', 'disable_rte_mobile', 'textarea_media', );
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
|
|
$this->_nicename = esc_html__( 'Paragraph Text', 'ninja-forms' );
|
|
|
|
$this->_settings[ 'default' ][ 'type' ] = 'textarea';
|
|
$this->_settings[ 'placeholder' ][ 'type' ] = 'textarea';
|
|
|
|
add_filter( 'ninja_forms_subs_export_field_value_' . $this->_name, array( $this, 'filter_csv_value' ), 10, 2 );
|
|
}
|
|
|
|
public function admin_form_element( $id, $value )
|
|
{
|
|
return "<textarea class='widefat' name='fields[$id]'>$value</textarea>";
|
|
}
|
|
|
|
public function filter_csv_value( $field_value, $field ) {
|
|
|
|
/*
|
|
* sanitize this in case someone tries to inject data that runs in
|
|
* Excel and similar apps
|
|
* */
|
|
if( 0 < strlen($field_value ) ) {
|
|
$first_char = substr( $field_value, 0, 1 );
|
|
if( in_array( $first_char, array( '=', '@', '+', '-' ) ) ) {
|
|
return "'" . $field_value;
|
|
}
|
|
}
|
|
|
|
return $field_value;
|
|
}
|
|
}
|