PATH:
home
/
letacommog
/
metras
/
wp-content
/
plugins
/
wp-lastweets
/
vendor
/
htmlburger
/
carbon-fields
/
core
/
Field
<?php namespace Carbon_Fields\Field; use Carbon_Fields\Helper\Delimiter; use Carbon_Fields\Helper\Helper; use Carbon_Fields\Value_Set\Value_Set; /** * Multiselect field class. * Allows to create a select where multiple values can be selected. */ class Multiselect_Field extends Predefined_Options_Field { /** * Default field value * * @var array */ protected $default_value = array(); /** * Value delimiter * * @var string */ protected $value_delimiter = '|'; /** * Create a field from a certain type with the specified label. * * @param string $type Field type * @param string $name Field name * @param string $label Field label */ public function __construct( $type, $name, $label ) { $this->set_value_set( new Value_Set( Value_Set::TYPE_MULTIPLE_VALUES ) ); parent::__construct( $type, $name, $label ); } /** * {@inheritDoc} */ public function set_value_from_input( $input ) { if ( ! isset( $input[ $this->get_name() ] ) ) { return $this->set_value( array() ); } $value_delimiter = $this->value_delimiter; $options_values = $this->get_options_values(); $value = stripslashes_deep( $input[ $this->get_name() ] ); $value = Delimiter::split( $value, $this->value_delimiter ); $value = array_map( function( $val ) use ( $value_delimiter ) { return Delimiter::unquote( $val, $value_delimiter ); }, $value ); $value = Helper::get_valid_options( $value, $options_values ); return $this->set_value( $value ); } /** * {@inheritDoc} */ public function to_json( $load ) { $field_data = parent::to_json( $load ); $value_delimiter = $this->value_delimiter; $options = $this->parse_options( $this->get_options(), true ); $options = array_map( function( $option ) use ( $value_delimiter ) { $option['value'] = Delimiter::quote( $option['value'], $value_delimiter ); return $option; }, $options ); $value = array_map( function( $value ) use ( $value_delimiter ) { return Delimiter::quote( $value, $value_delimiter ); }, $this->get_formatted_value() ); $field_data = array_merge( $field_data, array( 'options' => $options, 'value' => $value, 'valueDelimiter' => $this->value_delimiter, ) ); return $field_data; } /** * {@inheritDoc} */ public function get_formatted_value() { $value = $this->get_value(); $value = $this->get_values_from_options( $value ); return $value; } }
[+]
..
[-] Date_Field.php
[edit]
[-] Checkbox_Field.php
[edit]
[-] Broken_Field.php
[edit]
[-] Sidebar_Field.php
[edit]
[-] Textarea_Field.php
[edit]
[-] Radio_Image_Field.php
[edit]
[-] Text_Field.php
[edit]
[-] Multiselect_Field.php
[edit]
[-] Set_Field.php
[edit]
[-] Radio_Field.php
[edit]
[-] Group_Field.php
[edit]
[-] Header_Scripts_Field.php
[edit]
[-] Oembed_Field.php
[edit]
[-] Scripts_Field.php
[edit]
[-] Hidden_Field.php
[edit]
[-] Field.php
[edit]
[-] Date_Time_Field.php
[edit]
[-] Footer_Scripts_Field.php
[edit]
[-] Time_Field.php
[edit]
[-] Image_Field.php
[edit]
[-] Gravity_Form_Field.php
[edit]
[-] Color_Field.php
[edit]
[-] Complex_Field.php
[edit]
[-] Select_Field.php
[edit]
[-] Predefined_Options_Field.php
[edit]
[-] Rich_Text_Field.php
[edit]
[-] Separator_Field.php
[edit]
[-] File_Field.php
[edit]
[-] Association_Field.php
[edit]
[-] Media_Gallery_Field.php
[edit]
[-] Map_Field.php
[edit]
[-] Html_Field.php
[edit]