_tpl -> createDocumentFragment ( ); $node = $this -> _tpl -> createElement ( 'form' ); $node -> setAttributeNode ( new DOMAttr ( 'action' , $formData[ 'action' ] ) ); $node -> setAttributeNode ( new DOMAttr ( 'method' , $formData[ 'method' ] ) ); $node -> setAttributeNode ( new DOMAttr ( 'class' , $formData[ 'class' ] ) ); if ( ! is_null ( $this -> _errors ) ) { foreach ( $this -> _errors as $error ) { $errorNode = $this -> _tpl -> createElement ( 'p' ); $errorNode -> setAttributeNode ( new DOMAttr ( 'class' , 'error' ) ); $errorNode -> appendChild ( new DOMText ( $this -> _langArray[ 'error' ][ $error ] ) ); $node -> appendChild ( $errorNode ); } } foreach ( $arrFields as $singleField ) { $arrData = explode ( ':' , $singleField ); $arrDefinition = explode ( '_' , $arrData[ 0 ] ); $arrValue = explode ( '_' , $arrData[ 1 ] ); /* Inputs */ if ( $arrDefinition[ 0 ] === 'input' && ( $arrDefinition[ 1 ] !== 'hidden' && $arrDefinition[ 1 ] !== 'submit' ) ) { $tmp_div = $this -> _tpl -> createElement ( 'div' ); ++$fieldCounter; if ( $fieldCounter % 2 === 1 ) { $tmp_div -> setAttributeNode ( new DOMAttr ( 'class' , 'left' ) ); } } $tmp_node = $this -> _tpl -> createElement ( $arrDefinition[ 0 ] ); if ( $arrDefinition[ 0 ] === 'input' ) { $tmp_node -> setAttributeNode ( new DOMAttr ( 'type' , $arrDefinition[ 1 ] ) ); $tmp_node -> setAttributeNode ( new DOMAttr ( 'id' , $arrValue[ 0 ] ) ); $tmp_node -> setAttributeNode ( new DomAttr ( 'name' , $arrValue[ 0 ] ) ); $tmp_node -> setAttributeNode ( new DomAttr ( 'autocomplete' , 'off' ) ); if ( $arrDefinition[ 1 ] !== 'hidden' && $arrDefinition[ 1 ] !== 'submit' && isset ( $this -> _postData[ $arrValue[ 0 ] ] ) ) { $tmp_node -> setAttributeNode ( new DomAttr ( 'value' , $this -> _postData[ $arrValue[ 0 ] ] ) ); } } if ( $arrDefinition[ 1 ] === 'submit' && isset ( $this -> _langArray[ 'form' ][ $arrValue[ 0 ] ] ) ) { $tmp_node -> setAttributeNode ( new DOMAttr ( 'value' , $this -> _langArray[ 'form' ][ $arrValue[ 0 ] ] ) ); } elseif ( isset ( $arrValue[ 1 ] ) ) { $tmp_node -> setAttributeNode ( new DOMAttr ( 'value' , $arrValue[ 1 ] ) ); } elseif ( isset ( $this -> _langArray[ 'formText' ][ $arrValue[ 0 ] ] ) ) { $tmp_node -> appendChild ( new DOMText ( $this -> _langArray[ 'formText' ][ $arrValue[ 0 ] ] ) ); } if ( $arrDefinition[ 0 ] === 'input'&& ( $arrDefinition[ 1 ] !== 'hidden' && $arrDefinition[ 1 ] !== 'submit' ) ) { $tmp_div -> appendChild ( $tmp_node ); $tmp_node = $this -> _tpl -> createElement ( 'label' ); $tmp_node -> setAttributeNode ( new DOMAttr ( 'for' , $arrValue[ 0 ] ) ); $tmp_node -> appendChild ( new DOMText ( $this -> _langArray[ 'form' ][ $arrValue[ 0 ] ] ) ); $tmp_div -> appendChild ( $tmp_node ); $node -> appendChild ( $tmp_div ); if ( $fieldCounter % 2 === 0 ) { $tmp_br = $this -> _tpl -> createElement ( 'br' ); $tmp_br -> setAttributeNode ( new DOMAttr ( 'class' , 'fix' ) ); $node -> appendChild ( $tmp_br ); } } else { $node -> appendChild ( $tmp_node ); } } $new_node -> appendChild ( $node ); return $new_node; } } ?>