<?
//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
?>
|