Login   Register  
PHP Classes
elePHPant
Icontem

File: class_form_001.php3

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Devta Singh  >  Form auto Generator  >  class_form_001.php3  >  Download  
File: class_form_001.php3
Role: ???
Content type: text/plain
Description: Class Form
Class: Form auto Generator
Author: By
Last change:
Date: 2001-02-12 14:55
Size: 3,857 bytes
 

Contents

Class file image Download
<?
//llama al fichero que define la clase
require("class_campo_001.php3");

class Form {

	var $plantilla;				//el nombre	

	function Inicializa_Form($datos,$nombre,$metodo,$accion,$submit,$reset,$trans){			
		global $codigo;
		
		require("tags.php3");

		if(is_array($trans)){
			while (list($clave,$valor)=each($trans)){
				$otros_campos.="\n<INPUT TYPE=\"HIDDEN\" NAME=\"$clave\" VALUE=\"$valor\">";
			}
		}

		//inicia el formulario
		if(!$this->plantilla){		
			$codigo="<FORM NAME=\"$nombre\" METHOD=\"$metodo\" ACTION=\"$accion\">\n";
		} else {
			$inicio_form="<FORM NAME=\"$nombre\" METHOD=\"$metodo\" ACTION=\"$accion\">\n";
		}

		$n=sizeof($datos);									//cuenta el número de elementos del array de datos (numero de campos)		
		for($c=0;$c<$n;$c++){								//hace un bucle por cada uno de los datos (campos)			
			$campo[$c]=new Campo;	//Crea el objeto campo[$c]
			$campo[$c]->Inicializa_campo($datos[$c]);	//crea los campos a partir de los datos del array			
			
			if(!$this->plantilla){			
				//sin plantilla
				#print "1SIN PLANTILLA";
				$campo[$c] -> poner_rotulos=1;	//dibuja el campo correspondiente			
				$campo[$c] -> poner_br=1;	//dibuja el campo correspondiente			
				$codigo.=$campo[$c] -> volcado();	//dibuja el campo correspondiente
			} else {
				//con plantilla
				#print "1CON PLANTILLA";
				$lista_campos[$c]= $campo[$c]->volcado_campo();	//lista el campo actual
				$lista_rotulos[$c]= $campo[$c]->rotulo;	//lista los rótulos
			}		
			
			$escadena[$c]=$datos[$c]["es_cadena"];//archiva los datos de es_cadena en un array
			$nombres[$c]=$datos[$c]["nombre"];//archiva los nombres de campo en un array
			//detecta el tipo de campo y lo incluye en una lista de valores
			$tipocampo[$c]=$datos[$c]["tipo"];
			$tipo[$c]=$campo[$c]->tipo_de_campo();
		}
		
		if($this->plantilla!=""){
			//si se está usando una plantilla
			#print "2CON PLANTILLA";
			
			//abre la plantilla
			$original=file("$this->plantilla");
			$final=implode("",$original);
			$p=sizeof($original);
			
			//hace un bucle para todos los campos
			for($c=0;$c<$n;$c++){
				//recorre la plantilla				
				//haciendo una sustitucion de la cadena de la plantilla
				//por la cadena del campo
				$tag=$tag_pre_campo.($c+1).$tag_post_campo;
				$rot=$tag_pre_rotulo.($c+1).$tag_post_rotulo;
				$final=str_replace($tag, $lista_campos[$c], $final);
				$final=str_replace($rot, $lista_rotulos[$c], $final);
			}//fin del campo[$c]	
			
			//recompone en una sola cadena el array de lineas
		} else {
			
		}
		
		$estipo=implode(",",$tipo);
		$escadena=implode(",",$escadena);
		$nombres=implode(",",$nombres);
		
		$estipo="\n<INPUT TYPE=\"HIDDEN\" NAME=\"_frm_estipo\" VALUE=\"$estipo\">";
		$escadena="\n<INPUT TYPE=\"HIDDEN\" NAME=\"_frm_escadena\" VALUE=\"$escadena\">";
		$nombres="\n<INPUT TYPE=\"HIDDEN\" NAME=\"_frm_nombres\" VALUE=\"$nombres\">";
		
		if($submit){
			$enviar="\n<INPUT TYPE=\"SUBMIT\" NAME=\"mandar\" VALUE=\"$submit\">";
		}
		
		if($reset){
			$borrar="\n<INPUT TYPE=\"RESET\" NAME=\"borrar\" VALUE=\"$reset\">";
		}
				
		if(!$this->plantilla){		
			$codigo.=$otros_campos.$nombres.$escadena.$estipo.$enviar.$borrar."\n</FORM>\n";//cierra el formulario
		} else {
			$inicio_form="<FORM NAME=\"$nombre\" METHOD=\"$metodo\" ACTION=\"$accion\">\n";
			$fin_form=$otros_campos.$nombres.$escadena.$estipo."\n</FORM>\n";//cierra el formulario			
			$final=str_replace($tag_inicio_form, $inicio_form, $final);
			$final=str_replace($tag_fin_form, $fin_form, $final);			
			$final=str_replace($tag_enviar, $enviar, $final);
			$final=str_replace($tag_borrar, $borrar, $final);
			$codigo=$final;			
		}		
	}
	
	function volcado1(){
		global $codigo;
		
		return($codigo);	
	}
}//fin de la clase Form
?>