1
0
Fork 0

edicion de campos desde formulario, arreglo campo checkbox

This commit is contained in:
fredyrivera 2017-02-27 20:12:17 -05:00
parent a4d425b26a
commit 6c395d8529
1 changed files with 92 additions and 84 deletions

View File

@ -4,25 +4,17 @@ date_default_timezone_set('America/Bogota');
function json_render($contenido,$tipo,$control){
$campos = "$tipo,$contenido";
$datos = json_decode($contenido, true);
if ($tipo == "html"){
foreach ($datos as $id_campo => $valor) {
$campo_nombre = remplacetas('form_campos','id',"$id_campo",'campo_nombre',"") ;
$campo_descripcion = remplacetas('form_campos','id',"$id_campo",'campo_descripcion',"") ;
foreach ($valor as $c => $v) {
foreach ($v as $c1 => $v1) {
$linea .= "<tr><td>$v1</td></tr>"; }
}}
$campo_nombre = remplacetas('form_campos','id',"$id_campo",'campo_nombre',"") ;
$campo_descripcion = remplacetas('form_campos','id',"$id_campo",'campo_descripcion',"") ;
foreach ($valor as $c => $v) {
foreach ($v as $c1 => $v1) {
$linea .= "<tr><td>$v1</td></tr>";
}
}
}
$resultado="
<table class='table table-striped ' id='tabla_$control' >
@ -736,7 +728,7 @@ function mailer($accion,$formulario,$campo,$empresa){
$listado_campos = formulario_campo_semantico("nombre","$formulario",'','');
$nombre_lista = remplacetas("form_id","id","$formulario","Nombre","");
$delay = 15;
$delay = 9;
$tiempo= ($cantidad_mensajes * $delay);
$tiempo = conversorSegundosHoras($tiempo);
$formato ="
@ -758,7 +750,7 @@ function mailer($accion,$formulario,$campo,$empresa){
<input type='hidden' name='empresa' id='empresa' value='$empresa'>
<input type='hidden' name='delay' id='delay' value='$delay'>
<div class='btn btn-warning pull-right' onclick=\"xajax_marcar('<div class=\'alert alert-warning\'><h2>Enviando $cantidad_mensajes Mensajes <small>Espere $tiempo aproximadamente </small></h2><h1>No cierre esta ventana hasta que termine</h1> </div> ','div_formato');xajax_mailer('enviar',xajax.getFormValues('formato_mensaje'),'',''); \">Enviar</div>
<div class='btn btn-warning pull-right' onclick=\"xajax_marcar('<div class=\'alert alert-warning\'><h2>Enviando $cantidad_mensajes Mensajes <small>El envío tardará $tiempo aproximadamente, se le enviará un correo cuando halla finalizado. </small></h2></div> ','div_formato');xajax_mailer('enviar',xajax.getFormValues('formato_mensaje'),'',''); \">Enviar</div
<div class='btn btn-success pull-right' onclick=\"xajax_mailer('preview',xajax.getFormValues('formato_mensaje'),'',''); \">Preview</div>
<br>
</form>
@ -4458,6 +4450,11 @@ foreach($listado_campos as $campo=>$valor){
@$listado_campos .= "<td title='' ><img class='img' height='100' src='$contenido[0]'> </td>";
}
elseif($tipo_campo[0] =="30" or $tipo_campo[0] =="24") {
$valor_actual = json_render("$contenido[0]","html","$row[control]");
@$listado_campos .= "<td title='' >$valor_actual </td>";
}
//
// if($tipo_campo[0] =="29" ) {$contenido[0] ="<img class='img img-responsive' src='$contenido[0]'> "; }//$contenido="<img class='img img-responsive' src='$contenido'>";
else {
@$listado_campos .= "<td title='$tipo_campo[0]' >$contenido[0]</td>";
@ -6929,7 +6926,7 @@ if (mysqli_num_rows($sql)!='0'){
while( $row = mysqli_fetch_array( $sql ) ) {
if( $row['obligatorio'] == '1'){$obligatorio="*";}else {$obligatorio='X';}
if($row['campo_tipo'] =="24") { $row['multiple'] = "1";}else {}
//if($row['campo_tipo'] =="24") { $row['multiple'] = "1";}else {}
//if($row['multiple'] =="1" AND $tipo =='edit'){
if($row['multiple'] =="1" ){
$campos .= "".formulario_campos_render_multiple($row['id_campo'],$perfil,$control_edit);
@ -9502,7 +9499,11 @@ if (mysqli_num_rows($sql)!='0'){
elseif($campo_tipo=='10'){
$valor_actual = relacion_render("$id","$row[id_campo]",$contenido,'5','');
$contenido = "$valor_actual";}
elseif($campo_tipo=='30'){
elseif($campo_tipo=="30" or $campo_tipo=="24"){
$contenido_full = json_render("$contenido","csv","$control");
$valor_actual = json_render("$contenido","html","$control");
$contenido = "$valor_actual";}
elseif($campo_tipo=="24"){
$contenido_full = json_render("$contenido","csv","$control");
$valor_actual = json_render("$contenido","html","$control");
$contenido = "$valor_actual";}
@ -10658,19 +10659,24 @@ $consulta_campos_valores = "INSERT INTO form_campos_valores (id_form_campo,campo
AND form_campos.campo_tipo = form_tipo_campo.id_tipo_campo
LIMIT 1");
$campos_formulario .= "<div name='crear_campos_consulta_$campo_area' id='crear_campos_consulta_$campo_area'> </div>";
$edicion = "<a class='btn btn-default' onclick=\"xajax_formulario_crear_campo('','$id_form_campo','contenido_$id_form_campo');\">$campo_nombre </a>";
$campos_formulario .= " <div name='crear_campos_consulta_$campo_area".$id_form_campo."' id='crear_campos_consulta_$campo_area".$id_form_campo."'> $edicion</div>";
while( @$row = mysqli_fetch_array( $campos ) ) {
if ($row['tipo_campo_accion']=='textarea'){
$campos_formulario .= "<div name='id_campos_consulta_".$row['id_consulta_campo']."' id='id_campos_consulta_".$row['id_consulta_campo']."'><form name='Xcampo_editar".$row['id_consulta_campo']."' id='Xcampo_editar".$row['id_consulta_campo']."'><input name='id_campo_editar' id='id_campo_editar' value='".$row['id_consulta_campo']."' type='hidden'><input type='hidden' name='Xarea' id='Xarea' value='".$row['campo_area']."' type='hidden'><input name='id_campo_editar' type='hidden' id='id_campo_editar' value='".$row['id_consulta_campo']."'></form>".$row['orden']."<input type='button' style='width: 200;text-align: left;' value='".$row['campo_nombre']."' OnClick=\"xajax_crear_campos_consulta(xajax.getFormValues('Xcampo_editar".$row['id_consulta_campo']."'));\" title='".$row['campo_descripcion']."'><br><textarea name='".$row['campo_nombre']."' rows='5' cols='70'></textarea></div><br><br>";}
else{
$campos_formulario .= "<div name='id_campos_consulta_".$row['id_consulta_campo']."' id='id_campos_consulta_".$row['id_consulta_campo']."'><form name='Xcampo_editar".$row['id_consulta_campo']."' id='Xcampo_editar".$row['id_consulta_campo']."'><input name='id_campo_editar' id='id_campo_editar' value='".$row['id_consulta_campo']."' type='hidden' ><input type='hidden' name='Xarea' id='Xarea' value='".$row['campo_area']."' ><input name='id_campo_editar' id='id_campo_editar' value='".$row['id_consulta_campo']."' type='hidden'></form>".$row['orden']."<input type='button' style='width: 200;text-align: left;' value='".$row['campo_nombre']."' OnClick=\"xajax_crear_campos_consulta(xajax.getFormValues('Xcampo_editar".$row['id_consulta_campo']."'));\" title='".$row['campo_descripcion']."'><br> <input name='".$row['campo_nombre']."' id='".$row['campo_nombre']."' type='".$row['tipo_campo_accion']."' size='72'></div><br><br>";
} }
if($id_campo_editar !='') {
$respuesta->addAssign("formulario_campos_$misma_area"."$id_form_campo"."","innerHTML",$campos_formulario);
}else {
$respuesta->addAssign("formulario_campos_$misma_area","innerHTML",$campos_formulario);
}
return $respuesta;
}$xajax->registerFunction("formulario_campos_procesar");
function formulario_opciones_select($tipo,$id_campo){
$valores="";
$respuesta = new xajaxResponse('utf-8');
@ -10858,7 +10864,7 @@ function formulario_crear_campo($area,$campo,$div){
$misma_area="";
$respuesta = new xajaxResponse('utf-8');
if($div==''){
$div = "contenido";
$div = "contenido$campo";
$cerrar = "<a href='#'onclick=\"xajax_limpia_div('$div')\"> [X]</a> ";
$resultado = " <a href='#' onclick=\"xajax_formulario_crear_campo('$area','','$div'); \"><i class='glyphicon glyphicon-plus-sign'></i> Campos </a>";
@ -10904,7 +10910,7 @@ $campos_formulario = "
<div id='div_campos'>$tabla_campos</div>
";
}else{
$campos_formulario .= "<div name='crear_campos_consulta_$area' id='crear_campos_consulta_$area'> </div>";
$campos_formulario .= "<div name='crear_campos_consulta_$area".$campo."' id='crear_campos_consulta_$area".$campo."'> </div>";
while( $row = mysqli_fetch_array( $campos ) ) {
// if($row[campo_tipo] =='8'){
$respuesta->addScript("xajax_formulario_opciones_select('$row[campo_tipo]','$campo') ");
@ -10927,11 +10933,12 @@ $Tipo_campo .="</select><div id='opciones_select' name='opciones_select'></div>"
if($row['activo'] =='1'){$activo = "<option value='1' selected >Activo: el campo puede ser usado en formularios</option> ";}
else{$activo = "<option value='0' selected >Inactivo: El campo NO se usará</option> ";}
$formulario = "editar_campos";
$formulario = "editar_campos_$row[id]";
$areas = select('form_areas',"id",'nombre','',"id_empresa = '$_SESSION[id_empresa]'",'campo_area',"$row[campo_area]");
$edicion = "$row[campo_nombre]";
$campos_formulario .= "
<div id='formulario_campos_$misma_area'>
<div id='formulario_campos_$misma_area".$row[id]."'>
<div class='alert alert-info' >
<form role='form' id='$formulario' name='$formulario'>
<input type='hidden' id='editar' name='editar' value='editar'>
@ -10942,7 +10949,7 @@ $campos_formulario .= "
<div class='col-sm-4'>
<div id='grupo_campo_nombre' class='form-group'>
<label for='campo_nombre' >Nombre del campo</label>
<input type='text' class='form-control' id='campo_nombre' name='campo_nombre' value='$row[campo_nombre]'>
<textarea class='form-control' id='campo_nombre' name='campo_nombre' value='$row[campo_nombre]'>$row[campo_nombre]</textarea>
</div>
</div>
<div class='col-sm-4'>
@ -10983,7 +10990,7 @@ $campos_formulario .= "
<div title='Para clonar un campo debe cambiar el nombre' class='btn btn-block btn-warning' OnClick=\"xajax_formulario_campos_procesar(xajax.getFormValues('$formulario'),'clonar')\" /><i class='glyphicon glyphicon-clone'></i> Clonar</div>
</div>
<div class='col-sm-4'>
<div class='btn btn-block btn-danger' OnClick=\"xajax_limpia_div('$div')\" ><i class='glyphicon glyphicon-remove-sign'></i> Cancelar</div>
<div class='btn btn-block btn-danger' OnClick=\"xajax_contenido_cambiar('formulario_campos_$misma_area".$row[id]."','".$edicion."');\" ><i class='glyphicon glyphicon-remove-sign'></i> Cancelar</div>
</div>
</div>
@ -11058,9 +11065,10 @@ $resultado .= "<div class='row'>
<div class='col-md-3'>
Orden
</div>
<div class='col-md-2 '>
<!-- <div class='col-md-2 '>
Multiple
</div>
--!>
<div class='col-md-1 '>
Borrar
</div>
@ -11078,12 +11086,12 @@ while( $row = mysqli_fetch_array( $sql ) ) {
$privado = explode(":",$privado[0]);
$privado = $privado[1];
if($privado == "") { $privado="0";}
$edicion = "<a class='btn btn-default' onclick=\"xajax_formulario_crear_campo('','$row[id_campo]','contenido_$row[id_campo]');\">$row[campo_nombre]</a>";
//$multiple = $multiple[0];
$resultado .= "<div class='row'>
<div class='col-md-4'>
<span class='label label-default'>$row[id_campo]</span> $row[campo_nombre]
<span class='label label-default'>$row[id_campo]</span> <div style='display:inline' id='contenido_$row[id_campo]'>$edicion </div>
</div>
<div class='col-md-2' >
Obligatorio<br>
@ -11116,7 +11124,7 @@ $resultado .= "<div class='row'>
</div>
</div>
<div class='col-md-2' title='MULTIPLE'>
<!-- <div class='col-md-2' title='MULTIPLE'>
<div class='input-group '>
<span class='input-group-addon'></span>
<input type='range' value='$row[multiple]' min='0' max='1' class='form-control'
@ -11124,6 +11132,7 @@ $resultado .= "<div class='row'>
<span class='input-group-addon alert-success'></span>
</div>
</div>
--!>
<div class='col-md-1' title='ELIMINAR'>
<div name='eliminar_$row[control]' id='eliminar_$row[control]' >
<a class='btn btn-danger btn-block' title='Click para cambiar el valor'
@ -11937,11 +11946,7 @@ elseif($campo_tipo_accion == 'email'){$render = "
$render = "<table class='table table-condensed table-striped table-hover' >$select </table> ";
$cols='12';
}
elseif($campo_tipo_accion == 'checkbox'){
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
$select = checkbox_edit($id_campo,$id_form,$value,$id_campo."[".$item."]",$control);
$render = "$select <small>$campo_descripcion</small>($id_dato)";}
elseif($campo_tipo_accion == 'combo'){
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
$select = combo_select($id_campo,$id_form,$value,$id_campo."[".$item."]",$control,"");
@ -11950,9 +11955,13 @@ elseif($campo_tipo_accion == 'email'){$render = "
elseif($campo_tipo_accion == 'select_multiple'){
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
$select = select_multiple($id_campo,$id_form,$value,$id_campo."[".$item."]",$control,"");
$render = "$select <small>$campo_descripcion</small>";
$cols='12'; }
// $cols='12';
}
elseif($campo_tipo_accion == 'checkbox'){
//$select = select('form_campos_valores','campo_valor','campo_valor','',"id_form_campo = $id_campo",$id_campo."[".$item."]");
$select = checkbox_edit($id_campo,$id_form,$value,$id_campo."[".$item."]",$control);
$render = "$select <small>$campo_descripcion</small>";}
elseif($campo_tipo_accion == 'relacion'){
$select = relacion_select($id_campo,$id_form,$value,$id_campo."[".$item."]",$control,"");
$render = "$select <small>$campo_descripcion</small>";
@ -12143,7 +12152,7 @@ if ($timestamp != ""){$where_timestamp = "AND form_datos.timestamp = '$timestamp
$campo_multiple = remplacetas("form_contenido_campos","id_campo",$id_campo,"multiple"," id_form ='$perfil'");
$tipo_campo = remplacetas("form_campos","id","$id_campo","campo_tipo","");
$campo_multiple = $campo_multiple[0];
if($tipo_campo[0] =="24") {$campo_multiple = "1";}
//if($tipo_campo[0] =="24") {$campo_multiple = "1";}
/// SI EL CAMPO ES MULTIPLE O CHECK BOX MUESTRA LAS MULTIPLES ENTRADAS
if($campo_multiple !="1" ){ $limite =" asc limit 1 ";}else {$limite =" asc ";}
if(@$orden !=""){ $campo_orden =" AND orden ='$orden' ";}else {$campo_orden ="";}
@ -12247,7 +12256,7 @@ if (is_array($v) ){
$campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo","");
$campo_nombre = remplacetas("form_campos","id",$c,"campo_nombre","");
if(@$campo_tipo[0] =="30") {
if(@$campo_tipo[0] =="30" OR @$campo_tipo[0] =="24") {
$V=array();
$V[$c]=$v;
@ -12352,9 +12361,10 @@ if(($V !='' ) && (is_numeric($c)) AND $repetido !=1 ) {
//$debug = "Hola mundo";
$V = mysqli_real_escape_string($link,$V);
///
if(@$campo_tipo[0] =="30") { $V=$V;}else{$V = htmlentities($V);}
$campo_tipo = remplacetas("form_campos","id",$c,"campo_tipo","");
if(@$campo_tipo[0] =="30" OR @$campo_tipo[0] =="24") { $V=$V;}else{$V = htmlentities($V);}
if(@$campo_tipo[0] =="18") {
$V = md5("$V");
@ -12786,6 +12796,14 @@ $respuesta->addAssign("$capa","className","show");
return $respuesta;
}$xajax->registerFunction("contenido_show");
function contenido_cambiar($div,$contenido){
$respuesta = new xajaxResponse('utf-8');
//$respuesta->addAssign($capa,"innerHTML","$contenido");
$respuesta->addAssign("$div","innerHTML","$contenido");
return $respuesta;
}$xajax->registerFunction("contenido_cambiar");
function select_key($tabla,$key,$value,$descripcion,$onchange,$where,$nombre,$valor){
$link=Conectarse();
@ -13001,31 +13019,31 @@ return $resultado;
function checkbox_edit($id_campo,$form_id,$valor,$name,$control){
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$consulta = "SELECT * FROM form_campos_valores WHERE id_form_campo ='$id_campo' ";
$sql=mysqli_query($link,$consulta);
// $value = remplacetas("form_datos","control","$control","contenido","id_campo ='$id_campo' ");
if (mysqli_num_rows($sql)!='0'){
$name = explode("[",$name);
$name = $name[0];
// $fila="0";
$resultado="" ;
while( $row = mysqli_fetch_array( $sql ) ) {
//$value = remplacetas("form_datos","control","$control","contenido","id_campo ='$id_campo' and contenido ='$row[campo_valor]' ");
$nombre= "$name"."[".$fila."]";
if($row[campo_valor] ==="$valor"){$selected="checked";}else{$selected ="";}
//if($value[0] ==="$row[campo_valor]"){$selected="checked";}else{$selected ="";}
$resultado .= "<div class='checkbox' id='check_$row[campo_valor]' >
$valor_actual = json_render("$valor","csv","$control");
if (mysqli_num_rows($sql)!='0'){
// $resultado=" <SELECT class='form-control' NAME='$name"."[]"."' id='$name"."[]"."' multiple >" ;
//$name= array();
while( $row = mysqli_fetch_array( $sql ) ) {
$existe = strpos($valor_actual, $row[campo_valor]);
if( $existe != ""){$selected="checked";}
else{$selected ="";}
$resultado .= "
<div class='checkbox' id='check_$row[campo_valor]' >
<label>
<input type='checkbox' name='$nombre' id='$nombre' value='$row[campo_valor]' $selected >
<input type='checkbox' NAME='$name"."[]"."' id='$name"."[]"."'value='$row[campo_valor]' $selected >
$row[campo_valor]
</label>
</div>";
// $fila++;
}
$resultado .= "";
}else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0016</div>";}
}
//$resultado .= "</select> $valor_actual";
}
else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0027</div>";}
return $resultado;
////
return $resultado;
}
@ -13033,30 +13051,20 @@ return $resultado;
function select_multiple($id_campo,$form_id,$valor,$name,$control){
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$consulta = "SELECT * FROM form_campos_valores WHERE id_form_campo ='$id_campo' ";
$sql=mysqli_query($link,$consulta);
// $value = remplacetas("form_datos","control","$control","contenido","id_campo ='$id_campo' ");
$valor_actual = json_render("$valor","csv","$control");
/*$linea="";
foreach ($valor_actual as $c => $v) {
$linea .= "$v"; }
*/
if (mysqli_num_rows($sql)!='0'){
$resultado=" <SELECT class='form-control' NAME='$name"."[]"."' id='$name"."[]"."' multiple >" ;
while( $row = mysqli_fetch_array( $sql ) ) {
$existe = strpos($valor_actual, $row[campo_valor]);
//$coll = collator_create( 'en_US' );
//$res = collator_compare( $coll, $row['campo_valor'], $valor );
if( $existe != ""){$selected="selected";}else{$selected ="";}
//if($res === 0){$selected="selected";}else{$selected ="";}
//if(strcmp($row['campo_valor'], $valor) === 0 ){$selected="selected";}else{$selected ="";}
$resultado .= "<option value='$row[campo_valor]' $selected >$row[campo_valor]</option>";
}
$resultado .= "</select> $valor_actual";
}else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0026</div>";}
if (mysqli_num_rows($sql)!='0'){
$resultado=" <SELECT class='form-control' NAME='$name"."[]"."' id='$name"."[]"."' multiple >" ;
while( $row = mysqli_fetch_array( $sql ) ) {
$existe = strpos($valor_actual, $row[campo_valor]);
if( $existe != ""){$selected="selected";}
else{$selected ="";}
$resultado .= "<option value='$row[campo_valor]' $selected >$row[campo_valor]</option>";
}
$resultado .= "</select> $valor_actual";
}
else{$resultado = "<div class='alert alert-warning alert_sin_resultados'><i class='glyphicon glyphicon-exclamation-triangle'></i> No hay resultados 0026</div>";}
return $resultado;
}