@@ -0,0 +1,98 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Renderer of settings page input option.
|
||||
*
|
||||
* @author Time.ly Network, Inc.
|
||||
* @instantiator new
|
||||
* @since 2.0
|
||||
* @package Ai1EC
|
||||
* @subpackage Ai1EC.Html
|
||||
*/
|
||||
class Ai1ec_Html_Setting_Input extends Ai1ec_Html_Element_Settings {
|
||||
|
||||
|
||||
/* (non-PHPdoc)
|
||||
* @see Ai1ec_Html_Element_Settings::render()
|
||||
*/
|
||||
public function render( $output = '', $wrap = true, $hidden = false ) {
|
||||
$system = $this->_registry->get( 'date.system' );
|
||||
$type = $this->_args['renderer']['type'];
|
||||
$date = $append = false;
|
||||
$class = '';
|
||||
$input_type = 'text';
|
||||
switch ( $type ) {
|
||||
case 'date':
|
||||
$date = true;
|
||||
break;
|
||||
|
||||
case 'append':
|
||||
$append = true;
|
||||
break;
|
||||
|
||||
case 'email':
|
||||
$input_type = 'email';
|
||||
break;
|
||||
|
||||
case 'url':
|
||||
$input_type = 'url';
|
||||
break;
|
||||
|
||||
case 'number':
|
||||
$input_type = 'number';
|
||||
break;
|
||||
case 'checkbox':
|
||||
$input_type = 'checkbox';
|
||||
break;
|
||||
}
|
||||
|
||||
$input_args = array(
|
||||
'class' => $class,
|
||||
);
|
||||
$settings = $this->_registry->get( 'model.settings' );
|
||||
if ( true === $date ) {
|
||||
$input_args += array(
|
||||
'data-date-weekstart' => $settings->get( 'week_start_day' ),
|
||||
'data-date-format' => $system->get_date_pattern_by_key(
|
||||
$settings->get( 'input_date_format' )
|
||||
),
|
||||
'size' => 12,
|
||||
);
|
||||
}
|
||||
$args = array(
|
||||
'id' => $this->_args['id'],
|
||||
'label' => $this->_args['renderer']['label'],
|
||||
'input_args' => $input_args,
|
||||
'input_type' => $input_type,
|
||||
'value' => $this->_args['value'],
|
||||
);
|
||||
if ( isset( $this->_args['renderer']['status'] ) ) {
|
||||
$args['licence_valid'] =
|
||||
$settings->get( $this->_args['renderer']['status'] ) === 'valid' ?
|
||||
true :
|
||||
false;
|
||||
}
|
||||
if ( true === $append ) {
|
||||
$args['append'] = $this->_args['renderer']['append'];
|
||||
}
|
||||
if ( isset( $this->_args['renderer']['help'] ) ) {
|
||||
$args['help'] = $this->_args['renderer']['help'];
|
||||
}
|
||||
if ( isset( $this->_args['renderer']['group-class'] ) ) {
|
||||
$args['group_class'] = $this->_args['renderer']['group-class'];
|
||||
}
|
||||
|
||||
if ( isset( $this->_args['checked'] ) && true === $this->_args['checked'] )
|
||||
$args['input_args']['checked'] = $this->_args['checked'];
|
||||
|
||||
$loader = $this->_registry->get( 'theme.loader' );
|
||||
$file = $loader->get_file( 'setting/input.twig', $args, true );
|
||||
if ( isset( $this->_args['type'] ) && 'hidden' === $this->_args['type'] ) {
|
||||
$hidden = true;
|
||||
} else {
|
||||
$hidden = false;
|
||||
}
|
||||
return parent::render( $file->get_content(), $wrap, $hidden );
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user