Current File : /home/pacjaorg/wpt.pacja.org/wp-content/plugins/formidable/classes/models/FrmFieldOption.php |
<?php
if ( ! defined( 'ABSPATH' ) ) {
die( 'You are not allowed to call this page directly.' );
}
/**
* @since 2.03.05
*/
class FrmFieldOption {
/**
* @var int|string
*
* @since 2.03.05
*/
protected $option_key;
/**
* @var array|string
*
* @since 2.03.05
*/
protected $option;
/**
* @var string
* @since 2.03.05
*/
protected $saved_value = '';
/**
* @var string
* @since 2.03.05
*/
protected $option_label = '';
public function __construct( $option_key, $option, $args = array() ) {
$this->option_key = $option_key;
$this->option = $option;
$this->set_option_label();
$this->set_saved_value();
}
/**
* Set the option label
*
* @since 2.03.05
*
* @return void
*/
private function set_option_label() {
if ( is_array( $this->option ) ) {
$this->option_label = ( isset( $this->option['label'] ) ? $this->option['label'] : reset( $this->option ) );
} else {
$this->option_label = $this->option;
}
}
/**
* Set the saved value
*
* @since 2.03.05
*
* @return void
*/
protected function set_saved_value() {
$this->saved_value = $this->option_label;
}
/**
* Print a single option
*
* @since 2.03.05
*
* @param string $selected_value
* @param int $truncate
*
* @return void
*/
public function print_single_option( $selected_value, $truncate ) {
if ( '' !== $this->saved_value ) {
echo '<option value="' . esc_attr( $this->saved_value ) . '"';
selected( esc_attr( $selected_value ), esc_attr( $this->saved_value ) );
// TODO: add hook that can add attributes to option text
echo '>';
echo esc_html( FrmAppHelper::truncate( $this->option_label, $truncate ) ) . '</option>';
}
}
}