public function render() {
	
		$ret = '<input ' . $this->getNameProperty();
	
		switch ($this->type) {

            default:
            case 'text':
            case 'email':
            case 'tel':
            case 'url':
            case 'color':
            case 'password':
                $ret .= ' type="' . htmlspecialchars($this->type) . '" value="' . htmlspecialchars($this->value) . '"';
                break;
                
            case 'number':
            	$curr = setlocale(LC_NUMERIC, 0);
            	setlocale(LC_NUMERIC, 'en_US');
            	$ret .= ' type="number" value="' . htmlspecialchars($this->value) . '"';
            	setlocale(LC_NUMERIC, $curr);
            	break;

            case 'bool':
                $ret .= ' type="checkbox" value="1"';
                if ($this->value) $ret .= ' checked="checked"';
                break;
                
            case 'date':
                $ret .= ' type="date" value="' . htmlspecialchars($this->value) . '"';
				break;

			case 'datetime':
				$type = Input::usingCustomDatetimepicker() ? 'datetime' : 'datetime-local';
				$ret .= ' type="' . $type . '" value="' . htmlspecialchars($this->value) . '"';
				break;
				
			case 'file':
				$ret .= ' type="file"';
				break;
	
			case 'address':
				$ret .= ' type="text" value="'. htmlspecialchars($this->value) .'" size="50" autocomplete="on" placeholder=""';
				$this->addClass('googlePlacesAutocomplete');
				break;
	
			case 'hidden':
				$ret .= ' type="hidden" value="' . htmlspecialchars($this->value) . '"';
				break;
	
		}
		
		// set min and max value attribute for date and number only
		if (in_array($this->type, ['number','date'])) {
			
			if ($this->min) {
				$ret .= ' min="' . htmlspecialchars($this->min) . '"';
			}
			
			if ($this->max) {
				$ret .= ' max="' . htmlspecialchars($this->max) . '"';
			}
			
		}
		
		// set minlength attribute
		if ($this->minLength) {
			$ret .= ' minlength="' . htmlspecialchars($this->minLength) . '"';
		}
		
		// set maxlength attribute
		if ($this->maxLength) {
			$ret .= ' maxlength="' . htmlspecialchars($this->maxLength) . '"';
		}
	
		// set accept attribute
		if ($this->accept) {
			$ret .= ' accept="' . $this->accept . '"';
		}
		
		// set step attribute
		if ($this->step) {
			$ret .= ' step="' . htmlspecialchars($this->step) . '"';
		}
		
		$ret .= $this->processProperties() . ' />';
	
		return $ret;
	
	}
public function render() {
	
		$ret = '<input ' . $this->getNameProperty();
	
		switch ($this->type) {

            default:
            case 'text':
            case 'email':
            case 'tel':
            case 'url':
            case 'color':
            case 'password':
                $ret .= ' type="' . htmlspecialchars($this->type) . '" value="' . htmlspecialchars($this->value) . '"';
                break;
                
            case 'number':
            	$curr = setlocale(LC_NUMERIC, 0);
            	setlocale(LC_NUMERIC, 'en_US');
            	$ret .= ' type="number" value="' . htmlspecialchars($this->value) . '"';
            	setlocale(LC_NUMERIC, $curr);
            	break;

            case 'bool':
                $ret .= ' type="checkbox" value="1"';
                if ($this->value) $ret .= ' checked="checked"';
                break;
                
            case 'date':
                $ret .= ' type="date" value="' . htmlspecialchars($this->value) . '"';
				break;

			case 'datetime':
				$type = Input::usingCustomDatetimepicker() ? 'datetime' : 'datetime-local';
				$ret .= ' type="' . $type . '" value="' . htmlspecialchars($this->value) . '"';
				break;
				
			case 'file':
				$ret .= ' type="file"';
				break;
	
			case 'address':
				$ret .= ' type="text" value="'. htmlspecialchars($this->value) .'" size="50" autocomplete="on" placeholder=""';
				$this->addClass('googlePlacesAutocomplete');
				break;
	
			case 'hidden':
				$ret .= ' type="hidden" value="' . htmlspecialchars($this->value) . '"';
				break;
	
		}
		
		// set min and max value attribute for date and number only
		if (in_array($this->type, ['number','date'])) {
			
			if ($this->min) {
				$ret .= ' min="' . htmlspecialchars($this->min) . '"';
			}
			
			if ($this->max) {
				$ret .= ' max="' . htmlspecialchars($this->max) . '"';
			}
			
		}
		
		// set minlength attribute
		if ($this->minLength) {
			$ret .= ' minlength="' . htmlspecialchars($this->minLength) . '"';
		}
		
		// set maxlength attribute
		if ($this->maxLength) {
			$ret .= ' maxlength="' . htmlspecialchars($this->maxLength) . '"';
		}
	
		// set accept attribute
		if ($this->accept) {
			$ret .= ' accept="' . $this->accept . '"';
		}
		
		// set step attribute
		if ($this->step) {
			$ret .= ' step="' . htmlspecialchars($this->step) . '"';
		}
		
		$ret .= $this->processProperties() . ' />';
	
		return $ret;
	
	}
public function render ( ) { $ ret = '<input ' . $ this -> getNameProperty ( ) ; switch ( $ this -> type ) { default : case 'text' : case 'email' : case 'tel' : case 'url' : case 'color' : case 'password' : $ ret .= ' type="' . htmlspecialchars ( $ this -> type ) . '" value="' . htmlspecialchars ( $ this -> value ) . '"' ; break ; case 'number' : $ curr = setlocale ( LC_NUMERIC , 0 ) ; setlocale ( LC_NUMERIC , 'en_US' ) ; $ ret .= ' type="number" value="' . htmlspecialchars ( $ this -> value ) . '"' ; setlocale ( LC_NUMERIC , $ curr ) ; break ; case 'bool' : $ ret .= ' type="checkbox" value="1"' ; if ( $ this -> value ) $ ret .= ' checked="checked"' ; break ; case 'date' : $ ret .= ' type="date" value="' . htmlspecialchars ( $ this -> value ) . '"' ; break ; case 'datetime' : $ type = Input :: usingCustomDatetimepicker ( ) ? 'datetime' : 'datetime-local' ; $ ret .= ' type="' . $ type . '" value="' . htmlspecialchars ( $ this -> value ) . '"' ; break ; case 'file' : $ ret .= ' type="file"' ; break ; case 'address' : $ ret .= ' type="text" value="' . htmlspecialchars ( $ this -> value ) . '" size="50" autocomplete="on" placeholder=""' ; $ this -> addClass ( 'googlePlacesAutocomplete' ) ; break ; case 'hidden' : $ ret .= ' type="hidden" value="' . htmlspecialchars ( $ this -> value ) . '"' ; break ; } // set min and max value attribute for date and number only if ( in_array ( $ this -> type , [ 'number' , 'date' ] ) ) { if ( $ this -> min ) { $ ret .= ' min="' . htmlspecialchars ( $ this -> min ) . '"' ; } if ( $ this -> max ) { $ ret .= ' max="' . htmlspecialchars ( $ this -> max ) . '"' ; } } // set minlength attribute if ( $ this -> minLength ) { $ ret .= ' minlength="' . htmlspecialchars ( $ this -> minLength ) . '"' ; } // set maxlength attribute if ( $ this -> maxLength ) { $ ret .= ' maxlength="' . htmlspecialchars ( $ this -> maxLength ) . '"' ; } // set accept attribute if ( $ this -> accept ) { $ ret .= ' accept="' . $ this -> accept . '"' ; } // set step attribute if ( $ this -> step ) { $ ret .= ' step="' . htmlspecialchars ( $ this -> step ) . '"' ; } $ ret .= $ this -> processProperties ( ) . ' />' ; return $ ret ; }
Renders and returns an HTML input form control.

@return	string
Renders and returns an HTML input form control .